[all-commits] [llvm/llvm-project] 8e1748: [CGData][GMF] Preserve Profile Data (#180126)
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Sun Feb 15 15:51:10 PST 2026
Branch: refs/heads/users/alexey-bataev/spr/slp-loop-aware-cost-modeltree-building
Home: https://github.com/llvm/llvm-project
Commit: 8e17489026d14160e0a2461c5678b0117d8a5b58
https://github.com/llvm/llvm-project/commit/8e17489026d14160e0a2461c5678b0117d8a5b58
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
A llvm/test/CodeGen/AArch64/cgdata-merge-preserve-entry-count.ll
Log Message:
-----------
[CGData][GMF] Preserve Profile Data (#180126)
Profile data for instructions (e.g., branch weights) is automatically
preserved via `splice()` which moves the basic blocks along with their
instruction metadata. However, entry count is stored as function
metadata, which was dropped when creating merged function and thunks.
The fix is to explicitly set entry count for both merged function (.Tgm)
and thunks via `setEntryCount()`.
Commit: 5efb69f7c3c146268a715a20aa6d0c49ff3ea83f
https://github.com/llvm/llvm-project/commit/5efb69f7c3c146268a715a20aa6d0c49ff3ea83f
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-readelf.rst
M llvm/docs/CommandGuide/llvm-readobj.rst
Log Message:
-----------
[NFC][llvm][docs] Fix alphabetical order of commands (#178519)
Fix the order of commands for llvm-readelf and llvm-readobj docs.
Commit: 69878f9fa17ac750e9738b552f8b5a02c0290374
https://github.com/llvm/llvm-project/commit/69878f9fa17ac750e9738b552f8b5a02c0290374
Author: John Harrison <harjohn at google.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M lldb/include/lldb/Host/JSONTransport.h
M lldb/include/lldb/Protocol/MCP/Server.h
M lldb/include/lldb/Protocol/MCP/Transport.h
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.cpp
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.h
M lldb/source/Protocol/MCP/Server.cpp
M lldb/source/Protocol/MCP/Transport.cpp
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Transport.cpp
M lldb/tools/lldb-dap/Transport.h
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
M lldb/unittests/DAP/TestBase.cpp
M lldb/unittests/DAP/TestBase.h
M lldb/unittests/Host/JSONTransportTest.cpp
M lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
M lldb/unittests/TestingSupport/Host/JSONTransportTestUtilities.h
Log Message:
-----------
[lldb] Refactor JSONTransport own MainLoop read handle. (#179564)
When working with a MainLoop, if the file reaches the EOF it will
immediately fire the read handle callback. We cannot readily determine
if the file is at EOF or if the file is pointing to a socket/pipe that
has consumed all the current data in the buffer but the remote end has
not yet hung up. This is causing JSONTransport to continuously fire the
OnRead callback trigging repeated calls to the
`MessageHandler::OnClose`.
Since MainLoop does not perform the actual read, we need to adjust the
behavior of JSONTransport to fully own the read handle.
This change moves the ownership of the `MainLoop::ReadHandleUP` and
additionally own a reference to the `MainLoop` itself to ensure the loop
outlives the JSONTransport object.
This allows us to remove the handle immediately when we detect an EOF /
hang up has occurred.
Commit: 28042a87022b4e4e20883f7df78eed93e216b349
https://github.com/llvm/llvm-project/commit/28042a87022b4e4e20883f7df78eed93e216b349
Author: Fateme Hosseini <quic_fhossein at quicinc.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/CMakeLists.txt
A llvm/lib/Target/Hexagon/HexagonGlobalRegion.cpp
A llvm/lib/Target/Hexagon/HexagonGlobalRegion.h
Log Message:
-----------
[Hexagon] Add global region scaffolding (#179541)
Introduce HexagonGlobalRegion, a data structure that the upcoming
Hexagon scheduler work will build on. It relies on the new
HexagonLiveVariables analysis to keep per-block liveness up to date when
the scheduler moves instructions across basic blocks.
Author: Sergei Larin <slarin at qti.qualcomm.com>
Patch By: Fateme Hosseini <fhossein at qti.qualcomm.com>
Commit: 8244528aee54e823c62f7bee6c6184b530b3f772
https://github.com/llvm/llvm-project/commit/8244528aee54e823c62f7bee6c6184b530b3f772
Author: Ebuka Ezike <e_ezike at apple.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
Log Message:
-----------
[lldb-dap] Add validation for RunInTerminal client capability (#180213)
Check if the client supports RunInTerminal before attempting to run in
the preferred terminal.
One less unknown reason for failed to launch
Commit: 823799d9ed604e8db0d22904f22c0705bf2cab67
https://github.com/llvm/llvm-project/commit/823799d9ed604e8db0d22904f22c0705bf2cab67
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir][AMDGPU] Port #180112: Add td dep (#180248)
Commit: 5f4543fbafb4e4879815f1ac045185398e09efd8
https://github.com/llvm/llvm-project/commit/5f4543fbafb4e4879815f1ac045185398e09efd8
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M clang/include/clang/AST/ComputeDependence.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/AST/HLSL/matrix-elementexpr-tree-transform.hlsl
A clang/test/AST/HLSL/matrix-member-access-scalar.hlsl
A clang/test/AST/HLSL/matrix-member-access-swizzle-ast-dump-json.hlsl
A clang/test/AST/HLSL/matrix-member-access-swizzle-ast-print.hlsl
A clang/test/AST/HLSL/matrix-member-access-swizzle.hlsl
A clang/test/AST/HLSL/pch_with_matrix_element_accessor.hlsl
A clang/test/CIR/CodeGenHLSL/matrix-element-expr-load.hlsl
A clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-load.hlsl
A clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-store.hlsl
A clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-load.hlsl
A clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-store.hlsl
A clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-load.hlsl
A clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-store.hlsl
A clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-load.hlsl
A clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-store.hlsl
A clang/test/SemaHLSL/matrix-member-access-errors.hlsl
M clang/tools/libclang/CXCursor.cpp
Log Message:
-----------
[HLSL][Matrix] introduce MatrixElementExpr as accessor and swizzle operator (#171225)
fixes #159438
This patch adds `MatrixElementExpr`, a new AST node for HLSL matrix
element and swizzle access (e.g. M._m00, M._11_22_33).
It introduces a shared `ElementAccessExprBase` used by both matrix and
vector swizzle expressions, updates Sema to parse and validate
zero-based and one-based accessors, detects duplicates for l-value
checks, and emits improved diagnostics. CodeGen is updated to lower
scalar and multi-element accesses consistently, and full AST
serialization, dumping, and tooling support is included. This
implementation reflects the updated
[RFC](https://github.com/llvm/wg-hlsl/pull/357/files) for HLSL matrix
accessor semantics.
Commit: cb905605b2e95f88296afe136b21a7d2476cb058
https://github.com/llvm/llvm-project/commit/cb905605b2e95f88296afe136b21a7d2476cb058
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/test/Transforms/LoopIdiom/reuse-lcssa-phi-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
Log Message:
-----------
Revert "[SCEVExp] Use SCEVPtrToAddr in tryToReuseLCSSAPhi if possible." (#180257)
Reverts llvm/llvm-project#178727
triggers asserts in on some build bots
Commit: 4a7e572a5cfb5a5508574cf6d1ed45c6d469a725
https://github.com/llvm/llvm-project/commit/4a7e572a5cfb5a5508574cf6d1ed45c6d469a725
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M lldb/test/API/lang/cpp/template-diagnostic-hint/TestTemplateDiagnosticHint.py
Log Message:
-----------
[lldb][test] TestTemplateDiagnosticHint.py: XFAIL on Windows
Fails on Windows with below error. Probably because we're not
constructing the AST from DWARF correctly for templates. Or perhaps
something to do with the DWARF index.
```
******************** TEST 'lldb-api :: lang/cpp/template-diagnostic-hint/TestTemplateDiagnosticHint.py' FAILED ********************
Script:
--
C:/Users/tcwg/scoop/apps/python/current/python.exe C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/llvm-project/lldb\test\API\dotest.py -u CXXFLAGS -u CFLAGS --env LLVM_LIBS_DIR=C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/./lib --env LLVM_INCLUDE_DIR=C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/include --env LLVM_TOOLS_DIR=C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/./bin --arch aarch64 --build-dir C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/lldb-test-build.noindex --lldb-module-cache-dir C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/lldb-test-build.noindex/module-cache-lldb\lldb-api --clang-module-cache-dir C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/lldb-test-build.noindex/module-cache-clang\lldb-api --executable C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/./bin/lldb.exe --compiler C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/./bin/clang.exe --dsymutil C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/./bin/dsymutil.exe --make C:/Users/tcwg/scoop/shims/make.exe --llvm-tools-dir C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/./bin --lldb-obj-root C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/tools/lldb --lldb-libs-dir C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/./lib --cmake-build-type Release --skip-category=watchpoint C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\test\API\lang\cpp\template-diagnostic-hint -p TestTemplateDiagnosticHint.py
--
Exit Code: 1
Command Output (stdout):
--
lldb version 23.0.0git (https://github.com/llvm/llvm-project.git revision 4afce0cb3de8e9a849b5150471672f4bb6ee591b)
clang revision 4afce0cb3de8e9a849b5150471672f4bb6ee591b
llvm revision 4afce0cb3de8e9a849b5150471672f4bb6ee591b
Skipping the following test categories: watchpoint, libc++, libstdcxx, dwo, dsym, gmodules, debugserver, objc, fork, pexpect
--
Command Output (stderr):
--
UNSUPPORTED: LLDB (C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\bin\clang.exe-aarch64) :: test_dsym (TestTemplateDiagnosticHint.TestCase.test_dsym) (test case does not fall in any category of interest for this run)
FAIL: LLDB (C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\bin\clang.exe-aarch64) :: test_dwarf (TestTemplateDiagnosticHint.TestCase.test_dwarf)
UNSUPPORTED: LLDB (C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\bin\clang.exe-aarch64) :: test_dwo (TestTemplateDiagnosticHint.TestCase.test_dwo) (test case does not fall in any category of interest for this run)
======================================================================
FAIL: test_dwarf (TestTemplateDiagnosticHint.TestCase.test_dwarf)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\lldbtest.py", line 1844, in test_method
return attrvalue(self)
^^^^^^^^^^^^^^^
File "C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\test\API\lang\cpp\template-diagnostic-hint\TestTemplateDiagnosticHint.py", line 14, in test
self.expect(
File "C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\lldbtest.py", line 2569, in expect
self.fail(log_msg)
AssertionError: Ran command:
"expression some_template_func<int, long>(5)"
Got output:
note: Ran expression as 'C++14'.
error: <user expression 0>:1:1: use of undeclared identifier 'some_template_func'
1 | some_template_func<int, long>(5)
| ^~~~~~~~~~~~~~~~~~
Expecting sub string: "does not name a template but is followed by template arguments" (was not found)
Config=aarch64-C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\bin\clang.exe
----------------------------------------------------------------------
Ran 3 tests in 0.601s
FAILED (failures=1, skipped=2)
```
Commit: 9976e5702f05a4019123ee1ad2bb9a8b69ca7dcb
https://github.com/llvm/llvm-project/commit/9976e5702f05a4019123ee1ad2bb9a8b69ca7dcb
Author: Demetrius Kanios <demetrius at kanios.net>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/CMakeLists.txt
A llvm/lib/Target/WebAssembly/GISel/WebAssemblyCallLowering.cpp
A llvm/lib/Target/WebAssembly/GISel/WebAssemblyCallLowering.h
A llvm/lib/Target/WebAssembly/GISel/WebAssemblyInstructionSelector.cpp
A llvm/lib/Target/WebAssembly/GISel/WebAssemblyLegalizerInfo.cpp
A llvm/lib/Target/WebAssembly/GISel/WebAssemblyLegalizerInfo.h
A llvm/lib/Target/WebAssembly/GISel/WebAssemblyPostLegalizerCombiner.cpp
A llvm/lib/Target/WebAssembly/GISel/WebAssemblyPreLegalizerCombiner.cpp
A llvm/lib/Target/WebAssembly/GISel/WebAssemblyRegisterBankInfo.cpp
A llvm/lib/Target/WebAssembly/GISel/WebAssemblyRegisterBankInfo.h
M llvm/lib/Target/WebAssembly/WebAssembly.h
M llvm/lib/Target/WebAssembly/WebAssembly.td
A llvm/lib/Target/WebAssembly/WebAssemblyCombine.td
A llvm/lib/Target/WebAssembly/WebAssemblyGISel.td
A llvm/lib/Target/WebAssembly/WebAssemblyRegisterBanks.td
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
A llvm/test/CodeGen/WebAssembly/GlobalISel/gisel-commandline-option.ll
Log Message:
-----------
[WebAssembly][GlobalISel] Part 1 - Setup skeleton (#178796)
This PR is the first step towards bringing GlobalISel to the Wasm
backend.
Split from #157161
Commit: 09b70ddd3a66de655854fab78cf36dbd37a54655
https://github.com/llvm/llvm-project/commit/09b70ddd3a66de655854fab78cf36dbd37a54655
Author: Omar Hossam <moar.ahmed at gmail.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/test/CIR/CodeGenBuiltins/X86/keylocker.c
Log Message:
-----------
[CIR] Support x86 encodeKey builtins (#179308)
This PR implements CodeGen for encodeKey builtins in CIR upstream.
Issue https://github.com/llvm/llvm-project/issues/167765
Commit: bfe80fb3bbaa64c3473f03d7af18e481cb9f7b5c
https://github.com/llvm/llvm-project/commit/bfe80fb3bbaa64c3473f03d7af18e481cb9f7b5c
Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
A clang/cmake/caches/cross-linux-toolchain.cmake
Log Message:
-----------
[CMake] Add multi-target cross to ARM/AArch64 Linux toolchain CMake cache file. (#179598)
This cache file can be used to build a multi-target cross Windows/Linux
to ARM/Aarch64/etc. Linux toolchain.
[Replacement for CrossWinToARMLinux.cmake on the buildbot]
Commit: 6bdb7b0f000cd6c09e272844700be399f2a1b5b3
https://github.com/llvm/llvm-project/commit/6bdb7b0f000cd6c09e272844700be399f2a1b5b3
Author: jimingham <jingham at apple.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/source/Target/Process.cpp
Log Message:
-----------
Cleanup the use of m_is_secondary_thread from PR #179799. (#180255)
This ivar was passed to the thread function for the private state thread
- mostly because the equivalent variable was passed in in the original
version of the code. But it was never used, so I didn't notice that the
ivar equivalent wasn't being initialized. I'm going to keep the ivar
because it will be useful when debugging to easily see whether you are
on the main or secondary private state thread.
So in this change, I set m_is_secondary_thread properly in the
constructor, but remove passing it to the thread function since it
wasn't needed there.
Commit: eff21afae01f4a8269a4beb6a7907d2abe6ad82a
https://github.com/llvm/llvm-project/commit/eff21afae01f4a8269a4beb6a7907d2abe6ad82a
Author: Henrik G. Olsson <hnrklssn at gmail.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
R llvm/include/llvm/TargetParser/AVRTargetParser.h
M llvm/include/llvm/TargetParser/Triple.h
R llvm/lib/TargetParser/AVRTargetParser.cpp
M llvm/lib/TargetParser/CMakeLists.txt
R llvm/test/tools/llvm-objdump/ELF/AVR/lit.local.cfg
R llvm/test/tools/llvm-objdump/ELF/AVR/mattr.test
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
Revert "[llvm-objdump][AVR] Detect AVR architecture from ELF flags for disassembling" (#180252)
Reverts llvm/llvm-project#174731 due to introducing a cyclic dependency
when building LLVM with modules enabled: LLVM_Utils -> LLVM_Object ->
LLVM_Utils
Commit: 57d1fbf62cc71b8e1e5e89701d58a7dd47f9229a
https://github.com/llvm/llvm-project/commit/57d1fbf62cc71b8e1e5e89701d58a7dd47f9229a
Author: Vladimir Radosavljevic <129192835+vladimirradosavljevic at users.noreply.github.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/and-compare.ll
Log Message:
-----------
[InstCombine] Limit (icmp eq/ne (and (add A, Addend), Msk), C) fold to one use of and (#172858)
If the and has multiple uses, the fold can increase the instruction
count.
Commit: 13d8870d455fafa734d29b1f3703386ef6e3b5f8
https://github.com/llvm/llvm-project/commit/13d8870d455fafa734d29b1f3703386ef6e3b5f8
Author: sstipano <sstipano7 at gmail.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/docs/HowToUseInstrMappings.rst
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/MC/MCInstrDesc.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/MCA/InstrBuilder.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.h
M llvm/lib/Target/AMDGPU/R600InstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp
M llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.h
M llvm/test/TableGen/CPtrWildcard.td
M llvm/test/TableGen/DAGDefaultOps.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-miflags.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-operand-types.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-patfrag-root.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-temp-defs.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-typeof.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
M llvm/test/TableGen/GlobalISelEmitter/ContextlessPredicates.td
M llvm/test/TableGen/GlobalISelEmitter/CustomPredicate.td
M llvm/test/TableGen/GlobalISelEmitter/DefaultOpsGlobalISel.td
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/test/TableGen/GlobalISelEmitter/HwModes.td
M llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizer.td
M llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerSameOperand-invalid.td
M llvm/test/TableGen/GlobalISelEmitter/OverloadedPtr.td
M llvm/test/TableGen/GlobalISelEmitter/RegSequence.td
M llvm/test/TableGen/GlobalISelEmitter/Subreg.td
M llvm/test/TableGen/GlobalISelEmitter/Variadic.td
M llvm/test/TableGen/GlobalISelEmitter/atomic-store.td
M llvm/test/TableGen/GlobalISelEmitter/dead-def.td
M llvm/test/TableGen/GlobalISelEmitter/frameindex.td
M llvm/test/TableGen/GlobalISelEmitter/gisel-physreg-input.td
M llvm/test/TableGen/GlobalISelEmitter/immarg-predicated.td
M llvm/test/TableGen/GlobalISelEmitter/immarg.td
M llvm/test/TableGen/GlobalISelEmitter/input-discard.td
M llvm/test/TableGen/GlobalISelEmitter/int64min.td
M llvm/test/TableGen/GlobalISelEmitter/multiple-output-discard.td
M llvm/test/TableGen/GlobalISelEmitter/multiple-output.td
M llvm/test/TableGen/GlobalISelEmitter/nested-subregs.td
M llvm/test/TableGen/GlobalISelEmitter/optional-def.td
M llvm/test/TableGen/GlobalISelEmitter/output-discard.td
M llvm/test/TableGen/GlobalISelEmitter/predicated-pattern-order.td
M llvm/test/TableGen/GlobalISelEmitter/undef-tied-input.td
M llvm/test/TableGen/GlobalISelEmitter/zero-reg.td
M llvm/test/TableGen/HasNoUse.td
M llvm/test/TableGen/RegClassByHwMode.td
M llvm/test/TableGen/dag-isel-instrument.td
M llvm/test/TableGen/dag-isel-regclass-emit-enum.td
M llvm/test/TableGen/dag-isel-res-order.td
M llvm/test/TableGen/get-named-operand-idx.td
M llvm/test/TableGen/multiple-type-casts-patfrags.td
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/CodeGenMapTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
[MC][TableGen] Expand Opcode field of MCInstrDesc (#179652)
Increase width of Opcode to `int` from `short` to allow more capacity.
Commit: 85d94e17144f2ca250c91b827b59e6ddea675d31
https://github.com/llvm/llvm-project/commit/85d94e17144f2ca250c91b827b59e6ddea675d31
Author: jimingham <jingham at apple.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M lldb/source/Plugins/Process/Utility/StopInfoMachException.h
A lldb/test/API/macosx/stop-reason-exception/Makefile
A lldb/test/API/macosx/stop-reason-exception/TestMachExceptionData.py
A lldb/test/API/macosx/stop-reason-exception/main.c
Log Message:
-----------
Make StopInfoMachException return the right data. (#180088)
When I changed lldb so that the StopInfo's compute their own stop reason
data (before it was oddly done in SBThread::GetStopReasonData...) I
didn't notice that StopInfoMachException was relying on that routine's
default of returning the Value as the 0th exception data, and didn't
actually return its own data.
This fixes that, and makes us report the exception type, and the code
and subcode if the exception has them. I also added a test for this.
rdar://169755672
Commit: 4a94cddad253d7577f6ae2f53086e01af13b3bf2
https://github.com/llvm/llvm-project/commit/4a94cddad253d7577f6ae2f53086e01af13b3bf2
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel][WebAssembly][GlobalISel] Port 9976e5702f05a4019123ee1ad2bb9a8b69ca7dcb (#180270)
Co-authored-by: Pranav Kant <prka at google.com>
Commit: c0c42c4e3964f146fa5acd581b7d253af1157a27
https://github.com/llvm/llvm-project/commit/c0c42c4e3964f146fa5acd581b7d253af1157a27
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Revert "Fix Bazel build for d005cb2" (#180271)
Reverts #180134, as the change it fixes was itself reverted in #180252
Commit: 734eb9540299fa519da2eb7015ffa09718ba48d2
https://github.com/llvm/llvm-project/commit/734eb9540299fa519da2eb7015ffa09718ba48d2
Author: Petr Vesely <veselypeta at gmail.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
A llvm/test/TableGen/DecoderEmitter/large-islands.td
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[Tablegen] Don't emit decoder tables with islands larger than 64 bits (#179651)
I have a downstream target which has 128-bit instructions where some
instructions can have large sections of encoding to be determined ahead
of time. This results in the island calculations for decoder tables to
emit checks over 64-bits.
This change will emit multiple separate checks when the island exceeds
64-bits.
Commit: 019ecdf7bbfd430cd9f2a61d1139f677621c9c31
https://github.com/llvm/llvm-project/commit/019ecdf7bbfd430cd9f2a61d1139f677621c9c31
Author: Tony Tao <tony.le.tao at gmail.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
A llvm/test/CodeGen/SystemZ/zos-alias-unsupported.ll
A llvm/test/CodeGen/SystemZ/zos-func-alias.ll
Log Message:
-----------
[SystemZ][GOFF] Implement emitGlobalAlias for GOFF/HLASM (#180041)
HLASM has a requirement where aliasing labels need to be emitted at the
same time as the aliasee label, similar to AIX. I used their
implementation for reference with some modifications as we can only
alias functions and we must emit all symbol attributes before the label
is emitted to ensure the XATTR instruction contains the correct
attributes.
---------
Co-authored-by: Tony Tao <tonytao at ca.ibm.com>
Commit: ef22f0bfb6a63b4eaf9ff95ba09240c7d6b15a79
https://github.com/llvm/llvm-project/commit/ef22f0bfb6a63b4eaf9ff95ba09240c7d6b15a79
Author: Nico Weber <thakis at chromium.org>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/BUILD.gn
Log Message:
-----------
[gn] port 9976e5702f05a40 (WebAssembly GISel)
Commit: 507c92ac08bad62d8ffa283d01ef93a65b90328c
https://github.com/llvm/llvm-project/commit/507c92ac08bad62d8ffa283d01ef93a65b90328c
Author: Nhat Nguyen <nhat7203 at gmail.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/CodeGenCXX/reflection-mangle-itanium.cpp
M clang/test/CodeGenCXX/reflection-mangle-ms.cpp
Log Message:
-----------
[clang]: immediate address of build issue (#180236)
Fixed the build issue happen
[here](https://github.com/llvm/llvm-project/pull/164692)
Issue here is this [function
](https://github.com/llvm/llvm-project/blob/main/clang/lib/Sema/TreeTransform.h#L13057-L13061)
doesn't return a type
Commit: 5c72240617e238d8c75c9cc975dc8a31e36e6fc8
https://github.com/llvm/llvm-project/commit/5c72240617e238d8c75c9cc975dc8a31e36e6fc8
Author: Domenic Nutile <domenic.nutile at gmail.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.wave.shuffle.ll
Log Message:
-----------
[AMDGPU] Add DPP16 Row Share optimization for llvm.amdgcn.wave.shuffle (#177470)
Adds logic to detect cases where the llvm.amdgcn.wave.shuffle intrinsic
is being applied to an index operand that would make the result
equivalent to the various Row Share flavors of DPP16 operations, and
replaces the intrinsic and the instructions computing the index with an
equivalent llvm.amdgcn.update.dpp call.
Commit: 52eb82e4f942db5e639c018c7757a1cca670333f
https://github.com/llvm/llvm-project/commit/52eb82e4f942db5e639c018c7757a1cca670333f
Author: Derek Schuff <dschuff at chromium.org>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/CommandGuide/llvm-strip.rst
M llvm/lib/ObjCopy/wasm/WasmObjcopy.cpp
M llvm/test/tools/llvm-objcopy/wasm/basic-strip.test
M llvm/test/tools/llvm-objcopy/wasm/strip-all.test
M llvm/tools/llvm-objcopy/CommonOpts.td
Log Message:
-----------
[objcopy][Wasm] Make strip-all remove all non-engine-interpreted sections (#180246)
Currently the default strip-all behavior is to remove sections known
to LLVM but leave others. Now that the standard specifies the section
name
"metadata.code.*" as used for compiler annotations interpreted by Wasm
engines, we can more confidently give strip its more conventional
behavior
of removing everything that won't be used by the engine.
Commit: 4919e0da50d41edb36670f1f1ce33d80703d7ac9
https://github.com/llvm/llvm-project/commit/4919e0da50d41edb36670f1f1ce33d80703d7ac9
Author: Demetrius Kanios <demetrius at kanios.net>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
M llvm/test/CodeGen/WebAssembly/offset-fastisel.ll
M llvm/test/CodeGen/WebAssembly/signext-arg.ll
M llvm/test/CodeGen/WebAssembly/signext-inreg.ll
Log Message:
-----------
[WebAssembly][FastISel] Make use of `sign-ext` proposals instructions when available (#179855)
Enables FastISel to use the dedicated sign-extension instructions
(rather than shl, shr) when available.
Commit: 370764c8cb69e2272c7465d854f8291aa2776f53
https://github.com/llvm/llvm-project/commit/370764c8cb69e2272c7465d854f8291aa2776f53
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rv32p.ll
Log Message:
-----------
[RISCV] Use addd/subd for i64 add/sub for RV32+P. (#180129)
Add RISCVISD opcodes and custom type legalize to them.
Commit: a4c8e7537cc5288a25de948d266e56d0bffa6a64
https://github.com/llvm/llvm-project/commit/a4c8e7537cc5288a25de948d266e56d0bffa6a64
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M compiler-rt/lib/asan/asan_flags.cpp
Log Message:
-----------
[asan][AIX] Change #ifdef to #if for AIX guard (#180280)
When `SANITIZER_AIX` is introduced in #131866, it will always be defined
to either 0 or 1, so this guard should use `#if`.
Commit: b5b453d0dfb013de0275ae5bf704df943759e627
https://github.com/llvm/llvm-project/commit/b5b453d0dfb013de0275ae5bf704df943759e627
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
Log Message:
-----------
[NFC] [FlowSensitive] [StatusOr] add more tests for gtest macros
Reviewers: jvoung
Pull Request: https://github.com/llvm/llvm-project/pull/180072
Commit: bf4f5d2194b68c82b8e097f8f675556d76eef39a
https://github.com/llvm/llvm-project/commit/bf4f5d2194b68c82b8e097f8f675556d76eef39a
Author: Mikhail Gudim <mgudim at qti.qualcomm.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/cfi-epilogue-with-return.mir
M llvm/test/CodeGen/X86/cfi-epilogue-without-return.mir
M llvm/test/CodeGen/X86/cfi-inserter-callee-save-register-2.mir
M llvm/test/CodeGen/X86/cfi-inserter-callee-save-register.mir
A llvm/test/CodeGen/X86/cfi-xmm-asm.ll
M llvm/test/CodeGen/X86/cfi-xmm.ll
Log Message:
-----------
[X86][test] Auto-generate test checks for some cfi tests. NFC (#177248)
Commit: 29d374bf90de1cd28af5587724f7ba19b225b92e
https://github.com/llvm/llvm-project/commit/29d374bf90de1cd28af5587724f7ba19b225b92e
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
Log Message:
-----------
[NFC] [FlowSensitive] [StatusOr] Add tests for StatusOr ctors
Reviewers: jvoung
Reviewed By: jvoung
Pull Request: https://github.com/llvm/llvm-project/pull/180076
Commit: 233976c36488a66f0c505934a7bc5cb46d98c05e
https://github.com/llvm/llvm-project/commit/233976c36488a66f0c505934a7bc5cb46d98c05e
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
Log Message:
-----------
[NFC] [FlowSensitive] [StatusOr] Add test for more complicated Status logic
Reviewers: jvoung
Reviewed By: jvoung
Pull Request: https://github.com/llvm/llvm-project/pull/180075
Commit: 21fb35bf0bfa3c935a00898b54719e1f9a332f52
https://github.com/llvm/llvm-project/commit/21fb35bf0bfa3c935a00898b54719e1f9a332f52
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
Log Message:
-----------
[NFC] [FlowSensitive] [StatusOr] Add test for move assignment
Reviewers: jvoung
Reviewed By: jvoung
Pull Request: https://github.com/llvm/llvm-project/pull/180080
Commit: 543b949bd7ba0748dd3dade1b20a3bd093cb0c9b
https://github.com/llvm/llvm-project/commit/543b949bd7ba0748dd3dade1b20a3bd093cb0c9b
Author: Nico Weber <thakis at chromium.org>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Target/WebAssembly/BUILD.gn
Log Message:
-----------
[gn] port 9976e5702f05a40 more
Commit: 5f644d966e1ae02e06ea85cf693d80587149932f
https://github.com/llvm/llvm-project/commit/5f644d966e1ae02e06ea85cf693d80587149932f
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
R lld/test/wasm/Inputs/import-attributes.s
M lld/test/wasm/import-attribute-mismatch.s
M lld/wasm/SymbolTable.cpp
Log Message:
-----------
[lld][WebAssembly] Improve import mismatch error reporting (#178715)
Followup to #178550
Commit: bd40d1de9c9ee65ef1264a36cee002f92c8d689b
https://github.com/llvm/llvm-project/commit/bd40d1de9c9ee65ef1264a36cee002f92c8d689b
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/test/Transforms/LoopIdiom/reuse-lcssa-phi-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
Log Message:
-----------
Reapply "[SCEVExp] Use SCEVPtrToAddr in tryToReuseLCSSAPhi if possible. (#180257)"
This reverts commit cb905605b2e95f88296afe136b21a7d2476cb058.
Recommit the patch with a small change to check the destination
type matches the address type, to avoid a crash on mismatch.
Original message:
This patch updates tryToReuseLCSSAPhi to use SCEVPtrToAddr, unless using
SCEVPtrToInt allows re-use, because the IR already contains a re-usable
phi using PtrToInt.
This is a first step towards migrating to SCEVPtrToAddr and avoids
regressions in follow-up changes.
PR: https://github.com/llvm/llvm-project/pull/178727
Commit: 66f9ffbb2c285b1918cd6786b4dde46bde80892e
https://github.com/llvm/llvm-project/commit/66f9ffbb2c285b1918cd6786b4dde46bde80892e
Author: Fateme Hosseini <quic_fhossein at quicinc.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/CMakeLists.txt
M llvm/lib/Target/Hexagon/Hexagon.h
A llvm/lib/Target/Hexagon/HexagonLiveVariables.cpp
A llvm/lib/Target/Hexagon/HexagonLiveVariables.h
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/test/CodeGen/Hexagon/isel/mulh-scalar.ll
A llvm/test/CodeGen/Hexagon/live-vars/live-outs.ll
M llvm/test/CodeGen/Hexagon/nbench1.ll
M llvm/test/CodeGen/Hexagon/newvaluejump-kill.ll
M llvm/test/CodeGen/Hexagon/swp-matmul-bitext.ll
Log Message:
-----------
[Hexagon] Add post-RA live variables analysis (#179531)
This patch adds HexagonLiveVariables, a post-RA liveness analysis for
physical registers, to keep block live-ins/live-outs and operand
kill/dead markers consistent after late Hexagon transforms; it is run
after GenMux in the pre-emit pipeline.
Author: Sergei Larin <slarin at qti.qualcomm.com>
Patch By: Fateme Hosseini <fhossein at qti.qualcomm.com>
Co-authored-by: Sergei Larin <slarin at qti.qualcomm.com>
Commit: 703c2762d34d1fec27aa3347c3861e0f620132c3
https://github.com/llvm/llvm-project/commit/703c2762d34d1fec27aa3347c3861e0f620132c3
Author: Kewen Meng <Kewen.Meng at amd.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-scalar-assignment.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
M llvm/test/Transforms/LoopVectorize/conditional-scalar-assignment-vplan.ll
M llvm/unittests/Analysis/IVDescriptorsTest.cpp
Log Message:
-----------
Revert "[LV] Support conditional scalar assignments of masked operations" (#180275)
Reverts llvm/llvm-project#178862
revert to unblock bot:
https://lab.llvm.org/buildbot/#/builders/206/builds/13225
Commit: 1bb916c9af73bd3dc7943c8aaee63b34654d76f1
https://github.com/llvm/llvm-project/commit/1bb916c9af73bd3dc7943c8aaee63b34654d76f1
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixExplicitTruncation.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixImplicitTruncation.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptConstSwizzle.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptDynamicSwizzle.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptGetter.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptSetter.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
M clang/test/CodeGenHLSL/BoolMatrix.hlsl
M clang/test/CodeGenHLSL/basic_types.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-load.hlsl
Log Message:
-----------
[HLSL] Represent Matrix as arrays of vectors in memory (#179861)
fixes https://github.com/llvm/llvm-project/issues/179859
For matrix types we need to check the language mode so we can change the
matrix memory layout to arrays of vectors. To make this play nice with
how the rest of clang treats matrices we need to modify the
MaybeConvertMatrixAddress and the CreateMemTemp function to know how to
reconstruct a flattened vector.
Rest of changes is just test updates.
Commit: 60ecb378960662a6579a66d2bbda98d681606868
https://github.com/llvm/llvm-project/commit/60ecb378960662a6579a66d2bbda98d681606868
Author: Argyrios Kyrtzidis <kyrtzidis at apple.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/include/llvm/CAS/BuiltinObjectHasher.h
M llvm/include/llvm/CAS/OnDiskGraphDB.h
A llvm/lib/CAS/BuiltinObjectHasher.cpp
M llvm/lib/CAS/CMakeLists.txt
M llvm/lib/CAS/OnDiskGraphDB.cpp
A llvm/unittests/CAS/BuiltinObjectHasherTest.cpp
M llvm/unittests/CAS/CMakeLists.txt
M llvm/unittests/CAS/OnDiskCommonUtils.h
M llvm/unittests/CAS/OnDiskGraphDBTest.cpp
Log Message:
-----------
[llvm/CAS] Add file-based APIs to `OnDiskGraphDB` (#179782)
These allow performing optimizations that reduce I/O and disk space
consumption. For example, when applicable, a file can be cloned directly
into the database directory, instead of needing to load it in memory and
then copy its contents into a new file.
These APIs are then used to optimize importing data from an upstream DB
by using file cloning where applicable.
Commit: ec15bddde5cb72f36d5aef56d9db4980e96f5a9f
https://github.com/llvm/llvm-project/commit/ec15bddde5cb72f36d5aef56d9db4980e96f5a9f
Author: Jan Voung <jvoung at google.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
A clang/include/clang/Analysis/CFGBackEdges.h
A clang/lib/Analysis/CFGBackEdges.cpp
M clang/lib/Analysis/CMakeLists.txt
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
A clang/unittests/Analysis/CFGBackEdgesTest.cpp
M clang/unittests/Analysis/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
Log Message:
-----------
[clang][analysis][dataflow] Detect goto backedges to trigger Widen (#179546)
Currently, the Clang Dataflow Framework only does Widen on backedges
from structured loops.
Missing some Widen calls (e.g., when there are backedges from gotos)
could cause some analyses to iterate ~forever (until the max visits
limit is hit).
This adds a simple search for backedges, and triggers Widen on the
additional backedge nodes. Fixes [issue 179083.
](https://github.com/llvm/llvm-project/issues/179083)
Commit: f98893d2108cba37d9b40f22bc1d96e5c04d6272
https://github.com/llvm/llvm-project/commit/f98893d2108cba37d9b40f22bc1d96e5c04d6272
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
Log Message:
-----------
[gn build] Port 28042a87022b
Commit: 9fe8e8b8139c4035734c4da6454544ef94008564
https://github.com/llvm/llvm-project/commit/9fe8e8b8139c4035734c4da6454544ef94008564
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CAS/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CAS/BUILD.gn
Log Message:
-----------
[gn build] Port 60ecb3789606
Commit: d4d53b0a973c7482d283853b0eadab2a4062b753
https://github.com/llvm/llvm-project/commit/d4d53b0a973c7482d283853b0eadab2a4062b753
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
Log Message:
-----------
[gn build] Port 66f9ffbb2c28
Commit: b2f75086323a8a0de02bbd2546ffa05c5046a5b8
https://github.com/llvm/llvm-project/commit/b2f75086323a8a0de02bbd2546ffa05c5046a5b8
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Analysis/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Analysis/BUILD.gn
Log Message:
-----------
[gn build] Port ec15bddde5cb
Commit: 649c6bc6f7a17f62fa6948779b65fdc6b05f2cb7
https://github.com/llvm/llvm-project/commit/649c6bc6f7a17f62fa6948779b65fdc6b05f2cb7
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/TargetParser/BUILD.gn
Log Message:
-----------
[gn build] Port eff21afae01f
Commit: b74f8ad0092ab74b2b93bf3ccd22e48181b4d2d2
https://github.com/llvm/llvm-project/commit/b74f8ad0092ab74b2b93bf3ccd22e48181b4d2d2
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
Log Message:
-----------
[NFC] [FlowSensitive] [StatusOr] Add tests for member accesses
Reviewers: jvoung
Reviewed By: jvoung
Pull Request: https://github.com/llvm/llvm-project/pull/180077
Commit: 9e355c8ec39acae728e9b1fa32fd123c1e4af855
https://github.com/llvm/llvm-project/commit/9e355c8ec39acae728e9b1fa32fd123c1e4af855
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
A llvm/test/CodeGen/SPIRV/memory-inst-large-align.ll
Log Message:
-----------
[SPIRV] Fix alignment overflow in memory intrinsics (#180184)
Per SPIR-V spec alignment is 32-bit integer, so it should be encoded as
i8 in the intrinsics'
def.
Commit: be18ac87b73a1092fff063f725106bdb88c3a18c
https://github.com/llvm/llvm-project/commit/be18ac87b73a1092fff063f725106bdb88c3a18c
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
A llvm/test/CodeGen/SPIRV/memset-large-size.ll
Log Message:
-----------
[SPIRV] Fix APInt overflow in memset constant array creation (#180189)
In getOrCreateConstIntArray(), the cache UniqueKey encoded the array
size (Num) using the array element type (e.g. i8 for memset). Since Num
is a size_t that can exceed 255, this caused an APInt overflow when Num
> 255. Use i64 for Num in the UniqueKey.
Commit: 71a8973a3e2696579438781403e88f66b5adc534
https://github.com/llvm/llvm-project/commit/71a8973a3e2696579438781403e88f66b5adc534
Author: RattataKing <amilywu2 at amd.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M mlir/include/mlir/Bindings/Python/Globals.h
M mlir/include/mlir/Bindings/Python/IRAttributes.h
M mlir/include/mlir/Bindings/Python/NanobindUtils.h
M mlir/lib/Bindings/Python/ExecutionEngineModule.cpp
M mlir/lib/Bindings/Python/Globals.cpp
M mlir/lib/Bindings/Python/IRAffine.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRInterfaces.cpp
M mlir/lib/Bindings/Python/IRTypes.cpp
Log Message:
-----------
[MLIR][Python] Remove partial LLVM APIs in python bindings (4/n) (#180256)
This PR continues work from #178290
It replaces some LLVM utilities with straightforward `std::`
equivalents.
Commit: 278fd0553ef5834e005a048a6b480631f3fc1b38
https://github.com/llvm/llvm-project/commit/278fd0553ef5834e005a048a6b480631f3fc1b38
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Options/Options.td
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/paren-list-agg-init.cpp
M clang/test/CodeGenCXX/amdgcn-automatic-variable.cpp
M clang/test/CodeGenCXX/amdgcn-func-arg.cpp
M clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
M clang/test/CodeGenCXX/cxx2a-destroying-delete.cpp
A clang/test/CodeGenCXX/destructor-dead-on-return.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors2.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
M clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
M clang/test/DebugInfo/CXX/bpf-structors.cpp
M clang/test/DebugInfo/CXX/trivial_abi.cpp
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
M clang/test/OpenMP/for_firstprivate_codegen.cpp
M clang/test/OpenMP/for_lastprivate_codegen.cpp
M clang/test/OpenMP/for_linear_codegen.cpp
M clang/test/OpenMP/for_private_codegen.cpp
M clang/test/OpenMP/for_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
M clang/test/OpenMP/parallel_copyin_codegen.cpp
M clang/test/OpenMP/parallel_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_for_linear_codegen.cpp
M clang/test/OpenMP/parallel_master_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_private_codegen.cpp
M clang/test/OpenMP/parallel_reduction_codegen.cpp
M clang/test/OpenMP/scope_codegen.cpp
M clang/test/OpenMP/sections_firstprivate_codegen.cpp
M clang/test/OpenMP/sections_lastprivate_codegen.cpp
M clang/test/OpenMP/sections_private_codegen.cpp
M clang/test/OpenMP/sections_reduction_codegen.cpp
M clang/test/OpenMP/simd_private_taskloop_codegen.cpp
M clang/test/OpenMP/single_codegen.cpp
M clang/test/OpenMP/single_firstprivate_codegen.cpp
M clang/test/OpenMP/single_private_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen.cpp
M clang/test/OpenMP/target_in_reduction_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/task_codegen.cpp
M clang/test/OpenMP/task_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_private_codegen.cpp
M clang/test/OpenMP/threadprivate_codegen.cpp
M clang/test/utils/update_cc_test_checks/Inputs/basic-cplusplus.cpp.expected
M clang/test/utils/update_cc_test_checks/Inputs/explicit-template-instantiation.cpp.expected
Log Message:
-----------
[Clang] Mark this pointer in destructors dead_on_return (#166276)
This helps to clean up any dead stores that come up at the end of the
destructor. The motivating example was a refactoring in libc++'s
basic_string implementation in 8dae17be2991cd7f0d7fd9aa5aecd064520a14f6
that added a zeroing store into the destructor, causing a large
performance regression on an internal workload. We also saw a ~0.2%
performance increase on an internal server workload when enabling this.
I also tested this against all of the non-flaky tests in our large C++
codebase and found a minimal number of issues that all happened to be in
user code.
Commit: 2555f3b0edb5de40ba17076072a55bc3e997626d
https://github.com/llvm/llvm-project/commit/2555f3b0edb5de40ba17076072a55bc3e997626d
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/test/Sema/Inputs/lifetime-analysis.h
M clang/test/Sema/warn-lifetime-safety.cpp
Log Message:
-----------
[LifetimeSafety] Treat std::unique_ptr::release() as a move operation (#180230)
Add support for `std::unique_ptr::release()` in lifetime analysis to
avoid false positives when ownership is manually transferred via
`release()`.
- Added a new function `isUniquePtrRelease()` to detect when
`std::unique_ptr::release()` is called
- Modified `handleInvalidatingCall()` to mark the unique_ptr as moved
when release() is called
When manually transferring ownership using `std::unique_ptr::release()`,
the lifetime analysis would previously generate false positive
use-after-free warnings. This change treats `release()` as a move
operation, correctly modeling the ownership transfer semantics and
reducing false positives in code that manually manages ownership.
Commit: f7aa1cdc9b91493c56425505faa0cec3dfac5441
https://github.com/llvm/llvm-project/commit/f7aa1cdc9b91493c56425505faa0cec3dfac5441
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/Modules/validate-file-content.m
M clang/test/PCH/debug-info-pch-path.c
M clang/test/PCH/modified-module-dependency.m
A clang/test/PCH/pch-input-path-independent.c
M clang/test/PCH/validate-file-content.m
Log Message:
-----------
[clang] Canonicalizing `-include-pch` input in the Frontend (#180065)
This patch adds logic to canonicalize `-include-pch`'s input in the
frontend. This way, the `ASTWriter` always serializes the canonicalized
path to the included pch file whether the input is an absolute path or a
relative path.
Fixes rdar://168596546.
Commit: 8102ebf6a3c8c5d2665aa11d0fb5aa264ffe1b04
https://github.com/llvm/llvm-project/commit/8102ebf6a3c8c5d2665aa11d0fb5aa264ffe1b04
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
Log Message:
-----------
[MLIR][XeGPU] Fixing PR179016 minor issues (#180295)
Fix two issues brough by PR179016:
1. unused variable if build the option with
"DLLVM_ENABLE_ASSERTIONS=OFF"
2. Recover modification to recoverTemporaryLayouts() brought by
PR176737. Unintentionally lost during the merging process.
Commit: 047db150c66e245e9df7db178b893ce6b29820f5
https://github.com/llvm/llvm-project/commit/047db150c66e245e9df7db178b893ce6b29820f5
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Options/Options.td
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/paren-list-agg-init.cpp
M clang/test/CodeGenCXX/amdgcn-automatic-variable.cpp
M clang/test/CodeGenCXX/amdgcn-func-arg.cpp
M clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
M clang/test/CodeGenCXX/cxx2a-destroying-delete.cpp
R clang/test/CodeGenCXX/destructor-dead-on-return.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors2.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
M clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
M clang/test/DebugInfo/CXX/bpf-structors.cpp
M clang/test/DebugInfo/CXX/trivial_abi.cpp
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
M clang/test/OpenMP/for_firstprivate_codegen.cpp
M clang/test/OpenMP/for_lastprivate_codegen.cpp
M clang/test/OpenMP/for_linear_codegen.cpp
M clang/test/OpenMP/for_private_codegen.cpp
M clang/test/OpenMP/for_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
M clang/test/OpenMP/parallel_copyin_codegen.cpp
M clang/test/OpenMP/parallel_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_for_linear_codegen.cpp
M clang/test/OpenMP/parallel_master_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_private_codegen.cpp
M clang/test/OpenMP/parallel_reduction_codegen.cpp
M clang/test/OpenMP/scope_codegen.cpp
M clang/test/OpenMP/sections_firstprivate_codegen.cpp
M clang/test/OpenMP/sections_lastprivate_codegen.cpp
M clang/test/OpenMP/sections_private_codegen.cpp
M clang/test/OpenMP/sections_reduction_codegen.cpp
M clang/test/OpenMP/simd_private_taskloop_codegen.cpp
M clang/test/OpenMP/single_codegen.cpp
M clang/test/OpenMP/single_firstprivate_codegen.cpp
M clang/test/OpenMP/single_private_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen.cpp
M clang/test/OpenMP/target_in_reduction_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/task_codegen.cpp
M clang/test/OpenMP/task_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_private_codegen.cpp
M clang/test/OpenMP/threadprivate_codegen.cpp
M clang/test/utils/update_cc_test_checks/Inputs/basic-cplusplus.cpp.expected
M clang/test/utils/update_cc_test_checks/Inputs/explicit-template-instantiation.cpp.expected
Log Message:
-----------
Revert "[Clang] Mark this pointer in destructors dead_on_return (#166276)"
This reverts commit 278fd0553ef5834e005a048a6b480631f3fc1b38.
This was causing some buildbot failures in DSE:
1. https://lab.llvm.org/buildbot/#/builders/25/builds/15425
2. https://lab.llvm.org/buildbot/#/builders/24/builds/17304
Commit: 4d6913e14f4409bf8bd4dffc3dccb18df4c4a28d
https://github.com/llvm/llvm-project/commit/4d6913e14f4409bf8bd4dffc3dccb18df4c4a28d
Author: Christopher Di Bella <cjdb at google.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M libcxx/include/__vector/vector.h
Log Message:
-----------
[libcxx] Rename `__split_buffer` alias template to `_SplitBuffer` (#180284)
`-Wchanges-meaning` is a GCC warning that catches shadowing in more
contexts. While a bit annoying here, it's a helpful warning. As such, we
need to rename the `__split_buffer` alias template in `std::vector` so
that we don't trip it up.
Commit: 12d0672b3e2c3833d70f41e16edf4b5b4f5a3f0b
https://github.com/llvm/llvm-project/commit/12d0672b3e2c3833d70f41e16edf4b5b4f5a3f0b
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/test/CIR/Transforms/flatten-cleanup-scope-multi-exit.cir
A clang/test/CIR/Transforms/flatten-cleanup-scope-nyi.cir
A clang/test/CIR/Transforms/flatten-cleanup-scope-simple.cir
Log Message:
-----------
[CIR] Implement initial flattening of cleanup scope ops (#180063)
This implements flattening of `cir.cleanup.scope` operations that have a
single exit, and introduces checks to detect multiple exit cases and
report an error when they are encountered. At this point, only normal
cleanups are flattened. EH cleanup handling will be added in a future
change.
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: 570055bf97575107fadfc56426c893414dca8fbd
https://github.com/llvm/llvm-project/commit/570055bf97575107fadfc56426c893414dca8fbd
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-elemwise.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-rr.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-unify-ops-rr.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-unify-ops.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir
Log Message:
-----------
[MLIR][XeGPU] Propagate layout from anchor ops before Wg To Sg & Blocking Pass (#179490)
This PR calls recoverTemporaryLayout before the XeGPUWgtoSgDistribute &
XeGPUBlocking Pass to recover all the temporary operand layout which
might be required by the transformation patterns for checks and
verification
Commit: 191af6c254a83c9eb72df92a5db534d8fd4f0701
https://github.com/llvm/llvm-project/commit/191af6c254a83c9eb72df92a5db534d8fd4f0701
Author: Peter Collingbourne <pcc at google.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/Target/TargetMachine.h
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86InstrControl.td
M llvm/lib/Target/X86/X86InstrFragments.td
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86TargetMachine.h
A llvm/test/CodeGen/X86/cond-loop.ll
A llvm/test/Transforms/PreISelIntrinsicLowering/cond-loop.ll
Log Message:
-----------
Add llvm.cond.loop intrinsic.
The llvm.cond.loop intrinsic is semantically equivalent to a conditional
branch conditioned on ``pred`` to a basic block consisting only of an
unconditional branch to itself. Unlike such a branch, it is guaranteed
to use specific instructions. This allows an interrupt handler or
other introspection mechanism to straightforwardly detect whether
the program is currently spinning in the infinite loop and possibly
terminate the program if so. The intent is that this intrinsic may
be used as a more efficient alternative to a conditional branch to
a call to ``llvm.trap`` in circumstances where the loop detection
is guaranteed to be present. This construct has been experimentally
determined to be executed more efficiently (when the branch is not taken)
than a conditional branch to a trap instruction on AMD and older Intel
microarchitectures, and is also more code size efficient by avoiding the
need to emit a trap instruction and possibly a long branch instruction.
On i386 and x86_64, the infinite loop is guaranteed to consist of a short
conditional branch instruction that branches to itself. Specifically,
the first byte of the instruction will be between 0x70 and 0x7F, and
the second byte will be 0xFE.
Part of this RFC:
https://discourse.llvm.org/t/rfc-optimizing-conditional-traps/89456
Reviewers: arsenm, RKSimon, fmayer, vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/177686
Commit: a544d3792c1e7404dae9d25104ee954d2a54e9a3
https://github.com/llvm/llvm-project/commit/a544d3792c1e7404dae9d25104ee954d2a54e9a3
Author: Peter Collingbourne <pcc at google.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M clang/docs/UsersManual.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/SanitizerArgs.h
M clang/include/clang/Options/Options.td
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/Driver/SanitizerArgs.cpp
A clang/test/CodeGenCXX/sanitize-trap-loop.cpp
A clang/test/Driver/sanitize-trap-loop.c
Log Message:
-----------
CodeGen, Driver: Add -fsanitize-trap-loop option.
This option may be used to opt into infinite loops for failed UBSan and
CFI checks. It causes Clang to generate an llvm.cond.loop intrinsic call
instead of a conditional branch to a trap instruction when generating
code for a conditional trap.
Part of this RFC:
https://discourse.llvm.org/t/rfc-optimizing-conditional-traps/89456
Reviewers: fmayer, vitalybuka
Reviewed By: vitalybuka, fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/177688
Commit: fae1cc06e62cb0ce764b0c869df99a514dd1c901
https://github.com/llvm/llvm-project/commit/fae1cc06e62cb0ce764b0c869df99a514dd1c901
Author: Peter Collingbourne <pcc at google.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M clang/include/clang/Driver/SanitizerArgs.h
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M compiler-rt/include/sanitizer/ubsan_interface.h
M compiler-rt/lib/ubsan/CMakeLists.txt
A compiler-rt/lib/ubsan/ubsan_loop_detect.cpp
M compiler-rt/test/cfi/CMakeLists.txt
M compiler-rt/test/cfi/lit.cfg.py
M compiler-rt/test/cfi/lit.site.cfg.py.in
A compiler-rt/test/cfi/trap_loop_signal_handler.inc
M llvm/utils/gn/secondary/compiler-rt/lib/ubsan/BUILD.gn
Log Message:
-----------
ubsan: Add loop detection runtime and e2e tests for -fsanitize-trap-loop.
Reviewers: fmayer, vitalybuka
Reviewed By: vitalybuka, fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/179011
Commit: 1106a41bb868929854deb1acfc856a41c984732d
https://github.com/llvm/llvm-project/commit/1106a41bb868929854deb1acfc856a41c984732d
Author: woruyu <1214539920 at qq.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/test/Dialect/GPU/invalid.mlir
Log Message:
-----------
[mlir][GPU] Verify known_{block,grid,cluster}_size is at least 1 (#179886)
### Summary
This PR resolves https://github.com/llvm/llvm-project/issues/179604
Commit: 3449207b7b22f5c28d73046d076d8048aac43353
https://github.com/llvm/llvm-project/commit/3449207b7b22f5c28d73046d076d8048aac43353
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
Log Message:
-----------
[lldb][NFC] Fix the SPI prototypes in HostInfoMacOSX.mm
to unblock a CI bot building with a different set of headers.
rdar://148939795
Commit: a362593e0d02ff5677620b10ad5adeff0a8196a5
https://github.com/llvm/llvm-project/commit/a362593e0d02ff5677620b10ad5adeff0a8196a5
Author: Ganesh <Ganesh.Gopalasubramanian at amd.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Basic/Targets/X86.cpp
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/Driver/x86-march.c
M clang/test/Frontend/x86-target-cpu.c
M clang/test/Misc/target-invalid-cpu-note/x86.c
M clang/test/Preprocessor/predefined-arch-macros.c
M compiler-rt/lib/builtins/cpu_model/x86.c
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/include/llvm/TargetParser/X86TargetParser.h
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86PfmCounters.td
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/X86TargetParser.cpp
M llvm/test/CodeGen/X86/bypass-slow-division-64.ll
M llvm/test/CodeGen/X86/cmp16.ll
M llvm/test/CodeGen/X86/cpus-amd.ll
M llvm/test/CodeGen/X86/rdpru.ll
M llvm/test/CodeGen/X86/shuffle-as-shifts.ll
M llvm/test/CodeGen/X86/slow-unaligned-mem.ll
M llvm/test/CodeGen/X86/sqrt-fastmath-tune.ll
M llvm/test/CodeGen/X86/tuning-shuffle-permilpd-avx512.ll
M llvm/test/CodeGen/X86/tuning-shuffle-permilps-avx512.ll
M llvm/test/CodeGen/X86/tuning-shuffle-unpckpd-avx512.ll
M llvm/test/CodeGen/X86/tuning-shuffle-unpckps-avx512.ll
M llvm/test/CodeGen/X86/vector-shuffle-fast-per-lane.ll
M llvm/test/CodeGen/X86/vpdpwssd.ll
M llvm/test/CodeGen/X86/x86-64-double-shifts-var.ll
M llvm/test/MC/X86/x86_long_nop.s
Log Message:
-----------
[X86] AMD Zen 6 Initial enablement (#179150)
This patch adds initial support for AMD Zen 6 architecture (znver6):
- Added znver6 CPU target recognition in Clang and LLVM
- Updated compiler-rt CPU model detection for znver6
- Added znver6 to target parser and host CPU detection
- Added znver6 to various optimizer tests
znver6 features: FP16, AVXVNNIINT8, AVXNECONVERT, AVXIFMA (without BMM).
Commit: 2a2a394215b38631588d504d2b671df13370395b
https://github.com/llvm/llvm-project/commit/2a2a394215b38631588d504d2b671df13370395b
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVLegalizeZeroSizeArrays.cpp
M llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-alloca-count.ll
M llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-alloca-nested.ll
M llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-alloca.ll
Log Message:
-----------
[SPIRV] Optimize getAllocatedType calls in LegalizeZeroSizeArrays (#179068)
Compute zero-sized allocation accurately using size APIs, and replace
them with 1 byte instead of 1 pointer of space.
Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
Commit: 060f32534469262862a7f76e63836762d111cfa6
https://github.com/llvm/llvm-project/commit/060f32534469262862a7f76e63836762d111cfa6
Author: Abhishek Varma <avarma094 at gmail.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization/convolution-with-patterns.mlir
Log Message:
-----------
[mlir][Linalg] Promote lhs/rhs when vectorizing conv1D as outerproduct (#179883)
-- vector.outerproduct requires lhs/rhs to have same element type as the
result.
-- This commit adds a fix to promote lhs/rhs to have result's element
type when vectorizing conv1D slice to vector.outerproduct.
-- This is along the similar lines of what happens when we are
vectorizing conv1D slice to vector.contract - the corresponding
CHECK line was incorrect and this commit fixes that too.
Signed-off-by: Abhishek Varma <abhvarma at amd.com>
Commit: 19d681177f450822ad3db4f26aaa8331c8dd952b
https://github.com/llvm/llvm-project/commit/19d681177f450822ad3db4f26aaa8331c8dd952b
Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
Date: 2026-02-06 (Fri, 06 Feb 2026)
Changed paths:
M llvm/docs/HowToUseInstrMappings.rst
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/MC/MCInstrDesc.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/MCA/InstrBuilder.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.h
M llvm/lib/Target/AMDGPU/R600InstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp
M llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.h
M llvm/test/TableGen/CPtrWildcard.td
M llvm/test/TableGen/DAGDefaultOps.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-miflags.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-operand-types.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-patfrag-root.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-temp-defs.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-typeof.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
M llvm/test/TableGen/GlobalISelEmitter/ContextlessPredicates.td
M llvm/test/TableGen/GlobalISelEmitter/CustomPredicate.td
M llvm/test/TableGen/GlobalISelEmitter/DefaultOpsGlobalISel.td
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/test/TableGen/GlobalISelEmitter/HwModes.td
M llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizer.td
M llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerSameOperand-invalid.td
M llvm/test/TableGen/GlobalISelEmitter/OverloadedPtr.td
M llvm/test/TableGen/GlobalISelEmitter/RegSequence.td
M llvm/test/TableGen/GlobalISelEmitter/Subreg.td
M llvm/test/TableGen/GlobalISelEmitter/Variadic.td
M llvm/test/TableGen/GlobalISelEmitter/atomic-store.td
M llvm/test/TableGen/GlobalISelEmitter/dead-def.td
M llvm/test/TableGen/GlobalISelEmitter/frameindex.td
M llvm/test/TableGen/GlobalISelEmitter/gisel-physreg-input.td
M llvm/test/TableGen/GlobalISelEmitter/immarg-predicated.td
M llvm/test/TableGen/GlobalISelEmitter/immarg.td
M llvm/test/TableGen/GlobalISelEmitter/input-discard.td
M llvm/test/TableGen/GlobalISelEmitter/int64min.td
M llvm/test/TableGen/GlobalISelEmitter/multiple-output-discard.td
M llvm/test/TableGen/GlobalISelEmitter/multiple-output.td
M llvm/test/TableGen/GlobalISelEmitter/nested-subregs.td
M llvm/test/TableGen/GlobalISelEmitter/optional-def.td
M llvm/test/TableGen/GlobalISelEmitter/output-discard.td
M llvm/test/TableGen/GlobalISelEmitter/predicated-pattern-order.td
M llvm/test/TableGen/GlobalISelEmitter/undef-tied-input.td
M llvm/test/TableGen/GlobalISelEmitter/zero-reg.td
M llvm/test/TableGen/HasNoUse.td
M llvm/test/TableGen/RegClassByHwMode.td
M llvm/test/TableGen/dag-isel-instrument.td
M llvm/test/TableGen/dag-isel-regclass-emit-enum.td
M llvm/test/TableGen/dag-isel-res-order.td
M llvm/test/TableGen/get-named-operand-idx.td
M llvm/test/TableGen/multiple-type-casts-patfrags.td
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/CodeGenMapTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
Revert "[MC][TableGen] Expand Opcode field of MCInstrDesc" (#180321)
Reverts llvm/llvm-project#179652
This PR causes the out-of-memory build failures on many Windows
builders.
Commit: 15c9c77ccf645bc2cdc6da96a115a4e2f930706b
https://github.com/llvm/llvm-project/commit/15c9c77ccf645bc2cdc6da96a115a4e2f930706b
Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M llvm/lib/Target/Mips/MipsISelLowering.cpp
A llvm/test/CodeGen/Mips/musttail-disabled.ll
Log Message:
-----------
[MIPS] Do not silently ignore musttail (#178310)
Do not silently ignore musttail markings if UseMipsTailCalls is false.
Commit: 6c6fb00c942ef1ca571bb376969c37f1e6e2ea1f
https://github.com/llvm/llvm-project/commit/6c6fb00c942ef1ca571bb376969c37f1e6e2ea1f
Author: Iasonaskrpr <126663668+Iasonaskrpr at users.noreply.github.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/combine-reg-or-const.ll
M llvm/test/CodeGen/AMDGPU/min.ll
A llvm/test/CodeGen/AMDGPU/s_or_b32_transformation.ll
Log Message:
-----------
[AMDGPU] Optimize S_OR_B32 to S_ADDK_I32 where possible (#177949)
This PR fixes #177753, converting disjoint S_OR_B32 to S_ADDK_I32
whenever possible, it avoids this transformation in case S_OR_B32 can be
converted to bitset.
Note on Test Failures (Draft Status) This change causes significant
register reshuffling across the test suite due to the new allocation
hints and the swaps performed in case src0 is not a register and src1,
along with the change from or to addk. To avoid a massive, noisy diff
during the initial logic review:
This Draft PR only includes a representative sample of updated tests.
CodeGen/AMDGPU/combine-reg-or-const.ll -> Showcases change from S_OR to
S_ADDK
CodeGen/AMDGPU/s-barrier.ll -> Showcases swap between Src0 and Src1 if
src0 is not a register
The rest of the tests show the result of the register allocation hint we
give, I have checked every test I updated and they seem ok to me.
Once the core logic is approved, I will run the update script across the
remaining ~70 failing tests and mark the PR as "Ready for Review."
Commit: 269fda118ae2815369cabd1dbfdb1be33b314c0c
https://github.com/llvm/llvm-project/commit/269fda118ae2815369cabd1dbfdb1be33b314c0c
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f16.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-bf16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix.ll
Log Message:
-----------
[AMDGPU] Fix pattern selecting fmul to v_fma_mix_f32 (#180210)
This needs to use an addend of -0.0 to get the correct result when the
result should be -0.0.
Commit: 763761888f644615cde7db1d896e46daf2b85db3
https://github.com/llvm/llvm-project/commit/763761888f644615cde7db1d896e46daf2b85db3
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M libcxx/test/benchmarks/stop_token.bench.cpp
Log Message:
-----------
[libc++] Reduce the number of runs on the stop_token benchmarks (#179914)
Testing a bunch of sizes has relatively little value. This reduces the
number of benchmarks so we can run them on a regular basis.
Fixes #179697
Commit: 806ad8860c637cca762c535953a510db03a0bc9f
https://github.com/llvm/llvm-project/commit/806ad8860c637cca762c535953a510db03a0bc9f
Author: Michał Górny <mgorny at gentoo.org>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M compiler-rt/lib/ubsan/CMakeLists.txt
Log Message:
-----------
[compiler-rt] [ubsan] Fix missing include directory (#180341)
Fixes missing `-I` path that broke standalone builds in #179011. Matches
`include_directories()` in other compiler-rt libraries.
Signed-off-by: Michał Górny <mgorny at gentoo.org>
Commit: 8d2078332c23b10dcf3571adc1a186e5c65f82df
https://github.com/llvm/llvm-project/commit/8d2078332c23b10dcf3571adc1a186e5c65f82df
Author: hanbeom <kese111 at gmail.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/add2.ll
M llvm/test/Transforms/InstCombine/rem-mul-shl.ll
Log Message:
-----------
[InstCombine] Shrink added constant using LHS known zeros (#174380)
Previously, `SimplifyDemandedUseBits` for `add` instructions only
used known zeros from the RHS to simplify the LHS. It failed to
handle the symmetric case where the LHS has known zeros and the
result does not demand the low bits.
This patch implements this missing optimization, allowing the RHS
constant to be shrunk when the LHS low bits are known zero and unused.
Proof: https://alive2.llvm.org/ce/z/6v9iFY
Fixed: https://github.com/llvm/llvm-project/issues/135411
Commit: 9e8caa78349f21ba6f27e718d7f8461c8dcfd809
https://github.com/llvm/llvm-project/commit/9e8caa78349f21ba6f27e718d7f8461c8dcfd809
Author: Haoren Wang <43286339+MetalOxideSemi at users.noreply.github.com>
Date: 2026-02-07 (Sat, 07 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 (#174341)
## Summary
Fix null pointer dereference in
`SelectionDAGBuilder::resolveDanglingDebugInfo`.
## Problem
`Val.getNode()->getIROrder()` is called before checking if
`Val.getNode()` is null, causing crashes when compiling code with debug
info that contains aggregate constants with nested empty structs.
## Solution
Move the `ValSDNodeOrder` declaration inside the `if (Val.getNode())`
block.
## Test Case
Reproduces with aggregate types containing nested empty structs:
```llvm
%3 = insertvalue { { i1, {} }, ptr, { { {} }, { {} } }, i64 }
{ { i1, {} } zeroinitializer, ptr null, { { {} }, { {} } } zeroinitializer, i64 2 },
ptr %2, 1, !dbg !893
## Crash stack
0. Program arguments: llc-20 -O3 -mcpu=native -relocation-model=pic -filetype=obj /cloudide/workspace/temp/sf.ll -o /dev/null
1. Running pass 'Function Pass Manager' on module '/cloudide/workspace/temp/sf.ll'.
2. Running pass 'X86 DAG->DAG Instruction Selection' on function '@filter_create'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0 libLLVM.so.20.1 0x00007ff87ebbdf86 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 54
1 libLLVM.so.20.1 0x00007ff87ebbbb90 llvm::sys::RunSignalHandlers() + 80
2 libLLVM.so.20.1 0x00007ff87ebbe640
3 libpthread.so.0 0x00007ff87db79140
4 libLLVM.so.20.1 0x00007ff87f3fd2ff llvm::SelectionDAGBuilder::resolveDanglingDebugInfo(llvm::Value const*, llvm::SDValue) + 303
5 libLLVM.so.20.1 0x00007ff87f3fda5e llvm::SelectionDAGBuilder::getValue(llvm::Value const*) + 142
6 libLLVM.so.20.1 0x00007ff87f3fe79f llvm::SelectionDAGBuilder::getValueImpl(llvm::Value const*) + 3343
7 libLLVM.so.20.1 0x00007ff87f3fda34 llvm::SelectionDAGBuilder::getValue(llvm::Value const*) + 100
8 libLLVM.so.20.1 0x00007ff87f3fc1ab llvm::SelectionDAGBuilder::visitInsertValue(llvm::InsertValueInst const&) + 603
9 libLLVM.so.20.1 0x00007ff87f3eeaf7 llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) + 327
10 libLLVM.so.20.1 0x00007ff87f4904b8 llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void, true, llvm::BasicBlock>, false, true>, llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void, true, llvm::BasicBlock>, false, true>, bool&) + 72
11 libLLVM.so.20.1 0x00007ff87f490304 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 5956
12 libLLVM.so.20.1 0x00007ff87f48e2b4 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 372
13 libLLVM.so.20.1 0x00007ff87f48c689 llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) + 169
14 libLLVM.so.20.1 0x00007ff87efb8e32 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 610
15 libLLVM.so.20.1 0x00007ff87ed104be llvm::FPPassManager::runOnFunction(llvm::Function&) + 638
16 libLLVM.so.20.1 0x00007ff87ed15ff3 llvm::FPPassManager::runOnModule(llvm::Module&) + 51
17 libLLVM.so.20.1 0x00007ff87ed10c11 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 1105
18 llc-20 0x000055972ce77dc1 main + 9649
19 libc.so.6 0x00007ff87d68ad7a __libc_start_main + 234
20 llc-20 0x000055972ce7247a _start + 42
```
## Testing
Added regression tests in:
- `CodeGen/X86/selectiondag-dbgvalue-null-crash.ll`
- `CodeGen/AArch64/selectiondag-dbgvalue-null-crash.ll`
**Note:** Tests appear to expose deeper issues in DWARF generation on
certain targets (Darwin targets for example) that require further
investigation.
## Related PRs
This supersedes:
- #173500 - Initial fix, reverted due to test failures on Darwin and
other platforms
- #173836 - Second attempt with `UNSUPPORTED: system-darwin`, still
failed on some targets
Commit: 9029744432a708b7203e707970dacf2734f3ca21
https://github.com/llvm/llvm-project/commit/9029744432a708b7203e707970dacf2734f3ca21
Author: Jonathan Wakely <jwakely at redhat.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M libcxx/test/std/re/re.alg/re.alg.search/grep.pass.cpp
Log Message:
-----------
[libcxx] Add missing header to re/re.alg/re.alg.search/grep.pass.cpp (#180024)
This test can't be compiled with GCC without this fix.
Commit: c3811805369be90f7fdac4c46e6bcc24019748dd
https://github.com/llvm/llvm-project/commit/c3811805369be90f7fdac4c46e6bcc24019748dd
Author: Ayush Kumar Gaur <132849148+Ayush3941 at users.noreply.github.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUOps.cpp
M mlir/test/Dialect/AMDGPU/invalid.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
Log Message:
-----------
[mlir][AMDGPU] Avoid verifier crash in DPPOp on vector operand types (#178887)
### whats the problem
mlir-opt could crash while verifying amdgpu.dpp when its operands had
vector
types, such as ARM SME tile vectors produced by arm_sme.get_tile.
The crash occurred during IR verification, before any lowering or passes
ran.
### why it happens
DPPOp::verify() called Type::getIntOrFloatBitWidth() on the operand
type.
When the operand was a VectorType, this hit an assertion because only
scalar
integer and float types have a bitwidth.
### whats the fix
Query the bitwidth on the element type using getElementTypeOrSelf()
instead of
the container type.
Add a regression test to ensure amdgpu.dpp verification no longer
asserts on
vector operand types.
Fixes #178128
Commit: 0fd4ad2835d924b8cab42ef86e54919a9a20c1f9
https://github.com/llvm/llvm-project/commit/0fd4ad2835d924b8cab42ef86e54919a9a20c1f9
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/atomic-scoped.c
M clang/test/CIR/CodeGen/atomic.c
M clang/test/CIR/IR/atomic.cir
Log Message:
-----------
[CIR] Scoped atomic exchange (#173781)
This patch adds support for for scoped atomic exchange operations in
CIR.
Commit: 7054a4b8f9923a41619657a748465de572af71bd
https://github.com/llvm/llvm-project/commit/7054a4b8f9923a41619657a748465de572af71bd
Author: Kshitij Paranjape <kshitijvparanjape at gmail.com>
Date: 2026-02-07 (Sat, 07 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:
-----------
[ValueTracking] Propagate sign information out of loop (#175590)
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.
Fixes llvm/llvm-project#174813
Commit: e8908215de669f3d879f6e2265fa796d93a9872b
https://github.com/llvm/llvm-project/commit/e8908215de669f3d879f6e2265fa796d93a9872b
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
A llvm/test/Transforms/LoopStrengthReduce/X86/debuginfo-scev-salvage-ptrtoaddr.ll
Log Message:
-----------
[LSR] Support SCEVPtrToAddr in SCEVDbgValueBuilder.
Allow SCEVPtrToAddr as cast in assertion in SCEVDbgValueBuilder.
SCEVPtrToAddr is handled similarly to SCEVPtrToInt.
Fixes a crash with debug info after bd40d1de9c9ee, which started to
generate ptrtoaddr instead of ptrtoint expressions.
Commit: 15832a69675a82192dccf78953a3c89849ae8d22
https://github.com/llvm/llvm-project/commit/15832a69675a82192dccf78953a3c89849ae8d22
Author: Iasonaskrpr <126663668+Iasonaskrpr at users.noreply.github.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/sqrtf128.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/sqrtf128.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/sqrtf128.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 sqrtf128 to header only (#177760)
Closes #177652
Commit: d94caea215f2173f8d84270b4f802a3b128dec3f
https://github.com/llvm/llvm-project/commit/d94caea215f2173f8d84270b4f802a3b128dec3f
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/ffmal.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/ffmal.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/ffmal.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 ffmal to Header Only. (#179069)
closes #175326
Part of #147386
Commit: f52f97b30b2615bcd61101ca03e77597350860b1
https://github.com/llvm/llvm-project/commit/f52f97b30b2615bcd61101ca03e77597350860b1
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/shl-to-add-transformation5.ll
Log Message:
-----------
[SLP][NFC]Add another shl-to-add modeling test, NFC
Commit: 2002a5926c32a168ae1a40a2231ff57a2a0d28d6
https://github.com/llvm/llvm-project/commit/2002a5926c32a168ae1a40a2231ff57a2a0d28d6
Author: Hui <hui.xie1990 at gmail.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M libcxx/test/std/thread/thread.semaphore/lost_wakeup.timed.pass.cpp
Log Message:
-----------
[libc++][test][NFC] remove unused and global variables in the test (#179038)
Fixes #178855
Commit: 1acc200d88cea309b47ab24366f12ee82f00d4d4
https://github.com/llvm/llvm-project/commit/1acc200d88cea309b47ab24366f12ee82f00d4d4
Author: Ralender <Tyker1 at outlook.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/LiveStacks.h
M llvm/lib/CodeGen/LiveStacks.cpp
M llvm/lib/CodeGen/StackSlotColoring.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMarkLastScratchLoad.cpp
M llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
Log Message:
-----------
[NFC][LiveStacks] Use vectors instead of map and unordred_map (#165477)
Commit: b0cc73d00c1c55904658ecd3bc517cfdf867c469
https://github.com/llvm/llvm-project/commit/b0cc73d00c1c55904658ecd3bc517cfdf867c469
Author: Moritz Zielke <moritz.zielke at gmail.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-rotl-rotr.mir
Log Message:
-----------
[GlobalISel] add G_ROTL, G_ROTR to computeKnownBits (#166365)
Adresses one of the subtasks of #150515.
The code is ported from `SelectionDAG::computeKnownBits` and tests are
loosely based on `AArch64/GlobalISel/knownbits-shl.mir`.
Commit: 2a74e02a9088bdc98e267df9529c740e4b1a88cd
https://github.com/llvm/llvm-project/commit/2a74e02a9088bdc98e267df9529c740e4b1a88cd
Author: Qinkun Bao <qinkun at google.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
R llvm/test/CodeGen/X86/selectiondag-dbgvalue-null-crash.ll
Log Message:
-----------
Revert "[SelectionDAG] Fix null pointer dereference in resolveDanglingDebugInfo" (#180352)
Reverts llvm/llvm-project#174341
Break https://lab.llvm.org/buildbot/#/builders/24/builds/17324
Commit: 43905d6c8a509b1480d622509f7961477a74d5a4
https://github.com/llvm/llvm-project/commit/43905d6c8a509b1480d622509f7961477a74d5a4
Author: Qinkun Bao <qinkun at google.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
R llvm/test/Transforms/AggressiveInstCombine/X86/pr175590.ll
Log Message:
-----------
Revert "[ValueTracking] Propagate sign information out of loop" (#180354)
Reverts llvm/llvm-project#175590
Break https://lab.llvm.org/buildbot/#/builders/55/builds/23820 and clang
Commit: f1d8d038370637f9b72f296a501d5bf2936440cc
https://github.com/llvm/llvm-project/commit/f1d8d038370637f9b72f296a501d5bf2936440cc
Author: Vigneshwar Jayakumar <vigneshwar.jayakumar at amd.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
A clang/test/SemaHIP/hip-builtin-lvalue-to-rvalue.hip
Log Message:
-----------
[HIP][Sema] Fix incorrect CK_NoOp for lvalue-to-rvalue conversion in … (#180314)
…builtin args
The HIP implicit address space cast for builtin pointer arguments used
CK_NoOp to convert lvalue args to rvalues.
This caused an assertion failure in LifetimeSafety analysis:
Assertion `Dst->getLength() == Src->getLength()` failed
in FactsGenerator::flow() in some cases.
Use DefaultLvalueConversion which correctly emits CK_LValueToRValue.
Commit: 8bced611727da116641b329250a33c1871f8474c
https://github.com/llvm/llvm-project/commit/8bced611727da116641b329250a33c1871f8474c
Author: Ralender <Tyker1 at outlook.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M llvm/include/llvm/DebugInfo/PDB/Native/FormatUtil.h
M llvm/include/llvm/DebugInfo/PDB/Native/InputFile.h
M llvm/include/llvm/Support/MathExtras.h
M llvm/lib/DebugInfo/Symbolize/DIPrinter.cpp
M llvm/lib/Support/MathExtras.cpp
M llvm/tools/llvm-pdbutil/BytesOutputStyle.cpp
M llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
M llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
M llvm/tools/llvm-remarkutil/RemarkInstructionMix.cpp
M llvm/unittests/Support/MathExtrasTest.cpp
M llvm/utils/FileCheck/FileCheck.cpp
Log Message:
-----------
[NFC][ADT] add NumDigitsBase10 to MathExtra and update some current users (#165479)
Commit: 8b5e95b1fd2fa49a7c1607e294659f2c0ec12d69
https://github.com/llvm/llvm-project/commit/8b5e95b1fd2fa49a7c1607e294659f2c0ec12d69
Author: Hongyu Chen <xxs_chy at outlook.com>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
A llvm/test/Transforms/InferAddressSpaces/NVPTX/nullptr.ll
Log Message:
-----------
[InferAddressSpaces] Initialize op(generic const, generic const, ...) -> generic (#172143)
Fixes #171890
If the pointer operands of an instruction are all constants with generic
AS, we always infer the AS of the instruction as uninitialized finally.
And the rewrite process will skip cloning the instruction, producing
invalid IR.
This patch fixes it by inferring the AS of this kind of instruction as
flat. Maybe we can fold the operator with all constants to get better
performance, but I think this case is rare in the real world.
Commit: f72da501354e97f293db4e48cead8e715ec155e9
https://github.com/llvm/llvm-project/commit/f72da501354e97f293db4e48cead8e715ec155e9
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M llvm/test/tools/obj2yaml/ELF/bb-addr-map-pgo-analysis-map.yaml
M llvm/tools/obj2yaml/elf2yaml.cpp
Log Message:
-----------
[obj2yaml] Support SHT_LLVM_BB_ADDR_MAP version 5
e9368a056dff94815b3c43a0da78e7c1e5b3d4f4 missed updating the obj2yaml
version check. This was causing obj2yaml to error on object files
generated by the most recent clang.
Reviewers: rlavaee, jh7370
Pull Request: https://github.com/llvm/llvm-project/pull/180303
Commit: be4dbf5d6459235ddad578efe74163aa88e4be91
https://github.com/llvm/llvm-project/commit/be4dbf5d6459235ddad578efe74163aa88e4be91
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M lld/ELF/OutputSections.cpp
Log Message:
-----------
[lld][ELF] Remove redundant size check in nopInstrFill
We checked twice of size is equal to zero. This is not necessary and
makes the code a little bit less readable.
Reviewers: MaskRay, tmsri
Pull Request: https://github.com/llvm/llvm-project/pull/180304
Commit: 9dd5542a347749cfecd514ca209becc70208ef4a
https://github.com/llvm/llvm-project/commit/9dd5542a347749cfecd514ca209becc70208ef4a
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M clang/include/clang/AST/HLSLResource.h
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Log Message:
-----------
[clang][NFC] Replace includes of "Attrs.inc" with "Attr.h" (#180356)
"clang/AST/Attrs.inc" is not a self-contained header and is not intended
to be included directly. Instead, "clang/AST/Attr.h" is the header that
users need.
Commit: a94759999112bc2591029f3ba4d1dfe32f1ad7e6
https://github.com/llvm/llvm-project/commit/a94759999112bc2591029f3ba4d1dfe32f1ad7e6
Author: Alex Wang <yesterda9 at gmail.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/test/CodeGen/AMDGPU/llvm.modf.ll
Log Message:
-----------
[AMDGPU][GlobalISel] Add lowering for G_FMODF (#180152)
Add generic expansion for G_FMODF matching the SelectionDAG
implementation.
Enable G_FMODF lowering for AMDGPU with tests.
Related: #179434
Commit: 39622a7739b85aa8cd1d5169028b6c8fd1e0bcaa
https://github.com/llvm/llvm-project/commit/39622a7739b85aa8cd1d5169028b6c8fd1e0bcaa
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck] Add PreISelIntrinsicLoweringTest to XFail
Introduced in 191af6c254a83c9eb72df92a5db534d8fd4f0701. Should not be a
complicated fix, but move to the xfail list for now so the bot gets back
to green while we work on fixing.
Commit: ec059d81aafedb253a02d6f490ad9b9747611038
https://github.com/llvm/llvm-project/commit/ec059d81aafedb253a02d6f490ad9b9747611038
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/test/Transforms/DeadStoreElimination/simple.ll
Log Message:
-----------
[DSE] Handle variable offsets with sized dead_on_return (#180364)
With a sized dead_on_return, we need to not eliminate stores if there
are to a pointer with a variable offset from the underlying object
marked dead_on_return. This manifested as an assertion failure as
BaseValue/V ended up not being equal. It's possible we could do a range
analysis to try and prove the variable offset stays within bounds, but
this case seems to come up relatively rarely (only reproducible with a
UBSan build of LLVM) and is probably not worth the compile time.
Fixes #180361.
Commit: 42e404512bdde804e6440004e41d990aaff02640
https://github.com/llvm/llvm-project/commit/42e404512bdde804e6440004e41d990aaff02640
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
Log Message:
-----------
[clang-format][doc] Add GNU style link in KeepFormFeed option (#176654)
It was not clear from the description what this option does.
Added small example to demostrate its behavior.
Commit: 0c4f8094939d2a2b50b6cd062cd1473a0315457f
https://github.com/llvm/llvm-project/commit/0c4f8094939d2a2b50b6cd062cd1473a0315457f
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Compute predicated load/store costs in VPlan. (NFC) (#179129)
Update VPReplicateReicpe::computeCost to compute predicated load/store
costs directly, unless the pointer is uniform. In that case, the legacy
cost model uses a different logic, which will be migrated separately.
PR: https://github.com/llvm/llvm-project/pull/179129
Commit: f73a0b9973fcdd6c136fce2d674c041147c126fc
https://github.com/llvm/llvm-project/commit/f73a0b9973fcdd6c136fce2d674c041147c126fc
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/lib/Driver/Driver.cpp
Log Message:
-----------
[clang] Remove unused parameter from Driver::DiagnoseInputExistence (NFC) (#177876)
Commit: 88dff28c9f67e4a73ee8dea85a6c69f2171f1759
https://github.com/llvm/llvm-project/commit/88dff28c9f67e4a73ee8dea85a6c69f2171f1759
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU][SIInsertWaitcnts][NFC] Make a few WaitcntBracket member functions private (#180018)
The user of the WaitcntBrackets class shouldn't need to know about how
the scoreboard has been implemented internally. So I think it is best to
provide a higher level API that hides things like scoreUB, scoreLB and
score ranges.
This patch makes getScoreUB(), getScoreLB() and getScoreRange() private
and introduces new functions that don't expose the internal
implementation:
- getOutstanding(T)
- hasPendingVMEM(VMEMID, T)
- empty(T)
I also noticed that getSGPRScore() and getVMemScore() are not used
externally so these are now private.
Commit: ac57c4a7285a0f4d9707ec9c3be8c5b0ee1423ec
https://github.com/llvm/llvm-project/commit/ac57c4a7285a0f4d9707ec9c3be8c5b0ee1423ec
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M polly/lib/CodeGen/IslNodeBuilder.cpp
M polly/lib/External/isl/GIT_HEAD_ID
M polly/lib/External/isl/isl_ast_codegen.c
A polly/lib/External/isl/test_inputs/codegen/polly2.c
A polly/lib/External/isl/test_inputs/codegen/polly2.st
R polly/test/CodeGen/empty_domain_in_context.ll
Log Message:
-----------
[Polly] Update isl to isl-0.27-78-gfc484e00 (#180377)
Update isl to include
https://repo.or.cz/isl.git/commit/fc484e004200964f8f18249de1f510393ec924a9
which fixes #180000.
The isl update also fixes #34710 which had the same cause but with an
empty access domain (#180000 has an empty statement domain). Thus we
also revert 163cacb46960be4dd0d8562737bbf0ea97cb14ad which now only adds
unnecessary overhead.
A regression test has been added to isl which is why we do not add a
test in Polly.
Fixes: #180000
Thanks @skimo-openhub for the fix and @thapgua for the bugreport.
Commit: 5dbeb29bf93ceda35a0c1f093b4f87ba35640e93
https://github.com/llvm/llvm-project/commit/5dbeb29bf93ceda35a0c1f093b4f87ba35640e93
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_location.py
M clang/bindings/python/tests/cindex/test_source_range.py
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[libclang/python] Type-annotate SourceLocation and SourceRange (#180193)
This adds type annotations to the `SourceLocation` and `SourceRange`
classes, enough to pass a strict typecheck. This resolves 29 strict
typing errors as the next step towards
https://github.com/llvm/llvm-project/issues/76664
Commit: 743538ccaba80592c519b58b217809006132d25e
https://github.com/llvm/llvm-project/commit/743538ccaba80592c519b58b217809006132d25e
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/suspicious-call-argument-option.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/suspicious-call-argument.cpp
Log Message:
-----------
[clang-tidy] Fix crash in readability-suspicious-call-argument on invalid option (#180351)
Closes #180346
Commit: 62e93feba3db45d32ad5ae8f388da48f11264e2a
https://github.com/llvm/llvm-project/commit/62e93feba3db45d32ad5ae8f388da48f11264e2a
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M llvm/include/llvm/MC/MCDwarf.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
Log Message:
-----------
MC: Move generateCompactUnwindEncodings to MCObjectStreamer. NFC (#180381)
... removing the need to pass MCAsmBackend as a parameter.
This allows MCStreamer.cpp to not include MCAsmBackend.h.
Commit: 3aac5e0b42bfb7f8856a2c5c11547a66d9279e8b
https://github.com/llvm/llvm-project/commit/3aac5e0b42bfb7f8856a2c5c11547a66d9279e8b
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFStreamer.cpp
Log Message:
-----------
[PowerPC] Use MCAssembler::getEmitter instead of getEmitterPtr. NFC
PPCELFStreamer and PPCXCOFFStreamer are MCObjectStreamer subclasses
where the emitter is guaranteed non-null. Use getEmitter() instead of
getEmitterPtr(). getEmitterPtr is reserved for MCAsmStreamer users.
Commit: 10a0f40083e83037eaf80aa467f95cfd605ee9a0
https://github.com/llvm/llvm-project/commit/10a0f40083e83037eaf80aa467f95cfd605ee9a0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/shl-to-add-transformation5.ll
Log Message:
-----------
[SLP][NFC]Add another shl-to-add modeling case
Commit: 74aa875346e88d8e1d3bf02ffdf0a1b369175670
https://github.com/llvm/llvm-project/commit/74aa875346e88d8e1d3bf02ffdf0a1b369175670
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCSymbol.h
Log Message:
-----------
MC: Remove unused overload and delete stale comment. NFC
Commit: 1e5493b1b84473e42bc9992f6684e51eeb335f14
https://github.com/llvm/llvm-project/commit/1e5493b1b84473e42bc9992f6684e51eeb335f14
Author: Maksim Panchenko <maks at fb.com>
Date: 2026-02-07 (Sat, 07 Feb 2026)
Changed paths:
M bolt/lib/Passes/IdenticalCodeFolding.cpp
A bolt/test/icf-hot-text-mover.c
Log Message:
-----------
[BOLT] Don't fold hot text mover functions in ICF (#180367)
Hot text mover functions are placed in special sections (e.g.,
.never_hugify) to avoid being placed on hot/huge pages. Folding them
with functions from other sections could defeat this purpose.
Add a check in ICF's isIdenticalWith() to prevent folding when either
function is a hot text mover.
Commit: 4ec1fea92245a4ec5dc546856f648db6d55cc345
https://github.com/llvm/llvm-project/commit/4ec1fea92245a4ec5dc546856f648db6d55cc345
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Options/Options.td
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/paren-list-agg-init.cpp
M clang/test/CodeGenCXX/amdgcn-automatic-variable.cpp
M clang/test/CodeGenCXX/amdgcn-func-arg.cpp
M clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
M clang/test/CodeGenCXX/cxx2a-destroying-delete.cpp
A clang/test/CodeGenCXX/destructor-dead-on-return.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors2.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
M clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
M clang/test/DebugInfo/CXX/bpf-structors.cpp
M clang/test/DebugInfo/CXX/trivial_abi.cpp
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
M clang/test/OpenMP/for_firstprivate_codegen.cpp
M clang/test/OpenMP/for_lastprivate_codegen.cpp
M clang/test/OpenMP/for_linear_codegen.cpp
M clang/test/OpenMP/for_private_codegen.cpp
M clang/test/OpenMP/for_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
M clang/test/OpenMP/parallel_copyin_codegen.cpp
M clang/test/OpenMP/parallel_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_for_linear_codegen.cpp
M clang/test/OpenMP/parallel_master_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_private_codegen.cpp
M clang/test/OpenMP/parallel_reduction_codegen.cpp
M clang/test/OpenMP/scope_codegen.cpp
M clang/test/OpenMP/sections_firstprivate_codegen.cpp
M clang/test/OpenMP/sections_lastprivate_codegen.cpp
M clang/test/OpenMP/sections_private_codegen.cpp
M clang/test/OpenMP/sections_reduction_codegen.cpp
M clang/test/OpenMP/simd_private_taskloop_codegen.cpp
M clang/test/OpenMP/single_codegen.cpp
M clang/test/OpenMP/single_firstprivate_codegen.cpp
M clang/test/OpenMP/single_private_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen.cpp
M clang/test/OpenMP/target_in_reduction_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/task_codegen.cpp
M clang/test/OpenMP/task_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_private_codegen.cpp
M clang/test/OpenMP/threadprivate_codegen.cpp
M clang/test/utils/update_cc_test_checks/Inputs/basic-cplusplus.cpp.expected
M clang/test/utils/update_cc_test_checks/Inputs/explicit-template-instantiation.cpp.expected
Log Message:
-----------
Reapply "[Clang] Mark this pointer in destructors dead_on_return (#166276)"
This reverts commit 047db150c66e245e9df7db178b893ce6b29820f5.
The original version of the commit caused assertion failures in DSE.
Those were fixed in ec059d81aafedb253a02d6f490ad9b9747611038, so trying
to reland this again.
Commit: 706cc8b3fec5b0c338f197df0ecf28db67c118dd
https://github.com/llvm/llvm-project/commit/706cc8b3fec5b0c338f197df0ecf28db67c118dd
Author: Connector Switch <c8ef at outlook.com>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M libcxx/test/std/atomics/atomics.ref/address.pass.cpp
M libcxx/test/std/atomics/atomics.ref/assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/bitwise_and_assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/bitwise_or_assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/bitwise_xor_assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/compare_exchange_strong.pass.cpp
M libcxx/test/std/atomics/atomics.ref/compare_exchange_weak.pass.cpp
M libcxx/test/std/atomics/atomics.ref/convert.pass.cpp
M libcxx/test/std/atomics/atomics.ref/exchange.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_add.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_and.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_or.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_sub.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_xor.pass.cpp
M libcxx/test/std/atomics/atomics.ref/increment_decrement.pass.cpp
M libcxx/test/std/atomics/atomics.ref/load.pass.cpp
M libcxx/test/std/atomics/atomics.ref/notify_all.pass.cpp
M libcxx/test/std/atomics/atomics.ref/notify_one.pass.cpp
M libcxx/test/std/atomics/atomics.ref/operator_minus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.ref/operator_plus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.ref/required_alignment.pass.cpp
M libcxx/test/std/atomics/atomics.ref/requires-trivially-copyable.verify.cpp
M libcxx/test/std/atomics/atomics.ref/store.pass.cpp
M libcxx/test/std/atomics/atomics.ref/wait.pass.cpp
Log Message:
-----------
[libc++][NFC] Fix license header in test for `atomic_ref` (#180395)
Commit: aff5afc48df63615053b2432da198a4932435c3f
https://github.com/llvm/llvm-project/commit/aff5afc48df63615053b2432da198a4932435c3f
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/string-constructor.cpp
Log Message:
-----------
[clang-tidy] Fix bugprone-string-constructor FN with allocators. (#180337)
Fixes https://github.com/llvm/llvm-project/issues/180324.
Commit: 0d94148b63074180c459b80787410eacc1e5eebf
https://github.com/llvm/llvm-project/commit/0d94148b63074180c459b80787410eacc1e5eebf
Author: Folkert de Vries <folkert at folkertdev.nl>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/masked_store_trunc_ssat.ll
M llvm/test/CodeGen/X86/masked_store_trunc_usat.ll
Log Message:
-----------
[X86] optimize 512-bit masked truncated saturating stores (#179130)
an oversight in https://github.com/llvm/llvm-project/pull/169827, for
the 512-bit version the `vl` target feature is not needed.
https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_mm512_mask_cvtsepi16_storeu_epi8&expand=1811&ig_expand=2150,2151
Commit: b2f8a0f60134120586865bfb059b52929e6e8a04
https://github.com/llvm/llvm-project/commit/b2f8a0f60134120586865bfb059b52929e6e8a04
Author: Noam Cohen <noam at noam.me>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/JSONNodeDumper.h
M clang/lib/AST/JSONNodeDumper.cpp
A clang/test/AST/HLSL/ast-dump-availability-attr.hlsl
M clang/test/AST/ast-dump-attr-json.cpp
Log Message:
-----------
[clang] ast-dump: dump `AvailabilityAttr` fields to JSON (#179281)
This adds `AvailabilityAttr` fields for the JSON dumper
Commit: 3192fe2c7b08912cc72c86471a593165b615dc28
https://github.com/llvm/llvm-project/commit/3192fe2c7b08912cc72c86471a593165b615dc28
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/X86/predicated-instruction-cost.ll
Log Message:
-----------
[VPlan] Fall back to legacy cost model if PtrSCEV is nullptr.
There are some cases when PtrSCEV can be nullptr. Fall back to legacy
cost model, to not call isLoopInvariant with nullptr.
Fixes a crash after 0c4f8094939d2.
Commit: 3c5b05427db63658f0c09fd8fa631f60b07a970a
https://github.com/llvm/llvm-project/commit/3c5b05427db63658f0c09fd8fa631f60b07a970a
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/SystemZ/load-store-scalarization-cost.ll
Log Message:
-----------
[VPlan] Pass underlying instr to getMemoryOpCost in ::computeCost.
Pass underlying instruction to getMemoryOpCost in
VPReplicateRecipe::computeCost if UsedByLoadStoreAddress is true.
Some targets use the underlying instruction to improve costs,
and this is needed to match the legacy cost model.
Fixes https://github.com/llvm/llvm-project/issues/177780.
Fixes https://github.com/llvm/llvm-project/issues/177772.
Commit: 1b0f139f8e5e093a5940f4f627ee19a9a1dde73d
https://github.com/llvm/llvm-project/commit/1b0f139f8e5e093a5940f4f627ee19a9a1dde73d
Author: Qinkun Bao <qinkun at google.com>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/LiveStacks.h
M llvm/lib/CodeGen/LiveStacks.cpp
M llvm/lib/CodeGen/StackSlotColoring.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMarkLastScratchLoad.cpp
M llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
Log Message:
-----------
Revert "[NFC][LiveStacks] Use vectors instead of map and unordred_map" (#180421)
Reverts llvm/llvm-project#165477
Break https://lab.llvm.org/buildbot/#/builders/52/builds/14874
Commit: ed9c18693bcf090be51e189b1374416016f73c9b
https://github.com/llvm/llvm-project/commit/ed9c18693bcf090be51e189b1374416016f73c9b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M llvm/test/CodeGen/Mips/musttail.ll
Log Message:
-----------
[MIPS] musttail.ll - regenerate test checks (#180423)
Commit: 33291dd944e61f57c0e3b697131cd09d1ac5974c
https://github.com/llvm/llvm-project/commit/33291dd944e61f57c0e3b697131cd09d1ac5974c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/ProfDataUtils.h
M llvm/lib/IR/ProfDataUtils.cpp
Log Message:
-----------
[ProfCheck] Add utility to get a MDNode for unknown branch weights
There are some cases where it is non-trivial to get access to a
branch/select instruction and the helper function that creates the
branch/select of interest takes in a MDNode for branch weights. Add a
helper to create a MDNode for unknown branch weights if the function is
profiled to handle this case.
Reviewers: mtrofin, snehasish, alanzhao1
Pull Request: https://github.com/llvm/llvm-project/pull/180389
Commit: 4d5d2ffd3e6bae7c7c10bc8315c8990782d87f45
https://github.com/llvm/llvm-project/commit/4d5d2ffd3e6bae7c7c10bc8315c8990782d87f45
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
M llvm/test/Transforms/PreISelIntrinsicLowering/cond-loop.ll
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck] Add prof data for lowering of @llvm.cond.loop
When there is no target-specific lowering of @llvm.cond.loop, it is
lowered into a simple loop by PreISelIntrinsicLowering. Mark the branch
weights into the no-return loop as unknown given we do not have value
metadata to fix the profcheck test for this feature.
Reviewers: mtrofin, alanzhao1, snehasish, pcc
Pull Request: https://github.com/llvm/llvm-project/pull/180390
Commit: 7509cad693b6cfbf28944419703ef17c7e5b3e47
https://github.com/llvm/llvm-project/commit/7509cad693b6cfbf28944419703ef17c7e5b3e47
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
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/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
Log Message:
-----------
[VPlan] Support masked VPInsts, use for predication (NFC) (#142285)
Add support for mask operands to most VPInstructions, using
getNumOperandsForOpcode.
This allows VPlan predication to predicate VPInstructions directly. The
mask will then be dropped or handled when creating wide recipes.
Depends on https://github.com/llvm/llvm-project/pull/142284.
Depends on https://github.com/llvm/llvm-project/pull/168784.
PR: https://github.com/llvm/llvm-project/pull/142285
Commit: 6324ee32c1b320bbac6638bdbc49a7844ac20d1f
https://github.com/llvm/llvm-project/commit/6324ee32c1b320bbac6638bdbc49a7844ac20d1f
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/lcssa-crashes.ll
Log Message:
-----------
[VPlan] Use PredBB's terminator as insert point for VPIRPhi extracts.
Use PredBB's terminator as insert point in VPIRPhi::execute to make sure
the extracts are placed after any possibly sunk instructions.
Fixes https://github.com/llvm/llvm-project/issues/180363.
Commit: a563e6bb7ed485e0ab88717bb4a8c5e8522d9792
https://github.com/llvm/llvm-project/commit/a563e6bb7ed485e0ab88717bb4a8c5e8522d9792
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rv32p.ll
Log Message:
-----------
[RISCV] Add support for forming WMULSU during type legalization. (#180331)
Add a DAG combine to turn it into MULHSU if the lower half result
is unused.
Commit: c25018bb4db85dfc49b5d347ed4fdc9db4de121a
https://github.com/llvm/llvm-project/commit/c25018bb4db85dfc49b5d347ed4fdc9db4de121a
Author: Nicolas IOOSS <64031241+niooss-ledger at users.noreply.github.com>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[Docs][Intrisics] Fix the name of llvm.memset.inline in the documentation (#180373)
LLVM intrinsic `llvm.memset.inline` indicates in its name the types of
the destination pointer and the size. There is no second pointer.
Moreover, the tests are already verifying that generated code uses
`@llvm.memset.inline.p0.i32` and `@llvm.memset.inline.p0.i64`. So make
the documentation reference these names as well.
Fixes: https://github.com/llvm/llvm-project/issues/163454
Commit: 5c826f5172531e779c9083bc4b8a7762188dd37e
https://github.com/llvm/llvm-project/commit/5c826f5172531e779c9083bc4b8a7762188dd37e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Emit MULHU/MULHS/UMUL_LOHI/SMUL_LOHI from our custom XLen*2 expansion. (#180379)
We already do all the checks necessary in order to prioritize
MULHU/MULHS/UMUL_LOHI/SMUL_LOHI over MULHSU/WMULSU. We might as
well just emit the nodes instead of letting generic type legalization
redo the checks.
This is slightly different than the default legalization because we
don't have access to ExpandInteger so we have to emit TRUNCATES and
BUILD_PAIR. Not sure if this will result in any differences in practice.
Commit: 769b734c020472f1f3108c912f87755174246e26
https://github.com/llvm/llvm-project/commit/769b734c020472f1f3108c912f87755174246e26
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rv32p.ll
Log Message:
-----------
[RISCV] Combine ADDD with UMUL_LOHI/SMUL_LOHI into WMACCU/WMACC (#180383)
Combine the pattern:
ADDD(addlo, addhi, UMUL_LOHI(x, y).0, UMUL_LOHI(x, y).1)
into:
WMACCU(x, y, addlo, addhi)
And similarly for SMUL_LOHI -> WMACC.
This patch was written with AI, but I reviewed it carefully.
Commit: 5c5677d7b80e086c2fb2620511a213a5128b5e00
https://github.com/llvm/llvm-project/commit/5c5677d7b80e086c2fb2620511a213a5128b5e00
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/test/CodeGen/fp-function-attrs.cpp
M clang/test/CodeGenOpenCL/relaxed-fpmath.cl
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
M flang/test/Driver/func-attr-fast-math.f90
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/IR/Attributes.td
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
M llvm/test/Transforms/IROutliner/outlining-compatible-and-attribute-transfer.ll
M llvm/test/Transforms/Inline/attributes.ll
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Target/LLVMIR/Import/function-attributes.ll
M mlir/test/Target/LLVMIR/fp-math-function-attributes.mlir
Log Message:
-----------
[llvm] Remove "no-infs-fp-math" attribute support (#180083)
One of global options in `TargetMachine::resetTargetOptions`, now all
backends no longer support it, remove it.
Commit: 9892b2a7b5ad372fc9bf88a01e58a5b2c59d9a26
https://github.com/llvm/llvm-project/commit/9892b2a7b5ad372fc9bf88a01e58a5b2c59d9a26
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.h
M llvm/lib/DWARFLinker/Parallel/DebugLineSectionEmitter.h
Log Message:
-----------
[DWARFLinker] Make MCTargetOptions a class member. NFC
The local `MCTargetOptions` in `init` will become a problem once
MCAsmInfo stores a pointer to it. Move it to a class member in
DwarfStreamer, DwarfEmitterImpl, and DebugLineSectionEmitter so that it
outlives MCAsmInfo.
Commit: 9a60b2fa0c414c4230801e792be28a92439dae8f
https://github.com/llvm/llvm-project/commit/9a60b2fa0c414c4230801e792be28a92439dae8f
Author: Nhat Nguyen <nhat7203 at gmail.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/test/std/ranges/range.adaptors/range.common.view/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.common.view/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.common.view/types.h
Log Message:
-----------
[libc++] LWG4012: common_view::begin/end are missing the simple-view check (#153674)
close #105320
Commit: c53acf04433a3dea14fc3d45698919b85f9a3fca
https://github.com/llvm/llvm-project/commit/c53acf04433a3dea14fc3d45698919b85f9a3fca
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-constrained-fcmp-no-nans-opt.ll
A llvm/test/CodeGen/AArch64/build-vector-dup-simd-nnan.ll
M llvm/test/CodeGen/AArch64/build-vector-dup-simd.ll
M llvm/test/CodeGen/AMDGPU/combine_andor_with_cmps.ll
A llvm/test/CodeGen/AMDGPU/combine_andor_with_cmps_nnan.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-select.ll
M llvm/test/CodeGen/AMDGPU/fmax_legacy.ll
M llvm/test/CodeGen/AMDGPU/fmin_legacy.ll
M llvm/test/CodeGen/AMDGPU/fold-fabs.ll
M llvm/test/CodeGen/AMDGPU/transform-block-with-return-to-epilog.ll
M llvm/test/CodeGen/ARM/fp16-vminmaxnm-safe.ll
M llvm/test/CodeGen/PowerPC/fsel.ll
M llvm/test/CodeGen/PowerPC/scalar_cmp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp.ll
M llvm/test/CodeGen/X86/2006-05-22-FPSetEQ.ll
M llvm/test/CodeGen/X86/avx-minmax.ll
M llvm/test/CodeGen/X86/avx10_2-cmp.ll
A llvm/test/CodeGen/X86/sse-minmax-finite.ll
A llvm/test/CodeGen/X86/sse-minmax-unsafe.ll
M llvm/test/CodeGen/X86/sse-minmax.ll
Log Message:
-----------
[SelectionDAGBuilder] Remove NoNaNsFPMath uses (#169904)
Replaced by checking fast-math flags or value tracking results.
Commit: 84b5e9f8dbaf31871a1818cf8e8a93c307da12d7
https://github.com/llvm/llvm-project/commit/84b5e9f8dbaf31871a1818cf8e8a93c307da12d7
Author: Jim Lin <jim at andestech.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/test/CodeGen/RISCV/zcmp-cm-popretz.mir
Log Message:
-----------
[RISCV] Add used callee-saved registers as implicit/implicit-def registers to save/restore call (#180133)
We should add used callee-saved registers as implicit used to save
libcall and as implicit defined to restore libcall. It likes what we did
for CM_PUSH/CM_POPRET. That can help to construct correct dataflow. In
entry bb, save libcall implicitly uses the callee-saved registers which
live in. And in return bb, restore libcall implicitly defines the
callee-saved registers which live out.
Commit: 80f627e6d5f1adedd5747b265f79e2304a200367
https://github.com/llvm/llvm-project/commit/80f627e6d5f1adedd5747b265f79e2304a200367
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M llvm/include/llvm/MC/TargetRegistry.h
Log Message:
-----------
TargetRegistry: Remove deprecated create*Info that take StringRef parameter (#180448)
Commit: 0f264368e84e0c954834e3cba538c0ef09b906f7
https://github.com/llvm/llvm-project/commit/0f264368e84e0c954834e3cba538c0ef09b906f7
Author: wjdrud2532 <33623075+wjdrud2532 at users.noreply.github.com>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M mlir/test/lib/Dialect/SPIRV/TestEntryPointAbi.cpp
Log Message:
-----------
[MLIR][SPIRV][NFC] Fix header comment in TestEntryPointAbi.cpp (#177350)
Commit: e4674b85e94a2f158b30417313bfbfb643b3eab2
https://github.com/llvm/llvm-project/commit/e4674b85e94a2f158b30417313bfbfb643b3eab2
Author: Shanzhi Chen <chenshanzhi at huawei.com>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT][NFC] Stop populating unnecessary samples into MemSamples (#179472)
Currently, many unnecessary samples are populated into MemSamples,
including zero-initialized samples and samples in which the PC address
is not contained in any BinaryFunction. But these samples are totally
skipped during processing and the whole MemSamples vector is cleared
immediately after processing. So, we could just stop populating these
samples into MemSamples, which would reduce maximum resident set size
when processing a large perf.data.
Commit: bd4784a913cd53f42ff8c2a3ddfff2e106c5070a
https://github.com/llvm/llvm-project/commit/bd4784a913cd53f42ff8c2a3ddfff2e106c5070a
Author: Mark Zhuang <mark.zhuang at spacemit.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
A llvm/lib/Target/RISCV/RISCVSchedSpacemitX100.td
A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/atomic.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/floating-point.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/integer.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/mul-div.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/zba.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/zbb.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/zbc.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/zbs.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/zfh.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/zfhmin.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX100/zicond.test
Log Message:
-----------
[RISCV] Add SpacemiT X100 base scheduling model (#178189)
SpacemiT X100 is a 4-issue, out-of-order, RVA23 processor. This patch
introduces the base scheduling model for scalar instructions. The
scheduling model for RVV will be added in a future update.
Commit: 355b676f2fe419b02d1324dcc04e827d265a1d3e
https://github.com/llvm/llvm-project/commit/355b676f2fe419b02d1324dcc04e827d265a1d3e
Author: Twice <twice at apache.org>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M mlir/.clang-tidy
Log Message:
-----------
[MLIR][NFC] Ignore clang-tidy `modernize-use-using` check in C code (#180326)
In the MLIR C API headers, clang-tidy’s `modernize-use-using` check
reports a large number of type definitions that use `typedef`. In my
IDE, this even causes the `typedef` code to be shown as struck through.
However, in this case it is clearly not possible to replace them with
`using`. This PR suppresses the `modernize-use-using` check for the code
inside `extern "C"` blocks.
Commit: 8e02d249ba5db620ca0d0962f1b49f4b210fcee7
https://github.com/llvm/llvm-project/commit/8e02d249ba5db620ca0d0962f1b49f4b210fcee7
Author: Devanshi <devanshitiwari250 at gmail.com>
Date: 2026-02-08 (Sun, 08 Feb 2026)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
Log Message:
-----------
[Bolt] Replace -1ULL/-2ULL/-3ULL with std::numeric_limits in DataAggregator (#178597)
Replace instances of -1ULL, -2ULL, and -3ULL with std::numeric_limits in
Bolt DataAggregator Trace constants to address C4146 compiler warning.
Changes:
- BR_ONLY: -1ULL → std::numeric_limits<uint64_t>::max()
- FT_ONLY: -1ULL → std::numeric_limits<uint64_t>::max()
- FT_EXTERNAL_ORIGIN: -2ULL → std::numeric_limits<uint64_t>::max() - 1
- FT_EXTERNAL_RETURN: -3ULL → std::numeric_limits<uint64_t>::max() - 2
Fixes part of #147439
Commit: fad32ff3eaf09c140bf441600f7907e8e20af2a2
https://github.com/llvm/llvm-project/commit/fad32ff3eaf09c140bf441600f7907e8e20af2a2
Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-adc.ll
Log Message:
-----------
[X86] Optimized ADC + ADD to ADC (#176713)
Commit: 151fadecd15b8c0b2f233b0df4292776a093ee19
https://github.com/llvm/llvm-project/commit/151fadecd15b8c0b2f233b0df4292776a093ee19
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/lib/Target/RISCV/RISCVInstrInfoZvabd.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/MC/RISCV/rvv/zvabd-invalid.s
A llvm/test/MC/RISCV/rvv/zvabd.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV][MC] Support experimental Zvabd instructions
The `Zvabd` is for `RISC-V Integer Vector Absolute Difference` and
it provides 5 instructions:
* `vabs.v`: Vector Signed Integer Absolute.
* `vabd.vv`: Vector Signed Integer Absolute Difference.
* `vabdu.vv`: Vector Unsigned Integer Absolute Difference.
* `vwabda.vv`: Vector Signed Integer Absolute Difference And Accumulate.
* `vwabdau.vv`: Vector Unsigned Integer Absolute Difference And Accumulate.
Doc: https://github.com/riscv/integer-vector-absolute-difference
Reviewers: topperc, lukel97, preames, tclin914, asb, kito-cheng, mshockwave
Pull Request: https://github.com/llvm/llvm-project/pull/180139
Commit: e992593341688862f658348f82e83a0f89a84b2f
https://github.com/llvm/llvm-project/commit/e992593341688862f658348f82e83a0f89a84b2f
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvabd.td
M llvm/test/CodeGen/RISCV/rvv/abd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
Log Message:
-----------
[RISCV][CodeGen] Lower `abds`/`abdu` to `Zvabd` instructions
We directly lower `ISD::ABDS`/`ISD::ABDU` to `Zvabd` instructions.
Note that we only support SEW=8/16 for `vabd.vv`/`vabdu.vv`.
Reviewers: mshockwave, lukel97, topperc, preames, tclin914, 4vtomat
Reviewed By: lukel97, topperc
Pull Request: https://github.com/llvm/llvm-project/pull/180141
Commit: aa808967eb96995f58288bb3bc0f37516ca70cbe
https://github.com/llvm/llvm-project/commit/aa808967eb96995f58288bb3bc0f37516ca70cbe
Author: Steffen Larsen <sholstla at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaType.cpp
A clang/test/SemaHIP/shared-variable-too-large.hip
A clang/test/SemaOpenCL/amdgpu-variables-too-large-for-address-space.cl
Log Message:
-----------
[Clang][HIP][CUDA] Validate that variable type fits in address spaces (#178909)
Currently, Clang only checks arrays and structures for size at a
top-level view, that is it does not consider whether they will fit in
the address space when applying the address space attribute. This can
lead to situations where a variable is declared in an address space but
its type is too large to fit in that address space, leading to
potentially invalid modules.
This patch proposes a fix for this by checking the size of the type
against the maximum size that can be addressed in the given address
space when applying the address space attribute.
This does not currently handle instantiations of dependent variables, as
the attributes are not re-processesd at that time. This is planned for
further investigation and a follow-up patch.
---------
Signed-off-by: Steffen Holst Larsen <HolstLarsen.Steffen at amd.com>
Co-authored-by: Steffen Holst Larsen <HolstLarsen.Steffen at amd.com>
Commit: 972e73b812cb7b6dd349c7c07daae73314f29e8f
https://github.com/llvm/llvm-project/commit/972e73b812cb7b6dd349c7c07daae73314f29e8f
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvabd.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/test/CodeGen/RISCV/rvv/abs-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/abs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs.ll
Log Message:
-----------
[RISCV][CodeGen] Lower `ISD::ABS` to Zvabd instructions
We add pseudos/patterns for `vabs.v` instruction and handle the
lowering in `RISCVTargetLowering::lowerABS`.
Reviewers: topperc, 4vtomat, mshockwave, preames, lukel97, tclin914
Reviewed By: mshockwave
Pull Request: https://github.com/llvm/llvm-project/pull/180142
Commit: 0c583e784ecec8fbc8115217710d364edc4929b4
https://github.com/llvm/llvm-project/commit/0c583e784ecec8fbc8115217710d364edc4929b4
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaAMDGPU.cpp
A clang/test/SemaOpenCL/builtins-amdgcn-s-wait-event.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.event.ll
Log Message:
-----------
AMDGPU: Add llvm.amdgcn.s.wait.event intrinsic (#180170)
Exactly match the s_wait_event instruction. For some reason we already
had this instruction used through llvm.amdgcn.s.wait.event.export.ready,
but that hardcodes a specific value. This should really be a bitmask
that
can combine multiple wait types.
gfx11 -> gfx12 broke compatabilty in a weird way, by inverting the
interpretation of the bit but also shifting the used bit by 1. Simplify
the selection of the old intrinsic by just using the magic number 2,
which should satisfy both cases.
Commit: e16f35493c06d10682fca840786012266a591b42
https://github.com/llvm/llvm-project/commit/e16f35493c06d10682fca840786012266a591b42
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/abs.ll
Log Message:
-----------
[RISCV][TTI] Adjust the cost of `llvm.abs` intrinsic when `Zvabd` exists
When `Zvabd` exists, `llvm.abs` is lowered to `vabs.v` so the cost
is 1.
Reviewers: mshockwave, topperc, lukel97, skachkov-sc, preames
Reviewed By: topperc
Pull Request: https://github.com/llvm/llvm-project/pull/180146
Commit: f2d5b3952b3fde599e303c3fdf8fb4d40f113a4d
https://github.com/llvm/llvm-project/commit/f2d5b3952b3fde599e303c3fdf8fb4d40f113a4d
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
M llvm/test/Analysis/CostModel/RISCV/splice.ll
Log Message:
-----------
[RISCV] Add cost for @llvm.vector.splice.{left,right} (#179219)
Currently vector splice intrinsics are costed through getShuffleCost
when the offset is fixed. When the offset is variable though we can't
use a shuffle mask so it currently returns invalid.
This implements the cost in RISCVTTIImpl::getIntrinsicInstrCost as the
cost of a slideup and a slidedown, which matches the codegen.
It also implements the type based cost whenever the offset argument
isn't available.
It may be possible to reduce the cost in future when one of the vector
operands is known to be poison, in which case we only generate a single
slideup or slidedown.
Commit: 6c31bf0474942f8452965c38e091008235730988
https://github.com/llvm/llvm-project/commit/6c31bf0474942f8452965c38e091008235730988
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
M llvm/test/Transforms/SCCP/assume-operand-bundles.ll
Log Message:
-----------
[PredicateInfo] Fix crash on nonnull assume taking a constant (#180440)
Commit: 8554ed738f870bdd3eb5fb05a61fa98cd66eaddd
https://github.com/llvm/llvm-project/commit/8554ed738f870bdd3eb5fb05a61fa98cd66eaddd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.h
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.event.ll
M llvm/test/MC/AMDGPU/gfx11_asm_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_sopp.s
M llvm/test/MC/AMDGPU/gfx12_asm_sopp.s
M llvm/test/MC/AMDGPU/gfx12_err.s
M llvm/test/MC/AMDGPU/gfx13_asm_sopp.s
Log Message:
-----------
AMDGPU: Add syntax for s_wait_event values (#180272)
Previously this would just print hex values. Print names for the
recognized values, matching the sp3 syntax.
Commit: c1c97088b85cd48a939ecd51bf89576fddcc5e54
https://github.com/llvm/llvm-project/commit/c1c97088b85cd48a939ecd51bf89576fddcc5e54
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
Log Message:
-----------
[CIR][AArch64] Add lowering for predicated SVE svdup builtins (zeroing) (#175976)
This PR adds CIR lowering support for predicated SVE `svdup` builtins on
AArch64. The corresponding ACLE intrinsics are documented at:
https://developer.arm.com/architectures/instruction-sets/intrinsics
This change focuses on the zeroing-predicated variants (suffix `_z`,
e.g. `svdup_n_f32_z`), which lower to the LLVM SVE `dup` intrinsic
with a `zeroinitializer` passthrough operand.
IMPLEMENTATION NOTES
--------------------
* The CIR type converter is extended to support `BuiltinType::SveBool`,
which is lowered to `cir.vector<[16] x i1>`, matching current Clang
behaviour and ensuring compatibility with existing LLVM SVE lowering.
* Added logic that converts `cir.vector<[16] x i1>` according to the
underlying element type. This is done by calling
`@llvm.aarch64.sve.convert.from.svbool`.
TEST NOTES
----------
Compared to the unpredicated `svdup` tests
(https://github.com/llvm/llvm-project/pull/174433), the new tests
perform more explicit checks to verify:
* Correct argument usage
* Correct return value + type
This helped validate differences between the default Clang lowering and
the CIR-based lowering. Once all `svdup` variants are implemented, the tests
will be unified.
EXAMPLE LOWERING
----------------
The following example illustrates that CIR lowering produces equivalent
LLVM IR to the default Clang path.
Input:
```c
svint8_t test_svdup_n_s8(svbool_t pg, int8_t op) {
return svdup_n_s8_z(pg, op);
}
OUTPUT 1 (default):
```llvm
define dso_local <vscale x 16 x i8> @test(<vscale x 16 x i1> %pg, i8
noundef %op) #0 {
entry:
%pg.addr = alloca <vscale x 16 x i1>, align 2
%op.addr = alloca i8, align 1
store <vscale x 16 x i1> %pg, ptr %pg.addr, align 2
store i8 %op, ptr %op.addr, align 1
%0 = load <vscale x 16 x i1>, ptr %pg.addr, align 2
%1 = load i8, ptr %op.addr, align 1
%2 = call <vscale x 16 x i8> @llvm.aarch64.sve.dup.nxv16i8(<vscale x 16
x i8> zeroinitializer, <vscale x 16 x i1> %0, i8 %1)
ret <vscale x 16 x i8> %2
}
```
OUTPUT 2 (via `-fclangir`):
```llvm
; Function Attrs: noinline
define dso_local <vscale x 16 x i8> @test(<vscale x 16 x i1> %0, i8 %1)
#0 {
%3 = alloca <vscale x 16 x i1>, i64 1, align 2
%4 = alloca i8, i64 1, align 1
%5 = alloca <vscale x 16 x i8>, i64 1, align 16
store <vscale x 16 x i1> %0, ptr %3, align 2
store i8 %1, ptr %4, align 1
%6 = load <vscale x 16 x i1>, ptr %3, align 2
%7 = load i8, ptr %4, align 1
%8 = call <vscale x 16 x i8> @llvm.aarch64.sve.dup.nxv16i8(<vscale x 16
x i8> zeroinitializer, <vscale x 16 x i1> %6, i8 %7)
store <vscale x 16 x i8> %8, ptr %5, align 16
%9 = load <vscale x 16 x i8>, ptr %5, align 16
ret <vscale x 16 x i8> %9
}
```
Commit: 531430b614cf8a5122335168abbc54096b5225a2
https://github.com/llvm/llvm-project/commit/531430b614cf8a5122335168abbc54096b5225a2
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/maxnum.ll
M llvm/test/Transforms/InstCombine/minnum.ll
Log Message:
-----------
[InstCombine] Relax one-use check for min/max(fpext x, fpext y) to fpext(min/max(x, y)) fold (#180164)
If only of the operands is one-use, the total number of fpexts stays the
same, but the min/max is performed on a narrowed type. Additionally, the
fpext may fold with a following fptrunc.
Commit: 2ead49ff09802bec6fdaad69133369357299a3b9
https://github.com/llvm/llvm-project/commit/2ead49ff09802bec6fdaad69133369357299a3b9
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/d83507-knowledge-retention-bug.ll
Log Message:
-----------
[PhaseOrdering] Regenerate test checks (NFC)
The partial check lines while claiming UTC output here were
highly confusing. Regenerate the check lines. While here, use a
newer version and rename blocks to avoid anon block conflicts.
Commit: b79ba024790200d8e3900cdd050585c962535eb6
https://github.com/llvm/llvm-project/commit/b79ba024790200d8e3900cdd050585c962535eb6
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.td
M clang/include/clang/Sema/SemaAMDGPU.h
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetInfo.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
A clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-cooperative-atomics-templated.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-load-monitor-templated.hip
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-monitor.cl
A clang/test/SemaHIP/builtins-amdgcn-gfx1250-cooperative-atomics-templated.hip
A clang/test/SemaHIP/builtins-amdgcn-gfx1250-load-monitor-templated.hip
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.monitor.gfx1250.ll
Log Message:
-----------
[AMDGPU][GFX12.5] Reimplement monitor load as an atomic operation (#177343)
Load monitor operations make more sense as atomic operations, as
non-atomic operations cannot be used for inter-thread communication w/o
additional synchronization.
The previous built-in made it work because one could just override the
CPol bits, but that bypasses the memory model and forces the user to learn
about ISA bits encoding.
Making load monitor an atomic operation has a couple of advantages.
First, the memory model foundation for it is stronger. We just lean on the
existing rules for atomic operations. Second, the CPol bits are abstracted away
from the user, which avoids leaking ISA details into the API.
This patch also adds supporting memory model and intrinsics
documentation to AMDGPUUsage.
Solves SWDEV-516398.
Commit: a654a27fcd4a44e6c76a93fabc11aed2cb3b97ef
https://github.com/llvm/llvm-project/commit/a654a27fcd4a44e6c76a93fabc11aed2cb3b97ef
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/minnum.ll
Log Message:
-----------
[InstCombine] Fold min/max(fpext x, C) to fpext(min/max(x, fptrunc C)) (#179968)
Fold `min/max(fpext x, C)` to `fpext(min/max(x, fptrunc C))` in cases
where the truncation of the constant is lossless.
This helps eliminate fpext/fptrunc pairs around min/max and addresses
the regression from https://github.com/llvm/llvm-project/pull/177988.
Proof: https://alive2.llvm.org/ce/z/y_Bcdd
Commit: 25315f287c08f4ab50198461dd84ac8d2eed8cc7
https://github.com/llvm/llvm-project/commit/25315f287c08f4ab50198461dd84ac8d2eed8cc7
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
Log Message:
-----------
[AMDGPU] Remove `NoNaNsFPMath` uses (#180469)
Should use `nnan` flag only.
Commit: 2298b8606d84262ef0f420524c9afdded6d71470
https://github.com/llvm/llvm-project/commit/2298b8606d84262ef0f420524c9afdded6d71470
Author: Gergo Stomfai <55883018+stomfaig at users.noreply.github.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-ctls.mir
M llvm/test/CodeGen/AArch64/cls.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv32p.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64p.ll
Log Message:
-----------
[GISel] computeKnownBits - add CTLS handling (#178063)
Closes llvm/llvm-project#174370
Commit: fe91384a5b3766894951c5832ea88a0391f82bf1
https://github.com/llvm/llvm-project/commit/fe91384a5b3766894951c5832ea88a0391f82bf1
Author: Arun Thangamani <arun.thangamani at intel.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/test/Dialect/Vector/transform-vector.mlir
M mlir/test/python/dialects/transform_vector_ext.py
Log Message:
-----------
[mlir][vector] Wrapping `populateFlattenVectorTransferPatterns` as a transform pass. (#178134)
This PR covers the `mlir::vector::populateFlattenVectorTransferPatterns`
as a transform pass.
Commit: a07347f60997b971314563c7427aff5153677d95
https://github.com/llvm/llvm-project/commit/a07347f60997b971314563c7427aff5153677d95
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ordering/TestDataFormatterStdOrdering.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/TestDataFormatterStdVBool.py
M lldb/test/API/functionalities/gdb_remote_client/TestWasm.py
Log Message:
-----------
[lldb][test] Rename/remove duplicate methods in API tests (#180250)
Ran my python script from
https://github.com/llvm/llvm-project/pull/97043 over the repo again and
there were 2 duplicate test-cases that have been introduced since I last
did this.
Also one of the WASM classes had a duplicate method which I just
removed.
Commit: e12c8f08c046af6ae9929b843ec463bcf0a597a5
https://github.com/llvm/llvm-project/commit/e12c8f08c046af6ae9929b843ec463bcf0a597a5
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
A flang/include/flang/Optimizer/Analysis/ArraySectionAnalyzer.h
A flang/lib/Optimizer/Analysis/ArraySectionAnalyzer.cpp
M flang/lib/Optimizer/Analysis/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
Log Message:
-----------
[flang][NFC] Extract ArraySectionAnalyzer from OptimizedBufferization (#180278)
Extract `ArraySectionAnalyzer` from `OptimizedBufferization` into a
standalone
analysis utility so it can be reused by other passes (e.g.,
`ScheduleOrderedAssignments`).
Also extracts the logic to detect if a designate is using the indices
of an elemental operation in storage order.
This will be used in WHERE construct optimization in the next patch.
Commit: 233a9918bc18953bc96fb091c8c3e7bd8a95ed4a
https://github.com/llvm/llvm-project/commit/233a9918bc18953bc96fb091c8c3e7bd8a95ed4a
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/loop_dependence_mask.ll
Log Message:
-----------
[AArch64] Tweak fixed-length loop.dependence.mask costs (#175538)
For fixed-length masks we need to AND the result of the whilewr/rw with
`ptrue vl*` (which is at least one more instruction).
Commit: 2ffb54364ff5669da0ed2a0daff744fd3c33ec4a
https://github.com/llvm/llvm-project/commit/2ffb54364ff5669da0ed2a0daff744fd3c33ec4a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
Log Message:
-----------
AMDGPU: Add a test for libcall simplify pow handling (#180491)
This case could be turned into powr or pown, so track which
case ends up preferred.
Commit: 936ec4ea6658106e6b13157c5d14b9b6d5070141
https://github.com/llvm/llvm-project/commit/936ec4ea6658106e6b13157c5d14b9b6d5070141
Author: puneeth_aditya_5656 <myakampuneeth at gmail.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
A lldb/test/Shell/ObjectFile/ELF/stt-tls-symbol.yaml
Log Message:
-----------
[lldb] Handle STT_TLS symbol type in ELF parser (#178975)
Add handling for `STT_TLS` (thread-local storage) symbols in the ELF
symbol parsing code. Previously, TLS symbols like `errno` from glibc
were not recognized because `STT_TLS` was not handled in the symbol type
switch statement.
This treats TLS symbols as data symbols (`eSymbolTypeData`), similar to
`STT_OBJECT`. The actual TLS address resolution is already implemented
in `DynamicLoaderPOSIXDYLD::GetThreadLocalData()` which uses the DWARF
`DW_OP_form_tls_address` opcode to calculate thread-local addresses.
Commit: 4ef7be9b80e156c59a533557e2a0d058cb91019f
https://github.com/llvm/llvm-project/commit/4ef7be9b80e156c59a533557e2a0d058cb91019f
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
Log Message:
-----------
[SimplifyLibCalls] Directly convert fmin/fmax to intrinsics (#177988)
Drop the custom shrinking code, which we'll also do for intrinsics.
Having libcall-only optimizations is confusing, as these are typically
directly emitted as intrinsics by the frontend.
Commit: 3862a4f733002e90ecee7b79aca87bb46d5575b1
https://github.com/llvm/llvm-project/commit/3862a4f733002e90ecee7b79aca87bb46d5575b1
Author: Eliz Habiboullah <eliz4ads at gmail.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
Log Message:
-----------
[GlobalISel] Use named constant for impossible repair cost (#180490)
replace magic value `std::numeric_limits<unsigned>::max()` with a named
constant `ImpossibleRepairCost` to improve readability
Commit: 27a8ab09fa7b5f966b8201377f29f338cdc9fb90
https://github.com/llvm/llvm-project/commit/27a8ab09fa7b5f966b8201377f29f338cdc9fb90
Author: Petr Kurapov <petr.kurapov at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/CodeGen/AMDGPU/indirect-reg-read-imm-idx.ll
A llvm/test/CodeGen/AMDGPU/indirect-reg-read-imm-idx.mir
Log Message:
-----------
[AMDGPU] Fix V_INDIRECT_REG_READ_GPR_IDX expansion with immediate index (#179699)
The definition for V_INDIRECT_REG_READ_GPR_IDX_B32_V*'s SSrc_b32 operand
allows immediates, but the expansion logic handles only register cases
now. This can result in expansion failures when e.g.
llvm.amdgcn.wave.reduce.umin.i32 is folded into a constant and then used
as an insertelement idx.
Commit: 964651ad515b61df56ce51cdc9978b2bcc8d0a7b
https://github.com/llvm/llvm-project/commit/964651ad515b61df56ce51cdc9978b2bcc8d0a7b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/select-big-integer.ll
Log Message:
-----------
[X86] Allow handling of i128/256/512 SELECT on the FPU (#180197)
If the scalar integer selection sources are freely transferable to the
FPU, then splat to create an allbits select condition and create a
vector select instead
Commit: 5b2bfcedf501109d188eb39cf63b54cc1c3ca33b
https://github.com/llvm/llvm-project/commit/5b2bfcedf501109d188eb39cf63b54cc1c3ca33b
Author: Matt <MattPD at users.noreply.github.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M flang/lib/Optimizer/Analysis/CMakeLists.txt
Log Message:
-----------
[flang][NFC] Remove dependency on FIRBuilder from FIRAnalysis. (#180300)
The dependency actually appears to be unused.
Co-authored-by: Matt P. Dziubinski <matt-p.dziubinski at hpe.com>
Commit: 2eb811239c2845619285480329a5d78daa9986ef
https://github.com/llvm/llvm-project/commit/2eb811239c2845619285480329a5d78daa9986ef
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/CAS/OnDiskGraphDB.cpp
Log Message:
-----------
[CAS] getInternalFileBackedObjectData - fix MSVC not all control paths return a value warning. NFC. (#180499)
Commit: bf84e84f06ce4e752b54acb6af2c947ce62692d0
https://github.com/llvm/llvm-project/commit/bf84e84f06ce4e752b54acb6af2c947ce62692d0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/lib/CodeGen/Targets/AMDGPU.cpp
Log Message:
-----------
[clang][amdgpu] getLLVMSyncScopeStr - fix MSVC not all control paths return a value warning. NFC. (#180501)
Commit: 1d61ac2d41d9c77d02af4ac149d83b52eb782704
https://github.com/llvm/llvm-project/commit/1d61ac2d41d9c77d02af4ac149d83b52eb782704
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
Log Message:
-----------
[clang][amdgpu] mapCABIAtomicOrdering - fix MSVC not all control paths return a value warning. NFC. (#180500)
Commit: f71e32196667264607974e22d28d3badb2d73b5e
https://github.com/llvm/llvm-project/commit/f71e32196667264607974e22d28d3badb2d73b5e
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/InterpState.h
A clang/test/AST/ByteCode/constexpr-steps.cpp
Log Message:
-----------
[clang][bytecode] Implement constexpr step limit (#176150)
This only calls `noteStep()` on jump opcodes, so this works for loops.
It does not prevent "hangs" when a function is just _very_ long (could
be interesting how this interfaces with expand statements?).
Fixes https://github.com/llvm/llvm-project/issues/165951
Commit: f88e0185d7333827f5342143e7c515fc8fb57020
https://github.com/llvm/llvm-project/commit/f88e0185d7333827f5342143e7c515fc8fb57020
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang-tools-extra/clangd/ClangdLSPServer.cpp
Log Message:
-----------
[clangd] Add explicit std::move(...) to avoid a few copies (#180475)
Moving an std::map is almost always profitable (DiagnosticToDiagRefMap).
Changes suggested by performance-use-std-move from #179467
Commit: dbf2caaaef120bb7a9f7cf6b5611ba5584cff887
https://github.com/llvm/llvm-project/commit/dbf2caaaef120bb7a9f7cf6b5611ba5584cff887
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
Log Message:
-----------
[clang] Add explicit std::move(...) to avoid a few copies (#180477)
Moving a clang::MultilibSet is almost always profitable.
Changes suggested by performance-use-std-move from #179467
Commit: a40275c8c821c89046111d4954165daba7a24f36
https://github.com/llvm/llvm-project/commit/a40275c8c821c89046111d4954165daba7a24f36
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/lib/Analysis/CloneDetection.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
Log Message:
-----------
[clang] Add explicit std::move(...) to avoid a few copies (#180482)
Moving an std::vector is almost always profitable.
A clang::CXXScopeSpec contains an owned
clang::NestedNameSpecifierLocBuilder which currently does not benefit
from being moved, but may structurally in the future.
A clang::MultiLevelTemplateArgumentList contains an llvm::SmalVector
which may benefit from being moved dependiong on its size.
A clang::Environment contains an llvm::ImmutableMap which itself
contains an llvm::IntrusiveRefCntPtr that benefits from being moved.
Changes suggested by performance-use-std-move from #179467
---------
Co-authored-by: Timm Baeder <tbaeder at redhat.com>
Commit: 72ff1cb2f87244ade6dda960946346bb3dc6fd68
https://github.com/llvm/llvm-project/commit/72ff1cb2f87244ade6dda960946346bb3dc6fd68
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M flang/test/Lower/equivalence-with-host-assoc.f90
M flang/test/Lower/explicit-interface-results-2.f90
M flang/test/Lower/explicit-interface-results.f90
M flang/test/Lower/ext-proc-as-actual-argument-1.f90
M flang/test/Lower/ext-proc-as-actual-argument-2.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 15) (#179854)
Tests converted from test/Lower: equivalence-with-host-assoc.f90,
explicit-interface-results-2.f90, explicit-interface-results.f90,
ext-proc-as-actual-argument-1.f90, ext-proc-as-actual-argument-2.f90
Commit: 8cd86ff284c3aa1b47c00500a5dc7889b1c9bade
https://github.com/llvm/llvm-project/commit/8cd86ff284c3aa1b47c00500a5dc7889b1c9bade
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/phi-with-fastflags-vplan.ll
A llvm/test/Transforms/LoopVectorize/phi-with-fastflags.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Propagate FastMathFlags from phis to blends (#180226)
If a phi has fast math flags, we can propagate it to the widened select.
To do this, this patch makes VPPhi and VPBlendRecipe subclasses of
VPRecipeWithIRFlags, and propagates it through PlainCFGBuilder and
VPPredicator.
Alive2 proofs for some of the FMFs (it looks like it can't reason about
the full "fast" set yet)
nnan: https://alive2.llvm.org/ce/z/f0bRd4
nsz: https://alive2.llvm.org/ce/z/u9P96T
The actual motivation for this to eventually be able to move the special
casing for tail folding in
LoopVectorizationPlanner::addReductionResultComputation into the CFG in
#176143, which requires passing through FMFs.
Commit: 0cd8fd974dd674cab2f53cedeb674622413561bd
https://github.com/llvm/llvm-project/commit/0cd8fd974dd674cab2f53cedeb674622413561bd
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M lld/COFF/Driver.cpp
M lld/wasm/OutputSections.cpp
M lld/wasm/Writer.cpp
Log Message:
-----------
[lld] Add explicit std::move(...) to avoid a few vector copies (#180474)
In corner cases, it is profitable to move an llvm::SmallString instead
of copying it.
It is almost always profitable to move an std::vector
Changes suggested by performance-use-std-move from
https://github.com/llvm/llvm-project/pull/179467
Commit: fed9abcb4796507622bdd9e2e36bc80260a5197b
https://github.com/llvm/llvm-project/commit/fed9abcb4796507622bdd9e2e36bc80260a5197b
Author: Prajwal P J <prajwaljalwadi at gmail.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
M clang/test/SemaCXX/constant-expression-cxx2a.cpp
Log Message:
-----------
[Clang] Fix missing -Warray-bounds warning on member function calls. (#179647)
Fixes #179128.
This patch fixes a false negative where Clang failed to detect
out-of-bounds access when calling a member function on an invalid array
index. It adds handling for CXXMemberCallExpr in CheckArrayAccess.
Signed-off-by: prajwal jalwadi<prajwaljalwadi at gmail.com>
Commit: bf1340598ec3af1169d47e6deff427fe9e703251
https://github.com/llvm/llvm-project/commit/bf1340598ec3af1169d47e6deff427fe9e703251
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/include/llvm/Support/TargetOpcodes.def
Log Message:
-----------
[CodeGen] Improve documentation for SUBREG_TO_REG (#180504)
The most important change is to remove the claim that the extra bits are
necessarily set to zero.
Commit: 4bb16b130df2f5f132d04fcd8960a860a290402f
https://github.com/llvm/llvm-project/commit/4bb16b130df2f5f132d04fcd8960a860a290402f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
Log Message:
-----------
[VectorCombine][X86] Add test coverage for #161980 (#180508)
Commit: 6dbdfd824affb4a0b2beda56af222758500cffa2
https://github.com/llvm/llvm-project/commit/6dbdfd824affb4a0b2beda56af222758500cffa2
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Analysis/ValueTracking/assume-queries-counter.ll
M llvm/test/Transforms/InstCombine/assume.ll
M llvm/test/Transforms/PhaseOrdering/d83507-knowledge-retention-bug.ll
Log Message:
-----------
[InstCombine] Drop nonnull assumes if the pointer is already known to be nonnull (#180434)
Commit: 695095fff67e622309d8059c261e4df0b73fe4a9
https://github.com/llvm/llvm-project/commit/695095fff67e622309d8059c261e4df0b73fe4a9
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
Log Message:
-----------
[lldb-dap][NFC] Add new line to attach message (#180510)
Commit: ef68a53139626bf4067889016f82a8fa945fac61
https://github.com/llvm/llvm-project/commit/ef68a53139626bf4067889016f82a8fa945fac61
Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M utils/bazel/MODULE.bazel.lock
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/build_defs.bzl
A utils/bazel/llvm-project-overlay/mlir/stubgen_runner.py
M utils/bazel/third_party_build/nanobind.BUILD
Log Message:
-----------
[MLIR] [Python] Added plumbing to run stubgen on the mlir._mlir package (#179211)
This allows generating stubs during Bazel builds, which was previously
only supported under CMake.
I decided not to use nanobind_stubgen from nanobind-bazel, because the
py_binary it generates is not easily usable in a genrule.
Commit: f6acc800f2c6e57e2e22bad3f475cd7a01139ca1
https://github.com/llvm/llvm-project/commit/f6acc800f2c6e57e2e22bad3f475cd7a01139ca1
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/test/Driver/darwin-ld-lto.c
Log Message:
-----------
[Driver][Darwin] Pass stack usage file for LTO (#178005)
Add a .su extension to the main output's filename and pass this down to
the LLVM layer.
rdar://143089305
Commit: 4344268ad605a3b77d00a30fb9284f453b240ec0
https://github.com/llvm/llvm-project/commit/4344268ad605a3b77d00a30fb9284f453b240ec0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[clang] Return std::optional from all Expr::tryEvaluate* API (#179230)
tryEvaluateString was returning an std::optional, but the other try* API
was not. Update tryEvaluateObjectSize and tryEvaluateStrLen to return an
std::optional<uint64_t>.
Commit: 2805c8aaa61a94ef22ac76c8dac56f7dfe970651
https://github.com/llvm/llvm-project/commit/2805c8aaa61a94ef22ac76c8dac56f7dfe970651
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/phi-with-fastflags.ll
Log Message:
-----------
[VPlan] Add missing REQUIRES: asserts to VPlan output test
Should fix https://lab.llvm.org/buildbot/#/builders/11/builds/33293
Commit: dd356180b3ea7cedec7584dbb9de1e58c9426855
https://github.com/llvm/llvm-project/commit/dd356180b3ea7cedec7584dbb9de1e58c9426855
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/test/Dialect/SPIRV/IR/types.mlir
M mlir/test/Dialect/SPIRV/Transforms/replicated-const-composites.mlir
Log Message:
-----------
[mlir][spirv] Verify vector types when parsing (#180430)
Also remove some invalid test cases (replicated constants).
Fixes: https://github.com/llvm/llvm-project/issues/180419
Commit: 45b037cf7a26641bf778bbe7532d99935d35be1b
https://github.com/llvm/llvm-project/commit/45b037cf7a26641bf778bbe7532d99935d35be1b
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
A llvm/test/MC/AMDGPU/gfx1150_unsupported.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop1-fake16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop1.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop1_dpp16-fake16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop1_dpp16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop1_dpp8-fake16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop1_dpp8.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3-fake16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3_dpp16-fake16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3_dpp16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3_dpp8-fake16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3_dpp8.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3_err.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3_from_vop1-fake16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3_from_vop1.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3_from_vop1_dpp16-fake16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3_from_vop1_dpp16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3_from_vop1_dpp8-fake16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3_from_vop1_dpp8.s
A llvm/test/MC/Disassembler/AMDGPU/gfx1170_dasm_vop1_dpp16.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1170_dasm_vop1_dpp8.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1170_dasm_vop3.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1170_dasm_vop3_dpp16.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1170_dasm_vop3_dpp8.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1170_dasm_vop3_from_vop1.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1170_dasm_vop3_from_vop1_dpp16.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1170_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add fp8/bf8 conversion instructions for gfx1170 (#180191)
Commit: d1b402b61298d7f28578650e452874e51ea818c4
https://github.com/llvm/llvm-project/commit/d1b402b61298d7f28578650e452874e51ea818c4
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/trunc-extractelement.ll
Log Message:
-----------
[InstCombine] Avoid overflow in `foldVecExtTruncToExtElt` (#180414)
This weird pattern was introduced by LoopVectorize. But it was placed in
an unreachable path, so we cannot assert that the indices are always
valid in InstCombine.
Closes https://github.com/llvm/llvm-project/issues/180233.
Commit: da0ad392ffc689cf4909b487e3d956e074be87c6
https://github.com/llvm/llvm-project/commit/da0ad392ffc689cf4909b487e3d956e074be87c6
Author: Ruoyu Qiu <cabbaken at outlook.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
A llvm/include/llvm/TargetParser/AVRTargetParser.h
M llvm/include/llvm/TargetParser/Triple.h
A llvm/lib/TargetParser/AVRTargetParser.cpp
M llvm/lib/TargetParser/CMakeLists.txt
A llvm/test/tools/llvm-objdump/ELF/AVR/lit.local.cfg
A llvm/test/tools/llvm-objdump/ELF/AVR/mattr.test
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[llvm-objdump][AVR] Detect AVR architecture from ELF flags for disassembling (#180468)
Reland #174731, resolve cyclic dependency issue.
The use of LLVM_Object in LLVM_Util would cause cyclic dependency.
Fix cyclic dependency by reimplement `getFeatureSetFromEFlag()`.
Original description:
---
This PR updates llvm-objdump to detect the specific AVR architecture
from the ELF header flags when no specific CPU is provided.
Fixes: https://github.com/llvm/llvm-project/issues/146451
Signed-off-by: Ruoyu Qiu <cabbaken at outlook.com>
Commit: 1ff4b503802b049463da4a8fd4aaac496ddd260b
https://github.com/llvm/llvm-project/commit/1ff4b503802b049463da4a8fd4aaac496ddd260b
Author: David Spickett <david.spickett at arm.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M lldb/test/API/driver/batch_mode/TestBatchMode.py
M lldb/tools/driver/Driver.cpp
Log Message:
-----------
[lldb] Quit automatically if --batch has no commands to run (#179969)
Fixes #179700
Simple fix, if we are in batch mode, don't go into an interactive
session after checking if there are commands to run.
Testing it is more tricky. I tried a shell test as I thought it would be
simplest. However to be able to FileCheck I had to pipe and the pipe
turns off the prompt because it's non-interactive. The prompt is the
thing that must not be printed.
So I've just spawned lldb as a subprocess. If it doesn't quit quickly
then something is wrong. The timeout is high not because it should
normally take that long, but because sometimes a process will get
stalled for a while and I don't want this to be flaky.
(though in theory it can get stalled for much longer than a minute)
If it does time out, the process will be cleaned up automatically. See
https://docs.python.org/3/library/subprocess.html#subprocess.run
> A timeout may be specified in seconds, it is internally
> passed on to Popen.communicate(). If the timeout expires,
> the child process will be killed and waited for.
Commit: 7defb0a4a35817ee7accb310d99912152a542ec2
https://github.com/llvm/llvm-project/commit/7defb0a4a35817ee7accb310d99912152a542ec2
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
Log Message:
-----------
[VPlan] Skip applying InstsToScalarize with forced instr costs. (#168269)
ForceTargetInstructionCost in the legacy cost model overrides any costs
from InstsToScalarize. Match the behavior in the VPlan-based cost model.
This fixes a crash with -force-target-instr-cost for the added test
case.
PR: https://github.com/llvm/llvm-project/pull/168269
Commit: 42d5e76b469f56fbf522fe6f119e755db730610b
https://github.com/llvm/llvm-project/commit/42d5e76b469f56fbf522fe6f119e755db730610b
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M lldb/tools/lldb-dap/extension/package-lock.json
M lldb/tools/lldb-dap/extension/package.json
Log Message:
-----------
[lldb-dap] Bump vscode version (#177008)
VS Code and node versions should be synchronized. We use node >= 18.19,
so expected VS Code version is 1.90.0. I checked it using this
[info](https://github.com/ewanharris/vscode-versions).
Commit: b2e6b987839a9b94f6d998805f750515680d31f4
https://github.com/llvm/llvm-project/commit/b2e6b987839a9b94f6d998805f750515680d31f4
Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/Mips/MipsFastISel.cpp
A llvm/test/CodeGen/Mips/musttail-fastisel.ll
Log Message:
-----------
[MIPS] Fix argument size in Fast ISel (#180336)
Fix bug where Fast ISel incorrectly set `IncomingArgSize` to `0` for
functions with no arguments, since `MIPS O32` uses _the reserved
argument area_ of 16 bytes even for the functions with no args at all.
Commit: 0bbf25ffd4b2e665e2a36adcd11b732ac8bb74e6
https://github.com/llvm/llvm-project/commit/0bbf25ffd4b2e665e2a36adcd11b732ac8bb74e6
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/test/Transforms/InstCombine/gep-sext.ll
Log Message:
-----------
[InstCombine] Regenerate test checks (NFC)
Commit: 44031ae79f7d3a4a2f56efecb75d4467955c043c
https://github.com/llvm/llvm-project/commit/44031ae79f7d3a4a2f56efecb75d4467955c043c
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
Log Message:
-----------
[LV] Fix issue in VPFirstOrderRecurrencePHIRecipe::usesFirstLaneOnly (#179977)
In some cases we decide to vectorise loops with first-order recurrences
using VF=1, IC>1. We then attempt to unroll a vplan in replicateByVF,
however when trying to erase the list of values from the parent we
trigger the following assert:
```
virtual llvm::VPRecipeValue::~VPRecipeValue(): Assertion `Users.empty()
&& "trying to delete a VPRecipeValue with remaining users"' failed.
```
The problem seems to stem from this code:
```
DefR->replaceUsesWithIf(LaneDefs[0], [DefR](VPUser &U, unsigned) {
return U.usesFirstLaneOnly(DefR);
});
```
since usesFirstLaneOnly returns false and we fail to replace uses of
DefR with LaneDefs[0]. Upon inspection the only VPUser objects that
return false are VPInstruction::FirstOrderRecurrenceSplice and
VPFirstOrderRecurrencePHIRecipe. Since the values are all scalar it's
simply not possible for us to be using anything other than the first
lane. I've fixed this by bailing out of replicateByVF early for plans with
only a scalar VF.
Fixes https://github.com/llvm/llvm-project/issues/179671
Commit: 33e3384aa899d20c42c89af537f50111e30d68ba
https://github.com/llvm/llvm-project/commit/33e3384aa899d20c42c89af537f50111e30d68ba
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M offload/test/offloading/fortran/basic-target-parallel-do.f90
M offload/test/offloading/fortran/basic-target-parallel-reduction.f90
M offload/test/offloading/fortran/basic-target-teams-parallel-reduction.f90
M offload/test/offloading/fortran/default-mapper-nested-derived-type.f90
M offload/test/offloading/fortran/do-concurrent-to-omp-saxpy-2d.f90
M offload/test/offloading/fortran/do-concurrent-to-omp-saxpy.f90
M offload/test/offloading/fortran/explicit-and-implicit-record-field-mapping.f90
M offload/test/offloading/fortran/implicit-record-field-mapping.f90
M offload/test/offloading/fortran/target-custom-reduction-derivedtype.f90
M offload/test/offloading/fortran/target-no-loop.f90
M offload/test/offloading/fortran/target-parallel-do-collapse.f90
M offload/test/offloading/ompx_bare.c
M offload/test/offloading/ompx_bare_multi_dim.cpp
Log Message:
-----------
[offload] Adapt tests to new PluginInterface quoting [NFC] (#180505)
https://github.com/llvm/llvm-project/commit/4096cb60175a3bfdde25dd0cca167416f4f4338e
removed the quotes around PluginInterface
Commit: dbbea962c9f9e05c56b5566b9b4f66351adf8079
https://github.com/llvm/llvm-project/commit/dbbea962c9f9e05c56b5566b9b4f66351adf8079
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M lldb/test/Shell/DAP/TestSTDINConsole.test
Log Message:
-----------
[lldb-dap][windows] fix invalid path substitution for lldb-dap (#180237)
https://github.com/llvm/llvm-project/pull/178642 added
`lldb/test/Shell/DAP/TestSTDINConsole.test` with an incorrect
`%lldb-dap` expansion. This patch fixes it.
Commit: 041ce9fe0f4ac7bc1a8927153d69418c416a5623
https://github.com/llvm/llvm-project/commit/041ce9fe0f4ac7bc1a8927153d69418c416a5623
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/phi-with-fastflags-vplan.ll
Log Message:
-----------
[LV][NFC] Add "REQUIRES: assert" to new test file (#180522)
Fixes a minor test regression introduced by
https://github.com/llvm/llvm-project/pull/180226 in file
llvm/test/Transforms/LoopVectorize/phi-with-fastflags-vplan.ll
Commit: 392f0c976728fdc3c1db1c4e93a8c26d66c5488d
https://github.com/llvm/llvm-project/commit/392f0c976728fdc3c1db1c4e93a8c26d66c5488d
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
A llvm/test/CodeGen/AMDGPU/branch-relaxation-inst-size-gfx1250.mir
Log Message:
-----------
[NFC][AMDGPU] Add a test to show the impact of wrong `s_mov_b64` instruction size (#180386)
Commit: b13dc236220eb1a6479282eaaa2bd317aef5f233
https://github.com/llvm/llvm-project/commit/b13dc236220eb1a6479282eaaa2bd317aef5f233
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
Log Message:
-----------
[lldb] add cross platform test commands in Makefile.rules (#180224)
This patch adds cross platform (Darwin, Linux, Windows) commands in
`Makefile.rules` which is used to build lldb test targets.
This maps POSIX commands like `mkdir -p` to their Windows equivalent,
which allows to create cross platform `Makefile` for lldb's test
targets. This is currently not needed by any test but might become
useful later as we are working on enabling more lldb Windows tests.
This was originally done in the `swiftlang/llvm-project` fork
(https://github.com/swiftlang/llvm-project/pull/12127)
Commit: ed19bbfe01d4fcf5d457cb563cb900763b8f2189
https://github.com/llvm/llvm-project/commit/ed19bbfe01d4fcf5d457cb563cb900763b8f2189
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/phi-with-fastflags.ll
Log Message:
-----------
Revert "[VPlan] Add missing REQUIRES: asserts to VPlan output test"
This reverts commit 2805c8aaa61a94ef22ac76c8dac56f7dfe970651.
This added the REQUIRES line to the wrong test, 041ce9f added it to the
correct one.
Commit: f6ee5bd4dfea88604ac27c0cc11b48ec1500e325
https://github.com/llvm/llvm-project/commit/f6ee5bd4dfea88604ac27c0cc11b48ec1500e325
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/extensions/SPV_ALTERA_arbitrary_precision_integers/apint-constant.ll
Log Message:
-----------
[SPIRV] Fix constant materialization for width > 64bit (#180182)
selectConst() was asserting for constants wider than 64 bits. Add APInt
overloads of getOrCreateConstInt and getOrCreateConstVector that avoid
the uint64_t truncation.
Commit: d8e679c28650082a97675c8edeaa01fac3e695c1
https://github.com/llvm/llvm-project/commit/d8e679c28650082a97675c8edeaa01fac3e695c1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/shuffle-transpose.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
Log Message:
-----------
[CostModel][X86] getShuffleCost - SK_Transpose v4f64/v4i64 matches UNPCK - don't generalise to SK_PermuteTwoSrc (#180514)
Other SK_Transpose shuffles can be cheaper than SK_PermuteTwoSrc but this is the easy one to handle
Fixes #161980
Commit: b4bc9fa1c6eec1fc4789f203326b01368bffc63b
https://github.com/llvm/llvm-project/commit/b4bc9fa1c6eec1fc4789f203326b01368bffc63b
Author: Christian Sigg <csigg at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port da0ad392ffc6.
Commit: 03ab85cb873eee64da5a4a34c44955682bdc7e34
https://github.com/llvm/llvm-project/commit/03ab85cb873eee64da5a4a34c44955682bdc7e34
Author: Kiva <imkiva at islovely.icu>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/gep-srem-to-and-deref.ll
Log Message:
-----------
[InstCombine] fold `gepi _, (srem x, y)` to `gepi _, (urem x, y)` if `y` is power-of-2 (#180148)
This PR adds a small, targeted InstCombine fold for the pattern:
```
%idx = srem i64 %x, 2^k
%p = getelementptr inbounds nuw i8, ptr %base, i64 %idx
```
When the GEP is inbounds + nuw, and the divisor is a non-zero
power-of-two constant, the signed remainder cannot produce a negative
offset without violating the inbounds/nuw constraints. In that case we
can canonicalize the index to a non-negative form and expose the common
power-of-two rewrite:
- Rewrite the GEP index from `srem %x, 2^k` to `urem %x, 2^k`
- Create a new GEP with the new index and replace the original GEP
- the `urem %x, 2^k` will further folds to `and %x (2^k-1)`
resulting the following pattern
```
%idx = and i64 %x, (2^k-1)
%p = getelementptr inbounds nuw i8, ptr %base, i64 %idx
```
Fixes #180097.
generalized alive2 proof: https://alive2.llvm.org/ce/z/8EBxug
Commit: f9528a3608a2aa4094c982dcb093bd191524c72d
https://github.com/llvm/llvm-project/commit/f9528a3608a2aa4094c982dcb093bd191524c72d
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
A clang/test/Sema/warn-lifetime-safety-fixits.cpp
Log Message:
-----------
[LifetimeSafety] Add fixit verification with FileCheck (#180488)
Verify that produced messages/fixes are located in the right place.
With this patch, we can proceed to do
https://github.com/llvm/llvm-project/issues/180344
Commit: fccbdcb15a1347e96a15e95ff540e03aea87ca00
https://github.com/llvm/llvm-project/commit/fccbdcb15a1347e96a15e95ff540e03aea87ca00
Author: Twice <twice at apache.org>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
A mlir/include/mlir-c/ExtensibleDialect.h
M mlir/include/mlir/Bindings/Python/IRCore.h
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/CAPI/IR/CMakeLists.txt
A mlir/lib/CAPI/IR/ExtensibleDialect.cpp
M mlir/test/python/dialects/ext.py
Log Message:
-----------
[MLIR][Python] Support dynamic traits in python-defined dialects (#179705)
This is a follow-up PR of #169045 and the second part of #179086.
In #179086, we added support for defining regions in Python-defined ops,
but its usefulness was quite limited because we still couldn’t mark an
op as a `Terminator` or `NoTerminator`. In this PR, we port the
`DynamicOpTrait` (introduced on the C++ side for `DynamicDialect` in
#177735) to Python, so we can dynamically attach traits to
Python-defined ops.
Commit: 65b4099219ce7bf172dac26b641d56eb38680bd7
https://github.com/llvm/llvm-project/commit/65b4099219ce7bf172dac26b641d56eb38680bd7
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/branch-relaxation-inst-size-gfx1250.mir
Log Message:
-----------
[AMDGPU] Fix instruction size for 64-bit literal constant operands (#180387)
`getLit64Encoding` uses a different approach to determine whether 64-bit
literal encoding is used, which caused a size mismatch between the
`MachineInstr` and the `MCInst`.
For `!isValid32BitLiteral`, it is effectively `!(isInt<32>(Val) ||
isUInt<32>(Val))`, which is `!isInt<32>(Val) && !isUInt<32>(Val)`, but
in `getLit64Encoding`, it is `!isInt<32>(Val) || !isUInt<32>(Val)`.
Commit: fbcfbd9d3a33d14430250ad056c7d726db41673a
https://github.com/llvm/llvm-project/commit/fbcfbd9d3a33d14430250ad056c7d726db41673a
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M lld/ELF/Relocations.cpp
Log Message:
-----------
[NFC][ELF] Fix overzealous find/replace affecting comments
Commit a94060ca0c87 ("[ELF] Pass Ctx & to Relocations") swapped the
InputSectionBase &c argument for an InputSectionBase *sec member, and so
"c." was replaced with "sec->". However, this must have done in such a
way that "Local-Exec." was transformed to "Local-Exesec->" and
"RISCV::relocateAlloc." to "RISCV::relocateAllosec->", i.e. without the
use of something like clangd, and without appropriate word boundaries in
a regex.
Commit: 1026944313daa82e68094b446d208a24906f8af0
https://github.com/llvm/llvm-project/commit/1026944313daa82e68094b446d208a24906f8af0
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M libcxx/test/benchmarks/format/format_to.bench.cpp
M libcxx/test/benchmarks/format/format_to_n.bench.cpp
M libcxx/test/benchmarks/format/formatted_size.bench.cpp
Log Message:
-----------
[libc++] Reduce the number of runs on the format_to{,n} and formatted_size benchmarks (#179922)
Testing a bunch of sizes has relatively little value. This reduces the
number of benchmarks so we can run them on a regular basis. This saves
~8 minutes when running the benchmarks.
Commit: 77ccd853d0ec9a96f49c8017030b653ab82bcb45
https://github.com/llvm/llvm-project/commit/77ccd853d0ec9a96f49c8017030b653ab82bcb45
Author: hanbeom <kese111 at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Analysis/IVDescriptors.cpp
A llvm/test/Transforms/LoopVectorize/loop-legality-checks-remarks.ll
Log Message:
-----------
[IVDesc] Check loop-preheader for loop-legality when pass-remarks enabled (#166310)
When `-pass-remarks=loop-vectorize` is specified, the subsequent logic
is executed to display detailed debug messages even if no PreHeader
exists in the loop.
Therefore, an assert occurs when the `getLoopPreHeader()` function is
called. This commit resolves that issue.
Fixed: #165377
Commit: 3cd0bb7f67dca7307fc7b3956e9721da87ca32f6
https://github.com/llvm/llvm-project/commit/3cd0bb7f67dca7307fc7b3956e9721da87ca32f6
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/test/AST/ByteCode/c.c
Log Message:
-----------
[clang][bytecode] Check evaluate{String,Strlen} for pointer type (#180524)
We can only use block pointers here.
Commit: 7de4eb97d9c07d44a1460cc30b6f26fbdf77416e
https://github.com/llvm/llvm-project/commit/7de4eb97d9c07d44a1460cc30b6f26fbdf77416e
Author: Christian Sigg <csigg at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port fccbdcb.
Commit: 12ec215e8ab74510ddd6b43b8e7c0422fbc16cfb
https://github.com/llvm/llvm-project/commit/12ec215e8ab74510ddd6b43b8e7c0422fbc16cfb
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/Value.h
Log Message:
-----------
[IR] Update docstring for stripAndAccumulateConstantOffset (#180365)
Make it clear that the returned object in the case where a variable
offset is found is the first value to introduce a non-constant offset,
not necessarily the actual underlying object.
Found while investigating #180361.
Commit: 2e2167309de5d21629c0f7c769ed027f6c670e86
https://github.com/llvm/llvm-project/commit/2e2167309de5d21629c0f7c769ed027f6c670e86
Author: ShashwathiNavada <shashwathinavada at gmail.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Semantics/OpenMP/allocate_do.f90
A flang/test/Semantics/OpenMP/allocate_do1.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[OpenMP][flang] Enabling support for Allocate clause in DO construct (#180172)
Fixes [#179425](https://github.com/llvm/llvm-project/issues/179425).
Allocate clause is allowed inside DO and parallel DO constructs as per
[13.6.2](https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-6-0.pdf)
but flang seemed to throw diagnostic against the same. This patch
enables initial support for allocate clause in DO construct.
Commit: 90691641e6419c285671f183628a0e16792df43c
https://github.com/llvm/llvm-project/commit/90691641e6419c285671f183628a0e16792df43c
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
A clang/test/DebugInfo/CXX/ctor-homing-local-type.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
Log Message:
-----------
[llvm][DebugInfo] Avoid attaching retained nodes to unrelated subprograms in DIBuilder (#180294)
Fix a regression introduced by
https://github.com/llvm/llvm-project/pull/165032, where DIBuilder could
attach local metadata nodes to the wrong subprogram during finalization.
DIBuilder records freshly created local variables, labels, and types in
`DIBuilder::SubprogramTrackedNodes`, and later attaches them to their
parent subprogram's retainedNodes in `finalizeSubprogram()`.
However, a temporary local type created via
`createReplaceableCompositeType()` may later be replaced by a type with
a different scope.
DIBuilder does not currently verify that the scopes of the original and
replacement types match.
As a result, local types can be incorrectly attached to the
retainedNodes of an unrelated subprogram. This issue is observable in
clang with limited debug info mode (see
`clang/test/DebugInfo/CXX/ctor-homing-local-type.cpp`).
This patch updates `DIBuilder::finalizeSubprogram()` to verify that
tracked metadata nodes still belong to the subprogram being finalized,
and avoids adding nodes whose scopes no longer match to retainedNodes
field of an unrelated subprogram.
Commit: 94971b7c8ebd3107c9b72b47074e97144f0a5b7d
https://github.com/llvm/llvm-project/commit/94971b7c8ebd3107c9b72b47074e97144f0a5b7d
Author: Mikhail Gudim <mgudim at qti.qualcomm.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/Register.h
Log Message:
-----------
[CodeGen][NFC] Update a comment. (#180531)
Since a register can represent a negative frame index, remove
"non-negative" from the comment.
Commit: 84f4b1e52df736d4bd0bcf821c7fbe06f3534042
https://github.com/llvm/llvm-project/commit/84f4b1e52df736d4bd0bcf821c7fbe06f3534042
Author: Vishruth Thimmaiah <vishruththimmaiah at gmail.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/multiple-result-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/multiple-result-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/struct-return.ll
Log Message:
-----------
Reland "[LoopVectorize] Support vectorization of overflow intrinsics" (#180526)
Enables support for marking overflow intrinsics `uadd`, `sadd`, `usub`,
`ssub`, `umul` and `smul` as trivially vectorizable.
Fixes #174617
---
This patch is a reland of #174835.
Reverts #179819
Commit: ab2e10d80f94ae65fea253c52433b23a1050e28e
https://github.com/llvm/llvm-project/commit/ab2e10d80f94ae65fea253c52433b23a1050e28e
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.f32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.f64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.v2f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp-atomics-gfx942.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.v2f16-no-rtn.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.v2f16-rtn.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-fadd.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-fadd.v2f16.mir
Log Message:
-----------
[AMDGPU] Add legalization rules for G_ATOMICRMW_FADD (#175257)
G_ATOMICRMW_FADD is supported on flat, global and local address spaces
for S32, S64 and V2S16 values.
Commit: 091972c3543c91ce9bed76d61b6581dc19bb582f
https://github.com/llvm/llvm-project/commit/091972c3543c91ce9bed76d61b6581dc19bb582f
Author: Nathan Gauër <brioche at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
A llvm/test/CodeGen/SPIRV/pointers/sgep-array.ll
A llvm/test/CodeGen/SPIRV/pointers/sgep-class.ll
A llvm/test/CodeGen/SPIRV/pointers/sgep-dynamic-index.ll
A llvm/test/CodeGen/SPIRV/pointers/sgep-nested-struct-array.ll
A llvm/test/CodeGen/SPIRV/pointers/sgep-runtime-array.ll
A llvm/test/CodeGen/SPIRV/pointers/sgep-struct.ll
A llvm/test/CodeGen/SPIRV/pointers/sgep-vector.ll
Log Message:
-----------
[SPIR-V] initial support for @llvm.structured.gep (#178668)
This commit adds initial support to lower the intrinsinc
`@llvm.structured.gep` into proper SPIR-V.
For now, the backend continues to support both GEP formats. We might
want to revisit this at some point for the logical part.
Commit: 0a740668a4b512ee29486950474c12fac625a164
https://github.com/llvm/llvm-project/commit/0a740668a4b512ee29486950474c12fac625a164
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
A llvm/test/Transforms/InstCombine/maximumnum.ll
A llvm/test/Transforms/InstCombine/minimumnum.ll
Log Message:
-----------
[InstCombine] Support minimumnum/maximumnum (#180529)
Support minimumnum/maximumnum intrinsics in various existing
minnum/maxnum/minimum/maximum folds.
The test coverage has been copied from minnum/maxnum.
Proofs: https://alive2.llvm.org/ce/z/YMlLwO
Proofs that time out: https://alive2.llvm.org/ce/z/dJN8wj
Commit: a911fc12ec1f280203e243810de2b8acafbca4b8
https://github.com/llvm/llvm-project/commit/a911fc12ec1f280203e243810de2b8acafbca4b8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
Log Message:
-----------
[X86] Fold expand(splat,passthrough,mask) -> select(splat,passthrough,mask) (#180238)
If all elements of the expansion vector are already splatted in place then we can use a vselect directly
Commit: 47fb7cd732ffc666d2865e1a187db24f8e09ab25
https://github.com/llvm/llvm-project/commit/47fb7cd732ffc666d2865e1a187db24f8e09ab25
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/TargetParser/BUILD.gn
Log Message:
-----------
[gn build] Port da0ad392ffc6
Commit: e6c73eb0c4c38fa18450c96154228e8ea73799be
https://github.com/llvm/llvm-project/commit/e6c73eb0c4c38fa18450c96154228e8ea73799be
Author: Hristo Hristov <hristo.goshev.hristov at gmail.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M libcxx/docs/CodingGuidelines.rst
Log Message:
-----------
[libc++][docs] Update `[[nodiscard]]` coding guidelines (#178384)
as requested in
https://github.com/llvm/llvm-project/pull/176936#pullrequestreview-3706775444
Clarifies when not to apply `[[nodiscard]]`.
https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant
---------
Co-authored-by: Nikolas Klauser <nikolasklauser at berlin.de>
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: e6a72a1d42cdc605dd3c9bc3e0ee8add930b19f9
https://github.com/llvm/llvm-project/commit/e6a72a1d42cdc605dd3c9bc3e0ee8add930b19f9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rv32p.ll
Log Message:
-----------
[RISCV] Combine ADDD+WMULSU to WMACCSU (#180454)
Extend the existing combineADDDToWMACC DAG combine to also match
RISCVISD::WMULSU and produce RISCVISD::WMACCSU. This is similar to
how ADDD+UMUL_LOHI is combined to WMACCU and ADDD+SMUL_LOHI is
combined to WMACC.
This patch was generated by AI, but I reviewed it.
Commit: 7fcc12c3be0550bdcaa5305c557eee73fd719ff3
https://github.com/llvm/llvm-project/commit/7fcc12c3be0550bdcaa5305c557eee73fd719ff3
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M offload/test/lit.cfg
M offload/test/mapping/firstprivate_aligned.cpp
Log Message:
-----------
Reapply [Offload][lit] Link against SPIR-V DeviceRTL if present (#180231)
I'll merge this at the same time as some llvm-zorg changes that start
building the DeviceRTL.
We only see one new test passing because everything still fails because
of the issue described in
https://github.com/llvm/llvm-project/pull/178980
Once a fix for that issue is merged we will see many new passes.
Commit: 35efbc00bef4acec1d73c3d1789618f171f9afce
https://github.com/llvm/llvm-project/commit/35efbc00bef4acec1d73c3d1789618f171f9afce
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M flang/lib/Parser/prescan.cpp
A flang/test/Parser/OpenMP/cont-in-cond-comp.f
M flang/test/Parser/OpenMP/sentinels.f
M flang/test/Parser/continuation-in-conditional-compilation.f
Log Message:
-----------
[flang] Warn if conditional compilation statements begin with a continuation line (#179802)
In fixed source form, allow conditional compilation statements to begin
with a continuation line and emit a warning. This behavior is similar
to that of regular statements and -E mode.
Fixes #129457
Commit: d62bc3ae0ea289e586e706332a364fa2f1114778
https://github.com/llvm/llvm-project/commit/d62bc3ae0ea289e586e706332a364fa2f1114778
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Transforms/IPO/AlwaysInliner.cpp
M llvm/lib/Transforms/IPO/BarrierNoopPass.cpp
M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
M llvm/lib/Transforms/IPO/GlobalDCE.cpp
M llvm/lib/Transforms/IPO/IPO.cpp
M llvm/lib/Transforms/IPO/LoopExtractor.cpp
M llvm/tools/llc/llc.cpp
Log Message:
-----------
[NFC][LLVM][IPO] Remove pass initialization from pass constructors (#180154)
Commit: 8bbdac9e52498e773283fba48e7eb8eec03ef14c
https://github.com/llvm/llvm-project/commit/8bbdac9e52498e773283fba48e7eb8eec03ef14c
Author: Ryan Mitchell <Ryan.Mitchell at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
A llvm/test/CodeGen/MIR/AMDGPU/instr-mmra-error.mir
A llvm/test/CodeGen/MIR/AMDGPU/instr-mmra.mir
Log Message:
-----------
[MIParser] - Add support for MMRAs (#180320)
Probably just forgotten in #78569
Commit: cc7292056683f592c33055bb6456d509201654ec
https://github.com/llvm/llvm-project/commit/cc7292056683f592c33055bb6456d509201654ec
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
M lldb/test/API/functionalities/tsan/thread_leak/TestTsanThreadLeak.py
M lldb/test/API/functionalities/tsan/thread_numbers/TestTsanThreadNumbers.py
Log Message:
-----------
[lldb] Fix TSan report on Linux (#179115)
Linux uses 0 for `RTLD_DEFAULT` opposite to macOS and BSD systems (they
use -2).
Commit: 0040bdf5322a0acca5e9c40e06d8031bf6d7d10d
https://github.com/llvm/llvm-project/commit/0040bdf5322a0acca5e9c40e06d8031bf6d7d10d
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.swap.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.atomic.swap.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.swap.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.atomic.swap.ll
Log Message:
-----------
AMDGPU/GlobalISel: Regbanklegalize rules for buffer atomic swap (#180265)
Commit: b6ee085068972a41f3b2735a9f7e3ca48eab0f00
https://github.com/llvm/llvm-project/commit/b6ee085068972a41f3b2735a9f7e3ca48eab0f00
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M .github/workflows/release-documentation.yml
M .github/workflows/release-tasks.yml
Log Message:
-----------
workflows/release-task: Use less privileged token for uploading release notes (#180299)
We were using one token for both pushing to the llvmbot fork and for
creating a pull request against the www-releases repository, since the
fork and the repository have different owners, we were using a classic
access token which has very coarse-grained permissions. By using two
separate tokens, we limit the permissions to just what we need to do the
task.
Also, at the same time run the release-documentation job in an
environment, so we can limit the accessiblity to these secrets.
Commit: 404f9e6c993cb26fff1888f943284f1f6e86adc0
https://github.com/llvm/llvm-project/commit/404f9e6c993cb26fff1888f943284f1f6e86adc0
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sffbh.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for amdgcn_sffbh (#180099)
Change test to use update_llc_test_checks.py and make `v_flbit` test
actually divergent.
Commit: 77cb6660781eccdd0856c77dda8d6bf49c350397
https://github.com/llvm/llvm-project/commit/77cb6660781eccdd0856c77dda8d6bf49c350397
Author: John Brawn <john.brawn at arm.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/test/CodeGen/AArch64/ldst-opt.mir
Log Message:
-----------
[AArch64] Add support for B and H loads/stores in LoadStoreOptimizer (#180535)
This means the load/store optimizer can generate pre and post increment
versions of these instructions.
Commit: a29f0dd09680fbf7c24aa182c87f51cf4b93e21d
https://github.com/llvm/llvm-project/commit/a29f0dd09680fbf7c24aa182c87f51cf4b93e21d
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/docs/CommandGuide/index.rst
A llvm/docs/CommandGuide/llubi.rst
M llvm/test/CMakeLists.txt
M llvm/test/lit.cfg.py
A llvm/test/tools/llubi/main.ll
A llvm/test/tools/llubi/main2.ll
A llvm/test/tools/llubi/poison.ll
A llvm/tools/llubi/CMakeLists.txt
A llvm/tools/llubi/lib/CMakeLists.txt
A llvm/tools/llubi/lib/Context.cpp
A llvm/tools/llubi/lib/Context.h
A llvm/tools/llubi/lib/Interpreter.cpp
A llvm/tools/llubi/lib/Value.cpp
A llvm/tools/llubi/lib/Value.h
A llvm/tools/llubi/llubi.cpp
Log Message:
-----------
[llubi] Add initial support for llubi (#180022)
This patch implements the initial support for upstreaming
[llubi](https://github.com/dtcxzyw/llvm-ub-aware-interpreter). It only
provides the minimal functionality to run a simple main function. I hope
we can focus on the interface design in this PR, rather than trivial
implementations for each instruction.
RFC link:
https://discourse.llvm.org/t/rfc-upstreaming-llvm-ub-aware-interpreter/89645
Excluding the driver `llubi.cpp`, this patch contains three components
for better decoupling:
+ `Value.h/cpp`: Value representation
+ `Context.h/cpp`: Global state management (e.g., memory) and
interpreter configuration
+ `Interpreter.cpp`: The main interpreter loop
Compared to the out-of-tree version, the major differences are listed
below:
+ The interpreter logic always returns the control to its caller, i.e.,
it never calls `exit/abort` when immediate UBs are triggered.
+ `EventHandler` provides an interface to dump the trace. It also allows
callers to inspect the actual value and verify the correctness of
analysis passes (e.g, KnownBits/SCEV).
+ The context is designed to be reentrant. That is, you can call
`runFunction` multiple times. But its usefulness remains in doubt due to
side effects made by previous calls.
+ `runFunction` handles function calls with a loop, instead of calling
itself recursively. This makes it no longer bounded by the stack depth.
+ Uninitialized memory is planned to be approximated by returning random
values each time an uninitialized byte is loaded.
Commit: 9ab3e3312ddd07eefd009eca4fe4d14a49e9f47e
https://github.com/llvm/llvm-project/commit/9ab3e3312ddd07eefd009eca4fe4d14a49e9f47e
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Transforms/IPO/AlwaysInliner.cpp
M llvm/lib/Transforms/IPO/BarrierNoopPass.cpp
M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
M llvm/lib/Transforms/IPO/GlobalDCE.cpp
M llvm/lib/Transforms/IPO/IPO.cpp
M llvm/lib/Transforms/IPO/LoopExtractor.cpp
M llvm/tools/llc/llc.cpp
Log Message:
-----------
Revert "[NFC][LLVM][IPO] Remove pass initialization from pass constructors" (#180571)
Reverts llvm/llvm-project#180154
It seems to cause llc build failures, likely due to missing `ipo`
dependency.
Commit: d34d19d987f46c98c03dfdd059976469faadb402
https://github.com/llvm/llvm-project/commit/d34d19d987f46c98c03dfdd059976469faadb402
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
Log Message:
-----------
[NFC] [FlowSensitive] [StatusOr] Add tests for pointer receivers
Reviewers: jvoung
Reviewed By: jvoung
Pull Request: https://github.com/llvm/llvm-project/pull/180079
Commit: bc884a0feab579ef56cf1faa0a5b1df9023304e2
https://github.com/llvm/llvm-project/commit/bc884a0feab579ef56cf1faa0a5b1df9023304e2
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
Log Message:
-----------
[NFC] [FlowSensitive] [StatusOr] Add test for StatusOr nested in optional
Reviewers: jvoung
Reviewed By: jvoung
Pull Request: https://github.com/llvm/llvm-project/pull/180082
Commit: 839676bef18649adacb3de8b44d4f596aaa0da58
https://github.com/llvm/llvm-project/commit/839676bef18649adacb3de8b44d4f596aaa0da58
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M compiler-rt/lib/asan/asan_allocator.cpp
M compiler-rt/lib/asan/asan_allocator.h
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_dlsym.h
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_internal.h
A compiler-rt/test/asan/TestCases/AIX/vec_malloc_calloc.cpp
Log Message:
-----------
[asan][AIX] Add vec_malloc and vec_calloc interceptors (#175584)
On AIX, when both the `__VEC__` and `_ALL_SOURCE` macros are defined
(they are defined by default), the malloc and calloc system calls are
mapped to vec_malloc and vec_calloc respectively, so we need the
following vec_malloc and vec_calloc interceptors.
Issue: #138916
Commit: f7e2e4d2175e4517b304bd40caa5c82701b4c013
https://github.com/llvm/llvm-project/commit/f7e2e4d2175e4517b304bd40caa5c82701b4c013
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
Log Message:
-----------
[NFC] [FlowSensitive] [StatusOr] Add test reassigning variable in loop
Reviewers: jvoung
Reviewed By: jvoung
Pull Request: https://github.com/llvm/llvm-project/pull/180091
Commit: 352932c1b4950cff324e4bdb41e89b9cf3863797
https://github.com/llvm/llvm-project/commit/352932c1b4950cff324e4bdb41e89b9cf3863797
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M lldb/include/lldb/Host/windows/ProcessLauncherWindows.h
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
Log Message:
-----------
[NFC][lldb][windows] extract the UpdateProcThreadAttribute logic (#180565)
This NFC patch extracts the `UpdateProcThreadAttribute` logic to a
dedicated method be able to reuse it in
https://github.com/llvm/llvm-project/pull/180561.
Commit: 1bfa71743b0803e00a1aad15722cc78771453481
https://github.com/llvm/llvm-project/commit/1bfa71743b0803e00a1aad15722cc78771453481
Author: Koakuma <koachan at protonmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/Sparc/CMakeLists.txt
M llvm/lib/Target/Sparc/SparcTargetMachine.cpp
M llvm/lib/Target/Sparc/SparcTargetMachine.h
A llvm/lib/Target/Sparc/SparcTargetTransformInfo.cpp
A llvm/lib/Target/Sparc/SparcTargetTransformInfo.h
A llvm/test/Transforms/LoopIdiom/Sparc/lit.local.cfg
A llvm/test/Transforms/LoopIdiom/Sparc/popcnt.ll
Log Message:
-----------
[SPARC] Add TTI implementation for getPopcntSupport (#178843)
This is to inform the middle-end transform passes about the capabilities
of the codegen backend.
This should solve the issue where popcount loops not gets converted
properly to `popc`, even if it's available
(https://github.com/llvm/llvm-project/issues/171969).
Commit: cd47ae9f8ff9afa46209806e94bfadb0056049c5
https://github.com/llvm/llvm-project/commit/cd47ae9f8ff9afa46209806e94bfadb0056049c5
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M compiler-rt/test/profile/instrprof-binary-correlate.c
M llvm/include/llvm/ProfileData/InstrProfCorrelator.h
M llvm/lib/ProfileData/InstrProfCorrelator.cpp
Log Message:
-----------
[Profile] Enable binary profile correlation for Mach-O binaries (#179937)
The existing ELF/COFF correlation code mostly "just works" on Mach-O
files, with one gotcha: on disk, the pointers in `__llvm_covdata` are
stored in an encoded format due to dyld fixup chains. (In memory, they
would normally be fixed up at load time in a running binary, but the
correlator only looks at the on-disk values.)
LLVM's Mach-O reader knows how to decode the format, so this patch walks
the fixup table to create a set of mappings that the correlator can use
to resolve the values.
rdar://168259786
Commit: be711a08b3f4fb8360cb660d6ab2a6816cb4de7d
https://github.com/llvm/llvm-project/commit/be711a08b3f4fb8360cb660d6ab2a6816cb4de7d
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
Log Message:
-----------
[lldb][windows] remove unneeded DeleteProcThreadAttributeList call (#180579)
Remove an unneeded call to `DeleteProcThreadAttributeList`, which is
already done in the `ProcThreadAttributeList` destructor.
Commit: 1d5884d7cffbee85b695970ee64d3965729f5a74
https://github.com/llvm/llvm-project/commit/1d5884d7cffbee85b695970ee64d3965729f5a74
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/breakpoint-events/Makefile
M lldb/test/API/tools/lldb-dap/breakpoint-events/TestDAP_breakpointEvents.py
M lldb/test/API/tools/lldb-dap/breakpoint-events/foo.cpp
Log Message:
-----------
[lldb-dap] Fix the breakpoint events test. (#180518)
Previously the test was written in a way that may be flaky, fixed with
the following changes.
- The breakpoint are placed on functions and set during the
configuration stage of the protocol.
- Add the rpath to the test binary.
- Check we also hit the breakpoint we set directly using lldb.
Commit: 48f53422fe7f627fcdace90bd7c3c5ee056bc0a6
https://github.com/llvm/llvm-project/commit/48f53422fe7f627fcdace90bd7c3c5ee056bc0a6
Author: Christian Sigg <csigg at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/build_defs.bzl
Log Message:
-----------
[bazel] Slight polish after ef68a53.
Commit: 80677dc5e00c16e55dc29fce93867a77467b25ea
https://github.com/llvm/llvm-project/commit/80677dc5e00c16e55dc29fce93867a77467b25ea
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/test/CodeGen/AArch64/neon-intrinsics.c
A clang/test/CodeGen/AArch64/neon/intrinsics.c
M clang/test/lit.cfg.py
Log Message:
-----------
[CIR][NEON] Add lowering support for `vceqzd_s64` (#179779)
Rather than creating a dedicated ClangIR test file, the original test file for
this intrinsic is effectively reused:
* clang/test/CodeGen/AArch64/neon-intrinsics.c
“Effectively” meaning that the corresponding test is moved (rather than
literally reused) to a new file within the original AArch64 builtins test
directory:
* clang/test/CodeGen/AArch64/neon/intrinsics.c
This is necessary to avoid lowering unsupported examples from intrinsics.c with
`-fclangir`. The new file will eventually replace the original one once all
builtins from it can be lowered via ClangIR.
To facilitate test re-use, new LIT "feature" is added so that CIR tests can be
run conditionally, e.g. the following will only run when `CLANG_ENABLE_CIR` is
set:
```C
// RUN: %if cir %{%clang_cc1 ... %}
```
This sort of substitutions are documented in [2].
REFERENCES:
[1] https://developer.arm.com/architectures/instruction-sets/intrinsics/#f:@navigationhierarchiessimdisa=[Neon]&q=vceqzd_s64
[2] https://llvm.org/docs/TestingGuide.html#substitutions
Commit: 74c8891c9afe4bd836ab385f4489b1ede5c28a0e
https://github.com/llvm/llvm-project/commit/74c8891c9afe4bd836ab385f4489b1ede5c28a0e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
M lldb/test/API/functionalities/tsan/thread_leak/TestTsanThreadLeak.py
M lldb/test/API/functionalities/tsan/thread_numbers/TestTsanThreadNumbers.py
Log Message:
-----------
Revert "[lldb] Fix TSan report on Linux (#179115)"
This reverts commit cc7292056683f592c33055bb6456d509201654ec.
This patch causes two tests to unexpectedly pass:
1. lldb-api.functionalities/tsan/cpp_global_location/TestTsanCPPGlobalLocation.py
2. lldb-api.functionalities/tsan/global_location/TestTsanGlobalLocation.py
Reverting to fix premerge. Not fixing forward so someone who is familiar
with LLDB can take a look and make sure those tests now should pass.
Commit: 20d3aa944fb5cdbeb7e855fcd0800abd6d4a7842
https://github.com/llvm/llvm-project/commit/20d3aa944fb5cdbeb7e855fcd0800abd6d4a7842
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Target.h
M lld/ELF/Writer.cpp
Log Message:
-----------
[NFC][ELF] Remove redundant and unused file argument from deleteFallThruJmpInsn (#180540)
This was added in 94317878d826 ("LLD Support for Basic Block Sections")
and was only ever used for getRelocTargetVA. It was always redundant
even back then, as it was always the same as is.file, and so passing it
separately made it confusing and less obvious which file it was
referring to, but 2b5cb1bf628f ("[ELF] getRelocTargetVA: pass Ctx and
Relocation. NFC") removed that one use so it is now completely unused.
Remove it, and if anyone ever finds a need for it, they can just use
is.file like should have been done in the first place.
Commit: d1dc843c18a670ec4fce747b92401faaf95b01ba
https://github.com/llvm/llvm-project/commit/d1dc843c18a670ec4fce747b92401faaf95b01ba
Author: Gheorghe-Teodor Bercea <doru.bercea at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/test/CodeGen/AMDGPU/loop-vector-sink.ll
M llvm/test/CodeGen/AMDGPU/undef-handling-crash-in-ra.ll
Log Message:
-----------
[AMDGPU] Enable sinking of free vector ops that will be folded into their uses (#162580)
Sinking ShuffleVectors / ExtractElement / InsertElement into user blocks
can help enable SDAG combines by providing visibility to the values
instead of emitting CopyTo/FromRegs. The sink IR pass disables sinking
into loops, so this PR extends the CodeGenPrepare target hook
shouldSinkOperands.
Co-authored-by: Jeffrey Byrnes <Jeffrey.Byrnes at amd.com>
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: afd53ae84b49a2644f0e76d1aa9001cf6e17e528
https://github.com/llvm/llvm-project/commit/afd53ae84b49a2644f0e76d1aa9001cf6e17e528
Author: Christian Sigg <csigg at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix layering checks
Commit: 61c24328fcc5a59bec9b98a9471cfb2b87dfe639
https://github.com/llvm/llvm-project/commit/61c24328fcc5a59bec9b98a9471cfb2b87dfe639
Author: Christian Sigg <csigg at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix llvm reference
Commit: 754fc78d713285855e2a45225ec2b8b4f51e7ff9
https://github.com/llvm/llvm-project/commit/754fc78d713285855e2a45225ec2b8b4f51e7ff9
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Transforms/IPO/ForceFunctionAttrs.cpp
M llvm/test/Transforms/ForcedFunctionAttrs/forced.ll
Log Message:
-----------
[ForceFunctionAttrs] Fix handling of `alwaysinline` and `noinline` attributes. (#180026)
Address
https://github.com/llvm/llvm-project/pull/152365#issuecomment-3198921342
Commit: 87d73f74713039cacf9d174a9d74de0db8eccb8b
https://github.com/llvm/llvm-project/commit/87d73f74713039cacf9d174a9d74de0db8eccb8b
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
A llvm/test/MC/Hexagon/newvalue_jump_ext_imm.s
Log Message:
-----------
[Hexagon] Fix encoding of packets with fixups followed by alignment (#179168)
When a packet containing extended immediates and new-value compare-jump
instructions with fixups was followed by a .p2align directive, we would
incorrectly add nops to the packet. After reshuffling, the fixup offsets
would become invalid, causing corrupted encodings.
Fixes round-trip assembly for patterns like:
{
r18 = ##65536
if (!cmp.gtu(r1,r18.new)) jump:t .L1
}
.p2align 4
Commit: 1d1a34ff3e57ae55fe82acb91b1391a04162556c
https://github.com/llvm/llvm-project/commit/1d1a34ff3e57ae55fe82acb91b1391a04162556c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[TargetLowering] Avoid creating a VTList until we know we need it. NFC (#180599)
Since I was in the area, also use SDValue::getValue() to shorten getting
result 1.
Commit: 55d75d2a1fc10a2975795a4656273b464c6ba3be
https://github.com/llvm/llvm-project/commit/55d75d2a1fc10a2975795a4656273b464c6ba3be
Author: Alex Langford <alangford at apple.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M lldb/source/Commands/Options.td
Log Message:
-----------
[lldb][NFC] Fix typo in memory read help text (#180301)
rdar://168081328
Commit: 62d018b87a161bb2797c1ed03a482ffcdc8b162c
https://github.com/llvm/llvm-project/commit/62d018b87a161bb2797c1ed03a482ffcdc8b162c
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M lld/ELF/Arch/Hexagon.cpp
M lld/test/ELF/hexagon-tls-ie.s
Log Message:
-----------
[lld][Hexagon] Fix R_HEX_TPREL_11_X relocation on duplex instructions (#179860)
findMaskR11() was missing handling for duplex instructions. This caused
incorrect encoding when R_HEX_TPREL_11_X relocations were applied to
duplex instructions with large TLS offsets.
For duplex instructions, the immediate bits are located at positions
20-25 (mask 0x03f00000), not in the standard positions used for
non-duplex instructions.
This fix adds the isDuplex() check to findMaskR11() to return the
correct mask for duplex instruction encodings.
Commit: 2e34fecf02962e4c8477ca88cc5ac9386a0f76bb
https://github.com/llvm/llvm-project/commit/2e34fecf02962e4c8477ca88cc5ac9386a0f76bb
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Transforms/IPO/AlwaysInliner.cpp
M llvm/lib/Transforms/IPO/BarrierNoopPass.cpp
M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
M llvm/lib/Transforms/IPO/GlobalDCE.cpp
M llvm/lib/Transforms/IPO/IPO.cpp
M llvm/lib/Transforms/IPO/LoopExtractor.cpp
M llvm/tools/llc/CMakeLists.txt
M llvm/tools/llc/llc.cpp
Log Message:
-----------
[NFC][LLVM][IPO] Remove pass initialization from pass constructors (#180584)
Commit: 8ee6c63f24a1fb7fb0537fee80456d329306af45
https://github.com/llvm/llvm-project/commit/8ee6c63f24a1fb7fb0537fee80456d329306af45
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M flang-rt/lib/runtime/CMakeLists.txt
Log Message:
-----------
[offload][flang-rt] Fix NVPTX runtime build (#180530)
During the check for availability of `strerror_r`, the host include file is used. This doesn't matter for AMDGPU since it actually performs the link step during `check_cxx_symbol_exists`. But for NVPTX, due to `-c`, it doesn't link and then incorrectly assumes that the symbol exists.
For now, removing `io-error.cpp` from the list of GPU sources is the most sensible option since it's unused.
Commit: 8418c4196d5c5a60003b0f19257dfef2ffbe008e
https://github.com/llvm/llvm-project/commit/8418c4196d5c5a60003b0f19257dfef2ffbe008e
Author: GkvJwa <gkvjwa at gmail.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
M clang/test/CodeGenCXX/exceptions-seh.cpp
Log Message:
-----------
[WinEH] Check object unwinding in seh block only when -eha is used (#180108)
After this [PR](https://github.com/llvm/llvm-project/pull/172287), build
errors may occur even when `/EHa` is not enabled(like use `/EHsc`).
While MSVC performs similar checks whenever exceptions are enabled, LLVM
is more prone to generating invalid code where SEH fails to function
correctly when asyn exceptions(`/EHa`) are not used. Valid SEH code
generation is typically only ensured when `/EHa` are enabled. Therefore,
this patch is designed to perform the check only when `/EHa` is used.
Of course, on Windows, if LLVM doesn't use `/EHa` but uses `/EHsc` or
`/EHs` instead the code within the `__except` block may behave
unexpectedly, it unlike msvc. This is consistent with previous LLVM
versions.
Commit: 4136d3f24896cd666e32ed97ec4191344d5fe898
https://github.com/llvm/llvm-project/commit/4136d3f24896cd666e32ed97ec4191344d5fe898
Author: Alexey Merzlyakov <60094858+AlexeyMerzlyakov at users.noreply.github.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/inline-asm-nop-reg.ll
Log Message:
-----------
[AArch64] Inline asm v0-v31 are scalar when having less than 64-bit capacity (#169930)
If 32-bit (or less) "v0" registers coming from inline asm are treated as
vector ones, codegen might produce incorrect vector<->scalar
conversions. This causes types mismatch assertion failures later during
compile-time. The fix treats 32-bit or less v0-v31 AArch64 registers as
scalar, along with 64-bit ones.
Fixes #153442
Commit: 470c5ca81c2a86715dbb68d6140070d08d0fdf4b
https://github.com/llvm/llvm-project/commit/470c5ca81c2a86715dbb68d6140070d08d0fdf4b
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
Log Message:
-----------
[MLIR][XeGPU] Fix insert_strided_slice op in subgroup distribution (#180604)
The PR modifies the subgroup distribution pass to only sink
insert_strided_slice operation if it becomes the last op before yield.
It avoids sinking insert_strided_slice multiple times and cause
potential issue in worst case.
Commit: cba0e6ad8e888c517133b4128fe3f767d2f86a63
https://github.com/llvm/llvm-project/commit/cba0e6ad8e888c517133b4128fe3f767d2f86a63
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUTypes.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
Log Message:
-----------
[mlir][AMDGPU] Change width of LDS barrier count (#180554)
Whoops, turns out I was off by 1 on how many bits are in the counts and
phases ind these new LDS barriers. This commit fixes this.
Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
Commit: fbed673f5238f219e43af0f88802d5422a77218b
https://github.com/llvm/llvm-project/commit/fbed673f5238f219e43af0f88802d5422a77218b
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
M mlir/test/Dialect/AMDGPU/invalid.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
Log Message:
-----------
[mlir][amdgpu] Update TDM ops to use the new barrier type, improve docs (#180572)
Now that we have an AMDGPU dialect type for the in-LDS barriers that the
tensor data mover can automatically visit, update the definition of the
tensor descriptor operations to use said types and document the behavior
of the barrier.
Commit: 37c3241d23950d73f329cb5bef838d3c396b2c64
https://github.com/llvm/llvm-project/commit/37c3241d23950d73f329cb5bef838d3c396b2c64
Author: HighW4y2H3ll <zhenghaohuu at gmail.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/include/llvm/ProfileData/SampleProf.h
Log Message:
-----------
[SPGO] Use std::hash instead of MD5 to avoid run time regression in llvm-profgen (#180581)
https://github.com/llvm/llvm-project/pull/66164 changed the hashing in
`SampleContextFrame` from `std::hash` to `MD5` in a very hot function
(ContextTrieNode::getOrCrateChildContext()) in llvm-profgen. This
creates over 2x run time regression when running llvm-profgen with
csspgo preinliner enabled, since the MD5 computation is tripled
comparing to the Murmur hash in the std library. An llvm-profgen run
time comparison shows follows:
```
$ time llvm-profgen -binary $BINARY--perfscript $SAMPLES --populate-profile-symbol-list --show-density --output=XXX
# MD5 hash
real 105m31.644s
user 104m51.334s
sys 0m35.033s
# std::hash
real 46m0.340s
user 45m17.998s
sys 0m38.420s
```
Can confirm that this patch recovers the run time regression in
llvm-profgen, and the perf testing in our internal services shows
neutral.
Commit: 8f37bf6b10e11b81032a16be711c58dda9fa0d8e
https://github.com/llvm/llvm-project/commit/8f37bf6b10e11b81032a16be711c58dda9fa0d8e
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/test/Sema/format-strings.c
Log Message:
-----------
[Sema] Fix format-strings test on AIX (#180566)
Simplify the conditional compilation and skip the problematic warnings
only on 32-bit Arm.
Commit: 0e7ddf395a12e0201ed0ca7131439c2fd355a72a
https://github.com/llvm/llvm-project/commit/0e7ddf395a12e0201ed0ca7131439c2fd355a72a
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/local-variables-1.f90
A flang/test/Semantics/OpenMP/local-variables-2.f90
R flang/test/Semantics/OpenMP/local-variables.f90
Log Message:
-----------
[flang][OpenMP] Improve locality check when determining DSA (#180583)
Follow-up to https://github.com/llvm/llvm-project/pull/178739.
The locality check assumed that immediately after the initial symbol
resolution (i.e. prior to the OpenMP code in resolve-directives.cpp),
the scope that owns a given symbol is the scope which owns the symbol's
storage. Turns out that this isn't necessarily true as illustrated by
the included testcase, roughly something like:
```
program main
integer :: j ! host j (storage-owning)
contains
subroutine f
!$omp parallel ! scope that owns j, but j is host-associated
do j = ...
end do
!$omp end parallel
end
end program
```
In such cases, the locality should be checked for the symbol that owns
storage, i.e. a clone of the symbol that is has been privatized or a
symbol that is not host- or use-associated. This is similar to obtaning
the ultimate symbol (i.e. from the end of association chain), except the
chain traversal would stop at a privatized symbol, potentially before
reaching the end.
This fixes a few regressions in the Fujitsu test suite:
Fujitsu/Fortran/0160/Fujitsu-Fortran-0160_0000.test
Fujitsu/Fortran/0160/Fujitsu-Fortran-0160_0012.test
Fujitsu/Fortran/0160/Fujitsu-Fortran-0160_0013.test
Fujitsu/Fortran/0660/Fujitsu-Fortran-0660_0096.test
Fujitsu/Fortran/0660/Fujitsu-Fortran-0660_0097.test
Fujitsu/Fortran/1052/Fujitsu-Fortran-1052_0108.test
Fujitsu/Fortran/1052/Fujitsu-Fortran-1052_0112.test
Commit: 009cad89726673464bc5a2255e072c3b4825f6db
https://github.com/llvm/llvm-project/commit/009cad89726673464bc5a2255e072c3b4825f6db
Author: Rohan Jacob-Rao <rohanjr at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/docs/SafeBuffers.rst
Log Message:
-----------
[NFC][Clang][SafeBuffers] Correct naming (sz -> size). (#180629)
Commit: f0ca8fa685c34e8abfd5d9b071f74795b6ae33a6
https://github.com/llvm/llvm-project/commit/f0ca8fa685c34e8abfd5d9b071f74795b6ae33a6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[CI] Add compiler-rt to LLDB runtime dependencies (#180590)
Some LLDB tests will only run if compiler-rt is built. This includes at
least two tsan tests that passed in a PR (#179115) but then failed on
other PRs that included compiler-rt in the build.
Commit: d1ec04dfd40b4ccfaddb897ddc9599ed35f2b563
https://github.com/llvm/llvm-project/commit/d1ec04dfd40b4ccfaddb897ddc9599ed35f2b563
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
M llvm/test/Transforms/LoopVectorize/outer-loop-inner-latch-successors.ll
M llvm/test/Transforms/LoopVectorize/outer-loop-wide-phis.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_test2.ll
M llvm/test/Transforms/LoopVectorize/vplan-vectorize-inner-loop-reduction.ll
M llvm/test/Transforms/LoopVectorize/vplan-widen-call-instruction.ll
Log Message:
-----------
[VPlan] Simplify single-entry VPWidenPHIRecipe.
Include VPWidenPHIRecipe in phi simplification if there's a single
incoming value.
Commit: e624d5088d57eff4ec0fd1e8c3122541b81e1aa0
https://github.com/llvm/llvm-project/commit/e624d5088d57eff4ec0fd1e8c3122541b81e1aa0
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M .github/workflows/release-tasks.yml
Log Message:
-----------
[Github] Add runs-on to release-tasks.yml
This was failing validation against main and sending everyone emails.
Try adding the fix that was suggested in the workflow run.
Commit: c1059b209aa81bdf52b596b320a10077c0cddeb4
https://github.com/llvm/llvm-project/commit/c1059b209aa81bdf52b596b320a10077c0cddeb4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M .github/workflows/release-documentation.yml
M .github/workflows/release-tasks.yml
Log Message:
-----------
Revert "workflows/release-task: Use less privileged token for uploading release notes (#180299)"
This reverts commit b6ee085068972a41f3b2735a9f7e3ca48eab0f00.
This reverts commit e624d5088d57eff4ec0fd1e8c3122541b81e1aa0.
This was causing failures like the following:
https://github.com/llvm/llvm-project/actions/runs/21842945533. The
follow up fix is also reverted as it did not actually fix the issue.
Commit: e1d2ff6caf8c1fef15561fbcc275aa93fec4c115
https://github.com/llvm/llvm-project/commit/e1d2ff6caf8c1fef15561fbcc275aa93fec4c115
Author: Steven Perron <stevenperron at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/test/CodeGen/SPIRV/hlsl-resources/Sample.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/Sample1D.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/Sample3D.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/SampleBias.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/SampleCmp.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/SampleCmpLevelZero.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/SampleCube.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/SampleErrors.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/SampleErrorsDebug.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/SampleGrad.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/SampleLevel.ll
Log Message:
-----------
[SPIRV] Implement lowering for HLSL Texture2D sampling intrinsics (#179312)
This patch implements the SPIR-V lowering for the following HLSL
intrinsics:
- SampleBias
- SampleGrad
- SampleLevel
- SampleCmp
- SampleCmpLevelZero
It defines the required LLVM intrinsics in 'IntrinsicsDirectX.td' and
'IntrinsicsSPIRV.td'.
It updates 'SPIRVInstructionSelector.cpp' to handle the new intrinsics
and
generates the correct 'OpImageSample*' instructions with the required
operands
(Bias, Grad, Lod, ConstOffset, MinLod, etc.).
CodeGen tests are added to verify the implementation for images with
dimension 1D, 2D, 3D, and Cube.
Assisted-by: Gemini
Commit: a9ea1cfe6ebf63fa523803d9fb7efc09148731bb
https://github.com/llvm/llvm-project/commit/a9ea1cfe6ebf63fa523803d9fb7efc09148731bb
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M lld/test/wasm/data-layout.s
M lld/test/wasm/export-all.s
M lld/test/wasm/mutable-global-exports.s
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
M lld/wasm/Writer.cpp
Log Message:
-----------
[lld][WebAssembly] Add new __rodata_start/__rodata_end symbols (#172102)
This is similar to etext/_etext in the ELF linker. Its useful in
emscripten to know where the RO data data ends and the data begins (even
though the Wasm format itself has no concept of RO data).
See
https://github.com/emscripten-core/emscripten/discussions/25939#discussioncomment-15243731
Commit: 815cf3bf14836031c5c8ad5d3cd9be8720b64981
https://github.com/llvm/llvm-project/commit/815cf3bf14836031c5c8ad5d3cd9be8720b64981
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/include/clang/Lex/PPCallbacks.h
M clang/lib/Frontend/CompilerInstance.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
Log Message:
-----------
[clang][modules] Add single-module-parse-mode callback (#179714)
This PR adds new preprocessor callback that's invoked whenever the
single-module-parse-mode skips over a module import. This will be used
later on from the dependency scanner.
Commit: d69ccf3b34e7ca8fa42e4c078f026b6e898e2c90
https://github.com/llvm/llvm-project/commit/d69ccf3b34e7ca8fa42e4c078f026b6e898e2c90
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-merge.ll
Log Message:
-----------
[RISCV] Combine shuffle of shuffles to a single shuffle (#178095)
Compressing to a single shuffle doesn't remove any information and the backend can better apply specific optimizations to a single shuffle.
Addresses #176218.
---------
Co-authored-by: Luke Lau <luke_lau at igalia.com>
Commit: bf91c0969b55e40e75ed93a74a5672d95262ba79
https://github.com/llvm/llvm-project/commit/bf91c0969b55e40e75ed93a74a5672d95262ba79
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M libcxx/utils/ci/BOT_OWNERS.txt
Log Message:
-----------
[libc++] Add myself as a FreeBSD point of contact
Commit: ccd93180e0f8067cd43551adaa4296b64ca43992
https://github.com/llvm/llvm-project/commit/ccd93180e0f8067cd43551adaa4296b64ca43992
Author: Jhalak Patel <jhalakpatel at outlook.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/test/Dialect/SCF/trip_count.mlir
Log Message:
-----------
[MLIR][Utils] Fix overflow in constantTripCount for narrow types (#179985)
Extend operands when computing ub - lb to avoid overflow in signed
arithmetic. E.g., i8: ub=127, lb=-128 yields 255, which overflows
without extension.
Commit: 2b9a1aee5aa1c032e030cdeaea3e912275f3b819
https://github.com/llvm/llvm-project/commit/2b9a1aee5aa1c032e030cdeaea3e912275f3b819
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-with-invariant-stores.ll
M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
Log Message:
-----------
[LV] Add additional tests for reductions with intermediate stores. (NFC)
Adds missing test coverage for reductions with intermediate stores,
including partial reductions with intermediate stores, as well as
chained min/max reductions with intermediate stores.
Commit: d53272fad40a4602609a74a3b4da1519bce008bf
https://github.com/llvm/llvm-project/commit/d53272fad40a4602609a74a3b4da1519bce008bf
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M libc/config/baremetal/config.json
M libc/src/__support/str_to_float.h
Log Message:
-----------
[libc] Disable Clinger fast path for baremetal (#180598)
Clinger fast path bloats baremetal targets which are constrained in
binary size. Disabling it for baremetal libc builds.
Commit: 5d57c40043be8b1cb73466d3f53193025f26d717
https://github.com/llvm/llvm-project/commit/5d57c40043be8b1cb73466d3f53193025f26d717
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/driver.bzl
Log Message:
-----------
[bazel] Fix multicall tool invocation disambiguation (#180607)
The code seems to have considered the potential problem but did not
quite succeed in solving it ;)
Commit: 06cffa5ee37749b758b4c306f4c2c7e70f6ef962
https://github.com/llvm/llvm-project/commit/06cffa5ee37749b758b4c306f4c2c7e70f6ef962
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
M llvm/test/Transforms/LoopVectorize/vplan-unused-interleave-group.ll
M llvm/test/Transforms/LoopVectorize/vplan-widen-struct-return.ll
Log Message:
-----------
[VPlan] Auto-generate CHECKs in some VPlan printing tests.
Use new UTC support to re-generate check lines.
Commit: 5339ad943a5dafd4d7df29bafb50511947a23a6f
https://github.com/llvm/llvm-project/commit/5339ad943a5dafd4d7df29bafb50511947a23a6f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/test/MC/RISCV/rv64p-valid.s
Log Message:
-----------
[RISCV] Add missing instruction tests to rv64p-valid.s. NFC (#180316)
An AI told me these were missing and helped me add them.
Commit: 0c94a1814f41495aef10735a5af2e10aa8d6affe
https://github.com/llvm/llvm-project/commit/0c94a1814f41495aef10735a5af2e10aa8d6affe
Author: HighW4y2H3ll <zhenghaohuu at gmail.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Bazel] NFC refactor out redundant is_x86_64_non_windows config (#180296)
The logic of `is_x86_64_non_windows` looks unnecessarily complicated and
is only used at one site... clean up the unused targets and refactor
x86_64 BLAKE3 asm sources into a separate filegroup. And then
`is_x86_64_non_windows` can be put inside a default condition.
Commit: 68d4175cc15ecea2be8b778066824dc5a90fb1a3
https://github.com/llvm/llvm-project/commit/68d4175cc15ecea2be8b778066824dc5a90fb1a3
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/find-last-sink-based-iv-expr.ll
Log Message:
-----------
[LV] Add FindLast tests where IV-based expression could be sunk. (NFC)
Add set of FindLast tests where the selected expression is based on an
IV and could be sunk.
Commit: 853a39043e009cb35c6189818f883470742de9d7
https://github.com/llvm/llvm-project/commit/853a39043e009cb35c6189818f883470742de9d7
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64CallingConvention.td
M llvm/test/CodeGen/AArch64/cfguard-checks.ll
Log Message:
-----------
[win][aarch64] The Windows Control Flow Guard Check function also preserves X15 (#179738)
The target function to be checked by the Control Flow Guard Check
function is stored in `X15` on AArch64. This register is guaranteed to
be preserved by that function (on success), thus after it returns `X15`
can be used to branch to the target function instead of having to load
it from another register or the stack.
Commit: 19705bd7fc60e9d6756ea375714d687c138949ea
https://github.com/llvm/llvm-project/commit/19705bd7fc60e9d6756ea375714d687c138949ea
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/test/CodeGen/SPIRV/extensions/SPV_ALTERA_arbitrary_precision_integers/apint-constant.ll
Log Message:
-----------
[SPIR-V] Emit ceil(Bitwidth / 32) words during OpConstant creation (#180218)
Fixes error of handing constant integers with width in (64; 128) range.
Found during review of
https://github.com/llvm/llvm-project/pull/180182
Commit: 19d6950739a45f17d06ba55034450596625e43d3
https://github.com/llvm/llvm-project/commit/19d6950739a45f17d06ba55034450596625e43d3
Author: Petter Berntsson <petter.berntsson at arm.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M libc/docs/headers/math/index.rst
M libc/docs/headers/time.rst
Log Message:
-----------
[libc][docs] Fix stale entrypoints links and time.h table duplication (#180347)
Update stale links and remove duplication in table.
Commit: 55d6c6ff5802efcfc2ab9643316d9670eb29e790
https://github.com/llvm/llvm-project/commit/55d6c6ff5802efcfc2ab9643316d9670eb29e790
Author: Björn Svensson <bjorn.a.svensson at est.tech>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/fuzzer.c
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[clang][driver] Correcting arguments when using `libFuzzer` with `-shared-libsan` (#164842)
This PR contains two commits:
- Add required dependencies when using `-shared-libsan` and fuzzer.
Since libFuzzer is a static library we need to make sure that we add its
dependencies when building with `-shared-libsan`. E.g libFuzzer uses
`ceilf()` from `libm.so` when building on Gnu toolchain.
Previously, the resulting command did not contain the required link
libraries, giving build failures
(only a static sanitizer runtime would trigger the call to
`linkSanitizerRuntimeDeps`).
- Correcting dependency order when using fuzzer.
When building using `-shared-libsan` the sanitizer library needs to be
first in link order.
Since the fuzzer requires `-lstdc++` we have to make sure that the
sanitizer library is added before `-lstdc++`.
---------
Signed-off-by: Björn Svensson <bjorn.a.svensson at est.tech>
Commit: 481f248e081bd82b7a26a0b9b7ce8613544cc1a6
https://github.com/llvm/llvm-project/commit/481f248e081bd82b7a26a0b9b7ce8613544cc1a6
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M lldb/include/lldb/Host/HostInfoBase.h
M lldb/include/lldb/Host/macosx/HostInfoMacOSX.h
M lldb/include/lldb/Target/DynamicLoader.h
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.h
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.h
M lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformRemoteDarwinDevice.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/test/API/commands/platform/basic/TestPlatformCommand.py
Log Message:
-----------
[lldb] Get shared cache path from inferior, open (#180323)
Get the shared cache filepath and uuid that the inferior process is
using from debugserver, try to open that shared cache on the lldb host
mac and if the UUID matches, index all of the binaries in that shared
cache. When looking for binaries loaded in the process, get them from
the already-indexed shared cache.
Every time a binary is loaded, PlatformMacOSX may query the shared cache
filepath and uuid from the Process, and pass that to
HostInfo::GetSharedCacheImageInfo() if available (else fall back to the
old HostInfo::GetSharedCacheImageInfo method which only looks at lldb's
own shared cache), to get the file being requested.
ProcessGDBRemote caches the shared cache filepath and uuid from the
inferior, once it has a non-zero UUID. I added a lock for this ivar
specifically, so I don't have 20 threads all asking for the shared cache
information from debugserver and updating the cached answer. If we never
get back a non-zero UUID shared cache reply, we will re-query at every
library loaded notification. debugserver has been providing the shared
cache UUID since 2013, although I only added the shared cache filepath
field last November.
Note that a process will not report its shared cache filepath or uuid at
initial launch. As dyld gets a chance to execute a bit, it will start
returning binaries -- it will be available at the point when libraries
start loading. (it won't be available yet when the binary & dyld are the
only two binaries loaded in the process)
I tested this by disabling lldb's scan of its own shared cache
pre-execution -- only loading the system shared cache when the inferior
process reports that it is using that. I got 6-7 additional testsuite
failures running lldb like that, because no system binaries were loaded
before exeuction start, and the tests assumed they would be.
rdar://148939795
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: cfbb9a66ae92aa477c6ea38b006d64ec4b92170d
https://github.com/llvm/llvm-project/commit/cfbb9a66ae92aa477c6ea38b006d64ec4b92170d
Author: Andrew Lazarev <alazarev at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/switch-icmp.ll
Log Message:
-----------
Revert "[msan] Switch switch() from strict handling to (icmp eq)-style handling" (#180636)
Reverts llvm/llvm-project#179851
Breaks https://lab.llvm.org/buildbot/#/builders/164/builds/18551 and
https://lab.llvm.org/buildbot/#/builders/94/builds/15188
Commit: 48dffbc654f2a606025f4b14c9b789c99f8188ae
https://github.com/llvm/llvm-project/commit/48dffbc654f2a606025f4b14c9b789c99f8188ae
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M .github/workflows/release-documentation.yml
M .github/workflows/release-tasks.yml
Log Message:
-----------
workflows/release-task: Use less privileged token for uploading release notes (#180299) (#180650)
We were using one token for both pushing to the llvmbot fork and for
creating a pull request against the www-releases repository, since the
fork and the repository have different owners, we were using a classic
access token which has very coarse-grained permissions. By using two
separate tokens, we limit the permissions to just what we need to do the
task.
This is a re-commit of b6ee085068972a41f3b2735a9f7e3ca48eab0f00 minus
the environment changes which were causing the workflow to fail.
Commit: 8fc59bc0e3b7bda5a069a2e93a0367f97eebda2b
https://github.com/llvm/llvm-project/commit/8fc59bc0e3b7bda5a069a2e93a0367f97eebda2b
Author: Lleu Yang <hello at megakite.icu>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/test/CodeGen/SPIRV/AtomicCompareExchange.ll
A llvm/test/CodeGen/SPIRV/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
Log Message:
-----------
[SPIRV] Add handling for `uinc_wrap` and `udec_wrap` atomics (#179114)
This adds atomicrmw `uinc_wrap` and `udec_wrap` operations support for
SPIR-V. Since SPIR-V doesn't provide dedicated instructions for those
two operations, we have to use the `AtomicExpand` pass to expand the
operations into CAS forms.
Closes #177204.
Commit: b970a376f4a90bafc9ee2a18ca7a2ebe4e1d2722
https://github.com/llvm/llvm-project/commit/b970a376f4a90bafc9ee2a18ca7a2ebe4e1d2722
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/test/tools/llvm-dwarfdump/X86/simplified-template-names.s
Log Message:
-----------
[DebugInfo] Update test to sync with cross-project-tests (#180655)
The test was manually generated and out-of-sync with
`cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/Inputs/simplified_template_names.cpp`.
We update the test such that:
1. Automate the test generation process by using
`llvm/utils/update_test_body.py`
2. Remove host machine info when updating the tests
Predecessor of #178986, the PR was split per reviewer's request, since
that change disturbed this test a lot.
Commit: 6bce3fc1a9be3d5e2735e0e67dfdf32e47743ca5
https://github.com/llvm/llvm-project/commit/6bce3fc1a9be3d5e2735e0e67dfdf32e47743ca5
Author: Jim Lin <jim at andestech.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rvv/invalid-alt.s
M llvm/test/MC/RISCV/rvv/vsetvl-alt.s
Log Message:
-----------
[RISCV] Generate 8alt/16alt version error message for zvfofp8min (#180450)
Commit: 0aad6b0657972ed10f30f3497277a9e6badc8b1c
https://github.com/llvm/llvm-project/commit/0aad6b0657972ed10f30f3497277a9e6badc8b1c
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/abseil/unchecked-statusor-access.rst
Log Message:
-----------
[NFC] [clang-tidy] [doc] Don't use unicode character in doc (#180641)
Commit: 9898082bd358e1706f7703291bdec6caae12993a
https://github.com/llvm/llvm-project/commit/9898082bd358e1706f7703291bdec6caae12993a
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
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][SIInsertWaitcnt][NFC] Access Waitcnt elements using InstCounterType (#178345)
This patch introduces `get(T)` and `set(T, Val)` functions for Waitcnt
and removes getCounterRef() and getWait(). For this to work we also need
to move InstrCounterType to AMDGPUBaseInfo.h.
Please note that the member variables are still public to keep this
patch small.
They will be replaced in the follow-up patch.
Commit: 1de721c414407f4b92d3e2458ce9ca38563cef9c
https://github.com/llvm/llvm-project/commit/1de721c414407f4b92d3e2458ce9ca38563cef9c
Author: Peter Collingbourne <pcc at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
A llvm/test/Transforms/LowerTypeTests/cond-loop.ll
Log Message:
-----------
LowerTypeTests: Optimize two-phase check used by llvm.cond.loop.
When a type test has two phases and is used by llvm.cond.loop to
implement a conditional trap, it is more efficient for two infinite
loops to be generated. Arrange for this by having the pass detect the
typical IR pattern used for conditional CFI traps and generate the second
llvm.cond.loop if found.
Part of this RFC:
https://discourse.llvm.org/t/rfc-optimizing-conditional-traps/89456
Reviewers: fmayer, vitalybuka
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/177687
Commit: dfc8fa80c9fb24c51c3dc1af7660657ece9aeb27
https://github.com/llvm/llvm-project/commit/dfc8fa80c9fb24c51c3dc1af7660657ece9aeb27
Author: Twice <twice at apache.org>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M mlir/include/mlir-c/ExtensibleDialect.h
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/CAPI/IR/ExtensibleDialect.cpp
Log Message:
-----------
[MLIR][Python] Refine trait support in MLIR Python (#180550)
This PR is mainly to address review suggestions in #179705.
Commit: 8c0e0d732f03c50738ba48501c51767643464550
https://github.com/llvm/llvm-project/commit/8c0e0d732f03c50738ba48501c51767643464550
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
M mlir/test/Conversion/AMDGPUToROCDL/load_lds-gfx950.mlir
M mlir/test/Conversion/AMDGPUToROCDL/load_lds.mlir
Log Message:
-----------
[mlir][AMDGPU] Make AMDGPUToROCDL conversion tests use real address spaces (#180661)
Since #171876, -amdgpu-to-rocdl (the pass) is now set up to handle
address spaces like `#gpu.address_space<global>`. Update the tests
accordingly.
Commit: 8d8864237b993039ccbc8d0133b583e894922416
https://github.com/llvm/llvm-project/commit/8d8864237b993039ccbc8d0133b583e894922416
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fsqrt.mir
M llvm/test/CodeGen/AMDGPU/llvm.sqrt.f16.ll
Log Message:
-----------
AMDGPU/GlobalISel: Regbanklegalize rules for G_FSQRT (#179817)
Add S16 rules for G_FSQRT. S32 and S64 are expanded by the legalizer.
Commit: 776297b0a6daf951acd3b31ece1911b8e40eb405
https://github.com/llvm/llvm-project/commit/776297b0a6daf951acd3b31ece1911b8e40eb405
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
Log Message:
-----------
[RISCV] Rename FeatureEnableSelectOptimize to TuneEnableSelectOptimize (#180496)
It should be a tune feature just like others.
Commit: 20bf8e0684836c48f3a5f58cafd630239c1c9385
https://github.com/llvm/llvm-project/commit/20bf8e0684836c48f3a5f58cafd630239c1c9385
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.h
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/exception-escape.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-treat-functions-without-specification-as-throwing.cpp
Log Message:
-----------
[clang-tidy] Add options to throw unannotated functions in `bugprone-exception-escape` (#168324)
As of AI Usage: Gemini 3 was used for rephrasing the documentation.
Closes https://github.com/llvm/llvm-project/issues/164795
---------
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Co-authored-by: Baranov Victor <bar.victor.2002 at gmail.com>
Commit: 9eca0a3b8bf2068497f1d6345ea290f43c663358
https://github.com/llvm/llvm-project/commit/9eca0a3b8bf2068497f1d6345ea290f43c663358
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/test/Dialect/GPU/invalid.mlir
Log Message:
-----------
[mlir][gpu] Validate argument count in gpu.launch parser (#180388)
This PR adds validation in the `gpu.launch` parser to ensure the launch
configuration provides exactly 3 arguments. Emit a parser error when the
argument count is not 3. Fixes #176426.
Commit: d6ae568d58b31b1cdd0a5f8c84955330a35c3a38
https://github.com/llvm/llvm-project/commit/d6ae568d58b31b1cdd0a5f8c84955330a35c3a38
Author: jeffreytan81 <jeffreytan at meta.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/CMakeLists.txt
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/expected.cpp
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/expected.test
M cross-project-tests/lit.cfg.py
M llvm/utils/lldbDataFormatters.py
Log Message:
-----------
Fix LLDB data formatter for llvm::Expected<T> with non-reference types (#179294)
This patch fixes LLDB data formatter support for llvm::Expected<T> with
the following changes:
llvm/utils/lldbDataFormatters.py: Fix ExpectedSynthProvider to handle
non-templated storage types (e.g., int, int*). Previously the formatter
only worked with templated storage types like std::reference_wrapper<T>.
cross-project-tests/lit.cfg.py:
Fix get_lldb_version_string() to use locally-built LLDB on non-Darwin
platforms instead of system LLDB
Fix minimum version from "1900" to "19.0.0" (typo in original code)
New test files: Added expected.cpp and expected.test to test the
formatter with Expected<int> and Expected<int*>.
---------
Co-authored-by: Jeffrey Tan <jeffreytan at fb.com>
Commit: 1c503e270a4b772713c45b21fc854949ae6db66d
https://github.com/llvm/llvm-project/commit/1c503e270a4b772713c45b21fc854949ae6db66d
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M libc/config/baremetal/config.json
Log Message:
-----------
[libc] Size optimized defaults for baremetal (#180642)
Disabling options that bloat typical size constrained baremetal targets
and in general not common in these targets. These configuration changes
reduce binary size significantly in our 32 bit ARM target experiments.
Commit: 1c4a98f7687f328d9c0efb367758b0c046d5fb62
https://github.com/llvm/llvm-project/commit/1c4a98f7687f328d9c0efb367758b0c046d5fb62
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/complex.cpp
Log Message:
-----------
[clang][bytecode] Fix discarded builtin_complex (#180539)
This is the only builtin that returns a non-primitive type I think.
Commit: b9659ded76962712a1e984755c2eb54886dfaa83
https://github.com/llvm/llvm-project/commit/b9659ded76962712a1e984755c2eb54886dfaa83
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Sema/builtins-elementwise-math.c
Log Message:
-----------
[clang] Fix checkMathBuiltinElementType SignedIntOrFloatTy checks (#180528)
The previous check was way too loose and let everything except unsigned
integer types through.
See e.g. https://godbolt.org/z/3qY8EbK56
Commit: fdd9555fc015b0be790226c68391537d12581a82
https://github.com/llvm/llvm-project/commit/fdd9555fc015b0be790226c68391537d12581a82
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/complex.cpp
Log Message:
-----------
[clang][bytecode] Fix discarded Mulc/DivC opcodes (#180537)
We need to pop the pointer in that case.
Commit: 9cd29a8ba17402c6e8e4b051cc96bdf47886581c
https://github.com/llvm/llvm-project/commit/9cd29a8ba17402c6e8e4b051cc96bdf47886581c
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/Inputs/simplified_template_names.cpp
M llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h
M llvm/test/tools/llvm-dwarfdump/X86/simplified-template-names.s
Log Message:
-----------
[DebugInfo] Fix an assertion in DWARFTypePrinter (#178986)
A `DW_TAG_ptr_to_member_type` has no `RawName` and would trigger an
assertion.
https://github.com/llvm/llvm-project/blob/7e48b14d1e9f83b5e4e51d3e44a0fc762f9d05eb/llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h#L497-L502
The assertion is mostly benign since it will be compared with other
strings and return false.
https://github.com/llvm/llvm-project/blob/7e48b14d1e9f83b5e4e51d3e44a0fc762f9d05eb/llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h#L505-L510
But this is blocking our assertion builds.
We should escape `DW_TAG_ptr_to_member_type` as well when looking for
type names.
Adding a test to demonstrate how the assertion could be triggered, and
how we fixed it.
Depends on https://github.com/llvm/llvm-project/pull/180655
[Assisted-by](https://t.ly/Dkjjk): [Claude Opus
4.5](https://www.anthropic.com/news/claude-opus-4-5)
Commit: a1acc4ab9fa7bef5684d126ab0c29b035402d664
https://github.com/llvm/llvm-project/commit/a1acc4ab9fa7bef5684d126ab0c29b035402d664
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/memberpointers.cpp
Log Message:
-----------
[clang][bytecode] Fix discarded addrof operators... (#180534)
... of member pointers.
Commit: f33ea53451f01bd82cbe7bc7f795f5b4ba731f2b
https://github.com/llvm/llvm-project/commit/f33ea53451f01bd82cbe7bc7f795f5b4ba731f2b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/condops.ll
M llvm/test/CodeGen/RISCV/xaluo.ll
Log Message:
-----------
[RISCV] Remove redundant czero in multi-word comparisons (#180485)
When comparing multi-word integers with Zicond, we generate:
(or (czero_eqz (lo1 < lo2), (hi1 == hi2)),
(czero_nez (hi1 < hi2), (hi1 == hi2)))
The czero_nez is redundant because when hi1 == hi2 is true, hi1 < hi2 is
already 0. This patch adds a DAG combine to recognize:
czero_nez (setcc X, Y, CC), (setcc X, Y, eq) -> (setcc X, Y, CC)
when CC is a strict inequality (lt, gt, ult, ugt).
This saves one instruction in 128-bit comparisons on RV64 with Zicond.
Note the czero_nez becomes a czero.eqz in the final assembly because the
seteq is replaced by an xor that produces 0 when the values are equal.
Part of #179584
Assisted-by: claude
Commit: 6dc9a484fde9378d466b5626687197924f66115c
https://github.com/llvm/llvm-project/commit/6dc9a484fde9378d466b5626687197924f66115c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/invalid.cpp
Log Message:
-----------
[clang][bytecode] Handle missing target label in break statement (#180532)
Happens in error cases.
Commit: 2302110838463736b0512b4d7fbd94c4694f66d0
https://github.com/llvm/llvm-project/commit/2302110838463736b0512b4d7fbd94c4694f66d0
Author: owenca <owenpiano at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Don't annotate C compound literal r_paren (#180436)
Fixes #180179
Commit: 461e43371855d4c4ce84931270db5ccd1ccd453b
https://github.com/llvm/llvm-project/commit/461e43371855d4c4ce84931270db5ccd1ccd453b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/intap.cpp
Log Message:
-----------
[clang][bytecode] Don't use trunc() to increase APInt bitWidth (#180536)
`FieldDecl::getBitWidthValue()` can return a value higher than the type
size of the bit field. We need to account for that.
Commit: a56b877056ab5ad9e599d86d48c3189350e5b2a2
https://github.com/llvm/llvm-project/commit/a56b877056ab5ad9e599d86d48c3189350e5b2a2
Author: Kyungtak Woo <kevinwkt at google.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/CMakeLists.txt
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
A llvm/lib/Target/X86/X86GlobalBaseReg.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86PassRegistry.def
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/test/CodeGen/X86/llc-pipeline-npm.ll
Log Message:
-----------
[NewPM] Port x86-global-base-reg (#180119)
Had to move X86GlobalBaseRegPass to its own file like in
https://github.com/llvm/llvm-project/pull/179864
No test coverage added for now as there are no MIR->MIR tests exercising
this pass and we do not have enough ported to run any end to end tests.
This is a redo of https://github.com/llvm/llvm-project/pull/180070
Commit: 1a9c61f004636c76b7016796a42776ae1c0bc048
https://github.com/llvm/llvm-project/commit/1a9c61f004636c76b7016796a42776ae1c0bc048
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-02-09 (Mon, 09 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Log Message:
-----------
[AMDGPU] Non convergent instruction does not depend on EXEC. NFCI. (#179821)
Commit: 33fa987357c291fd48520e5562c630db94ed2043
https://github.com/llvm/llvm-project/commit/33fa987357c291fd48520e5562c630db94ed2043
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
Log Message:
-----------
[Clang][AArch64] Extract get target CPU by triple (NFC) (#179097)
This patch refactors the AArch64 target resolution in Clang driver,
extracting a new static local function called
`getAArch64TargetCPUByTriple` to reduce redundant checks at runtime.
Previously, `getAArch64TargetFeatures` would redundantly double-check
`march` and `mcpu` arguments. Also removes some uninformative comments
on the way.
Commit: e1651717324e8e17052380c55d8755305552ac9b
https://github.com/llvm/llvm-project/commit/e1651717324e8e17052380c55d8755305552ac9b
Author: Chia-hung Duan <chiahungduan at google.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Transform/IR/TransformDialect.cpp
M mlir/lib/IR/Verifier.cpp
M mlir/test/Dialect/GPU/invalid.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/Transform/ops-invalid.mlir
Log Message:
-----------
[mlir] Fix the order of operation attribute verification
The verifiers of these attributes are supposed to verify additional
constraints which usually require the invariants, nested ops to be
verified first. Move it to the end of verification so that we don't
operate on malformed operations.
Commit: 2c1d15a4b59d0c5827993ae9e88c18ad3821f7c7
https://github.com/llvm/llvm-project/commit/2c1d15a4b59d0c5827993ae9e88c18ad3821f7c7
Author: Chia-hung Duan <chiahungduan at google.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Transform/IR/TransformDialect.cpp
M mlir/lib/IR/Verifier.cpp
M mlir/test/Dialect/GPU/invalid.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/Transform/ops-invalid.mlir
Log Message:
-----------
Revert "[mlir] Fix the order of operation attribute verification"
This reverts commit e1651717324e8e17052380c55d8755305552ac9b.
This was submitted by accident.
Commit: 1cf62af0ee63cc63ce7c8406634df4bca9bec835
https://github.com/llvm/llvm-project/commit/1cf62af0ee63cc63ce7c8406634df4bca9bec835
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Don't call InterpFrame::getThis() on the bottom frame (#180682)
This happens when we're in checkingPotentialConstantExpression() and we
try to evaluate a delete expression.
Commit: 0f8d8dc5b90eb3f9cdf32549f6fa7ced6f6d3252
https://github.com/llvm/llvm-project/commit/0f8d8dc5b90eb3f9cdf32549f6fa7ced6f6d3252
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/complex.cpp
Log Message:
-----------
[clang][bytecode] Reject composite copies on primitive pointers (#180683)
This should fail.
Commit: a1da10689c8bb90288bd5f10ce3af70a92f5da74
https://github.com/llvm/llvm-project/commit/a1da10689c8bb90288bd5f10ce3af70a92f5da74
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Fix non-initializing `__builtin_shufflevector` (#180691)
Create a local temporary we can use as destination.
Commit: 8c5f31b365dfc5ad9e8aa5756159961421a2eae3
https://github.com/llvm/llvm-project/commit/8c5f31b365dfc5ad9e8aa5756159961421a2eae3
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/atomic-rmw-discard.ll
M llvm/test/CodeGen/RISCV/selectopt.ll
Log Message:
-----------
[RISCV] Enable select optimization by default (#178394)
And we add `TuneEnableSelectOptimize` to:
* `generic`
* `generic-ooo`
* `sifive-p550`
* `spacemit-x60`
Commit: 8ab034fa1531b5b45bab7d582155d395ff28b043
https://github.com/llvm/llvm-project/commit/8ab034fa1531b5b45bab7d582155d395ff28b043
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/invalid.cpp
Log Message:
-----------
[clang][bytecode] Handle invalid UnaryExprOrTypeTraitExprs (#180692)
Commit: 7f1907cea06d0de861e94b607535fa6488641c15
https://github.com/llvm/llvm-project/commit/7f1907cea06d0de861e94b607535fa6488641c15
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Opcodes.td
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Allow bool sizes in array new expressions (#180696)
Looks like this is a thing, so allow them.
Commit: 24405f070f3bedce4698777a48a4eaf047f75c90
https://github.com/llvm/llvm-project/commit/24405f070f3bedce4698777a48a4eaf047f75c90
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/always_uniform.ll
A llvm/test/CodeGen/AMDGPU/intrinsic-amdgcn-s-alloc-vgpr.ll
Log Message:
-----------
[AMDGPU] Add intrinsic exposing s_alloc_vgpr (#163951)
Make it possible to use `s_alloc_vgpr` at the IR level. This is a huge
footgun and use for anything other than compiler internal purposes is
heavily discouraged. The calling code must make sure that it does not
allocate fewer VGPRs than necessary - the intrinsic is NOT a request to
the backend to limit the number of VGPRs it uses (in essence it's not so
different from what we do with the dynamic VGPR flags of the
`amdgcn.cs.chain` intrinsic, it just makes it possible to use this
functionality in other scenarios).
Commit: 23987694127324951469a2134d3e5f56fa072ff9
https://github.com/llvm/llvm-project/commit/23987694127324951469a2134d3e5f56fa072ff9
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Scalable/TUSummary/EntitySummary.h
M clang/lib/Analysis/Scalable/CMakeLists.txt
A clang/lib/Analysis/Scalable/TUSummary/EntitySummary.cpp
M clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp
Log Message:
-----------
[clang][ssaf] Make EntitySummary llvm-RTTI friendly (#180613)
Commit: 8ccfa9a52d42af623932bc136c6d267e0ec38ab7
https://github.com/llvm/llvm-project/commit/8ccfa9a52d42af623932bc136c6d267e0ec38ab7
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
M clang/lib/Analysis/Scalable/Serialization/SerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
Log Message:
-----------
[clang][ssaf] Make SerializationFormat llvm-RTTI friendly (#180616)
Commit: 7e5d9189d28f83102474ba18de84c9d62d7f2500
https://github.com/llvm/llvm-project/commit/7e5d9189d28f83102474ba18de84c9d62d7f2500
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/cse-replicate-regions.ll
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads-with-predicated-stores.ll
Log Message:
-----------
[VPlan] Simplify true && x -> x (#179426)
Commit: a481252122b5592704672fed59e102163cb56e61
https://github.com/llvm/llvm-project/commit/a481252122b5592704672fed59e102163cb56e61
Author: Christian Sigg <csigg at google.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/build_defs.bzl
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[bazel] NFC: shave off unnecessary newlines (#180626)
And silence `stubgen_runner` console spew.
Commit: b91eb9b4e5c48cf7c270f997a889034ff0e1ecca
https://github.com/llvm/llvm-project/commit/b91eb9b4e5c48cf7c270f997a889034ff0e1ecca
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/AArch64/vector-extract-last-active.ll
A llvm/test/CodeGen/WebAssembly/vector-extract-last-active.ll
M llvm/test/CodeGen/X86/vector-extract-last-active.ll
Log Message:
-----------
[SDAG] Implement missing legalization for `ISD::VECTOR_FIND_LAST_ACTIVE` (#180290)
This lowers the splitting as:
```
any_active(hi_mask)
? (find_last_active(hi_mask) + lo_mask.getVectorElementCount())
: find_last_active(lo_mask)
```
And trivially lowers `<1 x i1>` scalarization to returning zero. Which
is a natural result of the splitting (and the lack of a sentinel
"none-active" result value).
The lowerings likely can be improved. This patch is for completeness.
Should fix:
https://github.com/llvm/llvm-project/pull/178862#issuecomment-3862310334
Fixes #180212
Commit: e17226e20b7b3138f432458bb9c0e42c304f99cf
https://github.com/llvm/llvm-project/commit/e17226e20b7b3138f432458bb9c0e42c304f99cf
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M offload/include/Shared/Debug.h
Log Message:
-----------
[OFFLOAD] Implement excluding filters for debugging (#180538)
Allow a to define a set of Types that are not shown by default when
doing default debug loggin (e.g., LIBOMPTARGET_DEBUG=All).
Users can enable output of those types of messages by explicitly adding
them to LIBOMPTARGET_DEBUG.
Used to implement: #180545
---------
Co-authored-by: Michael Klemm <michael.klemm at amd.com>
Commit: e145b0ea3558ff43a9d74690948ed84f77f91fe7
https://github.com/llvm/llvm-project/commit/e145b0ea3558ff43a9d74690948ed84f77f91fe7
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/bindings/ocaml/llvm/llvm.ml
M llvm/bindings/ocaml/llvm/llvm.mli
M llvm/bindings/ocaml/llvm/llvm_ocaml.c
M llvm/test/Bindings/OCaml/analysis.ml
M llvm/test/Bindings/OCaml/bitreader.ml
M llvm/test/Bindings/OCaml/bitwriter.ml
M llvm/test/Bindings/OCaml/core.ml
M llvm/test/Bindings/OCaml/debuginfo.ml
M llvm/test/Bindings/OCaml/diagnostic_handler.ml
M llvm/test/Bindings/OCaml/executionengine.ml
M llvm/test/Bindings/OCaml/ext_exc.ml
M llvm/test/Bindings/OCaml/irreader.ml
M llvm/test/Bindings/OCaml/linker.ml
M llvm/test/Bindings/OCaml/passbuilder.ml
M llvm/test/Bindings/OCaml/target.ml
M llvm/test/Bindings/OCaml/transform_utils.ml
Log Message:
-----------
[OCaml] Remove global_context (#180533)
This has been deprecated in the C API, so remove it from the OCaml
bindings. create_context and dispose_context should be used instead.
Commit: 59a8bd0a746360380f8579a72f6be6ebe8a8e1b0
https://github.com/llvm/llvm-project/commit/59a8bd0a746360380f8579a72f6be6ebe8a8e1b0
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
Log Message:
-----------
[SimplifyLibCalls] Directly canonicalize fminimum_num to intrinsic (#180555)
Same as https://github.com/llvm/llvm-project/pull/177988, but for
fminimum_num/fmaximum_num. Directly canonicalize these to the
corresponding intrinsics, and let the shrinking happen directly on the
intrinsics.
Commit: 1ec8f38c9950c5f10ef19ae28b6d8e1901f26cdc
https://github.com/llvm/llvm-project/commit/1ec8f38c9950c5f10ef19ae28b6d8e1901f26cdc
Author: Matt <MattPD at users.noreply.github.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
M flang/test/Lower/default-initialization.f90
A flang/test/Lower/derived-type-sequence-alias-assign.f90
M flang/test/Lower/polymorphic.f90
M flang/unittests/Optimizer/CMakeLists.txt
Log Message:
-----------
[flang] Use alias analysis in lowering record assignments (#180628)
Without alias analysis Flang assumes no aliasing in lowering record
assignments which can result in miscompilation of programs using
`SEQUENCE` types and `EQUIVALENCE`.
Use alias analysis to guard the fast path in `genRecordAssignment`;
otherwise fall back to element-wise expansion.
Update FIR FileCheck expectations
Add `FIRAnalysis` to "flang/unittests/Optimizer/CMakeLists.txt" to fix
the Windows x64 build failure (linker error).
Add `SEQUENCE` handling and update tests accordingly.
Fixes #175246 (and includes the fix to
"flang/lib/Optimizer/Builder/CMakeLists.txt" in PR #176483).
Co-authored-by: Matt P. Dziubinski <matt-p.dziubinski at hpe.com>
Commit: 0a3b376015d410c93d00f1b4f5a10d816cb217bf
https://github.com/llvm/llvm-project/commit/0a3b376015d410c93d00f1b4f5a10d816cb217bf
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M lldb/test/API/macosx/posix_spawn/TestLaunchProcessPosixSpawn.py
Log Message:
-----------
[lldb][test] Skip TestLaunchProcessPosixSpawn.py
Fails on public green dragon arm64 bot with:
```
08:53:39 "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/./bin/dsymutil" -o "fat.out.dSYM" "fat.out"
08:53:39 warning: no debug symbols in executable (-arch x86_64)
08:53:39 warning: no debug symbols in executable (-arch x86_64h)
08:53:39 warning: no debug symbols in executable (-arch arm64)
08:53:39
08:53:39
08:53:39 runCmd: file -arch x86_64 /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/lldb-test-build.noindex/macosx/posix_spawn/TestLaunchProcessPosixSpawn.test_apple_silicon/fat.out
08:53:39
08:53:39 warning: (x86_64) /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/lldb-test-build.noindex/macosx/posix_spawn/TestLaunchProcessPosixSpawn.test_apple_silicon/fat.out empty dSYM file detected, dSYM was created with an executable with no debug info.
08:53:39 output: Current executable set to '/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/lldb-test-build.noindex/macosx/posix_spawn/TestLaunchProcessPosixSpawn.test_apple_silicon/fat.out' (x86_64).
08:53:39
08:53:39
08:53:39 <bound method SBProcess.Kill of SBProcess: pid = 73406, state = exited, threads = 0, executable = fat.out>: success
08:53:39
08:53:39 FAIL: LLDB (/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/bin/clang-arm64) :: test_apple_silicon (TestLaunchProcessPosixSpawn.TestLaunchProcessPosixSpawn)
08:53:39 runCmd: settings clear --all
08:53:39
08:53:39 output:
08:53:39
08:53:39 runCmd: settings set symbols.enable-external-lookup false
08:53:39
08:53:39 output:
08:53:39
08:53:39 runCmd: settings set target.inherit-tcc true
08:53:39
08:53:39 output:
08:53:39
08:53:39 runCmd: settings set target.disable-aslr false
08:53:39
08:53:39 output:
08:53:39
08:53:39 runCmd: settings set target.detach-on-error false
08:53:39
08:53:39 output:
08:53:39
08:53:39 runCmd: settings set target.auto-apply-fixits false
08:53:39
08:53:39 output:
08:53:39
08:53:39 runCmd: settings set plugin.process.gdb-remote.packet-timeout 60
08:53:39
08:53:39 output:
08:53:39
08:53:39 runCmd: settings set symbols.clang-modules-cache-path "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/lldb-test-build.noindex/module-cache-lldb/lldb-api"
08:53:39
08:53:39 output:
08:53:39
08:53:39 runCmd: settings set use-color false
08:53:39
08:53:39 output:
08:53:39
08:53:39 runCmd: settings set show-statusline false
08:53:39
08:53:39 output:
08:53:39
08:53:39 UNSUPPORTED: LLDB (/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/bin/clang-arm64) :: test_haswell (TestLaunchProcessPosixSpawn.TestLaunchProcessPosixSpawn) (Current CPU is not Haswell)
08:53:39 Restore dir to: /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/tools/lldb/test
08:53:39 ======================================================================
08:53:39 FAIL: test_apple_silicon (TestLaunchProcessPosixSpawn.TestLaunchProcessPosixSpawn)
08:53:39 ----------------------------------------------------------------------
08:53:39 Traceback (most recent call last):
08:53:39 File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/decorators.py", line 160, in wrapper
08:53:39 return func(*args, **kwargs)
08:53:39 File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/test/API/macosx/posix_spawn/TestLaunchProcessPosixSpawn.py", line 72, in test_apple_silicon
08:53:39 self.run_arch(exe, "x86_64")
08:53:39 File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/test/API/macosx/posix_spawn/TestLaunchProcessPosixSpawn.py", line 48, in run_arch
08:53:39 self.assertTrue(error.Success(), str(error))
08:53:39 AssertionError: False is not true : error: process exited with status -1 (lost connection)
08:53:39 Config=arm64-/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/bin/clang
08:53:39 ----------------------------------------------------------------------
08:53:39 Ran 2 tests in 5.686s
08:53:39
08:53:39 FAILED (failures=1, skipped=1)
```
Commit: 92bcff7dc290d75ffa921f9e5755a3d072316d03
https://github.com/llvm/llvm-project/commit/92bcff7dc290d75ffa921f9e5755a3d072316d03
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/expected.test
Log Message:
-----------
[cross-project-tests][lldb] Relax llvm::Expected check
The `CHECK` for `(int)` was too strict. On macOS the type prints as:
```
08:46:24 29: (lldb) v -T ExpectedRef
08:46:24 30: (llvm::Expected<int &>) ExpectedRef = {
08:46:24 next:14'0 X error: no match found
08:46:24 31: (std::__1::reference_wrapper<int>::type) value = 100
08:46:24 next:14'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
08:46:24 next:14'1 ? possible intended match
08:46:24 32: }
08:46:24 next:14'0 ~~
```
Commit: 570fffe04480133edc2df29eb018754c7a3e896b
https://github.com/llvm/llvm-project/commit/570fffe04480133edc2df29eb018754c7a3e896b
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Analysis/MemorySSA.cpp
M llvm/test/Analysis/MemorySSA/function-clobber.ll
Log Message:
-----------
[MemorySSA] Relax clobbering checks for calls to consider writes only (#179721)
Now that getModRefInfo for calls handles read and write effects by
examining both calls, the clobbering query no longer needs to treat
reads as clobbers. Update the check to consider writes only, aligning
call handling with other instructions
Commit: b00cba5804456dcc8634afa604712596c13f739a
https://github.com/llvm/llvm-project/commit/b00cba5804456dcc8634afa604712596c13f739a
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/test/HLFIR/simplify-hlfir-intrinsics-cshift.fir
Log Message:
-----------
[flang] do not set nuw flag in CSHIFT bound arithmetic (#180520)
Fix https://github.com/llvm/llvm-project/issues/180374
I initially suspected an issue with some lower bound adjustment missing,
and indeed found an unrelated issue because gen1DSection was always
called with all-ones lower bounds because the genLowerbounds was called
on the result fir.shape.
But this is actually not relevant for the issue where this code path is
not exercised. The issue was `nuw` (no unsigned-wrap) was being set on
arithmetic inside the kernel generated for CSHIFT, but because this
arithmetic is dealing with user defined bounds, it may actually have to
deal with negative values (even if the offsets from the CSHIFT itself
are not negative).
This caused LLVM optimization to generate completely invalid code when
the lower bounds of CSHIFT input are zero or less.
Commit: 302ff8fd005620731b82dd2a6342a9613363a9aa
https://github.com/llvm/llvm-project/commit/302ff8fd005620731b82dd2a6342a9613363a9aa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/Transforms/InstCombine/AMDGPU/fmul_legacy.ll
M llvm/test/Transforms/InstCombine/binop-itofp.ll
M llvm/test/Transforms/InstCombine/binop-select.ll
M llvm/test/Transforms/InstCombine/fast-math.ll
M llvm/test/Transforms/InstCombine/fmul-sqrt.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/fsqrtdiv-transform.ll
M llvm/test/Transforms/InstCombine/pow-to-ldexp.ll
M llvm/test/Transforms/InstCombine/pow_fp_int.ll
M llvm/test/Transforms/InstCombine/pow_fp_int16.ll
M llvm/test/Transforms/InstCombine/powi.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fmul.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/PGOProfile/chr.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
Log Message:
-----------
InstCombine: Use SimplifyDemandedFPClass on fmul (#177490)
Start trying to use SimplifyDemandedFPClass on instructions, starting
with fmul. This subsumes the old transform on multiply of 0. The
main change is the introduction of nnan/ninf. I do not think anywhere
was systematically trying to introduce fast math flags before, though
a few odd transforms would set them.
Previously we only called SimplifyDemandedFPClass on function returns
with nofpclass annotations. Start following the pattern of
SimplifyDemandedBits, where this will be called from relevant root
instructions.
I was wondering if this should go into InstCombineAggressive, but that
apparently does not make use of InstCombineInternal's worklist.
Commit: 3230de5e651648ba3ce81094b72311af37c465e4
https://github.com/llvm/llvm-project/commit/3230de5e651648ba3ce81094b72311af37c465e4
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/test/AST/ByteCode/invalid.cpp
Log Message:
-----------
[clang][bytecode] Fix assertion failure when returning function type (#180681)
... as an rvalue. Which can't work, so reject.
Commit: 9de84638b97425db97f5d86879fd071593702eca
https://github.com/llvm/llvm-project/commit/9de84638b97425db97f5d86879fd071593702eca
Author: Roman-Pevnyi <166020069+Roman-Pevnyi at users.noreply.github.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M mlir/cmake/modules/AddMLIR.cmake
M mlir/include/mlir/IR/BuiltinTypes.h
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/include/mlir/IR/CMakeLists.txt
A mlir/include/mlir/IR/QuantStorageTypeInterface.h
A mlir/include/mlir/IR/QuantStorageTypeInterface.td
M mlir/lib/Dialect/Quant/IR/QuantTypes.cpp
M mlir/lib/Dialect/Quant/IR/TypeParser.cpp
M mlir/lib/IR/CMakeLists.txt
A mlir/lib/IR/QuantStorageTypeInterface.cpp
M mlir/test/Dialect/Quant/parse-uniform-invalid.mlir
M mlir/test/Dialect/Quant/parse-uniform.mlir
Log Message:
-----------
Extending UniformQuantizedType with interface-based support for new storage types in Quant dialect (#152966)
Currently, UniformQuantizedType only supports built-in MLIR storage
types such as Integer. LLM quantization research introducing feature of
using NF4 as a low precision datatype (see
https://arxiv.org/pdf/2305.14314). There is a growing need to make the
system extensible and maintainable as more types are added. Ensuring
that MLIR can natively support NF4 through a clean, extensible interface
is essential for both current and future quantization workflows.
**Current Approach and Its Limitations:**
- The present implementation relies on dynamic checks (e.g., type
switches or if-else chains) to determine the storage type and retrieve
type-specific information for legality checks.
- This approach works for a small, fixed set of types, but as the number
of supported types grows, the code becomes harder to read, maintain, and
extend.
**Proposed Interface-Based Approach:**
- Define a StorageTypeInterface that specifies the required methods any
storage type must implement to be used in UniformQuantizedType.
- Each storage type (Integer, Float8E5M2, Float8E4M3FN, and new types
like NF4) would implement this interface, encapsulating their
type-specific logic.
- When UniformQuantizedType needs to check legality or retrieve
information, it can use MLIR’s dyn_cast mechanism to check if the type
implements the interface and then call the required methods.
- This design decouples UniformQuantizedType from the specifics of each
storage type, making it easy to add new types (such as NF4) without
modifying the core logic or introducing more type checks.
**Benefits:**
- Extensibility: New storage types can be added by simply implementing
the interface, without touching the core UniformQuantizedType logic.
- Readability: The code is cleaner, as it avoids large switch statements
or if-else chains.
- Maintainability: Type-specific logic is encapsulated within each type,
reducing the risk of errors and making the codebase easier to understand
and update.
Commit: b4032db3aa68c1e67ba36a59d6667e9e3c283148
https://github.com/llvm/llvm-project/commit/b4032db3aa68c1e67ba36a59d6667e9e3c283148
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
A mlir/test/Dialect/Vector/td/flatten.mlir
M mlir/test/Dialect/Vector/transform-vector.mlir
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
Log Message:
-----------
[mlir][vector] Reuse vector TD op in vector.xfer flatten tests (#180606)
This change adds a `RUN` line in vector-transfer-flatten.mlir that will
use `vector.flatten_vector_transfer_ops` that was introduced in #178134.
It also removes a test added in the original PR whose coverage is
already provided by pre-existing tests.
Commit: f22a178b132d42a22c5d1a9402641723a655cff3
https://github.com/llvm/llvm-project/commit/f22a178b132d42a22c5d1a9402641723a655cff3
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-scalar-assignment.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
M llvm/test/Transforms/LoopVectorize/conditional-scalar-assignment-vplan.ll
M llvm/unittests/Analysis/IVDescriptorsTest.cpp
Log Message:
-----------
Reland "[LV] Support conditional scalar assignments of masked operations" (#180708)
This patch extends the support added in #158088 to loops where the
assignment is non-speculatable (e.g. a conditional load or divide).
For example, the following loop can now be vectorized:
```
int simple_csa_int_load(
int* a, int* b, int default_val, int N, int threshold)
{
int result = default_val;
for (int i = 0; i < N; ++i)
if (a[i] > threshold)
result = b[i];
return result;
}
```
It does this by extending the recurrence matching from only looking for
selects, to include phis where all operands are the header phi, except
for one which can be an arbitrary value outside the recurrence.
---
Reverts llvm/llvm-project#180275 (original PR: #178862)
Additional type legalization for `ISD::VECTOR_FIND_LAST_ACTIVE` was
added in #180290, which should resolve the backend crashes on x86.
Commit: e043195ef417a2572aa49f18d878cfb8647425a0
https://github.com/llvm/llvm-project/commit/e043195ef417a2572aa49f18d878cfb8647425a0
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/lib/Headers/arm_acle.h
M clang/test/CodeGen/arm_acle.c
M clang/test/CodeGen/builtins-arm64.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
A llvm/test/CodeGen/AArch64/arm64-prefetch-ir.ll
M llvm/test/MC/AArch64/armv9.6a-pcdphint.s
Log Message:
-----------
[AArch64] Add support for intent to read prefetch intrinsic (#179709)
This patch adds support in Clang for the PRFM IR instruction, by adding
the following builtin:
void __pldir(void const *addr);
This builtin is described in the following ACLE proposal:
https://github.com/ARM-software/acle/pull/406
Commit: 437566ddd2f3a15d1cb37331401fb01323a75884
https://github.com/llvm/llvm-project/commit/437566ddd2f3a15d1cb37331401fb01323a75884
Author: Ravil Dorozhinskii <ravil.aviva.com at gmail.com>
Date: 2026-02-10 (Tue, 10 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:
-----------
[ROCDL] Added workgroup cluster ids to ROCDL (#179897)
Commit: ceec2c72d22097a63a1495b4654a41392b8dd086
https://github.com/llvm/llvm-project/commit/ceec2c72d22097a63a1495b4654a41392b8dd086
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/test/Analysis/ScalarEvolution/ptrtoaddr.ll
Log Message:
-----------
[SCEV] Add ptrtoaddr tests with external state/unstable addrspaces.
Add ptrtoaddr tests with address spaces with unstable and external but
stable pointer representations.
Currently we incorrectly form ptrtoaddr for unstsable pointers. See
discussion in https://github.com/llvm/llvm-project/pull/178861 for more
details.
Commit: bd6dd945849a8319f39a0d6581f7f5f64e9a9236
https://github.com/llvm/llvm-project/commit/bd6dd945849a8319f39a0d6581f7f5f64e9a9236
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_minmax.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-minmax-uminmax.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomicrmw-uinc-udec-wrap.mir
Log Message:
-----------
[AMDGPU] Add legalization rules for atomicrmw max/min ops (#180502)
Adds rules for G_ATOMICRMW_{MAX, MIN, UMAX, UMIN, UINC_WRAP, UDEC_WRAP}.
Each of these generic opcode are supported for S32 and S64 types
on flat, global and local address spaces.
Commit: 25f5e9732784a9feec563c99ffcaa2b30b00ec72
https://github.com/llvm/llvm-project/commit/25f5e9732784a9feec563c99ffcaa2b30b00ec72
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.h
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/test/HLFIR/order_assignments/inlined-stack-temp.fir
A flang/test/HLFIR/order_assignments/where-array-sections.f90
M flang/test/HLFIR/order_assignments/where-fusing-scheduling.f90
M flang/test/HLFIR/order_assignments/where-scheduling.f90
Log Message:
-----------
[flang] optimize WHERE with identical and disjoint array sections (#180279)
Improve `ScheduleOrderedAssignments` to avoid creating temporary storage
for masks in `WHERE` constructs when the mask modification is "aligned"
with the assignment (e.g., `where(a(i)>0) a(i)=...`).
- Identify "aligned" conflicts (identical array elements accessed in
order) using the `ArraySectionAnalyzer` that is extracted from
OptimizedBufferization.
- Defer saving regions with aligned conflicts, allowing fusion if
possible.
- Implement retroactive saving: if a region was modified in a previous
run (fused via aligned conflict) but is needed by a later split run,
insert a `SaveEntity` action before the modifying run.
- Use `std::list` for the schedule to support stable iterators for run
insertion.
- Update tests to verify fewer temporaries and correct retroactive
saves.
- Update flang pipeline at O2 and more to try fusing assignments in
WHERE/FORALL. This allows maximizing the chances that mask temps are not
needed (because a mask variable cannot be reused in a later run/loop
nest if it was modified even if all the accesses are in order, being in
order only matter for accesses generated inside the same loop nest).
This fixes suboptimal code generation where temporaries were created
unnecessarily for common patterns like `where (x > 0) x = ...`.
Commit: af74bc96c2d0ed892062d54f05ee6699bcecc72e
https://github.com/llvm/llvm-project/commit/af74bc96c2d0ed892062d54f05ee6699bcecc72e
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/invalid.cpp
M clang/test/SemaCXX/alignof-sizeof-reference.cpp
Log Message:
-----------
[clang][bytecode] Improve rejecting UnaryExprOrTypeTraitExprs (#180710)
Some of them work just fine, even if the expression contains errors.
Commit: 41aed214a09d4e7f8e2bfe0f6fa36ae43556761d
https://github.com/llvm/llvm-project/commit/41aed214a09d4e7f8e2bfe0f6fa36ae43556761d
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
A llvm/test/Transforms/Coroutines/coro-retcon-continuation-scope.ll
Log Message:
-----------
[CoroSplit][DebugInfo] Fix scope of continuation funclets (#180523)
The heuristic for deciding which scope line to use for a continuation
funclet relies on iterating on the instructions of the first BB of the
continuation. Often, this contains a single unconditional branch, which
is skipped by the heuristic. However, in coro-retcon, two such
"jump-only" BBs are generated. This patch amends the heuristic to
account for that.
Commit: 9914ee6ef4b78d62055734290afe879a7ae1a036
https://github.com/llvm/llvm-project/commit/9914ee6ef4b78d62055734290afe879a7ae1a036
Author: Philipp Rados <philipp.rados at openchip.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/VScaleAttr.cpp
A flang/test/Transforms/vscale-attr.fir
Log Message:
-----------
[flang] Fix -debug crash from VScaleAttrPass (#180234)
This pass splits up the `vscaleRange` pass-option from the
`VScaleAttrPass` into `vscaleMin` and `vscaleMax` respectively, since a
`std::pair<>` cannot be used as a cli-option and crashes when running
`flang -march=rv64gcv -O3 file.f90 -mmlir -debug`.
Since the options can now be set individually I added some error
checking following the semantics described in the langref
https://llvm.org/docs/LangRef.html#function-attributes.
I also added tests since there were none for only this pass before.
Commit: c9753859d19b07315c5a9a493efaa4df18db84ab
https://github.com/llvm/llvm-project/commit/c9753859d19b07315c5a9a493efaa4df18db84ab
Author: Matthew Nagy <matthew.nagy at sony.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M compiler-rt/include/CMakeLists.txt
A compiler-rt/include/sanitizer/tysan_interface.h
M compiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cpp
M llvm/utils/gn/secondary/compiler-rt/include/BUILD.gn
Log Message:
-----------
[TySan] Add skeleton for adding interface functions (#170859)
This pr has the more straightforward changes from the initial interfaces
pr (https://github.com/llvm/llvm-project/pull/169023). By supporting
interfaces, it also will help me fix [this
issue](https://github.com/llvm/llvm-project/issues/169024) where we
don't test tysan with the sanitizer_common codebase
Commit: b62a7527d294967500b47df1c02b9e9aa419a3d7
https://github.com/llvm/llvm-project/commit/b62a7527d294967500b47df1c02b9e9aa419a3d7
Author: Christian Sigg <csigg at google.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port 9de8463
Commit: 7756bfd106cc5b0eeec24301e40c6cc223002574
https://github.com/llvm/llvm-project/commit/7756bfd106cc5b0eeec24301e40c6cc223002574
Author: Ningning Shi(史宁宁) <shiningning at iscas.ac.cn>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
Log Message:
-----------
[NFC] Modify the comment of LoopRotate param (#180675)
The first param of LoopRotatePass is EnableHeaderDuplication. The value
'true' means 'enable the header duplication'.
`LoopRotatePass(bool EnableHeaderDuplication, bool PrepareForLTO)`
---------
Co-authored-by: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Commit: 3157758190a487e344ecf1d2ff6402609a38d6b5
https://github.com/llvm/llvm-project/commit/3157758190a487e344ecf1d2ff6402609a38d6b5
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub-sdot.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
Log Message:
-----------
[LV] Handle partial sub-reductions with sub in middle block. (#178919)
Sub-reductions can be implemented in two ways:
(1) negate the operand in the vector loop (the default way).
(2) subtract the reduced value from the init value in the middle block.
Note that both ways keep the reduction itself as an 'add' reduction,
which is necessary because only llvm.vector.partial.reduce.add exists.
The ISD nodes for partial reductions don't support folding the
sub/negation into its operands because the following is not a valid
transformation:
```
sub(0, mul(ext(a), ext(b)))
-> mul(ext(a), ext(sub(0, b)))
```
It can therefore be better to choose option (2) such that the partial
reduction is always positive (starting at '0') and to do a final
subtract in the middle block.
For AArch64 there are no dot-product instructions that can
do a `partial.reduce.sub(acc, mul(ext(a), ext(b)))` operation.
I'm not sure if such instructions exist for other targets.
(If so then we may want to make this decision a target option)
This PR also increases the AArch64 cost of a partial sub-reduction
when this exists in an 'add-sub' reduction chain.
Fixes https://github.com/llvm/llvm-project/issues/178703
Commit: 2b80b86dbb5863c0687db2f08fba4f17cbfdcc64
https://github.com/llvm/llvm-project/commit/2b80b86dbb5863c0687db2f08fba4f17cbfdcc64
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
Log Message:
-----------
[CIR] Refactor tests for SVE svdup builtins (#180559)
[CIR] Refactor tests for SVE svdup builtins
Refactor the SVE svdup builtin tests to focus on aspects that are unique to
their code generation: namely, that the expected LLVM SVE intrinsic (or
intrinsics) is emitted. Other codegen details (such as stack allocations
or temporary materialization) are intentionally not checked, as they are
not part of the builtin-specific codegen logic, but rather generic
Clang/CIR lowering behavior.
The generated CIR remains unchanged, but the CHECK lines are simplified
to only match the intrinsic calls, e.g.:
```mlir
cir.call_llvm_intrinsic "aarch64.sve.<intrinsic-name>"
```
For the LLVM IR checks, the tests now run `opt -passes=sroa` to eliminate
irrelevant IR noise. This allows the checks to be reduced to the essential
intrinsic calls, for example:
```llvm
define dso_local <vscale x 2 x double> @test_svdup_n_f64_z(
<vscale x 16 x i1> %0, double %1) {
%3 = call <vscale x 2 x i1>
@llvm.aarch64.sve.convert.from.svbool.nxv2i1(<vscale x 16 x i1> %0)
%4 = call <vscale x 2 x double>
@llvm.aarch64.sve.dup.nxv2f64(
<vscale x 2 x double> zeroinitializer, <vscale x 2 x i1> %3, double %1)
ret <vscale x 2 x double> %4
}
```
Commit: 4280f0d24185cc427bd4053101f19f6553e2ddae
https://github.com/llvm/llvm-project/commit/4280f0d24185cc427bd4053101f19f6553e2ddae
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx12.cl
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dot4.f32.ll
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3p.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3p_dpp16.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3p_dpp16_err.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3p_dpp8.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3p_dpp8_err.s
A llvm/test/MC/AMDGPU/gfx1170_asm_vop3p_err.s
A llvm/test/MC/Disassembler/AMDGPU/gfx1170_dasm_vop3p.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1170_dasm_vop3p_dpp16.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1170_dasm_vop3p_dpp8.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1170_dasm_vop3p_err.txt
Log Message:
-----------
[AMDGPU] Add dot4 fp8/bf8 instructions for gfx1170 (#180516)
Commit: aef8a2c483149d4ad2546843350002f11eb48a20
https://github.com/llvm/llvm-project/commit/aef8a2c483149d4ad2546843350002f11eb48a20
Author: Krish Gupta <krishom70 at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/Support/PrivateReductionUtils.cpp
M flang/lib/Lower/Support/ReductionProcessor.cpp
A flang/test/Lower/OpenMP/Todo/reduction-character-dynamic-length.f90
A flang/test/Lower/OpenMP/declare-reduction-character-allocatable.f90
Log Message:
-----------
[Flang][OpenMP] Fix crash with character types in declare_reduction (#178038)
Fixes #177501
This PR fixes a compilation crash when using character types in OpenMP
REDUCTION clauses with declare_reduction directives.
The problem was that character types weren't being handled properly
during OpenMP lowering. Specifically:
- Missing character length parameters in hlfir.declare operations
- Incorrect type wrapping for by-ref reductions
- Missing special case handling for boxed/unboxed character types
The fix ensures character types are treated similarly to derived types
throughout the reduction pipeline, since fir::isa_trivial() excludes
them.
Added a regression test to verify the fix works for both allocatable and
non-allocatable character reductions.
<img width="654" height="47" alt="image"
src="https://github.com/user-attachments/assets/cc962f01-3432-44ce-befb-324644767c8b"
/>
Commit: 70b7245990ef14987ff88a78727b470e9f0e3224
https://github.com/llvm/llvm-project/commit/70b7245990ef14987ff88a78727b470e9f0e3224
Author: Vinay Deshmukh <vinay_deshmukh at outlook.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++] Prepare for PR #134330 by migrating to std::__static_fancy_pointer_cast (#180546)
To reduce the noise in #134330 for `libcxx/include/__tree`, we migrate
from certain `static_cast` to `std::__static_fancy_pointer_cast` in this
separate patch.
This change is needed to properly work with fancy pointers like
`min_pointer` during constant evaluation for `std::map`
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 33f427c5c0c0105b617f07c5648263791d690696
https://github.com/llvm/llvm-project/commit/33f427c5c0c0105b617f07c5648263791d690696
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/expected.test
Log Message:
-----------
[cross-project-tests][lldb] Further relax llvm::Expected test assertions
Fixes following error on macOS:
```
CHECK-NEXT: (llvm::SmallVector<int, 2>) value = size=2 {
^
<stdin>:41:65: note: scanning from here
(llvm::Expected<llvm::SmallVector<int, 2> &>) ExpectedVecRef = {
^
<stdin>:42:31: note: possible intended match here
(std::__1::reference_wrapper<llvm::SmallVector<int, 2> >::type) value = size=2 {
```
Commit: 7e18ee576f215e3f0de0ea6b5daeb842af84833f
https://github.com/llvm/llvm-project/commit/7e18ee576f215e3f0de0ea6b5daeb842af84833f
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
Log Message:
-----------
[NFC][analyzer] Get rid of imaginary friends (of classes) (#180188)
These NodeBuilder classes were deleted from the codebase in 2011
(fifteen years ago!) by 3eae33412d18c4a4a4a8592898b3e65ad5946a89 so
don't declare them as friends.
Commit: 288909883c7a5dadcda600389d5fee02078d1acb
https://github.com/llvm/llvm-project/commit/288909883c7a5dadcda600389d5fee02078d1acb
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Analysis/IVDescriptors.cpp
Log Message:
-----------
[IVDesc] Add `[[maybe_unused]]` to `NumNonPHIUsers` (NFC) (#180729)
Commit: 36cb9894b3eec301c1b2f92b5c05519ed1cea4fa
https://github.com/llvm/llvm-project/commit/36cb9894b3eec301c1b2f92b5c05519ed1cea4fa
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.cpp
Log Message:
-----------
[clang][bytecode] Only reject function types in Pointer::toRValue() (#180722)
No test because I'm not sure how to reproduce this, but this patch fixes
`CodeGen/ptrauth-qualifier-function.c`.
For function pointer types and function reference types, we use
`Pointer`s these days, so we _can_ return them.
Commit: 6d5bb4def15a5ad1ccd7b28fb2cd9b3a11ee74c0
https://github.com/llvm/llvm-project/commit/6d5bb4def15a5ad1ccd7b28fb2cd9b3a11ee74c0
Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Fixed flags issue of onlyZeroFlagUsed (#180405)
Fixes
https://github.com/llvm/llvm-project/pull/173543#discussion_r2670058843
Commit: c1a6b136a17c6bfd5ecb914240c0933ffe6a9275
https://github.com/llvm/llvm-project/commit/c1a6b136a17c6bfd5ecb914240c0933ffe6a9275
Author: Christian Sigg <csigg at google.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/Dialect/BUILD.bazel
Log Message:
-----------
[bazel] Port b4032db.
Commit: 9d2303103288f6110622644f78dbd26c8bcf28d5
https://github.com/llvm/llvm-project/commit/9d2303103288f6110622644f78dbd26c8bcf28d5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M libcxx/include/__functional/operations.h
M libcxx/include/__tree
M libcxx/include/__type_traits/make_transparent.h
M libcxx/include/map
M libcxx/test/std/containers/associative/map/map.ops/find.pass.cpp
Log Message:
-----------
[libc++] Only make comparators transparent in __tree if they don't cause a conversion (#179453)
We're currently unwrapping `less<T>` even if the `key_type` isn't `T`.
This causes the removal of an implicit conversion to `const T&` if the
types mismatch. Making `less<T>` transparent in that case changes
overload resolution and makes it fail potentially.
Fixes #179319
Commit: 9501114ca015793c2fa6fe40236314a2db428e14
https://github.com/llvm/llvm-project/commit/9501114ca015793c2fa6fe40236314a2db428e14
Author: Steffen Larsen <sholstla at amd.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/LoongArch/merge-base-offset-tlsle.ll
M llvm/test/CodeGen/LoongArch/merge-base-offset.ll
M llvm/test/Transforms/GlobalOpt/large-element-size.ll
A llvm/test/Verifier/global-var-too-big.ll
Log Message:
-----------
[Verifier] Make verifier fail when global variable size exceeds address space size (#179625)
When a global variable has a size that exceeds the size of the address
space it resides in, the verifier should fail as the variable can
neither be materialized nor fully accessed. This patch adds a check to
the verifier to enforce it.
---------
Signed-off-by: Steffen Holst Larsen <HolstLarsen.Steffen at amd.com>
Co-authored-by: Steffen Holst Larsen <HolstLarsen.Steffen at amd.com>
Commit: 0d375463ebdc9cc72e186f2366983c8053debb27
https://github.com/llvm/llvm-project/commit/0d375463ebdc9cc72e186f2366983c8053debb27
Author: Matthias Springer <me at m-sp.org>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Passes.td
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
R mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
R mlir/test/Dialect/Linalg/detensorize_0d.mlir
R mlir/test/Dialect/Linalg/detensorize_br_operands.mlir
R mlir/test/Dialect/Linalg/detensorize_entry_block.mlir
R mlir/test/Dialect/Linalg/detensorize_if.mlir
R mlir/test/Dialect/Linalg/detensorize_trivial.mlir
R mlir/test/Dialect/Linalg/detensorize_while.mlir
R mlir/test/Dialect/Linalg/detensorize_while_impure_cf.mlir
R mlir/test/Dialect/Linalg/detensorize_while_pure_cf.mlir
Log Message:
-----------
[mlir][linalg] Remove abandoned `Detensorize` pass (#177579)
RFC:
https://discourse.llvm.org/t/how-to-deal-with-abandoned-unmaintained-code/89560
Commit: dca7b11a326f523a93268dd17e969d1c26bcf40e
https://github.com/llvm/llvm-project/commit/dca7b11a326f523a93268dd17e969d1c26bcf40e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
A llvm/test/CodeGen/X86/vector-target-demanded-elts.ll
Log Message:
-----------
[X86] Add tests showing failure to reduce the vector width of vpmaddwd/vpmaddubsw/pmulhrsw nodes (#180728)
Missing demanded elts handling
Commit: b46d6dcac1d710e1d0ad4062b64686819a24b05d
https://github.com/llvm/llvm-project/commit/b46d6dcac1d710e1d0ad4062b64686819a24b05d
Author: Christian Sigg <csigg at google.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
A llvm/test/Transforms/LoopIdiom/SPARC/lit.local.cfg
A llvm/test/Transforms/LoopIdiom/SPARC/popcnt.ll
R llvm/test/Transforms/LoopIdiom/Sparc/lit.local.cfg
R llvm/test/Transforms/LoopIdiom/Sparc/popcnt.ll
Log Message:
-----------
Rename llvm/test/Transforms/LoopIdiom/Sparc -> /SPARC
This is consistent with all other SPARC test directories.
Commit: 6558595ca3ac531270a6691c758b835ee8adfdd5
https://github.com/llvm/llvm-project/commit/6558595ca3ac531270a6691c758b835ee8adfdd5
Author: Petr Beneš <w.benny at outlook.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M lld/COFF/Writer.cpp
A lld/test/COFF/merge-bss-text-filealign1.test
Log Message:
-----------
[LLD][COFF] Fix out-of-bounds write when filling gaps with INT3 in code sections (#180411)
When merging `.bss` into a code section (e.g., `/MERGE:.bss=.text`), the
INT3 gap-filling loop in `writeSections()` would write past the output
buffer. This happens because `.bss` chunks have `hasData=false`, so they
contribute to `VirtualSize` but not `SizeOfRawData`. The loop was using
chunk RVAs without checking if they exceeded the raw data region.
This caused a crash on Windows with `/FILEALIGN:1` (access violation
0xC0000005). The tight alignment leaves no slack in the mapped buffer,
so the overflow immediately hits unmapped memory.
The fix bounds all memset operations to `rawSize` and exits early when
encountering chunks beyond the raw data boundary.
Fixes #180406
Commit: 370a571597883c8e251568f1e4ef046fe61eedc6
https://github.com/llvm/llvm-project/commit/370a571597883c8e251568f1e4ef046fe61eedc6
Author: Scott Manley <rscottmanley at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/test/Transforms/make-isolated-from-above.mlir
Log Message:
-----------
[RegionUtils] replace uses in nested regions when isolating from above (#180548)
When making a region IsolatedFromAbove, replace uses in any region
within the parent region, not just the immediate parent region.
Commit: 2f0400c1a15b7b1ff401cc12902f7de5856cf1f7
https://github.com/llvm/llvm-project/commit/2f0400c1a15b7b1ff401cc12902f7de5856cf1f7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/test/CodeGen/Thumb2/mve-shuffle.ll
Log Message:
-----------
[Thumb2] mve-shuffle.ll - add missing check prefix coverage for some fullfp16 cases (#180567)
Noticed while working on some upcoming generic shuffle handling
Commit: f8d5a003faa7567c2bac0b064ea6616f2e892467
https://github.com/llvm/llvm-project/commit/f8d5a003faa7567c2bac0b064ea6616f2e892467
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/ptrtoaddr.ll
Log Message:
-----------
[SCEV] Don't create SCEVPtrToAddr for unstable pointer representations. (#180718)
Conservatively treat unstable pointers as SCEVCouldNotCompute in
getPtrToAddrExpr, and return SCEVUnknown when constructing from IR.
This surfaced as part of the discussion in
https://github.com/llvm/llvm-project/pull/178861.
PR: https://github.com/llvm/llvm-project/pull/180718
Commit: 70aebae2a13114f4e3d5e2460c052d8f3de295be
https://github.com/llvm/llvm-project/commit/70aebae2a13114f4e3d5e2460c052d8f3de295be
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/subvector-minbitwidth-unsigned-value.ll
Log Message:
-----------
[SLP]Support for zext i1 %x modeling as select %x, 1, 0
Model zext i1 %x to in as select i1 %x, in 1, in 0 in case, if there are
other select instructions, which can be combined into a bundle.
Fixes #178403
Reviewers: hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/180635
Commit: 4dc4abc09453fa8ea2a3d38783261f50f0be8c40
https://github.com/llvm/llvm-project/commit/4dc4abc09453fa8ea2a3d38783261f50f0be8c40
Author: David Green <david.green at arm.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-neon-2velem-high.ll
M llvm/test/CodeGen/AArch64/mla_mls_merge.ll
Log Message:
-----------
[AArch64][GlobalISel] Add test coverage for arm64-neon-2velem-high.ll and mla_mls_merge.ll. NFC
Commit: 6c0ff8d12fe5b7d1d55098ca31dac56d8925bf7b
https://github.com/llvm/llvm-project/commit/6c0ff8d12fe5b7d1d55098ca31dac56d8925bf7b
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M offload/test/lit.cfg
M offload/test/mapping/firstprivate_aligned.cpp
Log Message:
-----------
Revert "Reapply [Offload][lit] Link against SPIR-V DeviceRTL if present" (#180743)
Reverts llvm/llvm-project#180231
Commit: 0fdf9b967699f96142a40a44a34e6bfa82765ae3
https://github.com/llvm/llvm-project/commit/0fdf9b967699f96142a40a44a34e6bfa82765ae3
Author: Manasij Mukherjee <manasijm at nvidia.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
A llvm/test/Transforms/ConstraintElimination/urem-udiv.ll
Log Message:
-----------
[ConstraintElim] Infer linear constraints from udiv and urem (#180689)
urem x, n: result < n (remainder is always less than divisor)
urem x, n: result <= x (remainder is at most the dividend)
udiv x, n: result <= x (quotient is at most the dividend)
https://alive2.llvm.org/ce/z/ezzsjQ
Commit: 7d2e182b0448bd06aabe534e3d08fd10f09ec805
https://github.com/llvm/llvm-project/commit/7d2e182b0448bd06aabe534e3d08fd10f09ec805
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-target-demanded-elts.ll
Log Message:
-----------
[X86] SimplifyDemandedVectorEltsForTargetNode - add handling for vpmaddwd/vpmaddubsw/vpmulhrsw vector width reduction (#180738)
Commit: 1e47ccf030e04a9bb85fee7205d1b1c56d4f8821
https://github.com/llvm/llvm-project/commit/1e47ccf030e04a9bb85fee7205d1b1c56d4f8821
Author: Christian Sigg <csigg at google.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port a29f0dd.
Commit: 993e1f66afcfe9da03bd813e669eada341b11d2f
https://github.com/llvm/llvm-project/commit/993e1f66afcfe9da03bd813e669eada341b11d2f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/subvector-minbitwidth-unsigned-value.ll
Log Message:
-----------
Revert "[SLP]Support for zext i1 %x modeling as select %x, 1, 0"
This reverts commit 70aebae2a13114f4e3d5e2460c052d8f3de295be to fix
buildbots https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flab.llvm.org%2Fbuildbot%2F%23%2Fbuilders%2F85%2Fbuilds%2F18614&data=05%7C02%7C%7Ce5641da3fe984280a6e908de68b3658c%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C639063316889757116%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=65hUwLDdZkXq3zUEt3cVuqJNwXN7Alw4JKDggDbjeVk%3D&reserved=0
Commit: 22c6b7047b1d8b7b686c8b8653d3715e9d03d821
https://github.com/llvm/llvm-project/commit/22c6b7047b1d8b7b686c8b8653d3715e9d03d821
Author: Nico Weber <thakis at chromium.org>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
A llvm/utils/gn/secondary/llvm/tools/llubi/BUILD.gn
A llvm/utils/gn/secondary/llvm/tools/llubi/lib/BUILD.gn
Log Message:
-----------
[gn] port a29f0dd09680 (llubi)
Commit: 5e0e389360d569e5b3918e61a615d52328649533
https://github.com/llvm/llvm-project/commit/5e0e389360d569e5b3918e61a615d52328649533
Author: Christian Sigg <csigg at google.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port a29f0dd, second attempt.
Commit: a6929f7937696bb07788be6428fdcf1bf36775b5
https://github.com/llvm/llvm-project/commit/a6929f7937696bb07788be6428fdcf1bf36775b5
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
M mlir/lib/Conversion/ShardToMPI/ShardToMPI.cpp
M mlir/lib/Dialect/Shard/Transforms/Partition.cpp
M mlir/test/Conversion/ShardToMPI/convert-shard-to-mpi.mlir
M mlir/test/Dialect/Shard/partition.mlir
Log Message:
-----------
[mlir][shard,mpi] Allowing 2d-grids and simplifying lowering shard.all_gather (#180243)
- fixing incorrect assertion and related function name
- MPI_comm_split is not pure
- simplifying/standardizing permutation in all_gather
---------
Co-authored-by: Rolf Morel <rolfmorel at gmail.com>
Commit: 67e571df8c274f6e5357e822d79ca2c34c0056c4
https://github.com/llvm/llvm-project/commit/67e571df8c274f6e5357e822d79ca2c34c0056c4
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M lldb/CMakeLists.txt
A lldb/include/lldb/Host/windows/PythonPathSetup/PythonPathSetup.h
M lldb/source/Host/CMakeLists.txt
A lldb/source/Host/windows/PythonPathSetup/CMakeLists.txt
A lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
M lldb/tools/driver/CMakeLists.txt
M lldb/tools/driver/Driver.cpp
M lldb/tools/lldb-dap/tool/CMakeLists.txt
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
Log Message:
-----------
[lldb-dap][windows] add support for out of PATH python.dll resolution (#179306)
Commit: 5335e8ac894274b91eb37575a5edfb4c52a6d19a
https://github.com/llvm/llvm-project/commit/5335e8ac894274b91eb37575a5edfb4c52a6d19a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Sparc/BUILD.gn
Log Message:
-----------
[gn build] Port 1bfa71743b08
Commit: 50c430d0e144af69d2bc0d6453700043f7c14024
https://github.com/llvm/llvm-project/commit/50c430d0e144af69d2bc0d6453700043f7c14024
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Analysis/Scalable/BUILD.gn
Log Message:
-----------
[gn build] Port 239876941273
Commit: a81b7dead6bd0cbd9b63ec93ee6e22fbc034be9f
https://github.com/llvm/llvm-project/commit/a81b7dead6bd0cbd9b63ec93ee6e22fbc034be9f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
Log Message:
-----------
[gn build] Port a56b877056ab
Commit: d8b87934f011da5a5a6b5a92553ff1243503cd39
https://github.com/llvm/llvm-project/commit/d8b87934f011da5a5a6b5a92553ff1243503cd39
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/include/llvm/TableGen/CodeGenHelpers.h
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/test/TableGen/GlobalISelEmitter/HwModes.td
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Adopt CodeGenHelpers in GobalISel emitters (#180143)
Add specific emitters for `#ifdef` and `#ifndef` based guards and adopt
them and other CodeGenHelpers in Global ISel emitters.
Commit: 067f1c95a4520e84216ac66699b6c65bb4b47cd2
https://github.com/llvm/llvm-project/commit/067f1c95a4520e84216ac66699b6c65bb4b47cd2
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/PowerPC/vsx-tsvc-s173.ll
Log Message:
-----------
[LoopVectorizer] Generate test checks (NFC)
Commit: f96c1ccc1e8c0d1ea0ded762a7d0e0d933770ea2
https://github.com/llvm/llvm-project/commit/f96c1ccc1e8c0d1ea0ded762a7d0e0d933770ea2
Author: Andrei Elovikov <andrei.elovikov at sifive.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
A llvm/test/Transforms/LoopVectorize/vplan-print-after.ll
Log Message:
-----------
[VPlan] Add `-vplan-print-after=` option (#178700)
UpdateTestChecks support is updated in subsequent
https://github.com/llvm/llvm-project/pull/178736.
Commit: d80a7295726e4f1d401721155b64113a8ff5927a
https://github.com/llvm/llvm-project/commit/d80a7295726e4f1d401721155b64113a8ff5927a
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LoopVectorizer] Rename variable (NFC). (#180585)
Since TargetTransformInfo::enableAggressiveInterleaving(bool
HasReductions) takes the HasReductions argument, the LoopVectorizer
should save its returned value in a variable called AggressivelyInterleave
instead of AggressivelyInterleaveReductions.
Commit: f81889da29eec1a70283986fc0a654b9d628157a
https://github.com/llvm/llvm-project/commit/f81889da29eec1a70283986fc0a654b9d628157a
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
Log Message:
-----------
[VPlan] Fix convertToPhisToBlends folding non poison blend to poison (#180686)
This fixes a miscompile in #180005 where we didn't check that the first
incoming value isn't poison.
We should use the first non-poison incoming value if it exists, or just
poison if all the incoming values are poison.
Commit: a969d572c27d49f9d8d4852fba798cfd41c76987
https://github.com/llvm/llvm-project/commit/a969d572c27d49f9d8d4852fba798cfd41c76987
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M openmp/device/include/Synchronization.h
Log Message:
-----------
[OpenMP] Remove special handling for SPIR-V uinc atomic (#180747)
Summary:
No longer necessary after
https://github.com/llvm/llvm-project/pull/179114
Commit: b48833bf6619c49ed15390db4c36b217bcbf8a02
https://github.com/llvm/llvm-project/commit/b48833bf6619c49ed15390db4c36b217bcbf8a02
Author: Twice <twice at apache.org>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/include/mlir/IR/ExtensibleDialect.h
Log Message:
-----------
[MLIR] Make the verification order fixed in DynamicOpTraitList (#180758)
Currently we use `DenseMap` in `DynamicOpTraitList` to store traits and
iterate over the `DenseMap`, and we found that the order is not fixed
and we also cannot control verification order.
In this PR we use `MapVector` to preserve the insertion order so that
the verification order over traits can be fixed and users can tune the
verification order.
Commit: b526df55db2c7f8f55054c1b2b95951ccec3e45f
https://github.com/llvm/llvm-project/commit/b526df55db2c7f8f55054c1b2b95951ccec3e45f
Author: Björn Svensson <bjorn.a.svensson at est.tech>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
Correcting sanitizer-ld test to expect `-lstdc++` or `-lc++` (#180736)
#164842 introduced a new testcase which failed in the following
test-builders:
- [fuchsia-x86_64-linux](https://lab.llvm.org/buildbot/#/builders/11/builds/33349)
- [llvm-clang-win-x-aarch](https://lab.llvm.org/buildbot/#/builders/193/builds/14309)
- [llvm-clang-win-x-armv7l](https://lab.llvm.org/buildbot/#/builders/38/builds/7708)
In these setups `-lc++` is expected instead of `-lstdc++`.
Signed-off-by: Björn Svensson <bjorn.a.svensson at est.tech>
Commit: 1d13412cd3aa213f43410cd225728b7c2b0170d2
https://github.com/llvm/llvm-project/commit/1d13412cd3aa213f43410cd225728b7c2b0170d2
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
Log Message:
-----------
[clang][nfc] Remove `else` after `return` in ARM.cpp (#180733)
Align with the LLVM coding standard:
* https://llvm.org/docs/CodingStandards.html#don-t-use-else-after-a-return
Commit: e6f5e4910df519a3f14e0db86d24abe8fd25082b
https://github.com/llvm/llvm-project/commit/e6f5e4910df519a3f14e0db86d24abe8fd25082b
Author: Ben Dunbobbin <Ben.Dunbobbin at sony.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/include/llvm/Support/Windows/WindowsSupport.h
M llvm/lib/Support/Windows/Path.inc
M llvm/unittests/Support/Path.cpp
Log Message:
-----------
[Windows][Support] Add helper to expand short 8.3 form paths (#178480)
Windows supports short 8.3 form filenames (for example,
`compile_commands.json` -> `COMPIL~1.JSO`) for legacy reasons. See:
https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file#short-vs-long-names
Such paths are not unusual because, on Windows, the system temporary
directory is commonly derived from the `TMP`/`TEMP` environment
variables. For historical compatibility reasons, these variables are
often set to short 8.3 form paths on systems where user names exceed
eight characters.
Introduce `windows::makeLongFormPath()` to convert paths to their long
form by expanding any 8.3 components via `GetLongPathNameW`.
As part of this change:
- Extended-length path prefix handling is centralized by adding
`stripExtendedPrefix()` and reusing it in `realPathFromHandle()`.
- `widenPath()` is cleaned up to use shared prefix constants.
This was split out from #178303 at the request of the codeowner so that
the Windows support parts can be reviewed separately.
Commit: 4b8f866b36c2edd7b2a3cdd35e297727f8c7b3ec
https://github.com/llvm/llvm-project/commit/4b8f866b36c2edd7b2a3cdd35e297727f8c7b3ec
Author: Ryan Mitchell <Ryan.Mitchell at amd.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
[AMDGPU][NFC] Use RegisterOperand instead of RegisterClass (#180574)
RegisterOperand has decoder/other methods and is generally preferred for
operands.
Commit: 0d64801bc3b99a73d20032f74df3b87e0a7ed04e
https://github.com/llvm/llvm-project/commit/0d64801bc3b99a73d20032f74df3b87e0a7ed04e
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M flang/include/flang/Parser/preprocessor.h
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
A flang/test/Preprocessing/bug178481.F90
Log Message:
-----------
[flang] Recognize compiler directives after expansion in comment (#180062)
The compiler can recognize a compiler directive when one results from a
macro expansion at the beginning of a non-comment source line, as in
"#define FOO !$OMP". But it can't recognize a compiler directive that
initially appears as a comment line, as in "!BAR" after "#define BAR
$OMP". Extend the prescanner to recognize such cases in free form
source. (Fixed form is a much more complicated case for this recognition
and will be addressed later if needed.)
Fixes https://github.com/llvm/llvm-project/issues/178481.
Commit: 7e1fff4d5040ed93372975d506cdecd889d70f6a
https://github.com/llvm/llvm-project/commit/7e1fff4d5040ed93372975d506cdecd889d70f6a
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M flang-rt/lib/runtime/time-intrinsic.cpp
M flang/lib/Semantics/check-call.cpp
A flang/test/Semantics/bug2203.f90
Log Message:
-----------
[flang][runtime] Improve handling of short DATE_AND_TIME(VALUES=) (#180557)
When the actual argument associated with the VALUES= dummy argument of
the intrinsic subroutine DATE_AND_TIME has fewer than eight elements, we
crash with an internal error in the runtime.
With this patch, the compiler now checks the size of the vector at
compilation time, when it is known, and gracefully copes with a short
vector at execution time otherwise, without crashing.
Commit: 076da86cd35aa58759c9be7d23ba4cd8693b7414
https://github.com/llvm/llvm-project/commit/076da86cd35aa58759c9be7d23ba4cd8693b7414
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M flang-rt/lib/runtime/file.cpp
M flang-rt/lib/runtime/iostat.cpp
M flang-rt/unittests/Runtime/ExternalIOTest.cpp
M flang/include/flang/Runtime/iostat-consts.h
Log Message:
-----------
[flang][runtime] OPEN(STATUS='NEW') should fail on extant file (#180605)
An OPEN(..., STATUS='NEW') statement should fail when the named file
exists, and also should not delete it when the failure is a recoverable
error.
Commit: 5df173263bb386cccf9de5df5f6fabeb9d247ccc
https://github.com/llvm/llvm-project/commit/5df173263bb386cccf9de5df5f6fabeb9d247ccc
Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringBase.cpp
Log Message:
-----------
[NFC] Initialize AtomicLoadExtActions array (#180752)
Commit: bc3b4462f06b988d2f5b5dec997a3bc9fcf518b6
https://github.com/llvm/llvm-project/commit/bc3b4462f06b988d2f5b5dec997a3bc9fcf518b6
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaInit.cpp
A clang/test/CodeGenObjCXX/arc-lifetime-rvalue-ref-binding.mm
A clang/test/SemaObjCXX/arc-lifetime-rvalue-ref-binding.mm
Log Message:
-----------
[clang] Fix sema on ObjCLifetime conversion (#178524)
Clang can't handle objc lifetime correctly when casting
We reuse the approach similar to lifetime: First remove it before the
conversion, then add it back.
Add a test
Fixes https://github.com/llvm/llvm-project/issues/177478
Commit: 30f4b9c8bef50ffabc434e30c492e039eebb7c81
https://github.com/llvm/llvm-project/commit/30f4b9c8bef50ffabc434e30c492e039eebb7c81
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M libcxx/test/libcxx-03/transitive_includes/to_csv.py
M libcxx/test/libcxx/transitive_includes/to_csv.py
Log Message:
-----------
[libc++] Use ValueError instead of non-existent ArgumentError (#179526)
ArgumentError does not exist. argparse.ArgumentError does exist, but
that is not what we want to use. I presume this was never caught because
we never execute that line.
Commit: 9475f6af8188c9fb028c25f2143599f7fc3d2bac
https://github.com/llvm/llvm-project/commit/9475f6af8188c9fb028c25f2143599f7fc3d2bac
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/CodeGen/builtins-nvptx-ptx60.cu
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/nvptx_attributes.c
M clang/test/CodeGenCUDA/convergent.cu
M clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
M clang/test/Driver/cuda-cross-compiling.c
M clang/test/Driver/cuda-detect.cu
M clang/test/Driver/openmp-offload-gpu.c
M clang/test/Headers/gpuintrin.c
M flang/lib/Frontend/CompilerInstance.cpp
M flang/test/Lower/OpenMP/target_cpu_features.f90
M llvm/lib/Target/NVPTX/NVPTX.td
M llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/test/CodeGen/NVPTX/clusterlaunchcontrol-multicast.ll
M llvm/test/CodeGen/NVPTX/convert-sm100a.ll
M llvm/test/CodeGen/NVPTX/convert-sm103a.ll
M llvm/test/CodeGen/NVPTX/f32-ex2.ll
M llvm/test/CodeGen/NVPTX/fexp2.ll
M llvm/test/CodeGen/NVPTX/flog2.ll
M llvm/test/CodeGen/NVPTX/i128.ll
M llvm/test/CodeGen/NVPTX/nvvm-reflect-arch-O0.ll
A llvm/test/CodeGen/NVPTX/ptx-version-validation.ll
M llvm/test/CodeGen/NVPTX/rsqrt.ll
M llvm/test/CodeGen/NVPTX/sm-version.ll
M llvm/test/CodeGen/NVPTX/surf-tex.py
R llvm/test/CodeGen/NVPTX/wmma-ptx86-sm120a.py
M mlir/include/mlir/Dialect/GPU/Pipelines/Passes.h
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
Log Message:
-----------
Reland "[NVPTX] Validate user-specified PTX version against SM version" (#180116)
Previous commit message:
>Previous commit message:
>
>> Original commit message:
>>
>>>When users explicitly specify a PTX version via -mattr=+ptxNN that's
insufficient for their target SM, we now emit a fatal error. Previously,
we silently upgraded the PTX version to the minimum required for the
target SM.
>>>
>>>When no SM or PTX version is specified, we now use PTX 3.2 (the
minimum for the default SM 3.0) instead of PTX 6.0.
>>
>>The following commits should fix the failures that arose when I
previously tried to land this commit:
>>
>>
>>https://github.com/llvm/llvm-project/commit/9fc5fd0ad689eed94f65b1d6d10f9c5642935e68
should address the llvm-nvptx*-nvidia-* build failures:
https://github.com/llvm/llvm-project/pull/174834#issuecomment-3742242651
>>
>>
>>https://github.com/llvm/llvm-project/commit/600514a63760c6730e4cd970d2fcead9c5a897b3
should address the MLIR failures
>
>The previous commit was reverted with
https://github.com/llvm/llvm-project/commit/d23cb79ba497281de050ef609cb91b91058bf323
because the
[mlir-nvidia](https://lab.llvm.org/buildbot/#/builders/138/builds/24797)
and
[mlir-nvidia-gcc7](https://lab.llvm.org/buildbot/#/builders/116/builds/23929)
Buildbots were failing.
>
>Those tests failed because MLIR's default SM was 5.0, which caused
NVPTX
to target PTX ISA v4.0, which did not support the intrinsics used in the
failing tests.
>
>https://github.com/llvm/llvm-project/commit/243f011577193c99358ccc4142b296d4fa80ea11
should address this by bumping MLIR's default SM to 7.5. Now, using
MLIR's new default SM, NVPTX
targets the PTX ISA v6.3, which supports the intrinsics used in the
failing tests.
---
The previous commit was reverted with
e9b578a4d77025e18318efedd0f3f3764338d859
[because](https://github.com/llvm/llvm-project/pull/179304#issuecomment-3856301333)
the clang driver set the default PTX ISA version to v4.2 when no CUDA
installation is found. However, given our patch, we should not set a
default; instead, let the LLVM backend select the appropriate PTX ISA
version for the target SM.
Commit: a88274f008604dcc7397e8f231ef8eebe983793f
https://github.com/llvm/llvm-project/commit/a88274f008604dcc7397e8f231ef8eebe983793f
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/Analysis/OpenACCSupport.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCUtils.h
M mlir/lib/Dialect/OpenACC/Analysis/OpenACCSupport.cpp
M mlir/lib/Dialect/OpenACC/Transforms/ACCLoopTiling.cpp
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtils.cpp
M mlir/unittests/Dialect/OpenACC/OpenACCUtilsTest.cpp
Log Message:
-----------
[mlir][acc] Support lazy remark message construction (#180665)
The OpenACC remark emission utilities previously only accepted Twine for
message construction. However, complex remarks often require additional
logic to build messages, such as resolving variable names. This results
in unnecessary work when remarks are disabled.
Add an overload that accepts a lambda for message generation, which is
only invoked when remark emission is enabled. Update ACCLoopTiling to
use this lazy API for tile size reporting.
Additionally, getVariableName now returns numeric strings for constant
integer values. This is also being used by ACCLoopTiling along with the
lazy remark update.
Commit: d3a70f3b2c7174d8fdea94e966b5bbc5ba7466ec
https://github.com/llvm/llvm-project/commit/d3a70f3b2c7174d8fdea94e966b5bbc5ba7466ec
Author: Caroline Newcombe <caroline.newcombe at hpe.com>
Date: 2026-02-10 (Tue, 10 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
M flang/module/__fortran_builtins.f90
M flang/module/iso_c_binding.f90
A flang/test/Lower/Intrinsics/f_c_string.f90
A flang/test/Semantics/f_c_string.f90
Log Message:
-----------
[flang] Implement 'F_C_STRING' library function (Fortran 2023) (#174474)
Implement `F_C_STRING` to convert a Fortran string to a C
null-terminated string. Documented in F2023 Standard: 18.2.3.9
`F_C_STRING (STRING [, ASIS])`.
Commit: cdbe28887bc9b4740f990dd5b3d8a86e9b14c131
https://github.com/llvm/llvm-project/commit/cdbe28887bc9b4740f990dd5b3d8a86e9b14c131
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M lldb/include/lldb/Core/PropertiesBase.td
M lldb/include/lldb/Interpreter/OptionValueProperties.h
M lldb/include/lldb/Interpreter/Property.h
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/ModuleList.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/InterpreterProperties.td
M lldb/source/Interpreter/OptionValueProperties.cpp
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernelProperties.td
M lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp
M lldb/source/Plugins/JITLoader/GDB/JITLoaderGDBProperties.td
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LanguageCPlusPlusProperties.td
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFFProperties.td
M lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp
M lldb/source/Plugins/Platform/Android/PlatformAndroidProperties.td
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformMacOSXProperties.td
M lldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.cpp
M lldb/source/Plugins/Platform/QemuUser/PlatformQemuUserProperties.td
M lldb/source/Plugins/Platform/WebAssembly/PlatformWasm.cpp
M lldb/source/Plugins/Platform/WebAssembly/PlatformWasmProperties.td
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPProperties.td
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteProperties.td
M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLogProperties.td
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFProperties.td
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDBProperties.td
M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfodProperties.td
M lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp
M lldb/source/Plugins/Trace/intel-pt/TraceIntelPTProperties.td
M lldb/source/Target/Language.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/Target/Thread.cpp
M lldb/utils/TableGen/LLDBPropertyDefEmitter.cpp
Log Message:
-----------
[LLDB] Set and verify paths of properties from tablegen (#179524)
In #168245, I attempted to dump the available settings to Markdown. That
required a full build of LLDB. However, to build the docs, only the swig
wrappers should need to be compiled. The comment was that we should be
able to use the definitions from the TableGen files.
Currently, the property definitions in don't have information about the
path where they will be available. They only contain a `Definition`
which groups properties, so they can be added to
`OptionValueProperties`.
With this PR, I'm adding the path for each property definition. For
example, `symbols.enable-external-lookup` would have `Name =
enable-external-lookup, Path = symbols`. In LLDB itself, we don't need
this path, we only need it for the documentation. To avoid mismatches
between the actual path and the declared one, I added a debug-only check
when a property group is added to a parent
(`OptionValueProperties::AppendProperty`).
The TableGen emitter for the properties now additionally emits
`g_{definition}_properties_def`, which includes both the array of
properties and the expected path. This constant has to be used to
initialize a `OptionValueProperties`.
I couldn't test this for everything (e.g. IntelPT or ProcessKDP), but
the necessary changes are simple: (1) set the `Path` in the TableGen
file, (2) update `initialize` to use `_def`.
Commit: ce94d63f0f0ecca24398d265654ef06d2ad255e0
https://github.com/llvm/llvm-project/commit/ce94d63f0f0ecca24398d265654ef06d2ad255e0
Author: Marcos Maronas <mmaronas at amd.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/test/CodeGenOpenCL/amdgpu-debug-info-pointer-address-space.cl
M clang/test/CodeGenOpenCL/amdgpu-debug-info-variable-expression.cl
M clang/test/Driver/amdgpu-toolchain-opencl.cl
M clang/test/Driver/opencl.cl
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/TargetParser/Triple.cpp
Log Message:
-----------
Make OpenCL an OSType rather than an EnvironmentType. (#170297)
OpenCL was added as an `EnvironmentType` in
https://github.com/llvm/llvm-project/pull/78655, but there is no
explanation as to why it was added as such, even after explicitly asking
in the PR
(https://github.com/llvm/llvm-project/pull/78655#issuecomment-2743162853).
This PR makes it an `OSType` instead, which feels more natural, and
updates tests accordingly.
---------
Co-authored-by: Marcos Maronas <marcos.maronas at intel.com>
Commit: 11c26133426fe6f8db87e1b404597413ad4dc57d
https://github.com/llvm/llvm-project/commit/11c26133426fe6f8db87e1b404597413ad4dc57d
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/test/Driver/wasm-features.c
A lld/test/wasm/compact-imports.s
M lld/wasm/SyntheticSections.cpp
M lld/wasm/WriterUtils.cpp
M lld/wasm/WriterUtils.h
M llvm/include/llvm/Object/Wasm.h
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
Log Message:
-----------
[WebAssembly] Add initial support for compact imports proposal (#176617)
This change adds initial support to libObject for reading compact
imports and support for writing compact imports in the linker.
There is minimal testing here since to tools like lllvm-readobj, and
obj2yaml don't currently report compact imports any differently.
See https://github.com/WebAssembly/compact-import-section
Commit: d354ea6add06a6fe806549a6cc18085d4f7adf24
https://github.com/llvm/llvm-project/commit/d354ea6add06a6fe806549a6cc18085d4f7adf24
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.cmpswap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.atomic.cmpswap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.cmpswap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.atomic.cmpswap.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for buffer atomic cmpswap (#180666)
Commit: 12294021c32ababfc69b11f9845690c1815eabfb
https://github.com/llvm/llvm-project/commit/12294021c32ababfc69b11f9845690c1815eabfb
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
[AMDGPU] Clean up VOP3PWMMA_Profile by removing XF32 related stuff (#180688)
XF32 is no longer supported in WMMA (the support was removed already)
Commit: c436838b64c4ff241ae9447b04b581e8900916a0
https://github.com/llvm/llvm-project/commit/c436838b64c4ff241ae9447b04b581e8900916a0
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaInit.cpp
R clang/test/CodeGenObjCXX/arc-lifetime-rvalue-ref-binding.mm
R clang/test/SemaObjCXX/arc-lifetime-rvalue-ref-binding.mm
Log Message:
-----------
Revert "[clang] Fix sema on ObjCLifetime conversion (#178524)" (#180811)
This reverts commit bc3b4462f06b988d2f5b5dec997a3bc9fcf518b6.
Commit: 81a8363ae3144e4c59322492ac5f08a6ceeb106d
https://github.com/llvm/llvm-project/commit/81a8363ae3144e4c59322492ac5f08a6ceeb106d
Author: Yury Plyakhin <yury.plyakhin at intel.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
Log Message:
-----------
[Offload][SYCL] Refactoring: get rid of newline separators (#180274)
Previously, kernel symbols in offload binaries for SYCL had to be stored
as newline-separated strings and we had to use llvm::join and
line_iterator. It was needed because Offload Binary v1 format did not
store string value sizes. It is not necessary with Offload Binary v2
format, which stores string value size and hence eliminates the need for
newline separators.
Commit: c703f5a1632973dd6eade473614dfbed1b088d9e
https://github.com/llvm/llvm-project/commit/c703f5a1632973dd6eade473614dfbed1b088d9e
Author: Fatih BAKIR <mfatihbakir at gmail.com>
Date: 2026-02-10 (Tue, 10 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 (#178287)
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.
Fixes: #178286
Commit: 4926bef3b797b79948514f67814edd0810eaf2e9
https://github.com/llvm/llvm-project/commit/4926bef3b797b79948514f67814edd0810eaf2e9
Author: hjagasiaAMD <harsha.jagasia at amd.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
[AMDGPU] Use enum instead of literal for MadFmaMixFP16Pats (#180802)
Commit: c9ee81a59e73a760febecad9fb8ed5baa3bee5ef
https://github.com/llvm/llvm-project/commit/c9ee81a59e73a760febecad9fb8ed5baa3bee5ef
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M libc/benchmarks/CMakeLists.txt
M libc/benchmarks/gpu/CMakeLists.txt
Log Message:
-----------
[libc] Fix unit test dependency and respect LIBC_INCLUDE_BENCHMARKS (#180812)
Summary:
The unittest framework function is defined in another CMake file which
may not be present if the uesr disabled tests, provide a smaller version
here to keep this private. Also respesct the LIBC_INCLUDE_BENCHMARKS
variable.
Commit: 3db01f0373cd221be1bdbc1ca702b82ec6ce3603
https://github.com/llvm/llvm-project/commit/3db01f0373cd221be1bdbc1ca702b82ec6ce3603
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/include/clang/Options/Options.td
Log Message:
-----------
[LifetimeSafety] Remove "experimental" from option descriptions (#180723)
Commit: e678e00dd7f55703eeb9fedf71a19e8480a97b93
https://github.com/llvm/llvm-project/commit/e678e00dd7f55703eeb9fedf71a19e8480a97b93
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/test/lit.cfg.py
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck] Exclude passes not in standard pipelines (#180814)
This patch excludes seven more passes by default (rather than in
profcheck-xfail.txt) that are not in standard pipelines. We should
eventually get to these, but for now we can punt them.
Commit: d380b29a7c8b158d908abe0bf2d9a545039e1aba
https://github.com/llvm/llvm-project/commit/d380b29a7c8b158d908abe0bf2d9a545039e1aba
Author: RattataKing <amilywu2 at amd.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M mlir/include/mlir/Bindings/Python/NanobindUtils.h
M mlir/lib/Bindings/Python/Globals.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRTypes.cpp
Log Message:
-----------
[MLIR][Python] Remove partial LLVM APIs in python bindings (5/n) (#180644)
This PR continues work from
https://github.com/llvm/llvm-project/pull/178290
Added local helper functions to avoid dependency on LLVM APIs.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: c322e374fee28c03525768cb281695938fe27ba2
https://github.com/llvm/llvm-project/commit/c322e374fee28c03525768cb281695938fe27ba2
Author: Thibault Monnier <thibaultmonni at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/APSInt.h
Log Message:
-----------
[ADT][NFC] Remove `else` after `return` in APSInt.h (#180790)
Align with the LLVM coding standard:
https://llvm.org/docs/CodingStandards.html#don-t-use-else-after-a-return
Commit: f668c9ff2b2775fa749b92985ad65f3f0f2132ed
https://github.com/llvm/llvm-project/commit/f668c9ff2b2775fa749b92985ad65f3f0f2132ed
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/branch-opt.ll
Log Message:
-----------
[RISCV] Add (BSETI x0, 11) to isLoadImm for optimizeCondBranch (#180820)
optimizeCondBranch is looking for immediates that are 1 apart to rewrite
the branch by sharing a constant. BSETI x0, 11 can be used to produce
2048 which is one more than the largest positive constant produced by
addi.
Commit: f134b802ee5ec127f178dd0c93de40f7e83a1c27
https://github.com/llvm/llvm-project/commit/f134b802ee5ec127f178dd0c93de40f7e83a1c27
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
Log Message:
-----------
[RISCV] Refactor the MC layer SiFive VCIX classes. (#180433)
My initial goal was to name bits {19-15} as either rs1, vs1, or imm as
appropriate.
The VCIX instructions effectively have 3 properties that are combined:
the type of bits 19-15 (determined by funct3), how many vector registers
are sources (determined by funct6), and whether vd is a written or not
(determined by vm).
I found the VCIXInfo class very hard to read and understand. This patch
breaks it up into simpler steps and moves some properties to flags in
the existing VCIXType classs. A new VCIXRs1Info class is added to
contain the properties for bits 19-15. The VCIXInfo now combines the
properties from these 2 classes and the HaveOutputDst flag to create the
various things needed to build the final instruction. To reduce the
number of template arguments, the VCIXInfo is passed all the way down to
the base class.
Much of the refactoring in this patch was accomplished with AI. I have
looked at the diffs in the output tablegen files to verify it works as
expected. RISCVGenInstrInfo.inc only changes line number comments.
RISCVGenDisassembler.inc doesn't change at all as expected.
RISCVGenMCCodeEmitter.inc changes due to the different field names and
orders in the record.
Commit: 058cad9f82b5eb5d28fb165bb04e1209243972b7
https://github.com/llvm/llvm-project/commit/058cad9f82b5eb5d28fb165bb04e1209243972b7
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/MachineInstr.cpp
Log Message:
-----------
Add "noconvergent" flag to MachineInstr::print() (#180818)
Commit: 6e6f76026d1dc3e311aaa9a4514b6d378539beb9
https://github.com/llvm/llvm-project/commit/6e6f76026d1dc3e311aaa9a4514b6d378539beb9
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[MLIR][OpenMP] Fix unused variable warning
7c07cb6542a0c5e4340e09a9a247e3e5123c6567 introduced a variable created
in an if statement that is only used in an assertion. Per the coding
guidelines, mark it [[maybe_unused]].
Commit: 78490acb329de7f9515134d2936963cd73f19ccc
https://github.com/llvm/llvm-project/commit/78490acb329de7f9515134d2936963cd73f19ccc
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/subvector-minbitwidth-unsigned-value.ll
Log Message:
-----------
[SLP]Support for zext i1 %x modeling as select %x, 1, 0
Model zext i1 %x to in as select i1 %x, in 1, in 0 in case, if there are
other select instructions, which can be combined into a bundle.
Fixes #178403
Recommit after revert in 993e1f66afcfe9da03bd813e669eada341b11d2f
Reviewers: hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/180635
Commit: 51311865069d3924581d926326fb1170bc95c4c2
https://github.com/llvm/llvm-project/commit/51311865069d3924581d926326fb1170bc95c4c2
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/icmp-uniforms.ll
M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
Log Message:
-----------
[VPlan] Use UTC to auto-generate more VPlan checks.
Update more VPlan tests to use auto-generated check lines via new UTC
support.
Commit: 49c052363b4ff1a66dddee5525cdaeb215ccd244
https://github.com/llvm/llvm-project/commit/49c052363b4ff1a66dddee5525cdaeb215ccd244
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/make-compressible-zilsd.mir
Log Message:
-----------
[RISCV] Use ADDD for GPR Pair Move with P (#180671)
Commit: 604e4adef0f09fec00a618f003d3a8108f4c576d
https://github.com/llvm/llvm-project/commit/604e4adef0f09fec00a618f003d3a8108f4c576d
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg10xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg15xx.cpp
M clang/test/CXX/drs/cwg16xx.cpp
A clang/test/CXX/drs/cwg1736.cpp
M clang/test/CXX/drs/cwg17xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg1xx.cpp
A clang/test/CXX/drs/cwg2026.cpp
M clang/test/CXX/drs/cwg20xx.cpp
A clang/test/CXX/drs/cwg2406.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/CXX/drs/cwg25xx.cpp
A clang/test/CXX/drs/cwg2881.cpp
M clang/test/CXX/drs/cwg28xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
A clang/test/CXX/drs/cwg329.cpp
A clang/test/CXX/drs/cwg390.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/test/CXX/drs/cwg6xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
A clang/test/CXX/drs/cwg98.cpp
M clang/test/CXX/drs/cwg9xx.cpp
Log Message:
-----------
[clang] Non-trivial fixes in C++ DR tests (#179813)
This is a follow-up to #179674, which applies various fixes across C++
DR tests uncovered by `-verify-directives` (#179835
).
Changes here serve double duty. First, they fix actual problems found by
`-verify-directives`, because I've been manually enforcing those rules
manually for quite a while. Second, they show typical problems and
possible solutions when you opt-in a test to use `-verify-directives`.
This PR focuses on interesting cases, as partial diagnostic matches,
which are trivial to fix, are fixed in boring #179674
Changes include:
1. Getting rid of instantiations at the end of TU that emit diagnostics:
either trigger them earlier, or move them to a separate file
2. Reordering of `expected-error` and `expected-note` to match the order
in which corresponding diagnsotics are emitted.
3. Eliminating leftover partial matches of diagnostic text
4. Removing some extension warnings, because C++ DR tests are not
interested in features backported to older language modes.
5. Fix for a hilarious case of CWG413 test, which was checking for a
note from a typo correction that happened in another test.
Commit: 550e0d1b0d7230350db783fbafbac17899e7474f
https://github.com/llvm/llvm-project/commit/550e0d1b0d7230350db783fbafbac17899e7474f
Author: adams381 <adams at nvidia.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGen/builtin-floating-point.c
A clang/test/CIR/CodeGen/builtins-elementwise.c
M clang/test/CIR/CodeGen/libc.c
M clang/test/CIR/CodeGenBuiltins/builtin-fcmp-sse.c
M clang/test/CIR/CodeGenBuiltins/builtin-isfpclass.c
Log Message:
-----------
[CIR] Add math and builtin intrinsics support (#175233)
This PR adds support for various math and builtin intrinsics to CIR:
## Changes
1. **Floating-point math intrinsics** - sqrt, cos, exp, exp2, floor,
fabs, sin, log, log2, log10, ceil, nearbyint, rint, round, trunc,
copysign, fma, fmax, fmin, pow
2. **Inverse trig, atan2, and roundeven** - acos, asin, atan, atan2,
roundeven
3. **Elementwise builtins** - add_sat, sub_sat, abs, max, min,
bitreverse, popcount, canonicalize
4. **Integer abs family** - abs, labs, llabs and their __builtin_
variants
5. **Prediction builtins** - __builtin_unpredictable
6. **Tests for rotate builtins** - Added OGCG checks for
__builtin_rotateleft/right
All changes include CIR, LLVM lowering, and OGCG test checks to verify
correctness.
Commit: 7f9965c73de2a3290f78f12f9d26360407dd2fd6
https://github.com/llvm/llvm-project/commit/7f9965c73de2a3290f78f12f9d26360407dd2fd6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fdiv.ll
Log Message:
-----------
InstCombine: Fix broken insert point for fdiv replacement (#180830)
SimplifyDemandedFPClass isn't properly adjusting the IRBuilder
insert point, so this could insert at the wrong point if the
simplification happens in one of the recursive calls. There are a few
more of these to fix.
Commit: a1fc5b4a48db440e37acd06972a65dd67a3b2b7c
https://github.com/llvm/llvm-project/commit/a1fc5b4a48db440e37acd06972a65dd67a3b2b7c
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-incomplete-chains.ll
Log Message:
-----------
[VPlan] Reject partial reductions with invalid costs in getScaledReds. (#180438)
Check if costs for partial reductions are valid up-front in
getScaledReductions instead when transforming each link in the chain in
transformToPartialReduction. This ensures that we either transform all
entries in the chain together, or none via the existing invalidation
logic.
This fixes a crash when a link in the chain would have invalid cost, as
in the added test cases.
Fixes https://github.com/llvm/llvm-project/issues/180340.
PR: https://github.com/llvm/llvm-project/pull/180438
Commit: f9d622d552384d78a59b8a19f9bb9fd0f5851722
https://github.com/llvm/llvm-project/commit/f9d622d552384d78a59b8a19f9bb9fd0f5851722
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/test/Assembler/amdgcn-intrinsic-attributes.ll
Log Message:
-----------
AMDGPU: Add more attributes to wait event intrinsics (#180825)
Mark as nocallback nofree.
Commit: 5d2097ba88117443313d339a1f7595c6fc0b1024
https://github.com/llvm/llvm-project/commit/5d2097ba88117443313d339a1f7595c6fc0b1024
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPProperties.td
M lldb/source/Plugins/Trace/intel-pt/TraceIntelPTProperties.td
Log Message:
-----------
[LLDB] Fix tablegen paths for KDP and IntelPT properties (#180835)
Fixes the build errors from #179524. Initially I used `Parent` as the
name but switched to `Path` later and forgot to update these files.
Commit: 61521a94af0de490466542a18cfcd3b1a1280711
https://github.com/llvm/llvm-project/commit/61521a94af0de490466542a18cfcd3b1a1280711
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Ensure countable region in narrowInterleaveGroups.
This tightens the legality checks. Currently should not have any impact,
but is needed to avoid mis-compiles in follow-up changes.
Commit: 8dde3051504cb9ae42e654bbce39001f3946beea
https://github.com/llvm/llvm-project/commit/8dde3051504cb9ae42e654bbce39001f3946beea
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
M mlir/test/Dialect/Vector/vector-multi-reduction-lowering.mlir
Log Message:
-----------
[mlir][vector] Add finer grained populate methods for multi_reduction (NFC). (#180750)
Thiese commits add three more populate methods for
`vector.multi_reduction`'s lowering patterns:
* populateVectorMultiReductionTransformationPatterns
* populateVectorMultiReductionFlatteningPatterns
* populateVectorMultiReductionUnrollingPatterns
These methods have a
finer level of granularity and allow users to select between unrolling,
flattening, and applying transformations that would set up operations
for unrolling and flattening.
The previous populateVectorMultiReductionLoweringPatterns method
is rewritten in terms of these new methods.
Commit: 643c2356940abc89373f4fd1570e0afc2500bdd6
https://github.com/llvm/llvm-project/commit/643c2356940abc89373f4fd1570e0afc2500bdd6
Author: Faijul Amin <md.faijul.amin at intel.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
A llvm/test/CodeGen/SPIRV/legalization/icmp_extended_int.ll
Log Message:
-----------
[SPIRV] Legalize extended integers for compare instructions. (#180254)
Currently, legalization fails for integer (lower than 8 bit) comparison
with extensions, for example, SPV_INTEL_int4. This PR extends integers
for supported extensions.
---------
Co-authored-by: Michal Paszkowski <michal at michalpaszkowski.com>
Commit: 5a8144da98f7c8585bd6a58af167e3824f2b647d
https://github.com/llvm/llvm-project/commit/5a8144da98f7c8585bd6a58af167e3824f2b647d
Author: Mathew Joseph <69132893+mathew1046 at users.noreply.github.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/llogbl.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/llogbl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/llogbl.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 llogbl to be header-only (#175376)
Fixes: #175361
Commit: 7892f84b1f2f30a85d642b87f4b1051a703b1e8c
https://github.com/llvm/llvm-project/commit/7892f84b1f2f30a85d642b87f4b1051a703b1e8c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/test/MC/RISCV/rv32zbb-aliases-valid.s
M llvm/test/MC/RISCV/rv64zbb-aliases-valid.s
Log Message:
-----------
[RISCV] Remove non-alias tests from rv32zbb-aliases-valid.s and rv64zbb-aliases-valid.s. NFC (#180317)
These are real instructions and are tested in rv32zbb-only-valid.s,
rv64-zbb-valid.s, or rvzbb-valid.s
I think this is some artifact of the refactoring that happened when some
of the Bitmanip extensions/instructions were removed years ago.
Commit: 04bb0e2c654e8d54fc5a5a9276050fb0c8c734b7
https://github.com/llvm/llvm-project/commit/04bb0e2c654e8d54fc5a5a9276050fb0c8c734b7
Author: Anonmiraj <ezzibrahimx at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/log10f16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/log10f16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/log10f16.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 log10f16 to Header Only. (#176523)
closes : #176510
Commit: 31e1bcfd09736f1fa66b4b52fd7b6669a9a35aa4
https://github.com/llvm/llvm-project/commit/31e1bcfd09736f1fa66b4b52fd7b6669a9a35aa4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/lib/Target/RISCV/RISCVPostRAExpandPseudoInsts.cpp
M llvm/test/CodeGen/RISCV/rv32p.ll
M llvm/test/CodeGen/RISCV/rv64p.ll
Log Message:
-----------
[RISCV] Add basic scalar support for MERGE, MVM, and MVMN from P extension (#180677)
These are 3 variations of the same operation with a different operand
tied to the destination register. We need to pick the one that
minimizes the number of mvs.
To do this we take the approach used by AArch64 to select between
BIT, BIF, and BSL which the same operations. We define a pseudo
with no tied constraint and expand it after register allocation based
on where the destination register ended up. If the destination
register is none of the operands, we'll insert a mv.
I've replaced RISCVISD::MVM with RISCVISD::MERGE and updated the operand
order accordingly. I find the MERGE name easier to read so I've made it
the canonical name.
Ideally we could use commuteInstructionImpl and the
TwoAddressInstructionPass
to select the opcode before register allocation. That only works if
you can commute exactly 2 operands and maybe change the opcode in the MI
representation of any of the forms to get to the either of the other 2
forms.
That is not possible. We'd need to define 3 more pseudoinstructions
with different permutations.
With the current approach it might be possible that we insert a mv
not because all of the operand registers we needed by later
instructions,
but because the register allocator needed to put the result in a
different register. It's possible a different allocation for other
instructions might have avoided the mv.
I wrote the patch based on the AArch64, but the tests were generated
by AI.
Commit: 057ace39151e68c8167c854dab123861291d4a48
https://github.com/llvm/llvm-project/commit/057ace39151e68c8167c854dab123861291d4a48
Author: Anonmiraj <ezzibrahimx at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/log1pf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/log1pf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/log1pf.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 log1pf to Header Only. (#176525)
closes : #176512
Commit: 1e086d06e984e83988470208afeb52977ff3b2ce
https://github.com/llvm/llvm-project/commit/1e086d06e984e83988470208afeb52977ff3b2ce
Author: Alexander Weinrauch <alexander.weinrauch at amd.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AMDGPU/dagcombine-reassociate-multi-memop.ll
Log Message:
-----------
[DAGCombiner] Fix crash in reassociationCanBreakAddressingModePattern for multi-memop nodes (#180268)
Two code paths in `reassociationCanBreakAddressingModePattern` were
missing a `hasUniqueMemOperand()` guard before calling
`getAddressSpace()`. Note that on `L1214` we already have the same guard
in place.
`getAddressSpace()` chains through `getPointerInfo()` to
`getMemOperand()`, which asserts that the node has exactly one memory
operand.
Commit: 979132a02d146ec79e2f046e31877516d7f32d20
https://github.com/llvm/llvm-project/commit/979132a02d146ec79e2f046e31877516d7f32d20
Author: Alexander Weinrauch <alexander.weinrauch at amd.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.mir
Log Message:
-----------
[AMDGPU] Fix LDS address correction in promoteConstantOffsetToImm for async stores (#180220)
`updateAsyncLDSAddress`, introduces by
https://github.com/llvm/llvm-project/pull/176816, previously only
handled async loads , where the LDS address is in the `vdst` operand.
Therefore Async stores produced a nullptr dereference since the LDS
address is in `vdata` for those instructions.
---------
Co-authored-by: Jay Foad <jay.foad at gmail.com>
Commit: 7068b522545e553ed29a43d8126a3a54191ab8a3
https://github.com/llvm/llvm-project/commit/7068b522545e553ed29a43d8126a3a54191ab8a3
Author: Anonmiraj <ezzibrahimx at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/log10f.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/log10f.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/log10f.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 log10f to Header Only. (#176520)
closes : #176511
Commit: 76d9c2b40da35c0ac841891ac4f1aea7f655cac0
https://github.com/llvm/llvm-project/commit/76d9c2b40da35c0ac841891ac4f1aea7f655cac0
Author: Anonmiraj <nabilmalek48 at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/log2f16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/log2f16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/log2f16.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 log2f16 to Header Only. (#176526)
closes : #176513
Commit: 0b1b6c22585c79bea71fba77dd067d5369823a8f
https://github.com/llvm/llvm-project/commit/0b1b6c22585c79bea71fba77dd067d5369823a8f
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M compiler-rt/lib/hwasan/hwasan_fuchsia.cpp
Log Message:
-----------
[hwasan][Fuchsia] Use GetCurrentThread (#180602)
The hook passed to __sanitizer_thread_exit_hook will be null if we ever
call thrd/pthread_exit from the initial thread since
__sanitizer_before_thread_create_hook is never called on the initial
thread. Rather than using the hook, we can use the normal hwasan
machinery for getting the current pointer rather than the hook.
Commit: e318fc8ce415ad93afb7c11d4ad60252038ac427
https://github.com/llvm/llvm-project/commit/e318fc8ce415ad93afb7c11d4ad60252038ac427
Author: Marco Elver <elver at google.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
Log Message:
-----------
Thread Safety Analysis: Fix crash with wide string literals (#180349)
The SExprBuilder was previously using StringLiteral::getString() to
extract the value of string literals. This method asserts that the
string is a narrow string (char width == 1):
```
clang/include/clang/AST/Expr.h:1872: StringRef clang::StringLiteral::getString() const: Assertion `(isUnevaluated() || getCharByteWidth() == 1) && "This function is used in places that assume strings use char"' failed.
[...]
#9 0x0000556247fcfe3e clang::threadSafety::SExprBuilder::translate(clang::Stmt const*, clang::threadSafety::SExprBuilder::CallingContext*)
[...]
```
This fails when using wide string literals as in the new test case
added.
Switch to using StringLiteral::getBytes(), which provides the raw byte
representation of the string. This is sufficient to compare expressions
for identity.
Fixes: https://github.com/llvm/llvm-project/pull/148551
Commit: f80e3b3d7eebc5651fba656aab02485a9c0822b4
https://github.com/llvm/llvm-project/commit/f80e3b3d7eebc5651fba656aab02485a9c0822b4
Author: Maksim Panchenko <maks at fb.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Keep folded functions in BinaryFunctions map. NFC (#180392)
In relocation mode, keep folded functions in the BinaryFunctions map
instead of erasing them. Mark them as folded using setFolded() and skip
emitting them.
Commit: b62a97abb7ae1acb77f63f698d4c5cefca0e4f96
https://github.com/llvm/llvm-project/commit/b62a97abb7ae1acb77f63f698d4c5cefca0e4f96
Author: Anonmiraj <ezzibrahimx at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/log2f.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/log2f.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/log2f.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 log2f to Header Only. (#176527)
closes : #176514
Commit: d8487e4b17fefba56b4d4dca60ff6acb8cd8c814
https://github.com/llvm/llvm-project/commit/d8487e4b17fefba56b4d4dca60ff6acb8cd8c814
Author: Anonmiraj <ezzibrahimx at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/pow.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/pow.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/pow.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 pow to Header Only. (#176529)
closes : #176516
Commit: 246f18778e9c1342083bd96ad4e523a3daf1c9b1
https://github.com/llvm/llvm-project/commit/246f18778e9c1342083bd96ad4e523a3daf1c9b1
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
A clang/Maintainers.md
R clang/Maintainers.rst
M clang/docs/CMakeLists.txt
A clang/docs/Maintainers.md
R clang/docs/Maintainers.rst
M llvm/docs/Contributing.rst
Log Message:
-----------
[docs] Move Maintainers.rst to Maintainers.md in preparation to reformat
This change intentionally produces malformatted documentation, and is
only present to ensure git detects the file rename for blame purposes.
Commit: 44f24849961630a500f76f65b047f6483f0b2024
https://github.com/llvm/llvm-project/commit/44f24849961630a500f76f65b047f6483f0b2024
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/Maintainers.md
M clang/docs/Maintainers.md
Log Message:
-----------
[clang] Convert Maintainers.md from rst to markdown
I link-ified the github usernames as well, and tried to match the LLVM
maintainer file formatting.
This move may cause issues with CMake incremental builds, but this can
be fixed by deleting the entire build director, or if you prefer to be
more targetted, just `build/tools/clang/docs`, since that will have a
stale Maintainers.rst file otherwise.
Commit: 90d49d3782b287574af1c47d3ef2073dcbd72ba8
https://github.com/llvm/llvm-project/commit/90d49d3782b287574af1c47d3ef2073dcbd72ba8
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M lldb/include/lldb/Utility/UUID.h
M lldb/unittests/Utility/UUIDTest.cpp
Log Message:
-----------
[lldb] Implement DenseMapInfo for UUID (#180854)
Implement DenseMapInfo for UUID so that we can use UUIDs as keys in
DenseMap and DenseSet.
Commit: dc5ab0f149bd34984e2afb8cb6dd8d5fe1a75a37
https://github.com/llvm/llvm-project/commit/dc5ab0f149bd34984e2afb8cb6dd8d5fe1a75a37
Author: Anonmiraj <ezzibrahimx at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/powf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/powf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/powf.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 powf to Header Only. (#176531)
closes : https://github.com/llvm/llvm-project/issues/176517
Commit: 59bcec2685158fbc591834a100edc79ab5b29595
https://github.com/llvm/llvm-project/commit/59bcec2685158fbc591834a100edc79ab5b29595
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/include/llvm/CAS/OnDiskKeyValueDB.h
M llvm/lib/CAS/ActionCaches.cpp
M llvm/lib/CAS/OnDiskKeyValueDB.cpp
M llvm/lib/CAS/UnifiedOnDiskCache.cpp
M llvm/test/tools/llvm-cas/validation.test
M llvm/unittests/CAS/OnDiskKeyValueDBTest.cpp
Log Message:
-----------
[llvm][cas] Validate OnDiskKeyValueDB against the corresponding OnDiskGraphDB (#180852)
We were previously using the primary OnDiskGraphDB when validating the
upstream OnDiskKeyValueDB, which is incorrect since the values being
stored are direct offsets and therefore cannot be used across DBs
without translating to a hash value first.
rdar://170067863
Commit: ac1220f860a8639881e28ba7824e90ba1155d4f4
https://github.com/llvm/llvm-project/commit/ac1220f860a8639881e28ba7824e90ba1155d4f4
Author: Michael Jones <michaelrj at google.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/config/baremetal/config.json
M libc/config/config.json
M libc/docs/configure.rst
M libc/docs/dev/printf_behavior.rst
M libc/src/stdio/printf_core/converter_utils.h
M libc/src/stdio/printf_core/core_structs.h
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/printf_core/write_int_converter.h
M libc/test/UnitTest/PrintfMatcher.cpp
M libc/test/src/stdio/printf_core/parser_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
Log Message:
-----------
[libc] Add option to disable printf bit int (#180832)
Requested as a binary size optimization. Updates the parser, converter
utils, config, tests, and docs.
Commit: 7952896611fb7e5e4dade24c9fc5583c7dc42363
https://github.com/llvm/llvm-project/commit/7952896611fb7e5e4dade24c9fc5583c7dc42363
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[mlir][acc] Fixed side effects for [first]private/reduction. (#180791)
This patch moves the definitions of memory effects for the data
entry/exit operations into C++ code. The main reason for this
is to modify the effects of [first]private and reduction
operations: they should not access `CurrentDeviceIdResource`
when they are located inside a compute construct.
The ODS to C++ migration was done with AI assistance. I reviewed
these changes and made sure it was an NFC change. After that
I modified [first]private and reduction implementations.
Commit: 0c884aa2f52576bd2f03605371d7dc934f0906e5
https://github.com/llvm/llvm-project/commit/0c884aa2f52576bd2f03605371d7dc934f0906e5
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel
Log Message:
-----------
[FlowSensitive] [StatusOr] Add test fixture target to Bazel (#180302)
This can be used to make sure downstream extensions to the model still
pass the unit tests.
Commit: 0f6ee50e4eadfd1984a9454f322d5a2f4b03dbc4
https://github.com/llvm/llvm-project/commit/0f6ee50e4eadfd1984a9454f322d5a2f4b03dbc4
Author: Priyanshu Kumar <10b.priyanshu at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
A clang/test/CIR/CodeGenBuiltins/X86/avx512vbmi2-builtins.c
M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
Log Message:
-----------
[CIR][X86] Add support for vpshl/vpshr builtins (#179538)
This patch also adds support for fshl/fshr operations so that
vpshl/vpshr intrinsics can lower to them
Part of: #167765
Commit: 7e734da3460bc6f3474a16b4385332021ee6cdc2
https://github.com/llvm/llvm-project/commit/7e734da3460bc6f3474a16b4385332021ee6cdc2
Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/RISCV/math-builtins.c
M clang/test/CodeGen/builtins.c
M clang/test/CodeGen/math-builtins-long.c
M clang/test/CodeGenOpenCL/builtins-f16.cl
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/amdgcn_openmp_device_math_constexpr.cpp
M clang/test/Headers/nvptx_device_math_complex.c
M clang/test/Headers/nvptx_device_math_complex.cpp
Log Message:
-----------
Clang: Add nsz to llvm.minnum and llvm.maxnum emitted from fmin and fmax (#113133)
See: https://github.com/llvm/llvm-project/pull/112852
We will define llvm.minnum and llvm.maxnum with +0.0>-0.0, by default,
while libc doesn't require it.
Commit: 91224e35fdd9f43faf87880749d693394b942fcb
https://github.com/llvm/llvm-project/commit/91224e35fdd9f43faf87880749d693394b942fcb
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M libc/config/baremetal/config.json
M libc/config/config.json
Log Message:
-----------
[libc] Disable math exceptions for baremetal (#180863)
To further save code size for baremetal builds, disable math function
exceptions.
Commit: 1a45b52115927076204f0c911cc34c16bfb17e4a
https://github.com/llvm/llvm-project/commit/1a45b52115927076204f0c911cc34c16bfb17e4a
Author: Zinovy Nis <zinovy.nis at gmail.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-doc/Generators.h
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
Log Message:
-----------
[clang-doc] Apply modernize-use-string-view to the code (#180332)
Commit: 0aa4a016d6bb4da7b30005a1ee98c9763f9ff7da
https://github.com/llvm/llvm-project/commit/0aa4a016d6bb4da7b30005a1ee98c9763f9ff7da
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/test/Dialect/SparseTensor/invalid.mlir
Log Message:
-----------
[mlir][sparse] Fix a crash if block not have terminator (#180741)
This PR fixes a crash in `verifyNumBlockArgs` if region not end with a
terminator. Fixes #180720.
Commit: 690aa65125ac2412480cc839feab9d46dcf91148
https://github.com/llvm/llvm-project/commit/690aa65125ac2412480cc839feab9d46dcf91148
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/test/Dialect/Shape/canonicalize.mlir
Log Message:
-----------
[mlir][shape] Fix crash in ShapeOfOpToConstShapeOp (#180737)
This PR fixes a crash when `shape.shape_of` op has static arg and shape
result type. Fixes #180719.
Commit: f932646bf6c7a7d528d9ef0d253500b6ce1cb14f
https://github.com/llvm/llvm-project/commit/f932646bf6c7a7d528d9ef0d253500b6ce1cb14f
Author: Mitchel Dickerson <mitchel.dickerson at mediatek.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
A llvm/test/Transforms/SimplifyCFG/branch-weight-overflow.ll
Log Message:
-----------
[SimplifyCFG][PGO] Add missing overflow check to ConstantFoldTerminator (#178964)
Branch weight metadata can overflow when folding large branch weights.
Updated branch weights to uint64_t, added check for overflow, and then
set branch weights using setFittedBranchWeights to ensure branch weight
metadata is not lost.
Commit: 1094775692bf6d44358629ded7c4d779785b2d3e
https://github.com/llvm/llvm-project/commit/1094775692bf6d44358629ded7c4d779785b2d3e
Author: woruyu <1214539920 at qq.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512bwvl-arith.ll
Log Message:
-----------
[X86] Fix lower1BitShuffle blend-with-zero shuffles to AND mask (#180472)
### Summary
This PR resolves https://github.com/llvm/llvm-project/issues/180426.
Commit: 50746f28f12d7b28fdaa3fc0de5822ea42a0d5a4
https://github.com/llvm/llvm-project/commit/50746f28f12d7b28fdaa3fc0de5822ea42a0d5a4
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M flang/lib/Lower/HlfirIntrinsics.cpp
M flang/test/Lower/HLFIR/assumed-rank-inquiries.f90
A flang/test/Lower/HLFIR/elemental-result-length-len-folding.f90
Log Message:
-----------
[flang] Don't do actual concatenation when computing LEN() of concatenated strings (#180676)
For cases like the following don't actually compute concatenation of
`str // "abc"`, because we only need final length:
```
character(len=*), intent(in) :: str
character(len=len(str // "abc")) :: res
```
For such cases, don't emit hlfir.concat.
Fixes #157763
Commit: 16bfc02f4a897113bb895d0cb5f728abfdbe371c
https://github.com/llvm/llvm-project/commit/16bfc02f4a897113bb895d0cb5f728abfdbe371c
Author: Abhinav Garg <abhinav.garg at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-add.ll
Log Message:
-----------
[AMDGPU] [GlobalIsel] Enabling lit tests for new regbank select (#180680)
This patch will enable few more lit tests that depends on G_FRAME_INDEX
opcode.
Commit: ac85248f11c900d2500d6feee58063f12add36dd
https://github.com/llvm/llvm-project/commit/ac85248f11c900d2500d6feee58063f12add36dd
Author: Anshul Nigham <nigham at google.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/lib/Target/X86/X86PassRegistry.def
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/Target/X86/X86WinEHState.cpp
M llvm/test/CodeGen/WinEH/wineh-comdat.ll
M llvm/test/CodeGen/WinEH/wineh-scope-statenumbering.ll
M llvm/test/CodeGen/WinEH/wineh-setjmp.ll
M llvm/test/CodeGen/WinEH/wineh-statenumbering-cleanups.ll
M llvm/test/CodeGen/WinEH/wineh-statenumbering.ll
M llvm/test/CodeGen/X86/win32-eh-available-externally.ll
Log Message:
-----------
[NewPM] Port x86-winehstate (#180687)
x86-winehstate has been converted to a module pass for NewPM since it
uses data from the Module by overriding `doInitialization` and
`doFinalization`.
Commit: 7b56bc85ca672d19237f2e8d4cc34ceeb6e7f50a
https://github.com/llvm/llvm-project/commit/7b56bc85ca672d19237f2e8d4cc34ceeb6e7f50a
Author: Florian Scheibner <florian.scheibner at mytum.de>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang-tools-extra/docs/clang-tidy/index.rst
Log Message:
-----------
[clang-tidy][docs] Update documentation to current --help (#180575)
I noticed the documentation is missing this doc fix:
https://github.com/llvm/llvm-project/commit/455105f1c67ccb625a1dccbf55cc2266bf9eaba2
I reran `clang-tidy --help` on current main.
Commit: 36caa31621daef06b0696f0c500822bf32c4bb2a
https://github.com/llvm/llvm-project/commit/36caa31621daef06b0696f0c500822bf32c4bb2a
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/docs/TestingGuide.rst
M llvm/test/tools/llubi/main.ll
M llvm/test/tools/llubi/main2.ll
M llvm/test/tools/llubi/poison.ll
M llvm/utils/UpdateTestChecks/common.py
A llvm/utils/update_llubi_test_checks.py
Log Message:
-----------
[llubi] Add UTC helper (#180603)
This patch adds a UTC helper `llvm/utils/update_llubi_test_checks.py` to
generate check lines for the trace. Generalizer and multiple prefixes
are not supported since they are meaningless for traces. I know it is a
bit weird, but I don't have a better idea :(
I found that `llvm/utils/update_test_body.py` also works. But it is
annoying to duplicate the command twice.
Commit: ab33f1e427f7757a180e77ebeb67faded5b5b3d3
https://github.com/llvm/llvm-project/commit/ab33f1e427f7757a180e77ebeb67faded5b5b3d3
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Transforms/IPO/IROutliner.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Transforms/IPO/IROutliner.cpp
A llvm/test/Transforms/IROutliner/outlining-compatible-and-never-transfer-riscv.ll
Log Message:
-----------
[IROutliner] Add TTI Hook for Propagating Attributes (#153985)
On RISC-V, the interrupt attribute relates only to the prolog and epilog
of the attributed function (and has specific restrictions on the
function's signature). It does not change how that function calls other
functions, and when outlining, the outlined function must not have this
attribute.
This adds a target-independent hook to TTI so targets can choose which
attributes to propagate (by default all are propagated).
Fixes #149969
Commit: f0546e79ca569e7f44126a8617714fd9a9d15854
https://github.com/llvm/llvm-project/commit/f0546e79ca569e7f44126a8617714fd9a9d15854
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/aarch64-outliner.c
A clang/test/Driver/riscv-outliner.c
A clang/test/Driver/unsupported-outliner.c
A clang/test/Driver/x86-outliner.c
Log Message:
-----------
[clang][Driver] Support Outline Flags on RISC-V and X86 (#163664)
These two targets both also support the machine outliner, so these flags
should probably be cross-target. This updates the docs for these flags
as well.
Commit: fbad717b9a09af5abafbeba859646d1ab05213d5
https://github.com/llvm/llvm-project/commit/fbad717b9a09af5abafbeba859646d1ab05213d5
Author: Wenju He <wenju.he at intel.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaOpenCL/invalid-vector-literals.cl
Log Message:
-----------
[OpenCL] Diagnose invalid conversion from pointer to vector (#180318)
Fix crash in clang PrepareScalarCast when compiling OpenCL source: void
foo() {
int a[3] = {1, 2, 3};
int3 b = (int3)(a);
}
PrepareScalarCast requires scalar src, but the provided src is a
pointer.
Resolves https://github.com/intel/compute-runtime/issues/888
Commit: b02b395a1e75030708efc099f449f96436a90141
https://github.com/llvm/llvm-project/commit/b02b395a1e75030708efc099f449f96436a90141
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.td
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-load-to-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load-lds.cl
A llvm/docs/AMDGPUAsyncOperations.rst
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/UserGuides.rst
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
A llvm/test/CodeGen/AMDGPU/async-buffer-loads.ll
A llvm/test/CodeGen/AMDGPU/asyncmark-pregfx12.ll
M llvm/test/CodeGen/AMDGPU/hazard-flat-instruction-valu-check.mir
M llvm/test/CodeGen/AMDGPU/insert-waitcnts-fence-soft.mir
M llvm/test/CodeGen/AMDGPU/lds-dma-hazards.mir
M llvm/test/CodeGen/AMDGPU/lds-dma-waitcnt.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.lds.err.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.to.lds.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.to.lds.ll
M llvm/test/CodeGen/AMDGPU/sched.group.classification.mir
Log Message:
-----------
[AMDGPU] Asynchronous loads from global/buffer to LDS on pre-GFX12 (#180466)
The existing "LDS DMA" builtins/intrinsics copy data from global/buffer
pointer to LDS. These are now augmented with their ".async" version,
where the compiler does not automatically track completion. The
completion is now tracked using explicit mark/wait intrinsics, which
must be inserted by the user. This makes it possible to write programs
with efficient waits in software pipeline loops. The program can now
wait for only the oldest outstanding operations to finish, while
launching more operations for later use.
This change only contains the new names of the builtins/intrinsics,
which continue to behave exactly like their non-async counterparts. A
later change will implement the actual mark/wait semantics in
SIInsertWaitcnts.
This is part of a stack split out from #173259:
- #180467
- #180466
Fixes: SWDEV-521121
Commit: 0d08cb0e70378d1f10578f4e009eb29eb17ad2dd
https://github.com/llvm/llvm-project/commit/0d08cb0e70378d1f10578f4e009eb29eb17ad2dd
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/Attributes.td
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
A llvm/test/Bitcode/upgrade-nooutline.ll
M llvm/test/CodeGen/AArch64/machine-outliner-mapper-debug-output.mir
M llvm/test/Transforms/IROutliner/nooutline-attribute.ll
M llvm/utils/kate/llvm.xml
M llvm/utils/vim/syntax/llvm.vim
M llvm/utils/vscode/llvm/syntaxes/ll.tmLanguage.yaml
Log Message:
-----------
[outliners] Turn nooutline into an Enum Attribute (#163665)
This change turns the `"nooutline"` attribute into an enum attribute
called `nooutline`, and adds an auto-upgrader for bitcode to make the
same change to existing IR.
This IR attribute disables both the Machine Outliner (enabled at Oz for
some targets), and the IR Outliner (disabled by default).
Commit: 4b33d45809e175f9bb0a74faab049d7fd229e45e
https://github.com/llvm/llvm-project/commit/4b33d45809e175f9bb0a74faab049d7fd229e45e
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M flang/include/flang/Semantics/symbol.h
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Semantics/OpenMP/declare-reduction-derived-module.f90
Log Message:
-----------
[Flang][OpenMP] Fix visibility of user-defined reductions for derived types and module imports (#180552)
User-defined reductions declared in a module were not visible to
programs that imported the module via USE statements, causing valid code
to be incorrectly rejected. The reduction identifier defined in the
module scope wasn't being found during semantic analysis of the main
program.
Ref:
OpenMP Spec 5.1
_"If a directive appears in the specification part of a module then the
behavior is as if that directive,
with the variables, types and procedures that have PRIVATE accessibility
omitted, appears in the
specification part of any compilation unit that references the module
unless otherwise specified "_
Fixes :
[https://github.com/llvm/llvm-project/issues/176279](https://github.com/llvm/llvm-project/issues/176279)
Co-authored-by: Chandra Ghale <ghale at pe31.hpc.amslabs.hpecorp.net>
Commit: 8a00fd0f136c9acfcd846291a7a0e1b47f2f6e6e
https://github.com/llvm/llvm-project/commit/8a00fd0f136c9acfcd846291a7a0e1b47f2f6e6e
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
M mlir/test/Dialect/Affine/loop-fusion-4.mlir
Log Message:
-----------
[MLIR][Affine] Remove restriction in slice validity check on symbols (#180709)
Remove restriction in affine analysis utility for checking slice
validity. This was unnecessarily bailing out still after the underlying
methods were extended. This update enables fusion of affine nests with
symbolic bounds.
Fixes: https://github.com/llvm/llvm-project/issues/61784
Based on and revived from https://reviews.llvm.org/D148559 from
@anoopjs.
Commit: 70b96befd832f45a007dc8788a38ff849b3f9a98
https://github.com/llvm/llvm-project/commit/70b96befd832f45a007dc8788a38ff849b3f9a98
Author: Kyungtak Woo <kevinwkt at google.com>
Date: 2026-02-10 (Tue, 10 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/CMakeLists.txt
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
R llvm/lib/Target/X86/X86InsertWait.cpp
A llvm/lib/Target/X86/X86InsertX87Wait.cpp
M llvm/lib/Target/X86/X86PassRegistry.def
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/test/CodeGen/X86/llc-pipeline-npm.ll
Log Message:
-----------
[NewPM] Port x86-insert-x87-wait (#180128)
Similar to other portings created by @aidenboom154. No specific test
coverage as there are no MIR->MIR tests that exercise this pass. Going
with other naming conventions, I renamed WaitInsert to
X86InsertX87WaitLegacy
Commit: c8e7c3a3c5cd1e481873eae3b357a392fd2cfd66
https://github.com/llvm/llvm-project/commit/c8e7c3a3c5cd1e481873eae3b357a392fd2cfd66
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
Log Message:
-----------
[gn build] Port 70b96befd832
Commit: e0285e497a6b52baae546a45df7c59075234ab3c
https://github.com/llvm/llvm-project/commit/e0285e497a6b52baae546a45df7c59075234ab3c
Author: S. B. Tam <cpplearner at outlook.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_date.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_date_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_monthname.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_monthname_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_one.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_time.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_time_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_weekday.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_weekday_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put1.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put2.pass.cpp
Log Message:
-----------
[libc++][test] Include `<ios>` and `<ctime>` in tests for `time` locale facets (#179986)
Add inclusion of `<ios>` and `<ctime>` to ensure that the definitions of `std::basic_ios` and `std::tm` are available.
As a drive-by fix, change uses of `tm` to `std::tm`. The latter is guaranteed to be available in `<ctime>`, but the former isn't.
Commit: 128437fb6a26f4f19ae2fb6efcce5879a1714fdf
https://github.com/llvm/llvm-project/commit/128437fb6a26f4f19ae2fb6efcce5879a1714fdf
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.td
A clang/test/CodeGenOpenCL/builtins-amdgcn-asyncmark-errs.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-asyncmark.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/CodeGen/AMDGPU/async-buffer-loads.ll
A llvm/test/CodeGen/AMDGPU/asyncmark-err.ll
A llvm/test/CodeGen/AMDGPU/asyncmark-max-pregfx12.ll
M llvm/test/CodeGen/AMDGPU/asyncmark-pregfx12.ll
Log Message:
-----------
[AMDGPU] Introduce asyncmark/wait intrinsics (#180467)
Asynchronous operations are memory transfers (usually between the global
memory and LDS) that are completed independently at an unspecified
scope. A thread that requests one or more asynchronous transfers can use
async marks to track their completion. The thread waits for each mark to
be completed, which indicates that requests initiated in program order
before this mark have also completed.
For now, we implement asyncmark/wait operations on pre-GFX12
architectures that support "LDS DMA" operations. Future work will extend
support to GFX12Plus architectures that support "true" async operations.
This is part of a stack split out from #173259
- #180467
- #180466
Co-authored-by: Ryan Mitchell ryan.mitchell at amd.com
Fixes: SWDEV-521121
Commit: 6c51938067fa0e1b14b27e22d4b32d02bd5eb2a3
https://github.com/llvm/llvm-project/commit/6c51938067fa0e1b14b27e22d4b32d02bd5eb2a3
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
M mlir/test/mlir-tblgen/op-format.mlir
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[MLIR] Guard optional operand resolution in generated op parsers (#180796)
Skip resolveOperands for optional operands when they are absent to
avoid out-of-bounds access on the empty types vector.
Commit: 8b9fd4803cc519315a48f50116ca0b933b7ba801
https://github.com/llvm/llvm-project/commit/8b9fd4803cc519315a48f50116ca0b933b7ba801
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M offload/CMakeLists.txt
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[OFFLOAD] Support host plugin on Windows (#180401)
Changes to make host plugin compile on Windows:
* Change IO code to be portable
* Adjust Makefiles
Allow plugin to work partially when libffi support is not found
dynamically (compilation works fine even on Windows because of the
wrapper support).
Commit: b2444d0b77e39f005b5c6bb80a31f7c3ab84edfe
https://github.com/llvm/llvm-project/commit/b2444d0b77e39f005b5c6bb80a31f7c3ab84edfe
Author: David Green <david.green at arm.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
A llvm/test/CodeGen/AArch64/branch-cond-split-fcmp.ll
A llvm/test/CodeGen/Thumb2/arm_canberra_distance_f32.ll
Log Message:
-----------
[AArch64][ARM] Add some tests for fcmp or branches. NFC
Commit: 680124ca9a06bd7413cf4cc1dab80f929c7d0bca
https://github.com/llvm/llvm-project/commit/680124ca9a06bd7413cf4cc1dab80f929c7d0bca
Author: fogsong233 <kacent at clice.io>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Option/Option.cpp
Log Message:
-----------
[Option] Fix param name mismatch & coding style (NFC) (#180746)
Align parameter names between the declaration and
definition in Option.cpp.
Also, update variable names to adhere to the LLVM
Coding Standards regarding casing.
See
https://github.com/llvm/llvm-project/blob/6c0ff8d12fe5b7d1d55098ca31dac56d8925bf7b/llvm/include/llvm/Option/Option.h#L242.
However the defination is:
https://github.com/llvm/llvm-project/blob/6c0ff8d12fe5b7d1d55098ca31dac56d8925bf7b/llvm/lib/Option/Option.cpp#L112-L114
Commit: ad1e107a8c6d92605119b70183c4a38da86a663f
https://github.com/llvm/llvm-project/commit/ad1e107a8c6d92605119b70183c4a38da86a663f
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
Log Message:
-----------
[PowerPC] Require PPC32 for 32-bit addc/adde/subc/sube (#179186)
Unlike the base add/sub opcodes which will just overflow, these will
produce incorrect results, because the carry operates on the full
64-bits. Trying to use these with i32 operands on PPC64 should result in
a selection failure instead of a silent miscompile, like the one seen in
https://github.com/llvm/llvm-project/pull/178979.
Commit: 1f0577836c32db03b51905bfb78e9dfb1ccd5865
https://github.com/llvm/llvm-project/commit/1f0577836c32db03b51905bfb78e9dfb1ccd5865
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-rounding-intrinsics.ll
Log Message:
-----------
InstCombine: Fix insert point for rounding intrinsic -> copysign (#180837)
This would use the wrong insert point if reached in a recursive
call.
Commit: 8503cb6ad5107ea7221d167379cdb65593b799ad
https://github.com/llvm/llvm-project/commit/8503cb6ad5107ea7221d167379cdb65593b799ad
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fdiv.ll
Log Message:
-----------
InstCombine: Fix wrong insert point for fdiv->copysign simplify (#180839)
Commit: bd4fe78c84103564732e67ed32eeebb17843ea0e
https://github.com/llvm/llvm-project/commit/bd4fe78c84103564732e67ed32eeebb17843ea0e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fmul.ll
Log Message:
-----------
InstCombine: Fix wrong insert point for various fmul->copysign simplifies (#180840)
Commit: 17a9170a7eaa302d1bc71bb482a0001acd65c7b6
https://github.com/llvm/llvm-project/commit/17a9170a7eaa302d1bc71bb482a0001acd65c7b6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-sqrt.ll
Log Message:
-----------
InstCombine: Fix wrong insert point for sqrt -> copysign simplify (#180838)
Commit: 7353ca74ad38837fdcfa86eb3a4595548b3988d0
https://github.com/llvm/llvm-project/commit/7353ca74ad38837fdcfa86eb3a4595548b3988d0
Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/include/llvm/TableGen/TableGenBackend.h
M llvm/lib/TableGen/Main.cpp
M llvm/lib/TableGen/TableGenBackend.cpp
Log Message:
-----------
[NFC][TableGen] Use std::move to avoid copy (#180785)
Commit: ee92a9e1f4cb94f645243a90f864c46615aafcbf
https://github.com/llvm/llvm-project/commit/ee92a9e1f4cb94f645243a90f864c46615aafcbf
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPProperties.td
Log Message:
-----------
[LLDB] Fix KDP plugin path (#180897)
This should fix a failure on the macOS buildbots (see
https://github.com/llvm/llvm-project/pull/179524#issuecomment-3882784085).
I can't test this, but the only plugins not enabled on Linux and Windows
are `ProcessKDP`, `PlatformDarwin`, and `PlatformDarwinKernel`. Looking
at the path for KDP, it uses `GetPluginNameStatic` as the last name in
the path. This is `kdp-remote` instead of `kdp`.
Commit: 1e42c76d6133664b6b0a46e7844a27bb9ca6a45d
https://github.com/llvm/llvm-project/commit/1e42c76d6133664b6b0a46e7844a27bb9ca6a45d
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
A llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/cttz-mips16.ll
Log Message:
-----------
[Mips] Fix cttz.i32 fails to lower on mips16 (#179633)
MIPS16 cannot handle constant pools created by CTTZ table lookup
expansion. This causes "Cannot select" errors when trying to select
MipsISD::Lo nodes for constant pool addresses.
Modify the table lookup conditions to check ConstantPool operation
status, and only set ConstantPool to Custom in non-MIPS16 mode in MIPS
backend.
This ensures MIPS16 uses the ISD::CTPOP instead of attempting
unsupported constant pool operations.
Fix #61055.
Commit: 9b043cc93cb42068ebc03d1b0910df18c3d6f242
https://github.com/llvm/llvm-project/commit/9b043cc93cb42068ebc03d1b0910df18c3d6f242
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/test/CAPI/rewrite.c
Log Message:
-----------
[MLIR] Fix mismatched format specifier warning (#180792)
Commit: ffe446e7348c1a5efb4cdf0ee10eb1f09822bc0f
https://github.com/llvm/llvm-project/commit/ffe446e7348c1a5efb4cdf0ee10eb1f09822bc0f
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vp-combine-reverse-load.ll
M llvm/test/CodeGen/RISCV/rvv/vp-combine-store-reverse.ll
Log Message:
-----------
[RISCV] Relax reversed mask's mask requirement in reverse to strided load/store combine (#180706)
We have combines for vp.reverse(vp.load) -> vp.strided.load stride=-1
and vp.store(vp.reverse) -> vp.strided.store stride=-1.
If the load or store is masked, the mask needs to be also a vp.reverse
with the same EVL. However we also have the requirement that the mask's
vp.reverse is unmasked (has an all-ones mask).
vp.reverse's mask only sets masked off lanes to poison, and doesn't
affect the permutation of elements. So given those lanes are poison, I
believe the combine is valid for any mask, not just all ones.
This is split off from another patch I plan on posting to generalize
those combines to vector.splice+vector.reverse patterns, as part of
#172961
Commit: 8b57b9730222cdc098d6a8708099e5b4986b1e2c
https://github.com/llvm/llvm-project/commit/8b57b9730222cdc098d6a8708099e5b4986b1e2c
Author: Ben Dunbobbin <Ben.Dunbobbin at sony.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/include/llvm/DTLTO/DTLTO.h
M llvm/include/llvm/LTO/LTO.h
M llvm/lib/DTLTO/DTLTO.cpp
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
[DTLTO][NFC] Minor improvements to the input file preparation class (#180824)
This change performs a small set of NFC refactors to improve clarity. In
particular, we make it clear that the responsibilities of this class now
extend beyond its original archive-handling role.
Commit: cd2761f7ab71b4c926e4f7d2ee8947db95a43e30
https://github.com/llvm/llvm-project/commit/cd2761f7ab71b4c926e4f7d2ee8947db95a43e30
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vp-combine-reverse-load.ll
Log Message:
-----------
[RISCV] Remove vp.reverse mask check in performVP_REVERSECombine (#180724)
Similar to #180706, the masked off lanes in vp.reverse are poison so can
be replaced with anything. Because of this, we should be able to fold a
masked vp.reverse(vp.load) into a vp.strided.load stride=-1 even when
the mask isn't all ones.
Commit: c3b6f14a89f518288dfdafbf711827c9ffb4adc5
https://github.com/llvm/llvm-project/commit/c3b6f14a89f518288dfdafbf711827c9ffb4adc5
Author: Jim Lin <jim at andestech.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
Log Message:
-----------
[RISCV] Remove explicitly adding spilled registers as liveins. (#180483)
We didn't explicitly add spilled registers as liveins for CM_PUSH as
well. The liveins of the basic block will be updated by updateLiveness
in PrologEpilogInserter.
Commit: 6b6efcd743ee692cd86e1885f7ba2e621c2eaf45
https://github.com/llvm/llvm-project/commit/6b6efcd743ee692cd86e1885f7ba2e621c2eaf45
Author: Jim Lin <jim at andestech.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/test/CodeGen/RISCV/zcmp-cm-popretz.mir
Log Message:
-----------
[RISCV] Add sp register as implicit/implicit-def register to save/restore call (#180667)
This is a follow-up PR for
https://github.com/llvm/llvm-project/pull/180133.
Commit: ea0e2f000983bf2fc46f6416d28b418cebc005c6
https://github.com/llvm/llvm-project/commit/ea0e2f000983bf2fc46f6416d28b418cebc005c6
Author: Kevin Sala Penades <salapenades1 at llnl.gov>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/docs/OpenMPSupport.rst
Log Message:
-----------
[OpenMP] Claim OpenMP dims modifier (#180904)
Commit: fefbffe9b45c1b4dadbbed0769a15110b178d6e8
https://github.com/llvm/llvm-project/commit/fefbffe9b45c1b4dadbbed0769a15110b178d6e8
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_arm64.cpp
M lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_i386.cpp
M lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_x86_64.cpp
Log Message:
-----------
[lldb][Process/FreeBSDKernel] Add links to pcb.h (#180267)
We had consensus in #178556 to use cgit links for this kind of use
cases.
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Commit: 728aa1666536d3d7197825aa4b2feba11341f528
https://github.com/llvm/llvm-project/commit/728aa1666536d3d7197825aa4b2feba11341f528
Author: Udaya Ranga <udaya.ranga at arm.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/constant_folding.mlir
Log Message:
-----------
[mlir][tosa]: Add Unary Shape Ops folders (#180762)
* EXP2_SHAPE
* LOG2_CEIL_SHAPE
* LOG2_FLOOR_SHAPE
Signed-off-by: Udaya Ranga <udaya.ranga at arm.com>
Commit: d6604556ef2dfbbe16a8a5a4374e45042a70f34a
https://github.com/llvm/llvm-project/commit/d6604556ef2dfbbe16a8a5a4374e45042a70f34a
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
Log Message:
-----------
[AArch64][clang] Use DenseSet for target feature lookup (NFC) (#180734)
This resolves a recent AArch64 compile-time regression triggered by
#176755, which inadvertently grew the feature lookup `StringSwitch` too
large. This patch replaces the `StringSwitch` with a `DenseSet` of
target features. This is built with a new `FeatureLookupBuilder` helper,
which allows reusing all the existing cases (to avoid unintentionally
changing any of them).
Compiler-time impact:
https://llvm-compile-time-tracker.com/compare.php?from=c9753859d19b07315c5a9a493efaa4df18db84ab&to=cb0684b602d5c741ca99b22bb3bc5f902b7a5a7e&stat=instructions:u
Commit: 4f551b55aeb316cd2d8f8f911908ea5bd4ced16b
https://github.com/llvm/llvm-project/commit/4f551b55aeb316cd2d8f8f911908ea5bd4ced16b
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
A llvm/test/Transforms/IndVarSimplify/scev-update-loop-opt.ll
Log Message:
-----------
[IndVarSimplify] Add safety check for getTruncateExpr in genLoopLimit (#172234)
getTruncateExpr may not always return a SCEVAddRecExpr when truncating
loop bounds. Add a check to verify the result type before casting, and
bail out of the transformation if the cast would be invalid.
This prevents potential crashes from invalid casts when dealing with
complex loop bounds.
Co-authored by Michael Rowan
Resolves [#153090](https://github.com/llvm/llvm-project/issues/153090)
Commit: 304c680809f05923edd097835d1056e6460a3646
https://github.com/llvm/llvm-project/commit/304c680809f05923edd097835d1056e6460a3646
Author: Duncan McBain <git at mail.duncanmcba.in>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/include/lldb/Core/Architecture.h
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/source/Plugins/Architecture/AArch64/ArchitectureAArch64.cpp
M lldb/source/Plugins/Architecture/AArch64/ArchitectureAArch64.h
M lldb/source/Plugins/Architecture/Arm/ArchitectureArm.cpp
M lldb/source/Plugins/Architecture/Arm/ArchitectureArm.h
M lldb/source/Plugins/Architecture/Mips/ArchitectureMips.cpp
M lldb/source/Plugins/Architecture/Mips/ArchitectureMips.h
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/Utility/StopInfoMachException.h
M lldb/source/Target/Platform.cpp
M lldb/source/Target/StopInfo.cpp
A lldb/test/API/functionalities/builtin-debugtrap/Makefile
A lldb/test/API/functionalities/builtin-debugtrap/TestBuiltinDebugTrap.py
A lldb/test/API/functionalities/builtin-debugtrap/main.c
R lldb/test/API/macosx/builtin-debugtrap/Makefile
R lldb/test/API/macosx/builtin-debugtrap/TestBuiltinDebugTrap.py
R lldb/test/API/macosx/builtin-debugtrap/main.cpp
Log Message:
-----------
[lldb] Step over non-lldb breakpoints (#174348)
Several languages support some sort of "breakpoint" function, which adds
ISA-specific instructions to generate an interrupt at runtime. However,
on some platforms, these instructions don't increment the program
counter. When LLDB sets these instructions it isn't a problem, as we
remove them before continuing, then re-add them after stepping over the
location. However, for breakpoint sequences that are part of the
inferior process, this doesn't happen - and so users might be left
unable to continue past the breakpoint without manually interfering with
the program counter.
This patch adds logic to LLDB to intercept SIGTRAPs, inspect the bytes
of the inferior at the program counter, and if the instruction looks
like a BRK or BKPT or similar, increment the pc by the size of the
instruction we found. This unifies platform behaviour (e.g. on x86_64,
LLDB debug sessions already look like this) and improves UX (in my
opinion, but I think it beats messing with stuff every break).
Some ISAs (like AArch64) require slightly different handling, as while
there are multiple possible instructions, we should be careful only to
find the ones likely to have been emitted by a compiler backend, and not
those inserted from (for example) the UB sanitizer, or any others.
There is an existing builtin-debugtrap test which was under the macos
folder before. I've now moved that to "functionalities", made it pure C
only, and updated it a little bit so that it works regardless of
platform.
What I've not done is change the existing code in debugserver which was
added by Jason Molenda about five years ago
(https://reviews.llvm.org/D91238, 92b036d). It might not be required any
more after this change. Reading the history there, it seems like it was
agreed that this behaviour (skipping over unknown bps) was the desired
end goal.
Fixes #56268
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 56eb89eddd921400e82d958aa32c1ed54b154362
https://github.com/llvm/llvm-project/commit/56eb89eddd921400e82d958aa32c1ed54b154362
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
Log Message:
-----------
[RISCV] Add precommit test for vwabda(u) combine
Reviewers: preames, topperc, lukel97, mshockwave, VoltrexKeyva
Reviewed By: lukel97, mshockwave, VoltrexKeyva
Pull Request: https://github.com/llvm/llvm-project/pull/180161
Commit: 6b7dd97b1ff9a15b993eb81ab49d1048c312803b
https://github.com/llvm/llvm-project/commit/6b7dd97b1ff9a15b993eb81ab49d1048c312803b
Author: Hemang Gadhavi <hemang.gadhavi at ibm.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/source/Plugins/Process/Utility/CMakeLists.txt
A lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_ppc64.cpp
A lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_ppc64.h
Log Message:
-----------
[lldb][AIX] Added RegisterInfo file for PPC64 (#165367)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
- Added register information file for PPC64 big-endian architecture
(used by AIX)
Commit: c84ab35f664cbdabca6b53c072b95533237c0869
https://github.com/llvm/llvm-project/commit/c84ab35f664cbdabca6b53c072b95533237c0869
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
Log Message:
-----------
[gn build] Port 6b7dd97b1ff9
Commit: 6f0b8a7ebc75d413df048f494f43ee96bb3c86e1
https://github.com/llvm/llvm-project/commit/6f0b8a7ebc75d413df048f494f43ee96bb3c86e1
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/aarch64-vector-functions.ll
R llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions.ll
Log Message:
-----------
[SLP] Use the correct calling convention for vector math routines (#180759)
When vectorising calls to math intrinsics such as llvm.pow we
correctly detect and generate calls to the corresponding vector
math variant. However, we don't pick up and use the calling
convention for the vector math function. This matters for veclibs
such as ArmPL where the aarch64_vector_pcs calling convention
can improve codegen by reducing the number of registers that
need saving across calls.
Commit: 435a162b01532080dc6cfc2579e8fdfe91ecaa3a
https://github.com/llvm/llvm-project/commit/435a162b01532080dc6cfc2579e8fdfe91ecaa3a
Author: Rajat Bajpai <rbajpai at nvidia.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
Log Message:
-----------
[MLIR][NVVM][NFC] Fix PTX builder class api (#180787)
Previously, `NVVM_PTXBuilder_Op` included `BasicPtxBuilderOpInterface`
as part of the default value of the `traits` parameter. This meant any
subclass that provided an explicit traits list would silently replace
the default and lose the interface, defeating the purpose of the base
class. Callers had to redundantly re-specify the interface.
Commit: e84659b71b2f4b186c84d42e1407b9e9832c3e60
https://github.com/llvm/llvm-project/commit/e84659b71b2f4b186c84d42e1407b9e9832c3e60
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvabd.td
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
Log Message:
-----------
[RISCV][CodeGen] Combine vwaddu+vabd(u) to vwabda(u)
Note that we only support SEW=8/16 for `vwabda(u)`.
Reviewers: topperc, lukel97, preames
Reviewed By: topperc, lukel97
Pull Request: https://github.com/llvm/llvm-project/pull/180162
Commit: ec18b92815dfadb080a8dff39914eb113b55cacf
https://github.com/llvm/llvm-project/commit/ec18b92815dfadb080a8dff39914eb113b55cacf
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/test/CodeGen/AArch64/neon-intrinsics.c
A clang/test/CodeGen/AArch64/neon/fullfp16.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
M clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c
Log Message:
-----------
[CIR][NEON] Add lowering for `vnegd_s64` and `vnegh_f16` (#180597)
Add CIR lowering support for the non-overloaded NEON intrinsics
`vnegd_s64` and `vnegh_f16`.
The associated tests are shared with the existing default codegen tests:
* `neon-intrinsics.c` → `neon/intrinsics.c`
* `v8.2a-fp16-intrinsics.c` → `neon/fullfp16.c`
A new test file,
* `clang/test/CodeGen/AArch64/neon/fullfp16.c`
is introduced and is intended to eventually replace:
* `clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c`
Since both intrinsics are non-overloaded, the CIR and default codegen
handling is moved to the appropriate switch statements. The previous
placement was incorrect.
This change also includes minor refactoring in `CIRGenBuilder.h` to
better group related hooks.
Commit: eed35c9e7fba1d0e4b905520350f431c5178ca5d
https://github.com/llvm/llvm-project/commit/eed35c9e7fba1d0e4b905520350f431c5178ca5d
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve2-xar.ll
M llvm/test/CodeGen/AArch64/xar.ll
Log Message:
-----------
[AArch64] Avoid selecting XAR for reverse operations. (#178706)
Rotations that implement reverse operations, for example:
```c
uint64x2_t foo(uint64x2_t r) {
return (r >> 32) | (r << 32);
}
```
Are currently lowered as XAR (when available):
```gas
foo:
movi v1.2d, #0000000000000000
xar v0.2d, v0.2d, v1.2d, #32
ret
```
This is suboptimal as REV* instructions typically have higher throughput
than XAR and do not require the zero operand.
This patch combines half-rotations to Neon or SVE REVs so that they're
no longer selected as XAR.
Commit: 7e34aaeb91cfd537f8510c94c51df31ecd310ba5
https://github.com/llvm/llvm-project/commit/7e34aaeb91cfd537f8510c94c51df31ecd310ba5
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
A clang/include/clang/Analysis/Scalable/Model/PrivateFieldNames.def
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
M clang/lib/Analysis/Scalable/Serialization/SerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
Log Message:
-----------
[clang][ssaf][NFC] Refactor SerializationFormat to use macro-based field accessors (#180842)
This reduces code duplication and makes it easier to add new field
accessors.
Assisted-By: claude
Commit: 77513e7d740b37da675eadbc0a80b09624614af6
https://github.com/llvm/llvm-project/commit/77513e7d740b37da675eadbc0a80b09624614af6
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
Log Message:
-----------
[SPIRV] Add a `SPIRVTypeInst` type with some guardrails (#179947)
The idea behind this PR is to propose a type that we can deploy
gradually to add some guardrails and enforce invariants in the SPIRV
backend.
The PR has 3 commits:
* A first commit where the `SPIRVTypeInst` type is proposed. It's just a
wrapper around `MachineInstr` that adds an assert to check that a
`SPIRVTypeInst` defines a register with the type register class.
* A second commit that shows how the migration could look like for a
single function.
* A third commit that motivates why: we have a `SPIRVType *TypeInst`
that never defines a type in a function whose intention looks very
confusing.
Commit: 1d719edd9935c7f387258c3fc637e8b32f0a2054
https://github.com/llvm/llvm-project/commit/1d719edd9935c7f387258c3fc637e8b32f0a2054
Author: Romaric Jodin <rjodin at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M libclc/clc/include/clc/math/math.h
M libclc/clc/lib/clspv/SOURCES
A libclc/clc/lib/clspv/math/clc_sw_fma.cl
M libclc/opencl/lib/clspv/SOURCES
A libclc/opencl/lib/clspv/math/fma.cl
Log Message:
-----------
[libclc] Bring back fma for clspv (#180693)
This is a partial revert of #179428
Commit: 064694160fcb255d014c7b1cedeeb4d42e8392ff
https://github.com/llvm/llvm-project/commit/064694160fcb255d014c7b1cedeeb4d42e8392ff
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M libcxx/test/benchmarks/GenerateInput.h
R libcxx/test/benchmarks/algorithms/pop_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/pop_heap.bench.cpp
Log Message:
-----------
[libc++] Rewrite the std::pop_heap benchmark (#179911)
Testing a bunch of random types has relatively little value. This
reduces the number of benchmarks so we can run them on a regular basis.
This saves ~90 seconds when running the benchmarks.
Commit: 2dcf858ba0db3227a186c1322be052a163fca51a
https://github.com/llvm/llvm-project/commit/2dcf858ba0db3227a186c1322be052a163fca51a
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fixed-width-inorder-core.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-qabs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/X86/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
M llvm/test/Transforms/LoopVectorize/fpsat.ll
M llvm/test/Transforms/LoopVectorize/hoist-and-sink-mem-ops-with-invariant-pointers.ll
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads.ll
M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
M llvm/test/Transforms/LoopVectorize/pointer-select-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-readonly.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVectorize/struct-return.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
Log Message:
-----------
[LAA] Use SCEVPtrToAddr in tryToCreateDiffChecks. (#178861)
The checks created by LAA only compute a pointer difference and do not
need to capture provenance. Use SCEVPtrToAddr instead of SCEVPtrToInt
for computations.
To avoid regressions while parts of SCEV are migrated to use PtrToAddr
this adds logic to rewrite all PtrToInt to PtrToAddr if possible in the
created expressions. This is needed to avoid regressions.
Similarly, if in the original IR we have a PtrToInt, SCEVExpander tries
to re-use it if possible when expanding PtrToAddr.
Depends on https://github.com/llvm/llvm-project/pull/178727.
Fixes https://github.com/llvm/llvm-project/issues/156978.
PR: https://github.com/llvm/llvm-project/pull/178861
Commit: 3123d9cb3a06ab15afcba42174f293c60bd2128d
https://github.com/llvm/llvm-project/commit/3123d9cb3a06ab15afcba42174f293c60bd2128d
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
Log Message:
-----------
[mlir][tosa] Fix validation of `dim` op when reliant on datatype extension (#180915)
For example:
```
error: 'tosa.dim' op illegal: requires [bf16, shape] but not included in the profile compliance [shape]
%0 = tosa.dim %arg0 {axis = 4 : i32} : (tensor<4x5x8x8x6x4xbf16>) -> !tosa.shape<1>
```
Here dim requires support to be declared for the BF16 and SHAPE
extensions, but only SHAPE was specified in the op declaration.
Commit: 5e5b799853afa50457ba3b7129d4822d30a9ef5e
https://github.com/llvm/llvm-project/commit/5e5b799853afa50457ba3b7129d4822d30a9ef5e
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD/CMakeLists.txt
A lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86.cpp
A lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86.h
R lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.cpp
R lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.h
M lldb/source/Plugins/Process/Linux/CMakeLists.txt
A lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86.cpp
A lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86.h
R lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.cpp
R lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h
M lldb/source/Plugins/Process/NetBSD/CMakeLists.txt
A lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86.cpp
A lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86.h
R lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp
R lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.h
M lldb/source/Plugins/Process/elf-core/CMakeLists.txt
A lldb/source/Plugins/Process/elf-core/RegisterContextLinuxCore_x86.cpp
A lldb/source/Plugins/Process/elf-core/RegisterContextLinuxCore_x86.h
R lldb/source/Plugins/Process/elf-core/RegisterContextLinuxCore_x86_64.cpp
R lldb/source/Plugins/Process/elf-core/RegisterContextLinuxCore_x86_64.h
A lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86.cpp
A lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86.h
R lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.cpp
R lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.h
M lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
M lldb/source/Plugins/Process/minidump/ThreadMinidump.cpp
Log Message:
-----------
[lldb][NativeRegisterContext] Rename to x86 for shared files (#180624)
Commit: 9a07b1c84ec55c8960e2ec4b6cf31f0087d0bf56
https://github.com/llvm/llvm-project/commit/9a07b1c84ec55c8960e2ec4b6cf31f0087d0bf56
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Linux/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/elf-core/BUILD.gn
Log Message:
-----------
[gn build] Port 5e5b799853af
Commit: 972aa597de3a39f457207546af93ab3bfd1027f0
https://github.com/llvm/llvm-project/commit/972aa597de3a39f457207546af93ab3bfd1027f0
Author: Twice <twice at apache.org>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/python/mlir/dialects/ext.py
M mlir/test/python/dialects/ext.py
Log Message:
-----------
[MLIR][Python] Make traits declarative in python-defined operations (#180748)
This will support two syntax in python-defined dialects.
First is that traits can now be declared in class parameters, e.g.
```python
class ParentIsIfTrait(DynamicOpTrait): #define a python-side trait
@staticmethod
def verify_invariants(op) -> bool:
if not isinstance(op.parent.opview, IfOp):
op.location.emit_error(
f"{op.name} should be put inside {IfOp.OPERATION_NAME}"
)
return False
return True
class YieldOp( # attach two traits: IsTerminatorTrait, ParentIsIfTrait
TestRegion.Operation, name="yield", traits=[IsTerminatorTrait, ParentIsIfTrait]
):
...
```
Second is that users can directly define
`verify_invariants`/`verify_region_invariants` methods in the operation
to add additional custom verification logic. And this is implemented via
traits.
```python
class YieldOp(TestRegion.Operation, name="yield", ...):
value: Operand[Any]
def verify_invariants(self) -> bool: # define a method directly
if self.parent.results[0].type != self.value.type:
self.location.emit_error(
"result type mismatch between YieldOp and its parent IfOp"
)
return False
return True
```
Previously we use `verify`/`verify_region` as method names (in
yesterday's PR #179705), but in this PR they are renamed to
`verify_invariants`/`verify_region_invariants` because there are
conflicts between the newly-added `verify` method and `ir.OpView.verify`
method:
- `verify_invariants` is just to attach **additional** verification
logic. but `OpView.verify` is to construct an OperationVerifer and do
full verification for an operation, so the semantics is not same between
these two. We should not shadow the `OpView.verify` method by defining a
new semantically-different `verify` method.
- it will make users confuse between these two `verify` methods, since
they have different meaning.
- if users didn't define the `verify` method in their python-defined
operation, `DynamicOpTraits.attach(opname, MyOpCls)` still do the
attaching (because `hasattr("verify")` returns `True`) and seg fault
(because we cannot attach `OpView.verify`).
---------
Co-authored-by: Rolf Morel <rolfmorel at gmail.com>
Commit: 924f773f5e261df260116ccb9849dbb58af56b69
https://github.com/llvm/llvm-project/commit/924f773f5e261df260116ccb9849dbb58af56b69
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
Log Message:
-----------
[Clang] Don't diagnose missing members when looking at the instantiating class template (#180725)
The perfect matching patch revealed another bug where recursive
instantiations could lead to the escape of SFINAE errors, as shown in
the issue.
Fixes https://github.com/llvm/llvm-project/issues/179118
Commit: 81e0de2ea538991a759c921a5d257b271d7d0f7c
https://github.com/llvm/llvm-project/commit/81e0de2ea538991a759c921a5d257b271d7d0f7c
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
M mlir/test/Dialect/Arith/expand-ops.mlir
Log Message:
-----------
[MLIR][Arith] FastMath extf conversion without NaN checks (#180926)
This PR allows the expand op converter to consider the NoNaN fastmath
attribute to disable the runtime checks for NaNs in E8M0 types. Default
behaviour is still the same.
The OCP document provides all-ones as NaN for E8M0, but for pre-MX I8
quantization, the checks for NaNs are prohibitively expensive,
especially if the hardware doesn't have native support for that type.
Commit: 54cdd903b87211f71972f684b8532357c435aa7a
https://github.com/llvm/llvm-project/commit/54cdd903b87211f71972f684b8532357c435aa7a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/select-zext-analysis.ll
Log Message:
-----------
[SLP]Skip operands comparing on non-matching (but compatible) instructions
If the instructions are compatible but non-matching (zext-select pair as
example), no need to perform operands analysis, just return that they
are matching.
Commit: 4a2a450cb7b84cffccf7092e3258ee0a1221b0b3
https://github.com/llvm/llvm-project/commit/4a2a450cb7b84cffccf7092e3258ee0a1221b0b3
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel][lldb] Port 304c680809f05923edd097835d1056e6460a3646 (#180931)
Co-authored-by: Pranav Kant <prka at google.com>
Commit: 7f2b875c7d68bb83f3b1f7b29d838171e6a31835
https://github.com/llvm/llvm-project/commit/7f2b875c7d68bb83f3b1f7b29d838171e6a31835
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.h
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
M llvm/lib/Target/SPIRV/SPIRVCombinerHelper.h
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
Log Message:
-----------
[SPIRV] Replace `SPIRVType` with `SPIRVTypeInst` as much as we can (#180721)
Second part of https://github.com/llvm/llvm-project/pull/179947 where we
use `SPIRVTypeInst` as much as we can.
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 99c9e5ebd6c7c5564190133b3171b53f17b7f3f8
https://github.com/llvm/llvm-project/commit/99c9e5ebd6c7c5564190133b3171b53f17b7f3f8
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/lib/CodeGen/Targets/Hexagon.cpp
M clang/test/CodeGen/hexagon-linux-vararg.c
Log Message:
-----------
[Hexagon] Fix signed constant creation in EmitVAArgFromMemory (#180385)
Use ConstantInt::getSigned instead of ConstantInt::get when creating a
negative alignment mask in EmitVAArgFromMemory. This is the same fix as
commit 8546294db95d (PR #176115) which addressed the issue in
EmitVAArgForHexagonLinux.
Added a test case that exercises the EmitVAArgFromMemory alignment path
using a struct that is both >8 bytes (to trigger EmitVAArgFromMemory)
and has 8-byte alignment (to trigger the alignment masking code).
Commit: 0ec4aa51dd3ce32a55e32f0f32f86eb173855908
https://github.com/llvm/llvm-project/commit/0ec4aa51dd3ce32a55e32f0f32f86eb173855908
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
Log Message:
-----------
[lldb][windows] switch to using std::string instead of std::wstring in Python setup (#180786)
This patch changes the return type of methods returning `std:wstring` to
`std::string` in `PythonPathSetup.cpp`.
This follows lldb's style of converting to `std::wstring` at the last
moment.
Commit: 6af11dba3cb158d46e598363ae1035f7935aa700
https://github.com/llvm/llvm-project/commit/6af11dba3cb158d46e598363ae1035f7935aa700
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/include/clang/Driver/RocmInstallationDetector.h
M clang/lib/Driver/ToolChains/AMDGPU.cpp
Log Message:
-----------
clang/AMDGPU: Remove dead code in RocmInstallationDetector (#180920)
The defaulted constructor argument isn't used anywhere, so
this path is unreachable.
Commit: 5456d6352a684fcf55ecfc229838dea100f6d359
https://github.com/llvm/llvm-project/commit/5456d6352a684fcf55ecfc229838dea100f6d359
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
A llvm/test/CodeGen/AArch64/nontemporal-load-interleaved.ll
A llvm/test/CodeGen/AArch64/nontemporal-store-interleaved-optsize.ll
A llvm/test/CodeGen/AArch64/nontemporal-store-interleaved.ll
Log Message:
-----------
[AArch64] Lower factor-of-2 interleaved stores to STNP (#177938)
This patch prioritizes lowering to `stnp` over `st2` store instructions
marked !nontemporal.
>From performance perspective, we should conservatively prioritize STNP
lowering for non-temporal stores, because currently NT stores requires
explicit usage of `__builtin_nontemporal_store()` intrinsic, so I think
its reasonable to assume the developer explicitly intends to optimize
D-cache usage of some hot non-temporal execution. He can rollback if it
doesnt help.
The cost here is it adds a few instructions for code size (thus we
predicate when not optimizing for code size), few extra fast
instructions to execute, few extra short dep chains - should be commonly
handled by OOO execution, I-cache alignment effects, few extra
registers. In the future we can may be able to approximate a cost model
to select by.
The patch implements an AArch64 specific static function to model what
NT stores are directly legal on the backend currently, and
`AArch64TargetLowering::lowerInterleavedStore` to conditionally skip st2
lowering.
Commit: 98fcc11d1a61d0daf0a101ff571e5b07b92ccdf2
https://github.com/llvm/llvm-project/commit/98fcc11d1a61d0daf0a101ff571e5b07b92ccdf2
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M flang/test/Lower/forall/degenerate.f90
M flang/test/Lower/forall/forall-2.f90
M flang/test/Lower/goto-do-body.f90
M flang/test/Lower/mixed_loops.f90
M flang/test/Lower/while_loop.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 17) (#180869)
Tests converted from test/Lower: goto-do-body.f90, mixed_loops.f90,
while_loop.f90
>From test/Lower/forall: degenerate.f90, forall-2.f90
Commit: a8f211904a728949764c4d8c0619f4d9a7710ecd
https://github.com/llvm/llvm-project/commit/a8f211904a728949764c4d8c0619f4d9a7710ecd
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/ExpandIRInsts.cpp
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-fp-convert-small.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptosi129.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptoui129.ll
Log Message:
-----------
[ExpandIRInsts] Support saturating fptoi (#179710)
Add support for expanding fptosi.sat and fptoui.sat via IR expansions.
Similar to fptosi/fptoui we would get legalization errors otherwise.
The previous expansion for fptosi/fptoui was already saturating -- but
those instructions do not actually require saturation, and the
implementation of the saturation was incorrect in lots of ways. What
this PR does is:
* For fptosi, remove the unnecessary saturation handling.
* For fptoui, remove the unnecessary saturation handling and sign
multiplication.
* For fptosi, use the previous saturation handling with fixes: We need
to map NaNs to 0 and the saturation condition on the exponent was
incorrect. (I'm performing the NaN check via fcmp -- there's no
requirement to do everything bitwise here.)
* For fptoui use a variation of the signed saturation handling: Negative
values need to go to zero and we saturate to unsigned max.
Proofs: https://alive2.llvm.org/ce/z/Xv9FNd
Commit: 4677fc3d830bd83e55d5bd6d49563e1dc450b151
https://github.com/llvm/llvm-project/commit/4677fc3d830bd83e55d5bd6d49563e1dc450b151
Author: David Spickett <david.spickett at arm.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/include/lldb/Core/Architecture.h
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/source/Plugins/Architecture/AArch64/ArchitectureAArch64.cpp
M lldb/source/Plugins/Architecture/AArch64/ArchitectureAArch64.h
M lldb/source/Plugins/Architecture/Arm/ArchitectureArm.cpp
M lldb/source/Plugins/Architecture/Arm/ArchitectureArm.h
M lldb/source/Plugins/Architecture/Mips/ArchitectureMips.cpp
M lldb/source/Plugins/Architecture/Mips/ArchitectureMips.h
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/Utility/StopInfoMachException.h
M lldb/source/Target/Platform.cpp
M lldb/source/Target/StopInfo.cpp
R lldb/test/API/functionalities/builtin-debugtrap/Makefile
R lldb/test/API/functionalities/builtin-debugtrap/TestBuiltinDebugTrap.py
R lldb/test/API/functionalities/builtin-debugtrap/main.c
A lldb/test/API/macosx/builtin-debugtrap/Makefile
A lldb/test/API/macosx/builtin-debugtrap/TestBuiltinDebugTrap.py
A lldb/test/API/macosx/builtin-debugtrap/main.cpp
Log Message:
-----------
Revert "[lldb] Step over non-lldb breakpoints" (#180944)
Reverts llvm/llvm-project#174348 due to reported failures on MacOS and
Arm 32-bit Linux.
Commit: 3f73f839e2044b57adfaf0ada7b7dcedc54fcc0f
https://github.com/llvm/llvm-project/commit/3f73f839e2044b57adfaf0ada7b7dcedc54fcc0f
Author: Steven Perron <stevenperron at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/Texture2D-AST.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-Sample.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-SampleBias.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-SampleCmp.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-SampleCmpLevelZero.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-SampleGrad.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-SampleLevel.hlsl
R clang/test/CodeGenHLSL/resources/Texture2D.sample.hlsl
A clang/test/SemaHLSL/Texture2D-SampleBias.hlsl
A clang/test/SemaHLSL/Texture2D-SampleCmp.hlsl
A clang/test/SemaHLSL/Texture2D-SampleCmpLevelZero.hlsl
A clang/test/SemaHLSL/Texture2D-SampleGrad.hlsl
A clang/test/SemaHLSL/Texture2D-SampleLevel.hlsl
Log Message:
-----------
[HLSL] Implement Sample* methods for Texture2D (#179322)
This commit implement the methods:
- SampleBias
- SampleCmp
- SampleCmpLevelZero
- SampleGrad
- SampleLevel
They are added to the Texture2D resource type. All overloads except for
those with the `status` argument.
Part of https://github.com/llvm/llvm-project/issues/175630
Assisted-by: Gemini
---------
Co-authored-by: Helena Kotas <hekotas at microsoft.com>
Commit: 6d6feb765517cd20667366b750e9eaad6daa818a
https://github.com/llvm/llvm-project/commit/6d6feb765517cd20667366b750e9eaad6daa818a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M libc/docs/gpu/rpc.rst
M libc/shared/rpc.h
A libc/shared/rpc_dispatch.h
M libc/shared/rpc_util.h
R offload/test/libc/rpc_callback.c
A offload/test/libc/rpc_callback.cpp
Log Message:
-----------
[libc] Add RPC helpers for dispatching functions to the host (#179085)
Summary:
The RPC interface is useful for forwarding functions. This PR adds
helper functions for doing a completely bare forwarding of a function
from the client to the server. This is intended to facilitate
heterogenous libraries that implement host functions on the GPU (like
MPI or Fortran).
Commit: 0b0dca5668e9233ac1ec44178559d732edc13268
https://github.com/llvm/llvm-project/commit/0b0dca5668e9233ac1ec44178559d732edc13268
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/include/clang/Driver/CommonArgs.h
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa-llvm/gfx90a/libclc.bc
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa-llvm/libclc.bc
A clang/test/Driver/hip-device-libs-llvm-env.hip
M clang/test/Driver/opencl-libclc.cl
M libclc/CMakeLists.txt
Log Message:
-----------
clang/AMDGPU: Do not look for rocm device libs if environment is llvm (#180922)
clang/AMDGPU: Do not look for rocm device libs if environment is llvm
Introduce usage of the llvm environment type. This will be useful as
a switch to eventually stop depending on externally provided libraries,
and only take bitcode from the resource directory.
I wasn't sure how to handle the confusing mess of -no-* flags. Try
to handle them all. I'm not sure --no-offloadlib makes sense for OpenCL
since it's not really offload, but interpret it anyway.
Commit: d7e5a7dacdb7c17e48a89e6e4fb50ccaa2fd5c94
https://github.com/llvm/llvm-project/commit/d7e5a7dacdb7c17e48a89e6e4fb50ccaa2fd5c94
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/include/lldb/Host/windows/PseudoConsole.h
M lldb/source/Host/windows/PseudoConsole.cpp
Log Message:
-----------
[lldb-dap][windows] drain the ConPTY before attaching (#180578)
Add a step to drain the init sequences emitted by the ConPTY before
attaching it to the debuggee.
A ConPTY (PseudoConsole) emits init sequences which flush the screen and
contain the name of the program (ESC[2J for clear screen, ESC[H for
cursor home and more). It's not desirable to filter them out: if a
debuggee also emits them, lldb would filter that output as well. To work
around this, the ConPTY is drained by attaching a dummy process to it,
consuming the init sequences and then attaching the actual debuggee.
---------
Co-authored-by: Nerixyz <nero.9 at hotmail.de>
Commit: a58268a77cdbfeb0b71f3e76d169ddd7edf7a4df
https://github.com/llvm/llvm-project/commit/a58268a77cdbfeb0b71f3e76d169ddd7edf7a4df
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M flang/test/Lower/fail_image.f90
M flang/test/Lower/forall/array-constructor.f90
M flang/test/Lower/forall/array-pointer.f90
M flang/test/Lower/forall/array-subscripts.f90
M flang/test/Lower/forall/character-1.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 16) (#180866)
Tests converted from test/Lower: fail_image.f90,
test/Lower/forall: array-constructor.f90, array-pointer.f90,
array-subscripts.f90, character-1.f90
Commit: 768cc03cee769bb20a778bda2e6e083f2ad6520c
https://github.com/llvm/llvm-project/commit/768cc03cee769bb20a778bda2e6e083f2ad6520c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck Add WinEH Tests to XFail List
This pass recently had NewPM coverage added which means we now can see
profcheck issues with the pass. Disable it for now until we can get it
fixed, although its not crucial for anything given it is only run for
32-bit X86 Windows.
Commit: f5e5745e86a7b949e3b3b4833bbaf4a235500db8
https://github.com/llvm/llvm-project/commit/f5e5745e86a7b949e3b3b4833bbaf4a235500db8
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Shard/Transforms/Partition.cpp
M mlir/test/Conversion/ShardToMPI/convert-shard-to-mpi.mlir
M mlir/test/Dialect/Shard/partition.mlir
Log Message:
-----------
[mlir][shard, mpi] Allow more than one last axis to be "unsplit" (#180754)
A resharding pattern allowed only a single trailing axis to be
"unsplit".
This PR allows multiple trailing axes to be "unsplit".
Commit: 54177e95d1956aa040503d683762d4bfa3ff954b
https://github.com/llvm/llvm-project/commit/54177e95d1956aa040503d683762d4bfa3ff954b
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/test/Transforms/LowerMatrixIntrinsics/data-layout-multiply-fused.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-dominance.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-loops-large-matrixes.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-loops.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-volatile.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused.ll
Log Message:
-----------
[Matrix] Use tiled loops automatically for large kernels. (#179325)
Update LowerMatrixIntrinsics to use tiled loops automatically in for
larger matrixes. The fully unrolled codegen creates a huge amount of
code, which performs noticably worse then the tiled loop nest variant.
We new try to estimate the number of instructions needed for the
multiply, and if it is too large, tiled loops are used. The current
threshold is anything roughly larger than 6x6x6 double multiply.
Eventually I think we want to only generate tiled loops. This patch is a
first step, trying to opt in for cases where we know it is beneficial.
Checked on AArch64, but should help on other architectures similarly,
and also drastically reduce binary size + compile time.
PR: https://github.com/llvm/llvm-project/pull/179325
Commit: a2149815ccbb466f8646ef14fc59185d652a45b8
https://github.com/llvm/llvm-project/commit/a2149815ccbb466f8646ef14fc59185d652a45b8
Author: David Spickett <david.spickett at arm.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/include/lldb/Utility/AnsiTerminal.h
M lldb/source/Interpreter/Options.cpp
M lldb/unittests/Utility/AnsiTerminalTest.cpp
Log Message:
-----------
[lldb] Move parts of OutputFormattedUsageText into utility function (#180947)
As seen in #177570, this code has a bunch of corner cases, does not
handle ANSI codes properly and does not handle unicode at all. That's
enough to fix that we need some tests to make it clear where we're
starting from.
The body of OutputFormattedUsageText is moved into a utility in the
AnsiTerminal.h header and tests added to the existing
AnsiTerminalTest.cpp.
Some results are known to be wrong. Some that cause crashes are
commented out, to be enabled once fixed.
Commit: 0776af16c57cecca98472888f1bfc6f83151c427
https://github.com/llvm/llvm-project/commit/0776af16c57cecca98472888f1bfc6f83151c427
Author: Karl Friebel <karl.friebel at friebelnet.de>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaType.cpp
A clang/test/FixIt/fixit-missing-type-spec.c
M clang/test/SemaOpenCL/invalid-pipes-cl2.0.cl
Log Message:
-----------
[Clang] [Sema] Fix FixIt for implicit-int diagnostics. (#179356)
When encountering a declaration without a type specifier, in contexts
where they could reasonably be assumed to default to int, clang emits a
diagnostic with FixIt. This FixIt does not produce working code.
This patch updates `SemaType` to correctly insert a single int type
specifier per group of declarations, and adds coverage in the FixIt lit test suite.
Fixes #179354
Commit: c6964b1b4dcda0f19f91cef186314f4cc2e0feb8
https://github.com/llvm/llvm-project/commit/c6964b1b4dcda0f19f91cef186314f4cc2e0feb8
Author: Matthias Springer <me at m-sp.org>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/include/mlir/Bindings/Python/IRAttributes.h
M mlir/include/mlir/IR/BuiltinAttributes.h
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/IR/BuiltinAttributes.cpp
R mlir/test/IR/attribute-roundtrip.mlir
M mlir/test/IR/parse-literal.mlir
M mlir/test/python/ir/array_attributes.py
M mlir/unittests/IR/AttributeTest.cpp
Log Message:
-----------
[mlir][IR] `DenseElementsAttr`: Remove `i1` dense packing special case (#180397)
`DenseElementsAttr` stores elements in a `ArrayRef<char>` buffer, where
each element is padded to a full byte. Before this commit, there used to
be a special storage format for `i1` elements: they used to be densely
packed, i.e., 1 bit per element. This commit removes the dense packing
special case for `i1`.
This commit removes complexity from `DenseElementsAttr`. If dense
packing is needed in the future it could be implemented in a general way
that works for all element types (based on #179122).
Discussion:
https://discourse.llvm.org/t/denseelementsattr-i1-element-type/62525
Commit: 208b4dbf122465db894bc0d62f73e802834b170e
https://github.com/llvm/llvm-project/commit/208b4dbf122465db894bc0d62f73e802834b170e
Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
M flang/test/HLFIR/inline-hlfir-assign.fir
Log Message:
-----------
[flang][optimize] Use ArraySectionAnalyzer to better handle aliasing sections (#180595)
When alias analysis reports potential aliasing between LHS and RHS when
inlining `hlfir.assign`, use `ArraySectionAnalyzer` to determine if the
sections are disjoint or identical, which is safe for element-wise
assignment.
Co-authored-by: Delaram Talaashrafi <dtalaashrafi at rome5.pgi.net>
Commit: 2c1af70c0688b5518f46c617a5ffa443e22ba522
https://github.com/llvm/llvm-project/commit/2c1af70c0688b5518f46c617a5ffa443e22ba522
Author: Justice Adams <107649528+justice-adams-apple at users.noreply.github.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
A .ci/green-dragon/clang-san-iossim.groovy
A .ci/green-dragon/clang-stage1-RA-as.groovy
A .ci/green-dragon/clang-stage1-RA-cmake-incremental.groovy
A .ci/green-dragon/clang-stage1-RA-expensive.groovy
A .ci/green-dragon/clang-stage1-RA.groovy
A .ci/green-dragon/clang-stage2-Rthinlto.groovy
A .ci/green-dragon/clang-stage2-cmake-RgSan.groovy
A .ci/green-dragon/clang-stage2-cmake-RgTSan.groovy
A .ci/green-dragon/lnt-ctmark-aarch64-O0-g.groovy
A .ci/green-dragon/lnt-ctmark-aarch64-O3-flto.groovy
A .ci/green-dragon/lnt-ctmark-aarch64-Os.groovy
A .ci/green-dragon/lnt-ctmark-aarch64-Oz.groovy
A .ci/green-dragon/relay-clang-stage2-sanitizers.groovy
A .ci/green-dragon/relay-lnt-ctmark.groovy
A .ci/green-dragon/relay-test-suite-verify-machineinstrs.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-aarch64-O0-g.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-aarch64-O3.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-aarch64-globalisel-O0-g.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-x86_64-O0-g.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-x86_64-O3.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-x86_64h-O3.groovy
Log Message:
-----------
[Green Dragon] add green dragon jenkinsfile definitions for multibranch pipelines (#180793)
Add CI job definitions using our new templated pipelines to
llvm-project, this way we can enable multi branch pipelines which
trigger for changes on a given branch.
By storing the Jenkinfile definitions in llvm-project, we gain the
benefit of enabling Jenkins multi branch pipelines. This means in the
future, expanding a job configuration to build with a new branch is as
simple as updating a regular expression in Jenkins (the regular
expression represents which branches should be built). The work required
for enabling testing new branches becomes minimal, and furthermore we
would have a great deal of confidence that job configurations across
branches remain identical.
I will verify these new jenkinsfiles work before deprecating the old
definitions in zorg
Commit: 6a81656f7d729615c296e5da774e78ad5b21a558
https://github.com/llvm/llvm-project/commit/6a81656f7d729615c296e5da774e78ad5b21a558
Author: Folkert de Vries <folkert at folkertdev.nl>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
M llvm/test/CodeGen/RISCV/musttail-call.ll
A llvm/test/CodeGen/RISCV/musttail.ll
M llvm/test/CodeGen/RISCV/tail-calls.ll
Log Message:
-----------
[RISCV] improve `musttail` support (#170547)
Basically https://github.com/llvm/llvm-project/pull/168506 but for
riscv, so to be clear the hard work here is @heiher 's. I figured we may
as well get some extra eyeballs on this from riscv too.
Previously the riscv backend could not handle `musttail` calls with more
arguments than fit in registers, or any explicit `byval` or `sret`
parameters/return values. Those have now been implemented.
This is part of my push to get more LLVM backends to support `byval` and
`sret` parameters so that rust can stabilize guaranteed tail call
support. See also:
- https://github.com/llvm/llvm-project/pull/168956
- https://github.com/rust-lang/rust/issues/148748
---------
Co-authored-by: WANG Rui <wangrui at loongson.cn>
Commit: 91dae0efec8bd3a5db9a1063ee386795e9b17228
https://github.com/llvm/llvm-project/commit/91dae0efec8bd3a5db9a1063ee386795e9b17228
Author: Justice Adams <107649528+justice-adams-apple at users.noreply.github.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M .ci/green-dragon/clang-stage1-RA.groovy
Log Message:
-----------
[green dragon] fix typo in clang-stage1-RA
Commit: 14fe03f6c6fd54f846860fa032fdb17ce190e98b
https://github.com/llvm/llvm-project/commit/14fe03f6c6fd54f846860fa032fdb17ce190e98b
Author: David Green <david.green at arm.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
Log Message:
-----------
[AArch64] Add extra fcmp+select tests. NFC
Some of these currently get scalarized with nnan.
Commit: 34eb59dd4bb26cab248cc3a29b57b8dbe8d46849
https://github.com/llvm/llvm-project/commit/34eb59dd4bb26cab248cc3a29b57b8dbe8d46849
Author: Matthias Springer <me at m-sp.org>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/include/mlir/IR/BuiltinAttributes.h
M mlir/include/mlir/IR/BuiltinAttributes.td
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/lib/CAPI/IR/BuiltinAttributes.cpp
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaFolders.cpp
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/IR/BuiltinAttributes.cpp
Log Message:
-----------
[mlir][IR][NFC] Simplify "splat" handling in `DenseIntOrFPElementsAttr` (#180965)
Since #180397, all elements of a `DenseIntOrFPElementsAttr` are padded
to full bytes. This enables additional simplifications: whether a
`DenseIntOrFPElementsAttr` is a splat or not can now be inferred from
the size of the buffer. This was not possible before because a single
byte sometimes contained multiple `i1` elements.
Discussion:
https://discourse.llvm.org/t/denseelementsattr-i1-element-type/62525
Commit: cdc1f8afe846cc6c42e2d7812ce9e4c98a4a4d7f
https://github.com/llvm/llvm-project/commit/cdc1f8afe846cc6c42e2d7812ce9e4c98a4a4d7f
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/builtin-floating-point.c
Log Message:
-----------
[CIR] Match codegen change on fmin and fmax
- #113133 adds 'nsz' on the emitted 'llvm.minmum'/'llvm.maxnum' from
fmin/fmax following the semantic clarification from #112852.
Commit: 0286641f5c607e7b45510f699a82535a327c857b
https://github.com/llvm/llvm-project/commit/0286641f5c607e7b45510f699a82535a327c857b
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/addo.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fcmp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmax_legacy.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmin_legacy.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/icmp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-copy-scc-vcc.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/subo.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.ll
Log Message:
-----------
[AMDGPU] Add known bits for G_AMDGPU_COPY_SCC_VCC (#180560)
Commit: aad0ae4a39b94f515f92759b69cfdcbc22eaa50d
https://github.com/llvm/llvm-project/commit/aad0ae4a39b94f515f92759b69cfdcbc22eaa50d
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/cmake/modules/CrossCompile.cmake
Log Message:
-----------
[CMake] Only pass PYTHON_EXECUTABLE to native build if defined (#180964)
This addresses the following warning when PYTHON_EXECUTABLE is not set
in the host build:
```bash
CMake Warning:
Manually-specified variables were not used by the project:
PYTHON_EXECUTABLE
```
Reference:
https://github.com/llvm/llvm-project/pull/163574
Commit: 182eb9d21a7a3cdf24c206d71b15bb847f41ecb3
https://github.com/llvm/llvm-project/commit/182eb9d21a7a3cdf24c206d71b15bb847f41ecb3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Move getTargetVShift helpers earlier in the source file. NFC. (#180972)
Avoid having to add forward declarations for earlier functions to use them.
Commit: 90a56a18ee1aa3bdd58f7ddf8ffd28c65e095b82
https://github.com/llvm/llvm-project/commit/90a56a18ee1aa3bdd58f7ddf8ffd28c65e095b82
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.atomic.ordered.add.b64.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize for global atomic ordered add (#180829)
Commit: e1b9d033cdbd957a6a4adb684340298e98b1b06a
https://github.com/llvm/llvm-project/commit/e1b9d033cdbd957a6a4adb684340298e98b1b06a
Author: Hank <49036880+hankluo6 at users.noreply.github.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Math/Transforms/ExpandOps.cpp
M mlir/test/Dialect/Math/expand-math.mlir
Log Message:
-----------
[MLIR][Math] Fix math.ceil expansion to avoid undefined behavior on Inf/NaN (#170028)
Fixes #151786
The original `ceilf` expansion lowers to `fptosi`, which produces poison
for Inf, and any subsequent use leads to undefined behavior. This patch
adds a safe path, similar to the existing `round` expansion, for large
or special inputs and avoids the UB.
Commit: 7323cb3d6911db2c224843688496201bb11ecf8a
https://github.com/llvm/llvm-project/commit/7323cb3d6911db2c224843688496201bb11ecf8a
Author: Demetrius Kanios <demetrius at kanios.net>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/test/MC/WebAssembly/wasm64.s
Log Message:
-----------
[WebAssembly] Add a WASM table to `llvm/test/MC/WebAssembly/wasm64.s`. NFC (#180861)
Adds an `externref` WASM table to the MC level testing of Wasm64 to make
sure it emits the table with the `IS_64` (64-bit/i64 indices) flag.
Commit: 52bcdc6ad1302a1024fa353f27d1f54d2cc745be
https://github.com/llvm/llvm-project/commit/52bcdc6ad1302a1024fa353f27d1f54d2cc745be
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/docs/resources/formatterbytecode.rst
M lldb/include/lldb/DataFormatters/FormatterBytecode.def
M lldb/include/lldb/DataFormatters/FormatterBytecode.h
M lldb/include/lldb/DataFormatters/TypeSummary.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/source/DataFormatters/FormatterBytecode.cpp
M lldb/source/DataFormatters/FormatterSection.cpp
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/source/DataFormatters/TypeSynthetic.cpp
M lldb/test/API/functionalities/data-formatter/bytecode-summary/main.cpp
A lldb/test/API/functionalities/data-formatter/bytecode-synthetic/Makefile
A lldb/test/API/functionalities/data-formatter/bytecode-synthetic/TestBytecodeSynthetic.py
A lldb/test/API/functionalities/data-formatter/bytecode-synthetic/main.cpp
M lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp
Log Message:
-----------
[lldb] Implement bytecode based SyntheticChildren (#179832)
Initial implementation of a [bytecode][1] synthetic provider. This is a follow up to
https://github.com/llvm/llvm-project/pull/114333 which implemented the bytecode
interpreter, support for summary formatters, and more.
rdar://169727764
[1]: https://lldb.llvm.org/resources/formatterbytecode.html
Commit: 8d34f2851fbea06b36a1e8ea25c44c14354a7b66
https://github.com/llvm/llvm-project/commit/8d34f2851fbea06b36a1e8ea25c44c14354a7b66
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/include/lldb/Host/windows/PythonPathSetup/PythonPathSetup.h
M lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
M lldb/tools/driver/Driver.cpp
M lldb/tools/lldb-dap/tool/Options.td
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
Log Message:
-----------
[lldb-dap][windows] add --check-python command (#180784)
Implement [`[RFC] Add a Python check command to lldb-dap and
lldb`](https://discourse.llvm.org/t/rfc-add-a-python-check-command-to-lldb-dap-and-lldb/88972).
This patch adds the `--check-python` flag to `lldb-dap` on Windows, to
allow dap clients to verify the correct Python version is available
before trying to start `lldb-dap`.
Depends on:
- https://github.com/llvm/llvm-project/pull/180786
rdar://165442474
Commit: 45412b679034e5675d720057d61c4fbb4f928ae2
https://github.com/llvm/llvm-project/commit/45412b679034e5675d720057d61c4fbb4f928ae2
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
A llvm/test/Transforms/LoopUnroll/debug.ll
Log Message:
-----------
[LoopUnrollPass] Indent `LLVM_DEBUG()` messages based on our depth in the `tryToUnrollLoop()` call graph (#178945)
Unify the ad-hoc use of whitespace in `LLVM_DEBUG()` messages.
This approach should also make it easier to see which loop debug
messages correspond to and which part of the loop unrolling heuristics
each message corresponds to.
Commit: f6bdc928a881fafd5e12cdfc72c66030a1aad233
https://github.com/llvm/llvm-project/commit/f6bdc928a881fafd5e12cdfc72c66030a1aad233
Author: Xing Xue <xingxue at outlook.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/src/memory.cpp
Log Message:
-----------
[libc++][AIX] Enable LIBCPP_SHARED_PTR_DEFINE_LEGACY_INLINE_FUNCTIONS on AIX (#179784)
This PR enables the `LIBCPP_SHARED_PTR_DEFINE_LEGACY_INLINE_FUNCTIONS`
macro on AIX because the functions guarded by this macro are required for
backward compatibility.
Commit: f32fd56f0e6f7d62ce22d91e7f3c1bb93e431001
https://github.com/llvm/llvm-project/commit/f32fd56f0e6f7d62ce22d91e7f3c1bb93e431001
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M libcxx/test/benchmarks/algorithms/min.bench.cpp
M libcxx/test/benchmarks/algorithms/minmax.bench.cpp
Log Message:
-----------
[libc++] Reduce the number of runs on the ranges::min{,max} benchmarks (#179912)
Testing a bunch of range sizes has relatively little value. This reduces
the number of benchmarks so we can run them on a regular basis. This
saves ~10 minutes when running benchmarks.
Fixes #179698
Commit: bc1e85224105de33bd199255a66b72cc9f52048f
https://github.com/llvm/llvm-project/commit/bc1e85224105de33bd199255a66b72cc9f52048f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
R libcxx/test/benchmarks/algorithms/ranges_sort_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/sort_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/sort_heap.bench.cpp
Log Message:
-----------
[libc++] Refactor std::sort_heap benchmark (#180941)
We're trying to get the time it takes to run all the benchmarks down, so
that we can run them on a regular basis. This patch saves us ~80 seconds
per run.
Commit: 8c93fb0c05fc12b7f6bfa2b55b969d567aeb0537
https://github.com/llvm/llvm-project/commit/8c93fb0c05fc12b7f6bfa2b55b969d567aeb0537
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
R libcxx/test/benchmarks/algorithms/make_heap_then_sort_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_make_heap_then_sort_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/make_heap_then_sort_heap.bench.cpp
Log Message:
-----------
[libc++] Refactor benchmarking std::make_heap and std::sort_heap together (#180935)
We're trying to get the time it takes to run all the benchmarks down, so
that we can run them on a regular basis. This patch saves us ~18 minutes
per run.
Commit: 81f445b7df94de485240b21034682f22432729c4
https://github.com/llvm/llvm-project/commit/81f445b7df94de485240b21034682f22432729c4
Author: Yury Plyakhin <yury.plyakhin at intel.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/lit.cfg.py
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M llvm/lib/Object/OffloadBinary.cpp
M llvm/tools/llvm-objdump/OffloadDump.cpp
Log Message:
-----------
[clang-sycl-linker][offload] Set TheImageKind based on IsAOTCompileNeeded flag (#180269)
Previously, TheImageKind was set to IMG_None and relied on a runtime
heuristic to determine the correct image type. This commit sets it
explicitly to IMG_Object for AOT-compiled images and IMG_SPIRV for
SPIR-V images based on the IsAOTCompileNeeded flag.
Also it adds test for this change, which required minor changes in
OffloadBinary and OffloadDump.
Commit: 601364f1baef19743f572b5dc392cc3eda067c4c
https://github.com/llvm/llvm-project/commit/601364f1baef19743f572b5dc392cc3eda067c4c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-loads-non-full-reg.ll
M llvm/test/Transforms/SLPVectorizer/X86/reordered-masked-loads.ll
Log Message:
-----------
[SLP]Correctly process deleted gathered loads and short trees
If the gathered loads nodes are deleted for deletion, need to actually
deleted them from tree. Also, if the remaining tree is too short
(buildvector + gather node), need to skip such trees to avoid hanging.
Fixes #180846
Commit: 8e93ac7f1a0db97965c859ab8a92e828d1a8693e
https://github.com/llvm/llvm-project/commit/8e93ac7f1a0db97965c859ab8a92e828d1a8693e
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M flang/include/flang/Parser/preprocessor.h
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
R flang/test/Preprocessing/bug178481.F90
Log Message:
-----------
Revert "[flang] Recognize compiler directives after expansion in comm… (#180982)
…ent (#180062)"
This reverts commit 0d64801bc3b99a73d20032f74df3b87e0a7ed04e.
Lines like "!MACRO ... &" in which MACRO expands to a compiler directive
are now failing because they are not being recognized as having line
continuations. Will fix and try again.
Commit: 7154e7518563e5d12050f3082d32753ec9cea438
https://github.com/llvm/llvm-project/commit/7154e7518563e5d12050f3082d32753ec9cea438
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/Analysis/OpenACCSupport.h
A mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsCG.h
A mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsGPU.h
M mlir/lib/Dialect/OpenACC/Analysis/CMakeLists.txt
M mlir/lib/Dialect/OpenACC/Analysis/OpenACCSupport.cpp
M mlir/lib/Dialect/OpenACC/Utils/CMakeLists.txt
A mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsCG.cpp
A mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsGPU.cpp
M mlir/unittests/Dialect/OpenACC/CMakeLists.txt
A mlir/unittests/Dialect/OpenACC/OpenACCUtilsCGTest.cpp
A mlir/unittests/Dialect/OpenACC/OpenACCUtilsGPUTest.cpp
Log Message:
-----------
[mlir][acc] Add gpu module and data layout utilities (#180988)
Add utility functions to support OpenACC code generation:
- getOrCreateGPUModule for GPU module management with configurable
naming
- getDataLayout for querying data layout from operations with explicit
spec or module fallback
Commit: 1d18539a7b60c05a587ac439b1d9095d01ac691e
https://github.com/llvm/llvm-project/commit/1d18539a7b60c05a587ac439b1d9095d01ac691e
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.rsq.clamp.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu.mir
Log Message:
-----------
[AMDGPU] Treat F64 TRANS instructions as VALU for S_DELAY_ALU insertion (#180940)
This matches the hardware behavior.
Commit: a64f541d9eb1720b5224de38a46cd40bc18a9eba
https://github.com/llvm/llvm-project/commit/a64f541d9eb1720b5224de38a46cd40bc18a9eba
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
R libcxx/utils/ci/benchmark-for-lnt.py
A libcxx/utils/ci/lnt/README.md
A libcxx/utils/ci/lnt/commit-watch
A libcxx/utils/ci/lnt/run-benchmarks
A libcxx/utils/ci/lnt/schema.yaml
Log Message:
-----------
[libc++] Add scripts to run benchmarks and submit to LNT on a regular basis (#180849)
Also add a libc++ schema that can be used to create a test suite capable
of storing libc++ benchmarking data on any LNT instance.
Commit: 94298f3411ba799620d7fc81ea1466dfa6f450df
https://github.com/llvm/llvm-project/commit/94298f3411ba799620d7fc81ea1466dfa6f450df
Author: Kseniya Tikhomirova <kseniya.tikhomirova at intel.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M libsycl/CMakeLists.txt
A libsycl/test/CMakeLists.txt
A libsycl/test/README.md
A libsycl/test/basic/platform_get_devices.cpp
A libsycl/test/lit.cfg.py
A libsycl/test/lit.site.cfg.py.in
Log Message:
-----------
[libsycl] Add lit configuration files and basic test (#177407)
This PR brings initial version of lit configs for libsycl tests.
We plan to add more tests for libsycl integration with the compiler in
the future.
---------
Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>
Commit: ee722ae1df203b0e246ea2b68315c6b303edfcf6
https://github.com/llvm/llvm-project/commit/ee722ae1df203b0e246ea2b68315c6b303edfcf6
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
Log Message:
-----------
[VPlan] Remove VPUnrollPartAccessor from VPReductionPHIRecipe (NFC).
VPUnrollPartAccessor is not used any longer by VPReductionPHIRecipe.
Remove it.
Commit: 65f3329a556c5b6f0261ff9268c776a5c7864088
https://github.com/llvm/llvm-project/commit/65f3329a556c5b6f0261ff9268c776a5c7864088
Author: Syadus Sefat <42645939+mssefat at users.noreply.github.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.integer-minmax.ll
Log Message:
-----------
[AMDGPU][GlobalIsel] Add register bank legalization rules for buffer atomic int min max (#180975)
This patch adds register bank legalization rules for buffer atomic int
min max operations in the AMDGPU GlobalISel pipeline.
Commit: e6b99fa5b4e7f67930c0aa44b5ea79472fa21187
https://github.com/llvm/llvm-project/commit/e6b99fa5b4e7f67930c0aa44b5ea79472fa21187
Author: Vy Nguyen <vyng at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/source/Target/Process.cpp
Log Message:
-----------
[LLDB]Fix asan error from pr/179799 (#180996)
Fix asan error mentioned in [this
comment](https://github.com/llvm/llvm-project/pull/179799#issuecomment-3882710678)
This is breaking our internal builds.
Details: The field needs to be cleaned up or we'll have a leak. We could
also make it a smart pointer if you'd like. But as-is, this is the
quickest way to resolve the issue.
Commit: 2fd5479f2c78780c76424d4d918d69b32bf1573c
https://github.com/llvm/llvm-project/commit/2fd5479f2c78780c76424d4d918d69b32bf1573c
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
Log Message:
-----------
[lldb][windows] fix undeclared identifier error GetModulePath (#180989)
`LLDB_PYTHON_DLL_RELATIVE_PATH` can be unset while
`LLDB_PYTHON_RUNTIME_LIBRARY_FILENAME` is, since it's set automatically
by CMake. This situation causes a build failure which this patch fixes.
This issue was introduced in
https://github.com/llvm/llvm-project/pull/180784.
Commit: 5129b3c4494e00fa915a356ec65e649bb7ff6916
https://github.com/llvm/llvm-project/commit/5129b3c4494e00fa915a356ec65e649bb7ff6916
Author: Maksim Panchenko <maks at fb.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/lib/Passes/IdenticalCodeFolding.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Make FoldedIntoFunction always point to root parent (#180855)
After ICF folds functions, FoldedIntoFunction may point to a function
that was also folded. Add a post-processing step at the end of ICF to
flatten all chains so FoldedIntoFunction always points to the ultimate
root parent (a function that is not itself folded).
Commit: 997f28069d845dcb6d03d8b63cd2173cf818acaa
https://github.com/llvm/llvm-project/commit/997f28069d845dcb6d03d8b63cd2173cf818acaa
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h
M clang/lib/Analysis/Scalable/Serialization/SerializationFormat.cpp
M clang/lib/Analysis/Scalable/Serialization/SerializationFormatRegistry.cpp
M clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
M clang/unittests/Analysis/Scalable/Registries/SerializationFormatRegistryTest.cpp
Log Message:
-----------
[clang][ssaf] Remove VFS support from SerializationFormat (#180891)
This change removes support for `VFS` in `SerializationFormat`,
introduced in https://github.com/llvm/llvm-project/pull/179516/. `VFS`
only provides a virtual input backend and its matched pair,
`VirtualOutputBackend`, does not provide support for an
`InMemoryOutputBackend`. There was an attempt from our end to implement
this support in https://github.com/llvm/llvm-project/pull/179515 but it
did not succeed. Supporting virtual reads but not virtual writes makes
the SerializationFormat APIs asymmetric. So we have decided to remove
`VFS` support altogether.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: 6fdf93c5d812197dd5dc9362f324b944105b2e8e
https://github.com/llvm/llvm-project/commit/6fdf93c5d812197dd5dc9362f324b944105b2e8e
Author: Nikita Kornev <nikita.kornev at intel.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/utils/git/requirements_formatting.txt
M llvm/utils/git/requirements_formatting.txt.in
Log Message:
-----------
Update requirements_formatting.txt.in (#180963)
At https://github.com/intel/llvm dependabot reports a few alerts
regarding use of:
- urllib3 < v2.6.3 (CVE-2026-21441)
- pynacl < 1.6.2 (CVE-2025-69277)
- cryptography <= 46.0.4 (CVE-2026-26007)
Update requirements_formatting.txt.in & re-generate
requirements_formatting.txt.
Commit: 25c7c3bf60f85231f7b8ea6b635496620407e21d
https://github.com/llvm/llvm-project/commit/25c7c3bf60f85231f7b8ea6b635496620407e21d
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M clang/test/Driver/unsupported-option.c
Log Message:
-----------
[clang][modules] Remove fno-modules-check-relocated as a driver option (#180995)
This preprocessor option is only ever respected as a CC1 option because
it's never handled in the driver. One gets warnings like `argument
unused during compilation: '-fno-modules-check-relocated'` when not
passed directly to CC1.
Move the option definition into the Preprocessor CC1 only visibility
section.
Commit: 8066cc9fc466ebbb7561ec854035d09f543885d1
https://github.com/llvm/llvm-project/commit/8066cc9fc466ebbb7561ec854035d09f543885d1
Author: Ian Anderson <iana at apple.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/lib/Headers/module.modulemap
Log Message:
-----------
[clang][builtins][modules] Add arm_bf16.h to the builtin module map (#180845)
Commit: 26add8a27277f1495ef705d323fdee12975ab950
https://github.com/llvm/llvm-project/commit/26add8a27277f1495ef705d323fdee12975ab950
Author: zGoldthorpe <Zach.Goldthorpe at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/commute-compares.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-trunc-to-i1.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector.ll
M llvm/test/CodeGen/AMDGPU/itofp.i128.bf.ll
M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/AMDGPU/saddo.ll
M llvm/test/CodeGen/AMDGPU/saddsat.ll
A llvm/test/CodeGen/AMDGPU/setcc-select.ll
M llvm/test/CodeGen/AMDGPU/v_cndmask.ll
M llvm/test/CodeGen/AMDGPU/widen-vselect-and-mask.ll
Log Message:
-----------
[AMDGPU][ISel] `setcc` peephole for comparisons with upper 32 bits of a 64-bit register pair (#177662)
This optimisation is motivated by [this minimal
example](https://godbolt.org/z/9o83GvGsM).
Particularly, if `mask` is a 64-bit integer, a select
```cpp
auto out = ((mask >> 32) != 0) ? a : b;
```
converts the null-check on the higher 32-bits of `mask` into a
`v_cmp_lt_u64` with the integer `1 << 32` stored in a pair of VGPRs
(effectively wasting two VGPRs).
More generally, if a 64-bit integer (whose lower 32 bits are known to be
irrelevant) is compared with a 64-bit constant, two VGPRs are wasted to
construct this constant.
This patch modifies ISel to take advantage of how 64-bit values are
stored in pairs of VGPRs (or SGPRs), and truncates the 64-bit constant
to its upper 32-bit constant where possible.
Alive2 proof for analogous middle-end transformation:
https://alive2.llvm.org/ce/z/zizKms
Commit: d518d495315621bc751927069dbf609866f98b90
https://github.com/llvm/llvm-project/commit/d518d495315621bc751927069dbf609866f98b90
Author: Vy Nguyen <vyng at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/source/Target/Process.cpp
Log Message:
-----------
[LLDB]Move clean up to dtor (#181010)
I attempted to cleanup the raw ptr in pr/180996. But the cleanup should
have been done in the dtor, not `StopPrivateStateThread` so moving it
there.
Commit: c6329a3dcc1e08ec73bfb0fd2e8f3b4c6ecf4bef
https://github.com/llvm/llvm-project/commit/c6329a3dcc1e08ec73bfb0fd2e8f3b4c6ecf4bef
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
Log Message:
-----------
[NFC] [MemoryTagging] pass AllocaInfo to isStandardLifetime (#180311)
Commit: 0215f6b6cf810d9ab6d02fc7bbec5c26ad4701ff
https://github.com/llvm/llvm-project/commit/0215f6b6cf810d9ab6d02fc7bbec5c26ad4701ff
Author: Andrei Elovikov <andrei.elovikov at sifive.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/include/llvm/Analysis/DominanceFrontier.h
M llvm/include/llvm/Analysis/DominanceFrontierImpl.h
M llvm/include/llvm/CodeGen/MachineDominanceFrontier.h
M llvm/lib/Analysis/DominanceFrontier.cpp
M llvm/lib/CodeGen/MachineDominanceFrontier.cpp
M llvm/unittests/Transforms/Vectorize/CMakeLists.txt
A llvm/unittests/Transforms/Vectorize/VPPostDomFrontierTest.cpp
Log Message:
-----------
[DominanceFrontier] Support post-dominators on graphs with single root (#179336)
I plan to use that to optimize mask creation in VPlan predicator by
`or`ing edge masks from the post-dominance frontier instead of all
predecessors in a subsequent patch. Note that it would require to use
the same unmodified post-dom tree for *all* the basic blocks in a VPlan
that is already limited to a particular loopnest so the algorithmic
complexity concerns behind the "deprecation" notice in the beggining of
`DominanceFrontier.h` (and also discussion in the
https://discourse.llvm.org/t/dominance-frontiers/21755 thread) don't
apply for my use case (at least to the best of my understanding).
The change here is to properly use graph-traits for children traversal
plus inline `ForwardDominanceFrontierBase` into `DominanceFrontierBase` now
that it's used for post-dom-frontier.
Since the only planned use-case is in the vectorizer, I'm adding a
VPlan-base unittest along with this change.
Support for multiple root nodes via using virtual root node to seed the
worklist is left to a subsequent PR.
Commit: d3afa171ee236dfef4b7cd4b4dd0b0fb165a48cc
https://github.com/llvm/llvm-project/commit/d3afa171ee236dfef4b7cd4b4dd0b0fb165a48cc
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
Log Message:
-----------
[LV] Don't scalarize loads that need predication in legacy CM.
The legacy cost model tries to scalarize loads that are used as
pointers. Skip if the load would need predicating when scalarized,
because that would incur very high costs, see useEmulatedMaskMemRefHack.
Fixes https://github.com/llvm/llvm-project/issues/180780.
Commit: 612ddd8b6c671d5e4305c2dfaee8106945927575
https://github.com/llvm/llvm-project/commit/612ddd8b6c671d5e4305c2dfaee8106945927575
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/BUILD.gn
Log Message:
-----------
[gn build] Port 0215f6b6cf81
Commit: 1919b3b0474583e703d9545d536caf72c05b4ad4
https://github.com/llvm/llvm-project/commit/1919b3b0474583e703d9545d536caf72c05b4ad4
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
A llvm/test/CodeGen/SPIRV/single-element-vector.ll
Log Message:
-----------
[SPIRV] Scalarize single-element vectors in type creation (#180735)
SPIR-V requires vectors to have at least 2 components. So treat <1 x T>
as T.
Fixes: https://github.com/llvm/llvm-project/issues/171175
Commit: 0deb1b6e05228b068fb54ca687e0c92a190351d1
https://github.com/llvm/llvm-project/commit/0deb1b6e05228b068fb54ca687e0c92a190351d1
Author: Hansang Bae <hansang.bae at intel.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/src/L0DynWrapper.cpp
Log Message:
-----------
[Offload] Try to load Level Zero loader with version suffix (#180042)
The default Level Zero loader `libze_loader.so` may not be available on
systems that don't have Level Zero development package. Level Zero
loaders with major version suffix are searched in that case.
Commit: da6e3010365aa7af629ad61999b527012dbd8fb3
https://github.com/llvm/llvm-project/commit/da6e3010365aa7af629ad61999b527012dbd8fb3
Author: John Harrison <harjohn at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/tools/lldb-dap/EventHelper.cpp
Log Message:
-----------
[lldb-dap] Adjusting multi-stopped event order. (#181001)
When multiple stopped events are detected we should send the
`"allThreadsStopped":true` last.
Currently, if there are multiple stopped threads and we attempt to step
around the 'allThreadsStopped' ends up with multiple stops highlighted
in the UI.
Reporting the focused thread last fixes this while still correctly
updating the thread state of all stopped threads.
This fixes an issue reported in
https://github.com/llvm/llvm-project/pull/176273#discussion_r2775979486
Commit: fc648683cd751d66ead63e84cab828b6a92de7d7
https://github.com/llvm/llvm-project/commit/fc648683cd751d66ead63e84cab828b6a92de7d7
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/gathered-loads-non-full-reg.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
Log Message:
-----------
[SLP]Add external uses estimations into tree throttling
Added basic estimations for the external uses, when calculating the cost
of the non-profitable trees. Excluding stores/insertelement, as thay are
very good candidates for the vectorization. Also, tuned
buildvector/gather cost with minimum bitwidth analysis data.
Reviewers: hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/178024
Commit: 524ae2f3477e5a2307abf404976630609f2ecd39
https://github.com/llvm/llvm-project/commit/524ae2f3477e5a2307abf404976630609f2ecd39
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/unittests/Dialect/CMakeLists.txt
A mlir/unittests/Dialect/Linalg/CMakeLists.txt
A mlir/unittests/Dialect/Linalg/InferConvolutionDimsTest.cpp
Log Message:
-----------
[mlir][linalg] Make conv dim inference return pairing (outputImage, filterLoop) (#180859)
The original method sorts all the dimensions which loses the information
about pairing. It makes other transformation that works on generic op
form harder. The revision ensures the pairing, so callers have more
useful information when they work on transformations.
---------
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: 5710e418c335c99f1d1ea619a4622837553b53d5
https://github.com/llvm/llvm-project/commit/5710e418c335c99f1d1ea619a4622837553b53d5
Author: Ben Dunbobbin <Ben.Dunbobbin at sony.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
A cross-project-tests/dtlto/path.test
M cross-project-tests/lit.site.cfg.py.in
M llvm/include/llvm/DTLTO/DTLTO.h
M llvm/lib/DTLTO/DTLTO.cpp
Log Message:
-----------
[DTLTO][Windows] Expand short 8.3 form paths in ThinLTO module IDs (#178303)
Windows supports short 8.3 form filenames (e.g. `compile_commands.json`
-> `COMPIL~1.JSO`) for legacy reasons. See:
https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file#short-vs-long-names.
Short 8.3 form paths are undesirable in distributed compilation
scenarios because they are local mappings tied to a specific directory
layout on a specific machine. As a result, they can break or defeat
sandboxing and path-based isolation mechanisms used by distributed build
systems.
We have observed such failures with DTLTO even in simple scenarios. For
example, on Windows, running:
```
clang.exe hello.c -flto=thin -fuse-ld=lld -fthinlto-distributor=fastbuild.exe -###
```
on my development machine reveals a short 8.3 form path being passed to
LLD (output paraphrased):
```
ld.lld -o a.out -plugin-opt=thinlto --thinlto-distributor=fastbuild.exe \
--thinlto-remote-compiler=clang.exe C:\Users\DUNBOB~1\AppData\Local\Temp\hello-380d65.o
```
This behavior occurs because, on Windows, the system temporary directory
is commonly derived from the `TMP`/`TEMP` environment variables. For
historical compatibility reasons, these variables are often set to short
8.3 form paths, particularly on systems where user names exceed eight
characters.
Whilst it's possible for users to work around these issues, in practice,
especially in automated and CI environments, users often have limited
control over their environment.
DTLTO generally tries to avoid embedding distribution-specific logic in
the LLVM source tree, and this principle also applies to path
normalization. However, on Windows, such short 8.3 form paths are
undesirable for any distribution system. This normalization also cannot
be delegated to distributors, as the ThinLTO module ID must be finalized
early during LTO and cannot be modified later.
Given this, normalizing away short 8.3 paths on Windows is a pragmatic,
targeted improvement, even though path normalization is not something a
toolchain would typically perform in the general case.
SIE internal tracker: TOOLCHAIN-19185
Commit: 1268e7630d3072c990d6d1cd9f84ef8c7041d0fa
https://github.com/llvm/llvm-project/commit/1268e7630d3072c990d6d1cd9f84ef8c7041d0fa
Author: Usama Hameed <u_hameed at apple.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/include/lldb/Symbol/Variable.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Symbol/Variable.cpp
Log Message:
-----------
[LLDB][NFCI] Teach LLDB to read the DW_AT_LLVM_tag_offset attribute for variables (#181011)
LLVM added support for emitting the tagging offset of a variable for
hwasan/memtag-stack using the DW_AT_LLVM_tag_offset attribute in
dabd262. This patch teaches LLDB to read this attribute.
Commit: 59238f6d7668c8e3fb0ac79f6c48d8ec26e83d1c
https://github.com/llvm/llvm-project/commit/59238f6d7668c8e3fb0ac79f6c48d8ec26e83d1c
Author: Lance Wang <lancewang at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] Fix #180988: Add GPUDialect and DataLayoutInterfaces to OpenACC related dependencies (#181027)
Commit: 5c114d80f88ef418b5f3ba3c919d300e21c4e677
https://github.com/llvm/llvm-project/commit/5c114d80f88ef418b5f3ba3c919d300e21c4e677
Author: Dunbobbin <Ben.Dunbobbin at sony.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M cross-project-tests/dtlto/path.test
Log Message:
-----------
[TEST][FIX] Fix typo in tool name: 'llvm-ar'
Commit: a816f922fa73828b24008a8cdd0a28448eed68ef
https://github.com/llvm/llvm-project/commit/a816f922fa73828b24008a8cdd0a28448eed68ef
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/common.h
M compiler-rt/lib/scudo/standalone/include/scudo/interface.h
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/wrappers_c.inc
Log Message:
-----------
[scudo] Add new fast purge option. (#175266)
This adds a new option to do a faster of a purge.
When doing a release to OS due to a purge call, if another thread is
also doing a release, the call can be blocked while that operation
concludes. In some cases, code wants a fast version that releases as
fast as possible and the call will not block.
For example, on Android, when destroying a Bitmap a purge occurs to save
memory. But this can cause some jank if the purge takes too long.
In the future, I envision that this option will also do a calculation to
stop purging after some cutoff value to avoid being blocked in this call
for too long.
Commit: c4f74a19940cbc551cca15a8b4ed0cb55785c297
https://github.com/llvm/llvm-project/commit/c4f74a19940cbc551cca15a8b4ed0cb55785c297
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/source/Host/windows/PythonPathSetup/CMakeLists.txt
Log Message:
-----------
[lldb][windows] fix link issue when building with dylibs (#180976)
Fix a link issue which was introduced by
https://github.com/llvm/llvm-project/pull/179306 when building with
dylibs (with MinGW).
LLVMSupport is not needed by `PythonPathSetup`. It's safe to remove it.
Commit: e22db5cf61652dcde73f3f93dff1ee753dca8e15
https://github.com/llvm/llvm-project/commit/e22db5cf61652dcde73f3f93dff1ee753dca8e15
Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
A mlir/lib/Bindings/Python/stubgen_runner.py
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
R utils/bazel/llvm-project-overlay/mlir/stubgen_runner.py
Log Message:
-----------
[MLIR] [Bazel] Moved stubgen_runner.py out of llvm-project-overlay (#181029)
It was checked into the overlay by accident.
Commit: 0991d7b8fd01546aaf537a6238227100570f8236
https://github.com/llvm/llvm-project/commit/0991d7b8fd01546aaf537a6238227100570f8236
Author: Martin Storsjö <martin at martin.st>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libunwind/src/Unwind-seh.cpp
Log Message:
-----------
[libunwind] Fix building with EXCEPTION_DISPOSITION as enum (#180513)
On Windows, libunwind is normally only built in mingw mode; it's not
relevant for MSVC targets. (Attempting to build it is entirely blocked
in CMake, see [1]).
In mingw headers, the type EXCEPTION_DISPOSITION is defined as an int
while it is an enum in the MSVC vcruntime headers.
However, in addition to the canonical enum members, we also use a value
which has no assigned enum member. In older mingw-w64 headers, there was
a define for this value, 4, with the name ExceptionExecuteHandler, but
that was removed in [2]. The libunwind code reference this value just by
the literal value 4, with a comment referencing it as
ExceptionExecuteHandler.
This extra enum value isn't passed to the outside Microsoft runtime, but
is only used to pass values from one part of libunwind to another; this
handling is necessary for the forced_unwind{1-3}.pass.cpp tests to
succeed.
If the mingw-w64 headers would define EXCEPTION_DISPOSITION as an enum,
just like the MSVC vcruntime headers, then we'd run into build errors
and warnings like this:
llvm-project/libunwind/src/Unwind-seh.cpp:166:14: error: cannot initialize return object of type 'EXCEPTION_DISPOSITION' (aka 'enum _EXCEPTION_DISPOSITION') with an rvalue of type 'int'
166 | return 4 /* ExceptionExecuteHandler in mingw */;
| ^
llvm-project/libunwind/src/Unwind-seh.cpp:185:14: error: cannot initialize return object of type 'EXCEPTION_DISPOSITION' (aka 'enum _EXCEPTION_DISPOSITION') with an rvalue of type 'int'
185 | return 4 /* ExceptionExecuteHandler in mingw */;
| ^
llvm-project/libunwind/src/Unwind-seh.cpp:272:8: warning: case value not in enumerated type 'EXCEPTION_DISPOSITION' (aka 'enum _EXCEPTION_DISPOSITION') [-Wswitch]
272 | case 4 /*ExceptionExecuteHandler*/:
| ^
Fix these cases by adding explicit casts between EXCEPTION_DISPOSITION
and int.
A (partial) similar change was proposed in [3], but the author never
followed up on the discussion, and the PR was later closed.
[1] b0b546d44777eb1fa25995384876bd14a006a929
[2] https://github.com/mingw-w64/mingw-w64/commit/2de6703961c0d519046b841f7b392a040e1e5b55
[3] https://github.com/llvm/llvm-project/pull/159293
Commit: 9f85fa2a529e9246f2cf16b092c68d9a2243d53a
https://github.com/llvm/llvm-project/commit/9f85fa2a529e9246f2cf16b092c68d9a2243d53a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa/libflang_rt.runtime.a
A clang/test/Driver/offload.f90
Log Message:
-----------
[Flang] Fix finding the Flang runtime for the GPU (#180971)
Summary:
We were looking for `flang_rt.builtins` instead of `flang_rt.runtime`.
Also adds a test so we know that it actually works.
Commit: 39f2ce368593e05dfc7411a65cf6073dcea4da64
https://github.com/llvm/llvm-project/commit/39f2ce368593e05dfc7411a65cf6073dcea4da64
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M libc/docs/configure.rst
M libc/shared/rpc.h
M libc/shared/rpc_dispatch.h
M libc/shared/rpc_util.h
Log Message:
-----------
[libc] Cleanup RPC helpers and comments
Summary:
Mostly NFC, replaced some inconsistent comments and replaces `class`
with `typename` to be consistent. Also fix incomplete type detection I
forgot to merge in the RPC helper PR.
Commit: d4c7d5be340d1eb78b55bd86b6c041d123cba1b1
https://github.com/llvm/llvm-project/commit/d4c7d5be340d1eb78b55bd86b6c041d123cba1b1
Author: woruyu <1214539920 at qq.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
Log Message:
-----------
[CIR] X86 vector masked load builtins (#169464)
Add a new CIR masked load operation and use it to handle X86 masked load builtins.
Part of https://github.com/llvm/llvm-project/issues/167752
Commit: 9a496ddca3a23101d27531345901c42366d2ed45
https://github.com/llvm/llvm-project/commit/9a496ddca3a23101d27531345901c42366d2ed45
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/rv32p.ll
M llvm/test/CodeGen/RISCV/rv64p.ll
Log Message:
-----------
[RISC] Rename the P extensions srx/slx tests and add fshl/fshr intrinsic tests. NFC (#180984)
I plan to change to the i64 shift lowering on RV32 to use nsrl/nsra
instead of srx. Only fshr will use srx.
We now have shift tests with constant shift amount < XLEN and >= XLEN,
and non-constant shift amount that is fully unknown, known < XLEN, and
known >= XLEN
Assisted-by: claude
Commit: 716bd041fb1f244daad8860d8c613c9746a1e9b3
https://github.com/llvm/llvm-project/commit/716bd041fb1f244daad8860d8c613c9746a1e9b3
Author: Priyanshu Kumar <10b.priyanshu at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
A clang/test/CIR/CodeGen/builtins-x86.c
A clang/test/CIR/CodeGenBuiltins/X86/rd-builtins.c
Log Message:
-----------
[CIR]Upstream generic intrinsic emission path (#179098)
This PR upstreams the generic intrinsic emission path and tests it for
the rdpmc builtin. The incubator has llvm_unreachable("NYI") when the
intrinsic return type doesn't match. This PR adds the type coercion to
handle that case.
Commit: b0dce9ef48b770d7223f300c7bb32b473f42d7dd
https://github.com/llvm/llvm-project/commit/b0dce9ef48b770d7223f300c7bb32b473f42d7dd
Author: Fedor Sergeev <fedor.v.sergeev at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/SmallSet.h
M llvm/unittests/ADT/SmallSetTest.cpp
Log Message:
-----------
[ADT] use correct iterator_facade_base for SmallSetIterator (#180967)
SmallSetIterator is inherently constant. Now it is properly expressed
through passing const to PointerT/ReferenceT parameters of its base
class. This way wrappers like make_filter_range do not try to treat
SmallSetIterator as non-constant.
Fixes #179139
Commit: 6503bdce13f48f62ab3dff235b3725b21c786f14
https://github.com/llvm/llvm-project/commit/6503bdce13f48f62ab3dff235b3725b21c786f14
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/include/llvm/Support/JSON.h
Log Message:
-----------
[Support][NFC] Use direct initialization for JSON deserialization result (#181034)
The previous initialization forces the struct to have non explicit
constructor
Commit: 31f31dd9d0460834f2ae67247d3886fec4931d6d
https://github.com/llvm/llvm-project/commit/31f31dd9d0460834f2ae67247d3886fec4931d6d
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M .github/workflows/issue-subscriber.yml
M .github/workflows/new-issues.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-subscriber.yml
M .github/workflows/release-asset-audit.yml
Log Message:
-----------
workflows: Use main-branch-only environment when using ISSUE_SUBSCRIBER_TOKEN (#179990)
This way we can prevent the secret from being used in user branches.
Commit: 79640967dd75739c097a928663fbcf726985d65e
https://github.com/llvm/llvm-project/commit/79640967dd75739c097a928663fbcf726985d65e
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/test/Semantics/OpenMP/compiler-directive.f90
M flang/test/Semantics/ignore_tkr01.f90
Log Message:
-----------
[flang] Downgrade error to warning for IGNORE_TKR case (#180994)
The IGNORE_TKR directive has meaning only in the specification part of a
subroutine or function subprogram or interface. Presently, it is an
error when the directive appears elsewhere.
At user request, this patch softens the error to a warning for when this
directive appears in a program unit other than a subroutine or function,
and when it appears in a subroutine or function subprogram outside the
specification part of its top scope.
Commit: dc2fc9e10bd6d8d93d91f18a60e6cd7d24ffadb9
https://github.com/llvm/llvm-project/commit/dc2fc9e10bd6d8d93d91f18a60e6cd7d24ffadb9
Author: Shunsuke Watanabe <watanabe.shu-06 at fujitsu.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M flang/docs/FlangDriver.md
Log Message:
-----------
[flang][docs] Update the `-Ofast` description in `FlangDriver.md` (#180138)
After #170505, `-fno-protect-parens` is now required for flang to behave
the same as `-Ofast`. This patch adds that information to the
description of `-Ofast` in `FlangDriver.md`.
Commit: 6ffbb320d7578f0bed137a75e6d50ca0eb1e5ab4
https://github.com/llvm/llvm-project/commit/6ffbb320d7578f0bed137a75e6d50ca0eb1e5ab4
Author: cmtice <cmtice at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/test/API/commands/frame/var-dil/expr/Casts/TestFrameVarDILCast.py
M lldb/test/API/commands/frame/var-dil/expr/Casts/main.cpp
Log Message:
-----------
[LLDB] Add type casting to DIL, part 3 of 3 (#175061)
This PR updates type parsing in DIL to recognize user-defined types
(classes, namespaces, etc.), and allows this to be used in type casting.
Commit: 0a966ff4e20396206c2f2e054961c2995dcbd7d4
https://github.com/llvm/llvm-project/commit/0a966ff4e20396206c2f2e054961c2995dcbd7d4
Author: Syadus Sefat <42645939+mssefat at users.noreply.github.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.integer-minmax.ll
Log Message:
-----------
[AMDGPU][NFC] Fix test by removing debug flag in llvm.amdgcn.raw.buffer.atomic.integer-minmax.ll (#181044)
This patch is a NFC that removes debug flag from the test
llvm.amdgcn.raw.buffer.atomic.integer-minmax.ll
Commit: eeb2a20a1cccbd5727194d46588c5d794b267e5f
https://github.com/llvm/llvm-project/commit/eeb2a20a1cccbd5727194d46588c5d794b267e5f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck] Add LowerMatrixIntrinsic test to xfail list
To get the buildbot back to green. We have not started working on
LowerMatrixIntrinsic tests yet.
Commit: ee4d7f27b7d53f8b6967d754d26ecb52f2903e82
https://github.com/llvm/llvm-project/commit/ee4d7f27b7d53f8b6967d754d26ecb52f2903e82
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M libcxx/utils/ci/lnt/run-benchmarks
Log Message:
-----------
[libc++] Improve the logging story in run-benchmarks
This allows diagnosing issues when a command fails.
Commit: 9e905d1d64ab8636a70069b596030dc757f428a3
https://github.com/llvm/llvm-project/commit/9e905d1d64ab8636a70069b596030dc757f428a3
Author: Justice Adams <jadams23 at apple.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
A .ci/green-dragon/relay-clang-stage2-thinlto.groovy
Log Message:
-----------
[green dragon] check in stage2 thinlto relay pipeline (#180997)
* Add a definition for the relay thinlto job
Commit: 7cc7a94128931891b7f00414edcf01c76e255483
https://github.com/llvm/llvm-project/commit/7cc7a94128931891b7f00414edcf01c76e255483
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
A llvm/test/CodeGen/AMDGPU/misched-remat-revert.ll
Log Message:
-----------
[AMDGPU][Scheduler] Fix inconsistent MI slots after rematerialization revert (#180646)
This fixes an issue in the scheduler's rematerialization stage wherein
slot indices could end up being inconsistent with respect to MI order
following a scheduling revert coupled with rematerialization rollbacks.
When a region's schedule is reverted, instructions are re-ordered into
the region's original instruction order. Furthermore, non-debug
instructions have their slot moved if necessary to maintain consistency
between MI and slot order. Importantly, the rematerialization stage
marks rematerialized MIs as debug during re-scheduling. When reverting
the schedule of regions that have had some of their MIs rematerialized,
the latter are still marked debug, and therefore maintain their
pre-re-scheduling slot even if it no longer is consistent with MI order.
This fixes the issue by restoring the original state of rematerialized
MIs before reverting region schedules, ensuring they are moved if
necessary. An EXPENSIVE_CHECK is added to check that slot order
makes sense with respect to MI order in re-scheduled regions.
Fixes SWDEV-579187.
Commit: ce036c9a2959904108349707b1986c542b16ec18
https://github.com/llvm/llvm-project/commit/ce036c9a2959904108349707b1986c542b16ec18
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M libcxx/utils/ci/lnt/schema.yaml
Log Message:
-----------
[libc++] Rename LNT schema for libc++
Sadly, I made an earlier test to create a schema named libcxx which
doesn't have the same contents as this one. And for the time being,
we don't have any way to remove these schemas.
To unblock LNT testing, we'll start populating the libcxx2 test
suite instead and we can clean this up in the future.
Commit: e2297da21660a0c9f3db90c3effd18f6c17e38e9
https://github.com/llvm/llvm-project/commit/e2297da21660a0c9f3db90c3effd18f6c17e38e9
Author: KAWASHIMA Takahiro <t-kawashima at fujitsu.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/test/Driver/func-attr.f90
Log Message:
-----------
[flang] Fix -fno-omit-frame-pointer (#180507)
The PR #163775 added `FramePointerKind::NonLeafNoReserve`. However it
seems it forgot to update some codes in Flang. By this bug,
`frame-pointer` attribute in IR was not set even if
`-fno-omit-frame-pointer` is specified.
Fixes #180118
Commit: 473e8189c4d3b19932da8027104cf33996193775
https://github.com/llvm/llvm-project/commit/473e8189c4d3b19932da8027104cf33996193775
Author: Jim Lin <jim at andestech.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedAndes45.td
M llvm/test/tools/llvm-mca/RISCV/Andes45/rvv-arithmetic.s
M llvm/test/tools/llvm-mca/RISCV/Andes45/rvv-bitwise.s
M llvm/test/tools/llvm-mca/RISCV/Andes45/rvv-mul-div.s
Log Message:
-----------
[RISCV] Update Andes45 vector fixed-point arithmetic scheduling info (#180451)
This PR adds latency/throughput for all RVV fixed-point arithmetic to
the andes45 series scheduling model.
Commit: d063dc6e6140e8554d85fb4410f77e79850b0f1a
https://github.com/llvm/llvm-project/commit/d063dc6e6140e8554d85fb4410f77e79850b0f1a
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-goto.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-c-arrays.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-goto.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/braces-around-statements.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/deprecated-headers.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/exception-baseclass.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/explicit-conversions.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/function-size.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/ignored-remove-result.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/invalid-access-moved.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/member-init.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/move-const-arg.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/multiway-paths-covered.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/named-parameter.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/new-delete-operators.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-array-decay.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-assembler.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-malloc.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/noexcept-move.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/signed-bitwise.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/special-member-functions.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/static-assert.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/undelegated-constructor.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/uppercase-literal-suffix.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-auto.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-emplace.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-equals-default.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-equals-delete.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-noexcept.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-nullptr.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-override.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/vararg.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/magic-numbers.rst
Log Message:
-----------
[clang-tidy][NFC] Update broken HICPP documentation links (#180525)
The original links to the High Integrity C++ Coding Standard now
redirects to an [irrelevant page](https://www.perforce.com/resources)
because Perforce made the document private (it now requires email to
apply).
This PR updates all HICPP-related documentation links to point to the
application form, ensuring users can still find the official source for
these rules.
Commit: 0377416e36784c86db0566550773851995f13edf
https://github.com/llvm/llvm-project/commit/0377416e36784c86db0566550773851995f13edf
Author: Zhihui Yang <youngwisdm at gmail.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
A clang/test/CIR/CodeGenBuiltins/X86/cmp-builtins.c
Log Message:
-----------
[CIR][X86] Add support for cmp builtins (#174318)
Part of https://github.com/llvm/llvm-project/issues/167765
Add support for cmp builtins
Commit: 2ada4b8fb0914ebdddc386130db24bcc074b3554
https://github.com/llvm/llvm-project/commit/2ada4b8fb0914ebdddc386130db24bcc074b3554
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[mlir][ROCDL] Wrap asyncmark and wait.asyncmark intrinsics (#181054)
(see op-level and LLVM documentation for details so I'm not repeating
myself, but these are the general operations for compiler-operated
asynchronous operation tracking, which frees programmers from having to
deal with all the different counters, allows certain optimization, and
doesn't require precise alias analysis)
-----
Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
Commit: 2e870e615d42b487e039873bdacbcd2bc94f7fb4
https://github.com/llvm/llvm-project/commit/2e870e615d42b487e039873bdacbcd2bc94f7fb4
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M libc/shared/rpc_dispatch.h
M libc/shared/rpc_util.h
Log Message:
-----------
[libc] Fix incorrect element type in RPC handler
Commit: 46283ad29542fcb00f3c35c0d211ad0d4d648ea7
https://github.com/llvm/llvm-project/commit/46283ad29542fcb00f3c35c0d211ad0d4d648ea7
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[NFC][HLSL] Remove Dead code (#181060)
Commit: dde762afb92be5206254af898558662ab9a55f7f
https://github.com/llvm/llvm-project/commit/dde762afb92be5206254af898558662ab9a55f7f
Author: iLeGend <youzhi.jin at intel.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/f16sqrtf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/f16sqrtf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/f16sqrtf.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor `f16sqrtf` to Header Only. (#180749)
fix https://github.com/llvm/llvm-project/issues/175329
Commit: 477e73f5347489895d076bfc810a30bf34ec8cd0
https://github.com/llvm/llvm-project/commit/477e73f5347489895d076bfc810a30bf34ec8cd0
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/include/clang/Options/Options.td
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/module-fgen-reduced-bmi-precompile.cppm
Log Message:
-----------
[C++20] [Modules] Support to generate reduced BMI only (#181081)
Introduced --precompile-reduced-bmi. This allows users to generate
Reduced BMI only.
Previously, users can only generate the reduced BMI as a by product of
other process (e.g, generating an object file or a full BMI). This is
not ideal.
Commit: e2ac2e0af6f4778ad3724f28105d4d3d029ea9f5
https://github.com/llvm/llvm-project/commit/e2ac2e0af6f4778ad3724f28105d4d3d029ea9f5
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel][lldb] Port #179832 (#181087)
Co-authored-by: Pranav Kant <prka at google.com>
Commit: 0319d8ddbefcb578f2358e99a59d5af471b09e31
https://github.com/llvm/llvm-project/commit/0319d8ddbefcb578f2358e99a59d5af471b09e31
Author: gulfemsavrun <gulfem at google.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/test/tools/llvm-cov/mcdc-macro.test
Log Message:
-----------
Revert "[MC/DC] Make covmap tolerant of nested Decisions (#125407)" (#181069)
This reverts commit 8f690ec7ffd8d435a0212a191634b544b0741c4f because it
caused errors in collecting coverage.
Commit: 526dc256b5763b46d502d58f834bfd520147eaab
https://github.com/llvm/llvm-project/commit/526dc256b5763b46d502d58f834bfd520147eaab
Author: Riyaz Ahmad <69200125+riyaz86a at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/PPC.cpp
M clang/test/Driver/aix-as.c
Log Message:
-----------
[AIX] [PowerPC] Auto-enable modern-aix-as feature by default with integrated assembler. (#180778)
**Issue**:
Certain instruction aliases (e.g. `mfsprg`) defined in PowerPC tablegen
as InstAlias are gated behind the ModernAs predicate as InstAlias.
Without the `+modern-aix-as` target feature enabled, the `ModernAs`
predicate is not satisfied and these instructions aliases are
unavailable. This caused assembly failures on AIX unless user manually
specify below options.
`-Xclang -target-feature -Xclang +modern-aix-as`
**Solution**:
Automatically enable the` +modern-aix-as` target feature when:
- The target triple is AIX.
- The integrated assembler is being used (default or -`fintegrated-as`).
This feature is not enabled when `-fno-integrated-as` is specified.
Co-authored-by: Riyaz Ahmad <riyaz.ahmad at ibm.com>
Commit: 2ff93109daf7ff72f384b90f4dfc9a6cfe823aed
https://github.com/llvm/llvm-project/commit/2ff93109daf7ff72f384b90f4dfc9a6cfe823aed
Author: Nishant Sachdeva <32475507+nishant-sachdeva at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/test/tools/llvm-ir2vec/bindings/ir2vec-bindings.py
M llvm/tools/llvm-ir2vec/Bindings/PyIR2Vec.cpp
M llvm/tools/llvm-ir2vec/lib/Utils.cpp
M llvm/tools/llvm-ir2vec/lib/Utils.h
Log Message:
-----------
[llvm-ir2vec] Adding BB Embeddings Map API to ir2vec python bindings (#180135)
Returns a BB Embedding Map based on the input function name
`getBBEmbMap(funcName) -> Map<BB name, Embedding>`
Commit: 8a3b830c94575a97c40c8b8f4a23f910fab5f0f5
https://github.com/llvm/llvm-project/commit/8a3b830c94575a97c40c8b8f4a23f910fab5f0f5
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lld/ELF/Arch/X86.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
Log Message:
-----------
[ELF] Add target-specific relocation scanning for x86 (#178846)
Implement scanSection/scanSectionImpl for i386 and x86-64 to
* enable devirtualization of getRelExpr calls
* eliminate abstraction overhead for PLT-to-PCRel optimization, TLS
relocations
* optimize for R_X86_64_PC32 and R_X86_64_PLT32: they consist of 95%
relocations in `lld/ELF/**/*.o` files.
at the cost of more code.
TLS relocation handling is inlined into scanSectionImpl. Also,
- Remove getTlsGdRelaxSkip
- Replace TLS-optimization-specific expressions:
- R_RELAX_TLS_GD_TO_LE, R_RELAX_TLS_LD_TO_LE, R_RELAX_TLS_IE_TO_LE →
R_TPREL
- R_RELAX_TLS_GD_TO_IE → R_GOT_PC
This follows the pattern established for MIPS and PPC64 in `#163138`.
getRelExpr is simplified to only handle relocations needed for
relocateNonAlloc and relocateEH.
Average "Scan relocations" time (measured by --time-trace) decreases
from 110078 to 101585.
(
```
ruby -rjson -e 't=[]; 50.times { system("numactl -C 0-7 /t/lld1 -flavor gnu --threads=8 @response.txt -o a.out --time-trace"); t << JSON.parse(File.read("a.out.time-trace"))["traceEvents"].find { |e| e["name"] == "Scan relocations" }["dur"] }; puts "Average: #{t.sum / t.size}"'
```
)
Commit: 0675fa48f6001385faf2774d27a7413267fd736a
https://github.com/llvm/llvm-project/commit/0675fa48f6001385faf2774d27a7413267fd736a
Author: Liu Ke <liuke.gehry at bytedance.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
A llvm/test/tools/llvm-dwp/X86/prioritize_discard_path_soft_stop.test
M llvm/tools/llvm-dwp/Opts.td
M llvm/tools/llvm-dwp/llvm-dwp.cpp
Log Message:
-----------
[llvm-dwp] Adds --prioritize-discard-path to explicitly control dwp overflow order. (#180909)
Adds `--prioritize-discard-path` for llvm-dwp to explicitly specify the
path of DWO files to be prioritized for discarding when dwp overflows.
As described in [[this
RFC](https://discourse.llvm.org/t/rfc-debuginfo-mitigating-non-deterministic-dwp-overflow/89587)].
Commit: e710ff28456c1accbeb3a7e503163233bc615b16
https://github.com/llvm/llvm-project/commit/e710ff28456c1accbeb3a7e503163233bc615b16
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
Log Message:
-----------
[ELF] Simplify AArch64::relocateAlloc. NFC
Commit: 3ed9bd6df8167c9b09fc76f4667e20e4a363105c
https://github.com/llvm/llvm-project/commit/3ed9bd6df8167c9b09fc76f4667e20e4a363105c
Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Use std::move to avoid copy (#180775)
Commit: 80743bd43fd5b38fedc503308e7a652e23d3ec93
https://github.com/llvm/llvm-project/commit/80743bd43fd5b38fedc503308e7a652e23d3ec93
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
A lld/test/ELF/linkerscript/discard-eh-frame.s
R lld/test/ELF/linkerscript/pt_gnu_eh_frame.s
Log Message:
-----------
[ELF] Fix /DISCARD/ .eh_frame regression after #179089
When .eh_frame is discarded while .eh_frame_hdr is not, #179089 caused a
crash for `/DISCARD/ : { *(.eh_frame) }`.
Simplify the PT_GNU_EH_FRAME condition from https://reviews.llvm.org/D30885 (2017).
Commit: 10ef3d6639bcbe0cab484cd06b6198bb8ea906ca
https://github.com/llvm/llvm-project/commit/10ef3d6639bcbe0cab484cd06b6198bb8ea906ca
Author: Aditi Medhane <aditimedhane73 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaPPC.cpp
M clang/test/Sema/builtins-bcd-format-conversion.c
Log Message:
-----------
[PowerPC] Align bcdsetsign Sema validation with other BCD builtins (#178121)
`__builtin_ppc_bcdsetsign` currently uses standalone argument checks due
to the `"t"` option. This change brings it in line with the helper-based
validation used by other BCD builtins and adds Sema coverage.
Commit: 4323b3604cf6a26afbefcdb79edbd4a9a2e0a000
https://github.com/llvm/llvm-project/commit/4323b3604cf6a26afbefcdb79edbd4a9a2e0a000
Author: pkarveti <quic_pkarveti at quicinc.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
A llvm/test/CodeGen/Hexagon/hvx-predicate-store-load.ll
Log Message:
-----------
[Hexagon] Add support for V128i1/V64i1/V32i1 predicate store/load in HVX (#180701)
Commit: db588931c5bca3f09965689b883a56abf322bbd4
https://github.com/llvm/llvm-project/commit/db588931c5bca3f09965689b883a56abf322bbd4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rv32p.ll
Log Message:
-----------
[RISCV] Use NSRL/NSRA for legalizing i64 shifts with P extension on RV32. (#181040)
If the shift amount might be in the range [0, 31], we can use
NSRL/NSRA to shift the i64 value to compute the lower 32 bits of
the result.
If the shift amount is >= 32, the high half of the result is all
zeros or sign bits. Otherwise it is a srl/sra of the high bits.
I've handled the constant case in ReplaceNodeResults but deferred
the non-constant case to lowerShiftRightParts. This function is
not called for constants. This gives the opportunity for DAGCombine to
optimize the SRL_PARTS/SRA_PARTS if the shift amount can be proven
to be >= 32 or < 32.
Sequences were also discussed on the P extension mailing list here
https://lists.riscv.org/g/tech-p-ext/message/861
Assisted-by: claude
Commit: 199d83b0fa72dd94d1945d107a63917b680c7a0a
https://github.com/llvm/llvm-project/commit/199d83b0fa72dd94d1945d107a63917b680c7a0a
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[doc] [C++20] [Modules] Update the doc for ABI-breaking style (#181098)
Update more information about the ABI breaking style.
Commit: f7c5316468ec077157c70252c5bf97ab50b3dbd8
https://github.com/llvm/llvm-project/commit/f7c5316468ec077157c70252c5bf97ab50b3dbd8
Author: Gergely Bálint <gergely.balint at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Passes/Hugify.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
A bolt/test/AArch64/bti-inline-dbg.s
A bolt/test/AArch64/bti-inline.s
A bolt/test/AArch64/bti-long-jmp-ignored.s
A bolt/test/AArch64/bti-long-jmp.s
A bolt/test/AArch64/bti-note-unused.test
A bolt/test/AArch64/bti-patch-entries.s
R bolt/test/AArch64/inline-bti-dbg.s
R bolt/test/AArch64/inline-bti.s
R bolt/test/AArch64/long-jmp-bti-ignored.s
R bolt/test/AArch64/long-jmp-bti.s
R bolt/test/AArch64/no-bti-note.test
A bolt/test/runtime/AArch64/bti-hugify.c
A bolt/test/runtime/AArch64/bti-instrumentation-ind-call.c
A bolt/test/runtime/AArch64/bti-long-jmp-plt.c
R bolt/test/runtime/AArch64/instrumentation-ind-call-bti.c
R bolt/test/runtime/AArch64/long-jmp-bti-plt.c
Log Message:
-----------
[BOLT][BTI] Refactor: move applyBTIFixup under MCPlusBuilder (#177164)
This patch moves the applyBTIFixup from LongJmp pass to MCPlusBuilder.
This refactor allows applyBTIFixup to be called from other passes
inserting indirect branches, such as:
- Hugify,
- PatchEntries.
As different passes have different information about their targets (e.g.
target BasicBlock, target Symbol, target Function), specialized versions
are created (applyBTIFixupToSymbol, applyBTIFixupToTarget), and each
calls
applyBTIFixupCommon, which implements the original logic from before.
Names of related lit tests are updated to have the "bti" prefix.
Commit: 664663cbbf7ed3e2c5d00a7d0d94f0862463d789
https://github.com/llvm/llvm-project/commit/664663cbbf7ed3e2c5d00a7d0d94f0862463d789
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-11 (Wed, 11 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rv32p.ll
M llvm/test/CodeGen/RISCV/rv64p.ll
Log Message:
-----------
[RISCV] Improve 2*XLEN SHL legalization with P extension. (#181056)
For an i64 shift by a constant < 32 on RV32, we can use NSRLI
with 32-ShAmt to calculate the high half of the result.
For non-constant shifts, we can use SLX and some bit tricks to
avoid branches. I wanted to use the target independent code from
TargetLowering, but it currently produces worse code.
Assisted-by: claude
Commit: aa0e429576cfb496e66f6bbe76df8982aab6b083
https://github.com/llvm/llvm-project/commit/aa0e429576cfb496e66f6bbe76df8982aab6b083
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libc/docs/full_host_build.rst
Log Message:
-----------
[libc] Rewrite "Full Host Build" instructions (#180439)
This commit restructures the full_host_build.rst documentation to better
serve two use cases:
1. Standard Building and Testing: Add a new introductory section with
simplified instructions for local development. This covers basic build
configuration, building/testing without a full sysroot, and
documentation generation.
2. Building a Sysroot: Reorganize the comprehensive sysroot setup
instructions into a clear 5-step guide:
- Step 1: Preparation (environment variables)
- Step 2: Linux Headers (copying headers into sysroot)
- Step 3: Build and Install Runtimes (cmake configuration and ninja
build)
- Step 4: Configure the Compiler Wrapper (creating clang config file)
- Step 5: Verification (testing with sample C program)
Key improvements:
- Restructure content to lead with simpler development workflow
- Replace bootstrapping build instructions with clearer sysroot
instructions
- Fix typo: "non-triivial" -> "non-trivial"
- Remove directory changes that can be confusing. All commands are run
from the root of the llvm tree
- Improve code block formatting and add complete working examples
- Make it easy to cut and paste shell commands
- Simplify "Hello, World!" example
- Simplify and clarify assumptions and requirements
- Remove obsolete notes about C++ standard library support
Tested:
* Built runtimes build and tests
* Built sysroot and verified with sample C program
* Verified document builds and looks right in VSCode browser
Commit: 5ec5701db3cfb44fd125413f9a246f6e2d80ac84
https://github.com/llvm/llvm-project/commit/5ec5701db3cfb44fd125413f9a246f6e2d80ac84
Author: sstipano <sstipano7 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/docs/HowToUseInstrMappings.rst
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/MC/MCInstrDesc.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/MCA/InstrBuilder.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.h
M llvm/lib/Target/AMDGPU/R600InstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp
M llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.h
M llvm/test/TableGen/get-named-operand-idx.td
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/CodeGenMapTable.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
Reapply "[MC][TableGen] Expand Opcode field of MCInstrDesc" (#180321) (#180954)
Difference from the previous version is that this one doesn't actually
encode opcodes in matcher tables as 32 bits, but still as 16 bits.
Commit: c774bed9e6153916ff714d62515686a59722068d
https://github.com/llvm/llvm-project/commit/c774bed9e6153916ff714d62515686a59722068d
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[doc] [C++20] [Modules] Fix StandardCPlusPlusModules.rst failure (#181101)
Commit: 5fe60e91e509b0ec574c80ac470a13fb0f277670
https://github.com/llvm/llvm-project/commit/5fe60e91e509b0ec574c80ac470a13fb0f277670
Author: David Green <david.green at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
Log Message:
-----------
[SDAG] Copy flags in convertMask when legalizing vselect/setcc (#180979)
This helps keep the flags around, making sure we correctly lower a
vector setcc with nnan. Fixes a regression from #180462.
Commit: 36dbe537c4ab22f638e2f55e48d6af58414a6d3e
https://github.com/llvm/llvm-project/commit/36dbe537c4ab22f638e2f55e48d6af58414a6d3e
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/clmul-scalable.ll
Log Message:
-----------
[AArch64][ISel] Add clmul to pmullb/t lowering (#180568)
Commit: efab96c6e9175af88666f6d8d7f7bf4c327d71b6
https://github.com/llvm/llvm-project/commit/efab96c6e9175af88666f6d8d7f7bf4c327d71b6
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/misched-remat-revert.ll
Log Message:
-----------
[AMDGPU] Add missing assert requirement to unit test (#181102)
`-debug-only` is only available when asserts are enabled. The test
currently fails on builds without asserts.
Commit: ddaa590ace950e62014e7628336354a924d407db
https://github.com/llvm/llvm-project/commit/ddaa590ace950e62014e7628336354a924d407db
Author: David Stenberg <david.stenberg at ericsson.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M cross-project-tests/lit.cfg.py
Log Message:
-----------
[cross-project-tests] Fix lldb version regex (#180204)
The get_lldb_version_string function in the lit config used a greedy
regex that could, if using a lldb binary built with git revision output,
using a SHA that starts with a digit, result in the first digits of the
SHA being interpreted as the lldb version.
For example, if lldb emits:
$ lldb --version
lldb version 23.0.0git \
(https://github.com/dstenb/llvm-project.git revision \
7e565729e33d19d468520e7bfbb8b23a918adc9c)
the version would be interpreted as 7 rather than 23.0.0:
Marking some LLDB LLVM data-formatter tests as unsupported: using
version 7 whereas a version >= 1900 is required
(That check should compare towards 19.0.0, but that issue is addressed
in an other patch.)
Resolve this by using a non-greedy matcher.
Also, include a drive-by fix of some typos.
Commit: 389c1ea44b0fbe295ebf816c8839fd2d839ffda8
https://github.com/llvm/llvm-project/commit/389c1ea44b0fbe295ebf816c8839fd2d839ffda8
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
Log Message:
-----------
[CIR][NFC] Group related "creation" helpers + add comments (#180921)
Commit: ce5fb1b501f4713665561740b9df67293bf94767
https://github.com/llvm/llvm-project/commit/ce5fb1b501f4713665561740b9df67293bf94767
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
R clang/test/CIR/CodeGenBuiltins/AArch64/neon/fullfp16.c
M clang/test/CodeGen/AArch64/neon/fullfp16.c
M clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c
Log Message:
-----------
[CIR][NFC] Consolidate AArch64 tests (#180919)
As initiated in #180597 (*), ensure that CIR tests reuse the default
Clang lowering tests. To this end, consolidate the AArch64 tests for
unconstrained -fullfp16 builtins into:
* clang/test/CodeGen/AArch64/neon/fullfp16.c
(*) See also https://github.com/llvm/llvm-project/issues/179952 for
more context.
Commit: f6f0503673b746a2e43a995006ced39c5c7e412e
https://github.com/llvm/llvm-project/commit/f6f0503673b746a2e43a995006ced39c5c7e412e
Author: fogsong233 <fogsong233 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/Parse/ParseTentative.cpp
A clang/test/Interpreter/access.cpp
M clang/test/Interpreter/disambiguate-decl-stmt.cpp
Log Message:
-----------
[clang-repl] Fix disambiguation of out-of-line member with private types (#178842)
This patch fixes a bug in clang-repl where out-of-line member function
definitions were incorrectly identified as statements when they involved
private type aliases.
The issue occurred because `isCXXDeclarationStatement` would trigger
immediate access checks during tentative parsing. Since the context of
an out-of-line definition isn't fully established during this phase,
Sema would incorrectly flag private members as inaccessible, causing
the parser to fail the declaration check and fall back to statement
parsing.
Changes:
- In `isCXXDeclarationStatement`, use `TentativeParsingAction` to
ensure the token stream is fully restored.
- Use `SuppressAccessChecks` during the tentative disambiguation phase
to prevent premature access errors.
- Ensure that formal access verification still occurs during the
actual parsing phase in `ParseDeclarationOrFunctionDefinition`.
- Add tests and resolve a FIXME in
clang/test/Interpreter/disambiguate-decl-stmt.cpp.
Fixes llvm#164885.
See also jank-lang/jank#609.
Commit: c6bb1afbc5086c3f483921c575262bd95c346e5b
https://github.com/llvm/llvm-project/commit/c6bb1afbc5086c3f483921c575262bd95c346e5b
Author: Ayush Kumar Gaur <132849148+Ayush3941 at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Math/IR/MathOps.cpp
M mlir/test/Dialect/Math/canonicalize.mlir
Log Message:
-----------
[mlir][Math] Fix IPowIOp folding crash for i1 (#179684)
Fixes #179380: an assertion/crash in math.ipowi constant folding when the result type is i1.
`IPowIOp::fold` constructed `APInt(width=1, val=1, isSigned=true)`. Signed i1 cannot represent +1 (range [-1, 0]), so APInt asserts (isIntN).
This commit deactivates folding for `i1`.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: b20d7d0278059735bb8eb538ac51e13b58895c1a
https://github.com/llvm/llvm-project/commit/b20d7d0278059735bb8eb538ac51e13b58895c1a
Author: AidinT <at.aidin at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/include/mlir/Interfaces/CMakeLists.txt
A mlir/include/mlir/Interfaces/DialectFoldInterface.td
M mlir/include/mlir/Interfaces/FoldInterfaces.h
M mlir/lib/IR/CMakeLists.txt
Log Message:
-----------
[MLIR][IR] Convert `DialectFoldInterface` to ODS (#180833)
This PR converts `DialectFoldInterface` to ODS.
Commit: 6117bdd90324af22a920d56d673acff21342a1cb
https://github.com/llvm/llvm-project/commit/6117bdd90324af22a920d56d673acff21342a1cb
Author: 陈子昂 <2802328816 at qq.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/ARM/stlf-vector-extract.ll
M llvm/test/CodeGen/X86/avx512-shuffles/shuffle-chained-bf16.ll
Log Message:
-----------
[DAGCombiner] Fix subvector extraction index for big-endian STLF (#180795)
This PR fixes a big-endian regression in `ForwardStoreValueToDirectLoad`
where the wrong subvector was being extracted. In big-endian, memory
offset 0 corresponds to the high bits, so the extraction index needs to
be adjusted.
As suggested by @KennethHilmersson, calculate the extraction index as
the difference between the number of elements in the intermediate vector
and the load vector when in big-endian mode.
Special thanks to Kenneth Hilmersson for providing the fix logic and the
ARM regression test.
https://github.com/llvm/llvm-project/pull/172523#issuecomment-3878065191
https://github.com/llvm/llvm-project/pull/172523#issuecomment-3879575092
Commit: d49060a72d3fcfea210b293dcbca008b74908614
https://github.com/llvm/llvm-project/commit/d49060a72d3fcfea210b293dcbca008b74908614
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/test/API/functionalities/data-formatter/compactvectors/TestCompactVectors.py
Log Message:
-----------
[lldb][test] TestCompactVectors.py: skip for older Clang
Was failing on the Clang 17 green dragon matrix bot:
```
/Applications/Xcode_26.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/vecLib.framework/Headers/Sparse/SolveImplementationTyped.h:678:9: error: use of undeclared identifier '__builtin_verbose_trap'
07:28:37 678 | __builtin_verbose_trap("unsupported", "LU factorization is not supported on this OS version");
07:28:37 | ^
07:28:37 /Applications/Xcode_26.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/vecLib.framework/Headers/Sparse/SolveImplementationTyped.h:888:95: error: unrecognized platform name visionOS
07:28:37 888 | if(__builtin_available(macOS 15.5, macCatalyst 18.5, iOS 18.5, watchOS 11.5, tvOS 18.5, visionOS 2.5, *)) {
07:28:37 |
```
Commit: 22985fe1f9395e3d3d83879b82158a5cc4fe7759
https://github.com/llvm/llvm-project/commit/22985fe1f9395e3d3d83879b82158a5cc4fe7759
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
Log Message:
-----------
[clang][Builtins][ARM] NFC updates in ARM.cpp (#180966)
Updates the logic in `CodeGenFunction::EmitAArch64BuiltinExpr` so that
we always start with the general code and we only fall-back to
specialised cases (i.e. `switch` stmts) for intrinsics for which the
general code does no apply.
BEFORE (only high-level:
```cpp
Value *CodeGenFunction::EmitAArch64BuiltinExpr() {
(...)
/// 1. SWITCH STMT FOR NON-OVERLOADED INTRINSIS
switch (BuiltinID) {
default break:
case NEON::BI__builtin_neon_vabsh_f16:
(...)
}
/// 2. GENERAL CODE
Builtin = findARMVectorIntrinsicInMap(AArch64SIMDIntrinsicMap, BuiltinID,
AArch64SIMDIntrinsicsProvenSorted);
if (Builtin)
return EmitCommonNeonBuiltinExpr(
Builtin->BuiltinID, Builtin->LLVMIntrinsic, Builtin->AltLLVMIntrinsic,
Builtin->NameHint, Builtin->TypeModifier, E, Ops,
/*never use addresses*/ Address::invalid(), Address::invalid(), Arch);
if (Value *V = EmitAArch64TblBuiltinExpr(*this, BuiltinID, E, Ops, Arch))
return V;
/// 3. SWITCH STMT FOR THE REMAINING INTRINSIS
switch (BuiltinID) {
default return nullptr:
case NEON::BI__builtin_neon_vbsl_v:
(...)
}
}
```
AFTER:
```cpp
Value *CodeGenFunction::EmitAArch64BuiltinExpr() {
/// 1. GENERAL CODE
Builtin = findARMVectorIntrinsicInMap(AArch64SIMDIntrinsicMap, BuiltinID,
AArch64SIMDIntrinsicsProvenSorted);
if (Builtin)
return EmitCommonNeonBuiltinExpr(
Builtin->BuiltinID, Builtin->LLVMIntrinsic, Builtin->AltLLVMIntrinsic,
Builtin->NameHint, Builtin->TypeModifier, E, Ops,
/*never use addresses*/ Address::invalid(), Address::invalid(), Arch);
if (Value *V = EmitAArch64TblBuiltinExpr(*this, BuiltinID, E, Ops, Arch))
return V;
/// 2. SWITCH STMT FOR NON-OVERLOADED INTRINSIS
switch (BuiltinID) {
default break:
case NEON::BI__builtin_neon_vabsh_f16:
(...)
}
/// 3. SWITCH STMT FOR THE REMAINING INTRINSIS
switch (BuiltinID) {
default return nullptr:
case NEON::BI__builtin_neon_vbsl_v:
(...)
}
}
```
In addition:
* Remove `vaddq_p128+ vcvtq_high_bf16_f32 + vcvtq_low_bf16_f32` from
`AArch64SIMDIntrinsicMap`. Those were not required
there (it's an array for intrinsics for which the general code-gen
works, but that's not the case for those).
* Extracted the declaration of `Int` so that it can be re-used.
Commit: a43780973dfa7e9861a62b269eaaf00863335032
https://github.com/llvm/llvm-project/commit/a43780973dfa7e9861a62b269eaaf00863335032
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libcxx/include/__filesystem/path.h
M libcxx/include/iomanip
Log Message:
-----------
[libc++][NFC] Use std::quoted in fs::path and remove the private __quoted (#181043)
We've provided `std::filesystem` before C++17 in the past, but we don't
anymore, so we can use `std::quoted`.
Commit: 847558e7feb4647f82cd3846ec4eef70b0b24f82
https://github.com/llvm/llvm-project/commit/847558e7feb4647f82cd3846ec4eef70b0b24f82
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libcxx/include/__filesystem/path.h
Log Message:
-----------
[libc++][NFC] use void_t instead of a custom implementation in fs::path (#181050)
Commit: 6420099bcc62a09e002e500870216b2dd9d256a9
https://github.com/llvm/llvm-project/commit/6420099bcc62a09e002e500870216b2dd9d256a9
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/LoongArch/lasx/vxi1-masks.ll
M llvm/test/CodeGen/X86/insertelement-zero.ll
M llvm/test/CodeGen/X86/pr134602.ll
M llvm/test/CodeGen/X86/pr173924.ll
M llvm/test/CodeGen/X86/vector-fshl-256.ll
M llvm/test/CodeGen/X86/vector-fshl-512.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-512.ll
M llvm/test/CodeGen/X86/vector-fshr-512.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-512.ll
M llvm/test/CodeGen/X86/vector-rotate-256.ll
M llvm/test/CodeGen/X86/vector-rotate-512.ll
Log Message:
-----------
[SelectionDAG] Make sure demanded lanes for AND/MUL-by-zero are frozen (#180727)
DAGCombiner can fold a chain of INSERT_VECTOR_ELT into a vector AND/OR
operation. This patch adds protection to avoid that we end up making the
vector more poisonous by freezing the source vector when the elements
that should be set to 0/-1 may be poison in the source vector.
The patch also fixes a bug in SimplifyDemandedVectorElts for
MUL/MULHU/MULHS/AND that could result in making the vector more
poisonous. Problem was that we skipped demanding elements from Op0 that
were known to be zero in Op1. But that could result in elements being
simplified into poison when simplifying Op0, and then the result would
be poison and not zero after the MUL/MULHU/MULHS/AND. The solution is to
defensively make sure that we demand all the elements originally
demanded also when simplifying Op0.
This bugs were found when analysing the miscompiles in
https://github.com/llvm/llvm-project/issues/179448
Main culprit in #179448 seems to have been the bug in DAGCombiner. The
bug in SimplifyDemandedVectorElts surfaced when fixing the DAGCombiner,
as that fix typically introduce the (AND (FREEZE x), y) pattern that
wasn't handled correctly in SimplifyDemandedVectorElts.
Also fixes #180409.
Also fixes #176682.
Commit: 8d63e8995b91c707dee41983f0feac8dddc4817e
https://github.com/llvm/llvm-project/commit/8d63e8995b91c707dee41983f0feac8dddc4817e
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libcxx/include/__functional/hash.h
Log Message:
-----------
[libc++] Avoid including pair in <__functional/hash.h> (#179635)
We already have `_PairT`, which is just a pair of two `size_t`s, so we
might as well use that throughout the file. This avoids the `pair`
include altogether, reducing header parse times a bit in some cases.
Commit: 907eb11cc128630c52cd2191b925873b6ee56d6e
https://github.com/llvm/llvm-project/commit/907eb11cc128630c52cd2191b925873b6ee56d6e
Author: Volodymyr Turanskyy <vturanskyy at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/src/stdio/baremetal/CMakeLists.txt
A libc/src/stdio/baremetal/fflush.cpp
A libc/src/stdio/baremetal/file_internal.cpp
M libc/src/stdio/baremetal/file_internal.h
M libc/src/stdio/baremetal/getc.cpp
A libc/src/stdio/baremetal/ungetc.cpp
M libc/src/stdio/baremetal/vfscanf_internal.h
Log Message:
-----------
[libc] Add getc, ungetc, fflush to enable libc++ iostream on baremetal (#175530)
After https://github.com/llvm/llvm-project/pull/168931 landed getc,
ungetc and fflush are still missing at link time while trying to make
libc++ std::cout work with LLVM libc on baremetal.
ungetc implementation is very minimal only to cover the current standard
streams implementation from the patch above.
Commit: 9eed43b3868c64d3b83c91fe9600862aa2c447ef
https://github.com/llvm/llvm-project/commit/9eed43b3868c64d3b83c91fe9600862aa2c447ef
Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/examples/python/templates/scripted_frame_provider.py
Log Message:
-----------
[lldb][doc] Improve documentation for `ScriptedFrameProvider` (#179996)
* Provide a minimal, working example
* Document the instance variables
* Remove mention of `thread.SetScriptedFrameProvider` (which doesn't exist)
* add missing `@staticmethod` annotation
* fix rendering of bullet-pointed lists
Commit: ce6dd9ca1912c63ad947523eee173ea78121cceb
https://github.com/llvm/llvm-project/commit/ce6dd9ca1912c63ad947523eee173ea78121cceb
Author: David Green <david.green at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/switch-cases-to-branch-and.ll
Log Message:
-----------
[AArch64][GlobalISel] Update and regnerate switch-cases-to-branch-and.ll. NFC
Commit: db26124d80b3550be4cf95ca5b402671c5a29797
https://github.com/llvm/llvm-project/commit/db26124d80b3550be4cf95ca5b402671c5a29797
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
A llvm/test/MC/AArch64/armv9.7-scr2.s
Log Message:
-----------
[AArch64]Add SCR2_EL3 system register (#180918)
The link to the system register:
https://developer.arm.com/documentation/111107/2025-12/AArch64-Registers/SCR2-EL3--Secure-Configuration-Register?lang=en
Commit: 3c8016c6371e36972f1b2b6e47a017d6f3bf9961
https://github.com/llvm/llvm-project/commit/3c8016c6371e36972f1b2b6e47a017d6f3bf9961
Author: Guy David <guyda96 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/vec-combine-trunc-dup-ext.ll
Log Message:
-----------
[AArch64] Eliminate XTN/SSHLL for vector splats (#180913)
Combine:
sext(duplane(insert_subvector(undef, trunc(X), 0), idx))
Into:
duplane(X, idx)
This avoids XTN/SSHLL instruction sequences that occur when splatting
elements from boolean vectors after type legalization, which is common
when using shufflevector with comparison results.
Commit: 79ec0ce5d8b72d26bb25c48083b693b15b53da55
https://github.com/llvm/llvm-project/commit/79ec0ce5d8b72d26bb25c48083b693b15b53da55
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Target/LLVMIR/Import/constant.ll
Log Message:
-----------
[MLIR][LLVMIR] Add support for importing ConstantInt/FP vector splats. (#180946)
Updates LLVM IR importing to remove the assumption that
ConstantInt/ConstantFP are always scalar.
Commit: 8111a6cb61ee7700be33c341078cccfd673f625e
https://github.com/llvm/llvm-project/commit/8111a6cb61ee7700be33c341078cccfd673f625e
Author: David Green <david.green at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/qmovn.ll
M llvm/test/CodeGen/AArch64/qshrn.ll
Log Message:
-----------
[AArch64][GlobalISel] Add some extra sqxtn test coverage. NFC
Commit: 838be78e44cd1f70006eb508bfc925e3e56aac03
https://github.com/llvm/llvm-project/commit/838be78e44cd1f70006eb508bfc925e3e56aac03
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/clmul-fixed.ll
Log Message:
-----------
[AArch64][ISel] Lower fixed-width i64 vector CLMUL intrinsics (#178876)
NEON's PMULL/PMULL2 can be used and its lower bits taken to lower CLMUL
intrinsics, so long as +aes is present.
Commit: 82447b92c37842b33e708146ba4ec794bb9fae98
https://github.com/llvm/llvm-project/commit/82447b92c37842b33e708146ba4ec794bb9fae98
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/TargetLowering.cpp
M clang/test/CIR/CodeGen/atomic-scoped.c
Log Message:
-----------
[CIR] Add cir.atomic.xchg to target lowering (#180744)
This patch adds the `cir.atomic.xchg` operation to the TargetLowering
pass. The synchronization scope attached to the operation will be
canonicalized there.
Commit: 760f70711a7a6347aaa85df7d5e398f373ccac16
https://github.com/llvm/llvm-project/commit/760f70711a7a6347aaa85df7d5e398f373ccac16
Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
Log Message:
-----------
[MLIR][XeGPU] Use the `setupDpasLayout` utility for dpas layout propagation (#180937)
Commit: 47331ae73555b68535546170a76de2829b00d8a2
https://github.com/llvm/llvm-project/commit/47331ae73555b68535546170a76de2829b00d8a2
Author: Artemiy Bulavin <artemiyb at graphcore.ai>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Bufferization/IR/BufferDeallocationOpInterface.cpp
M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/misc-other.mlir
Log Message:
-----------
Fix ownership based deallocation pass crash (#179357)
The `OwnershipBasedBufferDeallocation` pass crashes when the IR contains
memrefs that are live in the same Block but are defined in different
Blocks. During this pass, live memrefs in a given block are sorted
according to the comparison function `ValueComparator`. This causes an
assertion to be triggered when sorting memref values using
`ValueComparator` as the comparison function. The assertion triggered is
found in `Operation::isBeforeInBlock`, which requires `this` and `other`
to reside in the same block. (See the definition
[here](https://github.com/llvm/llvm-project/blob/main/mlir/lib/IR/Operation.cpp#L385-L386).)
The fix is to handle values from different blocks in the
`ValueComparator` by sorting based on Block number if the compared ops
aren't in the same block. While `computeBlockNumber` is intended for
debugging and error messages, it is a convenient utility that can
provide a sufficient weak ordering for `llvm::sort` while handling
operations from different parent blocks. I'm not aware of another
ordering relation for Blocks that would be appropriate as well as cheap
to compute here.
I've added a test to exercise this that would fail otherwise. As I was
already editing the test file, I thought I would refactor it according
to the recommendations of the [MLIR Testing
Guide](https://mlir.llvm.org/getting_started/TestingGuide/#contributor-guidelines)
Fixes #137342
Fixes #116363
Commit: 0c70489533fde533ef632333acf589ea522913b8
https://github.com/llvm/llvm-project/commit/0c70489533fde533ef632333acf589ea522913b8
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
Log Message:
-----------
[NFC][AMDGPU] Remove unused/unimplemented `getWavesPerEU` variants (#181131)
Commit: 4fef5e4b4c3c0855a37c813e73da6ef641cb638a
https://github.com/llvm/llvm-project/commit/4fef5e4b4c3c0855a37c813e73da6ef641cb638a
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
Log Message:
-----------
[NFC][AMDGPU] Remove unused `getLDSSize` (#181133)
`getLDSSize` becomes unused after removing `getWavesPerEU` from the
attributor in https://github.com/llvm/llvm-project/pull/181131
Commit: 2223b931c5c350cdac38e377f166d69760a15676
https://github.com/llvm/llvm-project/commit/2223b931c5c350cdac38e377f166d69760a15676
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/constant-fold-commutative-and.ll
Log Message:
-----------
[VPlan] Introduce m_c_Logical(And|Or) (#180048)
Commit: 75eecd27eb432ef8085c2f7733d067de80afa894
https://github.com/llvm/llvm-project/commit/75eecd27eb432ef8085c2f7733d067de80afa894
Author: RattataKing <amilywu2 at amd.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/include/mlir-c/Support.h
M mlir/include/mlir/Bindings/Python/Globals.h
M mlir/include/mlir/Bindings/Python/IRCore.h
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/CAPI/IR/Support.cpp
Log Message:
-----------
[MLIR][Python] Remove partial LLVM APIs in python bindings (6/6) (#180986)
This PR completed work from
https://github.com/llvm/llvm-project/pull/178290.
Switched the last few python bindings that still relied on LLVM over to
the C API, and dropped `LLVMsupport` dependency from MLIR cmake.
Commit: f32bd391ec6917c269a76d9d8f27079abea9e559
https://github.com/llvm/llvm-project/commit/f32bd391ec6917c269a76d9d8f27079abea9e559
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[Hexagon] Update maintainers (#177935)
It looks like SundeepKushwaha hasn't been active in LLVM for the past
year, so move them to the inactive maintainers list.
Instead add androm3da, iajbar and aankit-ca as Hexagon maintainers.
Commit: dcb38a4ef788be1276ac1aee5b48a400dd18013f
https://github.com/llvm/llvm-project/commit/dcb38a4ef788be1276ac1aee5b48a400dd18013f
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[ReleaseNotes] Create subheader for LLDB/FreeBSD (#181000)
Since there will be many changes to LLDB on FreeBSD support in 23,
create subheaders for FreeBSD to separate related changes into relevant
subheaders.
This also adds #178069 and #178306 in the release note.
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Commit: 4167b285e228ee1cfff77f30eee66cbc7b4dd3db
https://github.com/llvm/llvm-project/commit/4167b285e228ee1cfff77f30eee66cbc7b4dd3db
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/test/Transforms/AggressiveInstCombine/X86/store-merge.ll
Log Message:
-----------
[AggressiveInstCombine] Create zext during store merge (#181125)
The top extracted value can include shifted-in zero bits. In that case
we should emit a zext before the new store.
Fixes https://github.com/llvm/llvm-project/issues/181117.
Commit: f35c0cc61b2489fdb1af7ae622dae168943154e0
https://github.com/llvm/llvm-project/commit/f35c0cc61b2489fdb1af7ae622dae168943154e0
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/test/API/driver/batch_mode/TestBatchMode.py
Log Message:
-----------
[lldb][test] TestBatchMode.py: don't load lldbinit in --batch test (#181128)
This test was failing locally for me because I command script import
statements in my `~/.lldibinit` which print to `stdout`. E.g.,:
```
Traceback (most recent call last):
File "/Users/michaelbuch/Git/llvm-worktrees/main/lldb/test/API/driver/batch_mode/TestBatchMode.py", line 33, in test_batch_mode_no_commands_quits
self.assertEqual(proc.stdout, "")
AssertionError: 'The "bt" python commands have been instal[326 chars]p.\n' != ''
- The "bt" python commands have been installed and are ready for use.
- The "sd" python command has been installed and is ready for use.
- The "expr" python aliases have been installed and are ready for use.
- "malloc_info", "ptr_refs", "cstr_refs", "find_variable", and "objc_refs" commands have been installed, use the "--help" options on these commands for detailed help.
```
I guess we could have a separate test for `--batch` with a test-local
`.lldibinit` that confirms we actually load the lldbinit before
quitting. Not sure how much value that would be. For now I just added
the `--no-lldbinit` to the test
Commit: cb6dd90d28717017e2ce088e8ea8230656177aa2
https://github.com/llvm/llvm-project/commit/cb6dd90d28717017e2ce088e8ea8230656177aa2
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/unittests/Target/MemoryTest.cpp
Log Message:
-----------
[lldb][test] Make MemoryTest use the threadsafe gtest death-test style (#181127)
The `ASSERT_DEBUG_DEATH` in `MemoryTest` would occasionally crash on
macOS CI with following stacktrace:
```
06:53:31 Death test: { read_results = process_sp->ReadMemoryRanges(ranges, buffer); }
06:53:31 Result: died but not with expected error.
06:53:31 Expected: contains regular expression "read more than requested bytes"
06:53:31 Actual msg:
06:53:31 [ DEATH ] Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
06:53:31 [ DEATH ] 0 TargetTests 0x000000010055bb80 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
06:53:31 [ DEATH ] 1 TargetTests 0x0000000100559778 llvm::sys::RunSignalHandlers() + 64
06:53:31 [ DEATH ] 2 TargetTests 0x000000010055c668 SignalHandler(int, __siginfo*, void*) + 344
06:53:31 [ DEATH ] 3 libsystem_platform.dylib 0x0000000196993744 _sigtramp + 56
06:53:31 [ DEATH ] 4 libsystem_trace.dylib 0x00000001966b5180 _os_log_preferences_refresh + 36
06:53:31 [ DEATH ] 5 libsystem_trace.dylib 0x00000001966b5740 os_signpost_enabled + 300
06:53:31 [ DEATH ] 6 TargetTests 0x0000000100500930 llvm::SignpostEmitter::startInterval(void const*, llvm::StringRef) + 68
06:53:31 [ DEATH ] 7 TargetTests 0x0000000100782c24 lldb_private::Timer::Timer(lldb_private::Timer::Category&, char const*, ...) + 168
06:53:31 [ DEATH ] 8 TargetTests 0x000000010069cd44 lldb_private::Process::ReadMemoryFromInferior(unsigned long long, void*, unsigned long, lldb_private::Status&) + 100
06:53:31 [ DEATH ] 9 TargetTests 0x000000010069cf68 lldb_private::Process::ReadMemoryRanges(llvm::ArrayRef<lldb_private::Range<unsigned long long, unsigned long>>, llvm::MutableArrayRef<unsigned char>) + 300
06:53:31 [ DEATH ] 10 TargetTests 0x000000010045482c MemoryDeathTest_TestReadMemoryRangesReturnsTooMuch_Test::TestBody() + 1748
```
By default, Google death-tests execute the code under test in a
sub-process (e.g., via `fork`, see [official
docs](https://google.github.io/googletest/reference/assertions.html#death)).
However, the os_log APIs are not safe across forks, and using the os_log
handles of a parent process is not guaranteed to work (read undefined).
This is why we sometimes non-deterministically crash.
On Darwin we compile with signposts enabled, and there's no mechanism of
avoiding calling into os_log once you've compiled with them enabled
(e.g., in our case we just check the runtime `os_signpost_enabled`). And
we seemingly seem to call into the signpost infrastructure from
arbitrary points in LLDB (wherever we use `Timer`s for example).
GoogleTest provides an alternative mechanism to spawn the death tests.
It "re-executes the unit binary but only runs the death tests". This
should avoid sharing the os_log handles with the parent. This mode is
called "threadsafe".
This patch sets this style for the only 2 death-tests currently in the
LLDB test-suite.
Since this is quite the foot-gun we should disable it for the entire
LLDB unit-test suite (or rethink the way we set up the signposts for
tests/llvm/etc.). But to make CI less flakey for now, do this for only
the tests in question.
Commit: 74bd92d6e2e5d8f1c541564bfc51d423001ba033
https://github.com/llvm/llvm-project/commit/74bd92d6e2e5d8f1c541564bfc51d423001ba033
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
R llvm/test/Transforms/IndVarSimplify/scev-update-loop-opt.ll
Log Message:
-----------
Revert "[IndVarSimplify] Add safety check for getTruncateExpr in genLoopLimit (#172234)"
This reverts commit 4f551b55aeb316cd2d8f8f911908ea5bd4ced16b.
This change reformatted the file.
Commit: 5ce73627973e2303779af850468b846ecb67166d
https://github.com/llvm/llvm-project/commit/5ce73627973e2303779af850468b846ecb67166d
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libcxx/utils/ci/lnt/run-benchmarks
Log Message:
-----------
[libc++] Disable commit information in LNT runs
For now, production instances of LNT don't accept strings longer than
256 characters: they crash above that. In order to unblock uploading
results to LNT as soon as possible, disable that information for now.
Note that the commit SHA is still included in the run information, so
it is still possible to correlate orders back to their commit.
Commit: 49ef440525f3902bb62ca5c198f1a1309fede033
https://github.com/llvm/llvm-project/commit/49ef440525f3902bb62ca5c198f1a1309fede033
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/test/API/functionalities/disassembler-variables/Makefile
M lldb/test/API/functionalities/module_cache/bsd/Makefile
M lldb/test/API/linux/sepdebugsymlink/Makefile
Log Message:
-----------
[lldb] replace usage of $(RM) in Makefile (#180755)
This patch replaces the usages of `$(RM)` with cross platform `$(call
RM,...)` calls which was added in
https://github.com/llvm/llvm-project/pull/180224.
Commit: 8e1d5ec534a68a5a1c0667dfe9e4333143e07888
https://github.com/llvm/llvm-project/commit/8e1d5ec534a68a5a1c0667dfe9e4333143e07888
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
R llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
R llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
R llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
R llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
R llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vplan-riscv-vector-reverse.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
A llvm/test/Transforms/LoopVectorize/VPlan/AArch64/lit.local.cfg
A llvm/test/Transforms/LoopVectorize/VPlan/AArch64/sve-tail-folding-forced.ll
A llvm/test/Transforms/LoopVectorize/VPlan/AArch64/sve2-histcnt-vplan.ll
A llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-printing.ll
A llvm/test/Transforms/LoopVectorize/VPlan/AArch64/widen-call-with-intrinsic-or-libfunc.ll
A llvm/test/Transforms/LoopVectorize/VPlan/PowerPC/lit.local.cfg
A llvm/test/Transforms/LoopVectorize/VPlan/PowerPC/vplan-force-tail-with-evl.ll
A llvm/test/Transforms/LoopVectorize/VPlan/RISCV/lit.local.cfg
A llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-riscv-vector-reverse.ll
A llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
A llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-reduction.ll
A llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics.ll
A llvm/test/Transforms/LoopVectorize/VPlan/X86/lit.local.cfg
A llvm/test/Transforms/LoopVectorize/VPlan/X86/vplan-vp-intrinsics.ll
A llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
A llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-chains-vplan.ll
A llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-sink-replicate-region.ll
A llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
A llvm/test/Transforms/LoopVectorize/VPlan/interleave-and-scalarize-only.ll
A llvm/test/Transforms/LoopVectorize/VPlan/lit.local.cfg
A llvm/test/Transforms/LoopVectorize/VPlan/phi-with-fastflags-vplan.ll
A llvm/test/Transforms/LoopVectorize/VPlan/uncountable-early-exit-vplan.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-dot-printing.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-force-tail-with-evl.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-iv-transforms.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-predicate-switch.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-before-execute.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-metadata.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-outer-loop.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge-vf1.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-stress-test-no-explict-vf.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-unused-interleave-group.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-widen-struct-return.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan_hcfg_stress_test.ll
R llvm/test/Transforms/LoopVectorize/X86/vplan-vp-intrinsics.ll
R llvm/test/Transforms/LoopVectorize/conditional-scalar-assignment-vplan.ll
R llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
R llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
R llvm/test/Transforms/LoopVectorize/icmp-uniforms.ll
R llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
R llvm/test/Transforms/LoopVectorize/phi-with-fastflags-vplan.ll
R llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
R llvm/test/Transforms/LoopVectorize/vplan-dot-printing.ll
R llvm/test/Transforms/LoopVectorize/vplan-force-tail-with-evl.ll
R llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
R llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
R llvm/test/Transforms/LoopVectorize/vplan-print-after-all.ll
R llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
R llvm/test/Transforms/LoopVectorize/vplan-printing-metadata.ll
R llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
R llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
R llvm/test/Transforms/LoopVectorize/vplan-printing.ll
R llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
R llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
R llvm/test/Transforms/LoopVectorize/vplan-stress-test-no-explict-vf.ll
R llvm/test/Transforms/LoopVectorize/vplan-unused-interleave-group.ll
R llvm/test/Transforms/LoopVectorize/vplan-widen-struct-return.ll
R llvm/test/Transforms/LoopVectorize/vplan_hcfg_stress_test.ll
Log Message:
-----------
[LV] Add LoopVectorize/VPlan subdirectory for VPlan printing tests. (#180611)
Add a new VPlan subdirectory as common place for tests checking VPlan
printing. It contains a lit.local.cfg that only runs the tests when
assertions are enabled.
This removes the need to add explicit REQUIRES: asserts to VPlan tests.
PR: https://github.com/llvm/llvm-project/pull/180611
Commit: a1d7cda1d7ca4983e02727f589952b02626d2dc8
https://github.com/llvm/llvm-project/commit/a1d7cda1d7ca4983e02727f589952b02626d2dc8
Author: Rolf Morel <rolf.morel at intel.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/include/mlir-c/Dialect/Transform.h
M mlir/include/mlir-c/IR.h
M mlir/include/mlir-c/Interfaces.h
M mlir/include/mlir/Bindings/Python/IRCore.h
A mlir/include/mlir/CAPI/Dialect/Transform.h
M mlir/include/mlir/CAPI/Interfaces.h
M mlir/lib/Bindings/Python/DialectTransform.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRInterfaces.cpp
A mlir/lib/Bindings/Python/IRInterfaces.h
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/lib/Bindings/Python/Rewrite.h
M mlir/lib/CAPI/Dialect/Transform.cpp
M mlir/lib/CAPI/IR/IR.cpp
M mlir/lib/CAPI/Interfaces/Interfaces.cpp
M mlir/python/CMakeLists.txt
M mlir/python/mlir/_mlir_libs/__init__.py
M mlir/python/mlir/dialects/ext.py
A mlir/test/python/dialects/transform_op_interface.py
Log Message:
-----------
[MLIR][Python] Impl XOpInterface(s) from Python, with X=Transform and X=MemoryEffects (#176920)
Provides the infrastructure for implementing and late-binding
OpInterfaces from Python.
* On the mlir-c API declaration side, each `XOpInterface` has a callback
struct, with a callback for each method and a userdata member (provided
as an arg to each method), and a
`mlirXOpInterfaceAttachFallbackModel(ctx, op_name, callbacks)` func.
* This CAPI is implemented by defining a subclass of
`XOpInterface::FallbackModel` that holds the callback struct and has
each method call the corresponding callback (with userdata as an arg).
Given a callback struct, a new `FallbackModel` is created and attached,
i.e. late bound, to the named op. (MLIR's interface infrastructure is
such that the thus registered `FallbackModel` will be returned in case
the op gets cast to the `XOpInterface`.)
* On the Python side, we expose a stand-in `XOpInterface` base class
which has one (class)method: `XOpInterface.attach(cls, op_name, ctx)`.
Python users subclass this class (`class MyInterfaceImpl(XOpInterface):
...`) and implement the interface's methods (with the right names and
signatures). The user calls `attach` on the subclass
(`MyInterfaceImpl.attach("my_dialect.my_op", ctx)`) which prepares the
callbacks struct _with userdata set to the subclass_ (as we use it to
lookup methods). These callbacks (and userdata) are then registered as
an `XOpInterface::FallbackModel` by
`mlirXOpInterfaceAttachFallbackModel(...)`. From then on the Python
methods will be used to respond to calls to the interface methods
(originating in C++).
This PR enables implementing the TransformOpInterface and the
MemoryEffectsOpInterface, both of which are required for making an op
into a transform op.
Everything besides the above linked code is there to facilitate exposing
the interfaces: the right types for the arguments of the methods are
exposed as are functions/methods for manipulating these arguments (e.g.
specifying side effects on `OpOperand`s and `OpResult`s and being able
to access and set the transform handles associated with args and
results).
Commit: 6da74dded02d9fc06fab99fc8fb99a3e6a1f21c3
https://github.com/llvm/llvm-project/commit/6da74dded02d9fc06fab99fc8fb99a3e6a1f21c3
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/atomic-scoped.c
M clang/test/CIR/CodeGen/atomic.c
M clang/test/CIR/IR/atomic.cir
Log Message:
-----------
[CIR] Add scoped atomic compare-and-exchange (#180412)
This patch adds synchronization scopes to the atomic
compare-and-exchange operation.
Commit: 4c08780e7c5b7db8ab8c888fe7f97039b44f3c77
https://github.com/llvm/llvm-project/commit/4c08780e7c5b7db8ab8c888fe7f97039b44f3c77
Author: Leonard Grey <leonard at leonardgrey.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
A lldb/test/Shell/SymbolFile/NativePDB/local-constant.test
Log Message:
-----------
[LLDB][NativePDB] Add local constant support (#180612)
This is mostly to support Swift `let`, but I found a way to get MSVC to
emit a local `S_CONSTANT` (see test).
I saw the note about `MakeConstantLocalExpression` at
https://github.com/llvm/llvm-project/blob/2e34fecf02962e4c8477ca88cc5ac9386a0f76bb/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp#L2177
but couldn't repro with local or global (emitted as `S_LDATA32` in both
cases).
Commit: 5fef36767fe8d852a65ef3a4c020c677bc80799b
https://github.com/llvm/llvm-project/commit/5fef36767fe8d852a65ef3a4c020c677bc80799b
Author: Leonard Grey <leonard at leonardgrey.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.cpp
Log Message:
-----------
[LLDB][NativePDB] Use pointer and not pointee size for pointer constants (#180987)
Follow-up from
https://github.com/llvm/llvm-project/pull/180612#pullrequestreview-3780142672
This was introduced in 2af3416618e6 and not fundamentally changed since.
The review (https://reviews.llvm.org/D54452) doesn't mention any
motivation for why we would want the pointee size/signedness here. As
@Nerixyz points out, only a null pointer can be `S_CONSTANT` anyway.
Commit: 8a2255fc420621e7a4bfa4ebce50a58c0fb99cf5
https://github.com/llvm/llvm-project/commit/8a2255fc420621e7a4bfa4ebce50a58c0fb99cf5
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/VFABIDemangler.h
Log Message:
-----------
[IR] Change getParamIndexForOptionalMask to assume masked parameter is last (#180558)
At the moment all code in LLVM seems to explicitly assume that the
masked parameter passed to vector math functions always lives at the end
of the parameter list. See VFShape::get as an example. It seems odd then
for getParamIndexForOptionalMask to walk the parameter list looking for
the mask. Indeed, the loop vectoriser would break if the mask was passed
in any other argument position. For example, if the masked parameter
position was 1 for a vector version of powf it would end up over-writing
the exponent.
Commit: abf036ba49c27f143ea4903f9e4e2a7435b4b4f1
https://github.com/llvm/llvm-project/commit/abf036ba49c27f143ea4903f9e4e2a7435b4b4f1
Author: Björn Svensson <bjorn.a.svensson at est.tech>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-c23.c
Log Message:
-----------
[clang-tidy] Correcting fix suggestion in `readability-simplify-boolean-expr` (#178392)
When the checker `readability-simplify-boolean-expr` is used on C23
code, where the `bool` type is provided but not `static_cast`, the fixer
suggests faulty code.
```
bool negative_condition_conditional_return_statement(int i) {
if (!(i == 0)) return false; else return true;
}
/xx/llvm-project/build/../clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-c23.c:323:25: warning: redundant boolean literal in conditional return statement [readability-simplify-boolean-expr]
323 | if (!(i == 0)) return false; else return true;
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
| return static_cast<bool>(i == 0)
```
Let's skip the use of `static_cast` for C code where a cast is not
needed.
---------
Signed-off-by: Björn Svensson <bjorn.a.svensson at est.tech>
Commit: f748c718a809873d52efbb540d866d6e2d3b03c5
https://github.com/llvm/llvm-project/commit/f748c718a809873d52efbb540d866d6e2d3b03c5
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/test/AST/ByteCode/cxx26.cpp
M clang/test/AST/ByteCode/placement-new.cpp
Log Message:
-----------
[clang][bytecode] Don't use throw as invalid in c++26 (#181150)
Don't pass a combination of `-std=c++26` and `-fcxx-exceptions` to tests
and then try to use `throw` as an invalid statement. C++26 actually has
working exceptions at compile time, even if that is currently not
implemented.
Commit: 3482a9c6cba57b4e605c2b99fb6d90a023439f9b
https://github.com/llvm/llvm-project/commit/3482a9c6cba57b4e605c2b99fb6d90a023439f9b
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-complex-mask.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
Log Message:
-----------
[VPlan] Explicitly reassociate header mask in logical and (#180898)
We reassociate ((x && y) && z) -> (x && (y && z)) if x has more than
use, in order to allow simplifying the header mask further. However this
is somewhat unreliable as there are times when it doesn't have more than
one use, e.g. see the case we run into in
https://github.com/llvm/llvm-project/pull/173265/changes#r2769759907.
This moves it into a separate transformation that always reassociates
the header mask regardless of the number of uses, which prevents some
fragile test changes in #173265.
We need to run it before both calls to simplifyRecipes in optimize. I
considered putting it in simplifyRecipes itself but simplifyRecipes is
also called after unrolling and when the loop region is dissolved which
causes vputils::findHeaderMask to assert.
There isn't really any benefit to reassociating masks that aren't the
header mask so the existing simplification was removed.
Commit: 00a8cb4a6be8854408014eeac690b9aaf98cabff
https://github.com/llvm/llvm-project/commit/00a8cb4a6be8854408014eeac690b9aaf98cabff
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV] Move NSRL/NSRA isel to tablegen. NFC (#181096)
These nodes produce a single result so we can handle them in tablegen.
Assisted-by: claude
Commit: 574d799052f7a60388ccdede8904c496516b5196
https://github.com/llvm/llvm-project/commit/574d799052f7a60388ccdede8904c496516b5196
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp
M llvm/unittests/Support/FormatVariadicTest.cpp
Log Message:
-----------
[DebugInfo] DWARFFormValue use formatv instead of format (#180498)
This relates to #35980 and is a follow up for #179194
Commit: 3d8d73a7f98aabd23b02e8ebe1a2bcf9dce3752e
https://github.com/llvm/llvm-project/commit/3d8d73a7f98aabd23b02e8ebe1a2bcf9dce3752e
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/AST/StmtOpenACC.cpp
Log Message:
-----------
[NFC] Fix the unreachable 'return' in OpenACC Stmt handling (#181153)
A result of various cleanups, reimplementations/etc, I ended up with a
return after an if/else branch where each returned in #168422.
This patch removes the 'else' after a return, and removes the
unreachable return.
Commit: 1c6278198dad571687c60feae5526cb8825f21cb
https://github.com/llvm/llvm-project/commit/1c6278198dad571687c60feae5526cb8825f21cb
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp
Log Message:
-----------
[llvm-mc-assemble-fuzzer] Fix Triple passing (#181135)
The following PR removed deprecated `StringRef` triple APIs, that broke
`llvm-mc-assemble-fuzzer`:
https://github.com/llvm/llvm-project/pull/180448
Commit: 97bd838eead62836cd07dcf0c68dba636cbe7bea
https://github.com/llvm/llvm-project/commit/97bd838eead62836cd07dcf0c68dba636cbe7bea
Author: Tom Tromey <tromey at adacore.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/IR/DIBuilder.cpp
A llvm/test/DebugInfo/Generic/anonymous-base-type.ll
Log Message:
-----------
[llvm][DebugInfo] Allow anonymous basic types (#180016)
For the Ada compiler, it is sometimes useful to emit an anonymous basic
type. Currently, this is prohibited by DIBuilder, but there doesn't seem
to be a deep reason for this prohibition -- DWARF allows anonymous base
types, and the LLVM DWARF writer also accounts for this possibility.
Commit: 1116d0388cc02d8444521155e02ccdae3a52f8c0
https://github.com/llvm/llvm-project/commit/1116d0388cc02d8444521155e02ccdae3a52f8c0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.h
Log Message:
-----------
[clang][bytecode] Fix debug-printing one-past-the-end pointers (#181149)
Can't call `getIndex()` on those.
Commit: 3a658906efa605fb71e46a8a1b52c6ac6081bc3c
https://github.com/llvm/llvm-project/commit/3a658906efa605fb71e46a8a1b52c6ac6081bc3c
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
Log Message:
-----------
[lldb][windows] add STDIN and STDOUT forwarding support (#180561)
Commit: 846e61c0fb5161a16c5719211f74bb784ffa005b
https://github.com/llvm/llvm-project/commit/846e61c0fb5161a16c5719211f74bb784ffa005b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libc/shared/rpc_dispatch.h
M libc/shared/rpc_util.h
M offload/test/libc/rpc_callback.cpp
Log Message:
-----------
[libc] Small change to accept lambda types in rpc::dispatch
Summary:
This change allows lambdas to be used in the RPC dispatching functions.
Just requires an extra function trait to convert a lambda with no
captures into a function pointer. Also rearranged where the `Port` lives
because it looks better no that we may use a lambda and it's more
consistent with the dispatch usage (putting the client at the start).
Commit: 2d53aab859de707d332119a910440169a518062f
https://github.com/llvm/llvm-project/commit/2d53aab859de707d332119a910440169a518062f
Author: Matt Davis <mattd at nvidia.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
In-class initialize DenseMapBase members. (#177168)
I've seen a number of false positive defects in Coverity regarding
uninitialized instances of some of these members. I've decided to
in-class initialize 3 scalar members of `DenseMapBase` to hopefully
silence Coverity.
Since the initialization is performed through `initWithExactBucketCount`
I think it makes sense to just zero init them. I assume the original
intent was to avoid some initialization overhead; however, that seems
negligible from my last compile-time tracker results (If I'm reading the
results correctly).
I do see some of the insn size percentages jump around but that might be
noise. I had run an earlier compile time tracker on the same data, and I
think the timing results were a bit different, the most recent run
information is below.
Compile time tracker is showing the following output:
Metric | Old | New
-- | -- | --
instructions:u | 35718151M | 35718325M (+0.00%)
wall-time | 614.01s | 613.82s (-0.03%)
size-file | 132278KiB | 132278KiB (+0.00%)
size-file (stage1) | 151065KiB | 151065KiB (-0.00%)
clang build:
Metric Old New
[instructions:u](https://llvm-compile-time-tracker.com/compare_clang.php?from=f97f53e1d925fe702c23ad3a120ad3ab40b4eb51&to=d925643ace32566ea76a60d0642180d077f476f5&stat=instructions%3Au)
35718151M 35718325M (+0.00%)
[wall-time](https://llvm-compile-time-tracker.com/compare_clang.php?from=f97f53e1d925fe702c23ad3a120ad3ab40b4eb51&to=d925643ace32566ea76a60d0642180d077f476f5&stat=wall-time)
614.01s 613.82s (-0.03%)
[size-file](https://llvm-compile-time-tracker.com/compare_clang.php?from=f97f53e1d925fe702c23ad3a120ad3ab40b4eb51&to=d925643ace32566ea76a60d0642180d077f476f5&stat=size-file)
132278KiB 132278KiB (+0.00%)
size-file (stage1) 151065KiB 151065KiB (-0.00%)`
Commit: 14f20ce79508e7639bc1dbe890cd97be5a955015
https://github.com/llvm/llvm-project/commit/14f20ce79508e7639bc1dbe890cd97be5a955015
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
Log Message:
-----------
[MLIR][XeGPU] Remove layout attribute from scf ops after wg to sg (#180771)
Commit: ee9263bc7fdb8ae14a279998781adb25639c5f98
https://github.com/llvm/llvm-project/commit/ee9263bc7fdb8ae14a279998781adb25639c5f98
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/atomic-scoped.c
M clang/test/CIR/CodeGen/atomic.c
M clang/test/CIR/IR/invalid-atomic.cir
Log Message:
-----------
[CIR] Add sync scope to atomic fetch-and-update operation (#180770)
This patch adds synchronization scope support to the `cir.atomic.fetch`
operation.
Most of the new test code in `atomic-scoped.c` is generated by an AI
agent. The generated tests are manually reviewed and verified.
Assisted-by: Copilot with GPT-5.2-Codex
Commit: ab7a6e6b4e7e898832555d1a72d4ee56806af7c2
https://github.com/llvm/llvm-project/commit/ab7a6e6b4e7e898832555d1a72d4ee56806af7c2
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py
Log Message:
-----------
[lldb][test] Fix TestTlsGlobals.py for remote Linux runs (#181078)
The dynamic library must be transferred to the server; otherwise, the
test will fail because the inferior process will not launch.
Commit: 0584699c119ae0d71177d6c3c414c54bb00ddf96
https://github.com/llvm/llvm-project/commit/0584699c119ae0d71177d6c3c414c54bb00ddf96
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
A bolt/test/AArch64/compare-and-branch-inversion.S
A bolt/test/AArch64/compare-and-branch-reorder-blocks.S
A bolt/test/AArch64/compare-and-branch-split-functions.S
A bolt/test/AArch64/compare-and-branch-unsupported.S
Log Message:
-----------
[BOLT][AArch64] Support FEAT_CMPBR branch instructions. (#174972)
The Armv9.6-A compare-and-branch instructions use a short range 9-bit
immediate value. They do not have a corresponding relocation type in the
ABI. For now we only support them in compact code model, with
diagnostics added in the LongJmp pass to ensure this condition. Some
interesting edge cases we cover:
- function splitting works when target is within or beyond the 1KB range
of those instructions,
- but doesn't work beyond the 128MB limit of the compact code model
- branch inversion works with block reordering so long as the immediate
value adjustments remain in bounds
Commit: 9c9fff983fff3b92406065e33468234b28278b11
https://github.com/llvm/llvm-project/commit/9c9fff983fff3b92406065e33468234b28278b11
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
Log Message:
-----------
[clang][Sema] Split a err_typecheck_assign_const diagnostic into a separate tablegen entry (#179895)
As of recently, in LLDB, when trying to mutate an object in a const
method, we emit a hint about why we failed to run the expression (with
an associated hint on how to fix it). This relies on the diagnostic ID
that Clang told us about. However, we only want to emit this message
when we assign to a member in a const method. But not all the other
situations that `err_typecheck_assign` gets used in. We currently work
around this by grepping the error message, but it would be nice if we
could just rely on the diagnostic ID.
This patch splits out the relevant diagnostic.
This isn't urgent and we can live with the "grep the error message"
approach. But if the Clang maintainers don't feel strongly about keeping
the tablegen as-is, it'd be nice to clean up from LLDB's perspective.
Commit: e9d3dd2f5aff9e7fc50396c89c510300fcc3dc58
https://github.com/llvm/llvm-project/commit/e9d3dd2f5aff9e7fc50396c89c510300fcc3dc58
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-cvt-simd-fptoi.ll
M llvm/test/CodeGen/AArch64/arm64-cvtf-simd-itofp.ll
Log Message:
-----------
[AArch64][llvm] Preserve FP_TO_*_SAT VT operand in SVE scalar-combine (#177333)
Updated RUN lines and generated new `CHECK‑SME`/`CHECK‑SVE` lines in:
llvm/test/CodeGen/AArch64/arm64-cvt-simd-fptoi.ll
llvm/test/CodeGen/AArch64/arm64-cvtf-simd-itofp.ll
by adding `-force-streaming` and `-force-streaming-compatible` runs,
as pre-commit tests for change #177334 to enable FPRCVT streaming.
This triggers a SVE scalar-combine path which requires a code update.
FP_TO_*_SAT nodes require operand 1 (the saturation VT) to be present.
Without it the node is malformed and hits the SelectionDAG assertion
“Invalid child # of SDNode!”.
See also #177334
Commit: 85e07bad936360c52599863f0700008f9f304246
https://github.com/llvm/llvm-project/commit/85e07bad936360c52599863f0700008f9f304246
Author: Kunqiu Chen <camsyn at foxmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
A llvm/test/Transforms/InstSimplify/icmp-equiv-zero.ll
M llvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
Log Message:
-----------
[InstructionSimplify] Extend simplifyICmpWithZero to handle equivalent zero RHS (#179055)
Add a new helper function `matchEquivZeroRHS()` that recognizes
comparisons with constants that are equivalent to comparisons with zero,
and transforms the predicate accordingly.
This handles the following transformations:
- icmp sgt X, -1 --> icmp sge X, 0
- icmp sle X, -1 --> icmp slt X, 0
- icmp [us]ge X, 1 --> icmp [us]gt X, 0
- icmp [us]lt X, 1 --> icmp [us]le X, 0
This enables more optimization opportunities in `simplifyICmpWithZero`,
such as folding icmp sgt X, -1 when X is known to be non-negative.
---
- IR Impact: https://github.com/dtcxzyw/llvm-opt-benchmark/pull/3414
Commit: bec8fff25116fc63764e260cdbc815ee1ffca3a3
https://github.com/llvm/llvm-project/commit/bec8fff25116fc63764e260cdbc815ee1ffca3a3
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/init-variables.cpp
Log Message:
-----------
[clang-tidy] Add support for member pointers in cppcoreguidelines-init-variables (#180973)
Closes #180894
Commit: d8ebb80e9419645fa647e1f40da1cc828a3047a6
https://github.com/llvm/llvm-project/commit/d8ebb80e9419645fa647e1f40da1cc828a3047a6
Author: Bertik23 <39457484+Bertik23 at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/lib/AsmParser/LLParser.cpp
Log Message:
-----------
[AsmParserContext] Fix regression after #174566 (#180068)
This fixes the regressions after merging #174566
The problem was, that the lookup of the location takes logarithmic time
as a function of the number of lines, and a large number of lines causes
the slowdowns. Now all the lookups are guarded with checks if the
AsmParserContext was passed in, to not waste time on information, that
isn't requested.
Commit: b4e4616342ca4c7a3c53b99d8d082fd17bfbbb10
https://github.com/llvm/llvm-project/commit/b4e4616342ca4c7a3c53b99d8d082fd17bfbbb10
Author: Jueon Park <79134656+JueonPark at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/lib/IR/BuiltinAttributes.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir] Return null from DenseElementsAttr::get on unsupported attribute types (#181159)
`DenseElementsAttr::get(ShapedType, ArrayRef<Attribute>)` crashed with an unconditional `cast<IntegerAttr>` when encountering attribute types that are neither `FloatAttr` nor `IntegerAttr` (e.g. `ub.poison`). This can happen when folding ops like `tensor.from_elements` whose operands include poison values.
This patch fixes the issue at the `DenseElementsAttr::get` level rather than in individual op folders. The `cast<IntegerAttr>` is replaced with `dyn_cast<IntegerAttr>`, and when the attribute is neither `FloatAttr` nor `IntegerAttr`, a null `DenseElementsAttr` is returned. This is a more robust fix because it prevents the same class of crashes in any caller that passes unsupported attributes to `DenseElementsAttr::get`.
Fixes #178209.
---------
Co-authored-by: rebel-jueonpark <jueonpark at rebellions.ai>
Commit: 16ef4ed48fd751c33bbb0cbca42b448991b0391f
https://github.com/llvm/llvm-project/commit/16ef4ed48fd751c33bbb0cbca42b448991b0391f
Author: Twice <twice at apache.org>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M mlir/python/mlir/dialects/ext.py
Log Message:
-----------
[MLIR][Python] Ensure traits are attached when `load(register=False)` (#181174)
Currently, when calling `.load(register=False)`, `op._attach_traits()`
isn’t executed. This PR ensures traits are attached regardless of
whether `register` is `True` or `False`.
Commit: 2de6d980dec4ebbbd422b2db3104b01c60f7ea99
https://github.com/llvm/llvm-project/commit/2de6d980dec4ebbbd422b2db3104b01c60f7ea99
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-cvt-simd-fptoi.ll
M llvm/test/CodeGen/AArch64/arm64-cvtf-simd-itofp.ll
Log Message:
-----------
[AArch64][llvm] Allow FPRCVT insns to run in streaming mode if safe (#177334)
For FEAT_FPRCVT instructions, allow them to run in streaming mode if safe
Commit: 827b5d9423083da6111ddc382c9d4449ff853949
https://github.com/llvm/llvm-project/commit/827b5d9423083da6111ddc382c9d4449ff853949
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/include/clang/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DependencyScanning/DependencyScanningService.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
Log Message:
-----------
[clang][deps] Parallelize module compilations (#180047)
In a typical build, the build system schedules many TUs from the same
target to be scanned/compiled at the same time. These TUs tend to depend
on a similar set of modules, and they usually keep their imports
alphabetically sorted. The nature of implicit modules then means that
scanning these TUs reduces into a single-threaded computation, since
only one TU wins the race to compile the common dependency module, and
the same thread/process keeps being responsible for compiling all
transitive dependencies of such module.
This PR makes use of the single-module-parse-mode in a new scanning step
that runs at the start of each TU scan. In this step, the scanner
quickly discovers unconditional module dependencies of the TU without
blocking on its compile. This typically discovers plenty of work to keep
the available threads busy and compile modules in more parallel fashion.
Modules discovered here are compiled on separate threads right away in
the same two-step fashion.
The second step then performs the regular dependency scan of the TU
where each module import is a blocking operation. However, by this time,
the first scanning step most likely already compiled the majority of
modules, so there's actually little to no waiting happening here. The
compiler only deserializes previously-built modules.
This is a barebones implementation with some known quirks marked in
FIXME comments. I will continue working on performance and polish once
this lands.
Commit: beac6260c41975d4b7677872a8456737a5b35e6f
https://github.com/llvm/llvm-project/commit/beac6260c41975d4b7677872a8456737a5b35e6f
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp
M clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.h
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-floating-point.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer.cpp
Log Message:
-----------
[clang-tidy] Speed up `readability-uppercase-literal-suffix` (#178149)
As usual, this is one of our most expensive checks according to
`--enable-check-profile`.
Measuring overall runtime:
```sh
hyperfine \
--shell=none \
--prepare='cmake --build build/release --target clang-tidy' \
'./build/release/bin/clang-tidy --checks=-*,readability-uppercase-literal-suffix all_headers.cpp -header-filter=.* -system-headers -- -std=c++23 -fno-delayed-template-parsing'
```
Status quo:
```txt
Time (mean ± σ): 4.435 s ± 0.012 s [User: 4.158 s, System: 0.275 s]
Range (min … max): 4.409 s … 4.455 s 10 runs
```
With this change:
```txt
Time (mean ± σ): 3.549 s ± 0.010 s [User: 3.328 s, System: 0.223 s]
Range (min … max): 3.540 s … 3.569 s 10 runs
```
Measuring with `--enable-check-profile`:
Status quo:
```txt
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
1.1875 (100.0%) 0.1406 (100.0%) 1.3281 (100.0%) 1.3147 (100.0%) readability-uppercase-literal-suffix
```
With this change:
```txt
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
0.2500 (100.0%) 0.0469 (100.0%) 0.2969 (100.0%) 0.2904 (100.0%) readability-uppercase-literal-suffix
```
However, subtracting 200 ms to account for the "[`hasParent`
tax](https://github.com/llvm/llvm-project/pull/178149#discussion_r2736652174)",
the "true" numbers are probably closer to:
```
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
Status quo: 0.9875 (100.0%) 0.1406 (100.0%) 1.1281 (100.0%) 1.1147 (100.0%) readability-uppercase-literal-suffix
With this change: 0.0500 (100.0%) 0.0469 (100.0%) 0.0969 (100.0%) 0.0904 (100.0%) readability-uppercase-literal-suffix
Commit: 5e2518f2cc54de788f3afcff5c334c7c8b79f476
https://github.com/llvm/llvm-project/commit/5e2518f2cc54de788f3afcff5c334c7c8b79f476
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/include/lldb/Core/Highlighter.h
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Target/Language.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/source/Core/Highlighter.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Plugins/CMakeLists.txt
A lldb/source/Plugins/Highlighter/CMakeLists.txt
A lldb/source/Plugins/Highlighter/Clang/CMakeLists.txt
A lldb/source/Plugins/Highlighter/Clang/ClangHighlighter.cpp
A lldb/source/Plugins/Highlighter/Clang/ClangHighlighter.h
A lldb/source/Plugins/Highlighter/Default/CMakeLists.txt
A lldb/source/Plugins/Highlighter/Default/DefaultHighlighter.cpp
A lldb/source/Plugins/Highlighter/Default/DefaultHighlighter.h
M lldb/source/Plugins/Language/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
R lldb/source/Plugins/Language/ClangCommon/CMakeLists.txt
R lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.cpp
R lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.h
M lldb/source/Plugins/Language/ObjC/CMakeLists.txt
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
M lldb/source/Plugins/Language/ObjCPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.h
M lldb/source/Plugins/REPL/Clang/CMakeLists.txt
M lldb/unittests/CMakeLists.txt
A lldb/unittests/Highlighter/CMakeLists.txt
A lldb/unittests/Highlighter/HighlighterTest.cpp
M lldb/unittests/Language/CMakeLists.txt
R lldb/unittests/Language/Highlighting/CMakeLists.txt
R lldb/unittests/Language/Highlighting/HighlighterTest.cpp
Log Message:
-----------
[lldb] Convert highlighters to plugins (#181026)
This PR converts the syntax highlighters to plugins. Previously, the
highlighters were part of the Language plugin, using a library shared by
the C-like languages. The Highlighters already had a plugin-like design,
with a clang and default highlighter. This PR takes them out of the
language plugin and into their own highlighter plugin. They are still
accessed thought he HighlightManager.
This change is motivated by #170250. It will allow us to have both a
clang and tree-sitter based highlighter, as well as make it possible to
have a highlighter for a language that doesn't have an upstream language
plugin, like Swift or Rust.
Commit: e4bbd9b1dca7f8aa62851f363aea5e405fad8ae1
https://github.com/llvm/llvm-project/commit/e4bbd9b1dca7f8aa62851f363aea5e405fad8ae1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/docs/use/symbols.rst
Log Message:
-----------
[lldb] Document DBGSearchPaths (#178634)
Document DBGSearchPaths on the Symbols on macOS page.
rdar://169137293
Commit: b4e9cf03a608f18d610ad4ad8ef7826bb9418039
https://github.com/llvm/llvm-project/commit/b4e9cf03a608f18d610ad4ad8ef7826bb9418039
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M flang/docs/GettingInvolved.md
Log Message:
-----------
[flang][docs] Correct time of Flang OpenMP call and add link to calendar
The time in flang/docs/GettingInvolved.md says 8:00 a.m. Pacific, but
the scheduled meeting occurs at 7:30 a.m. Pacific. A link to the LLVM
community calendar was also added to both this and the entry for the
main biweekly flang call since it is not clear when the calls actually
happen.
Commit: 95ef1a5c3139c44bb171df225cb2b0aa17b50f1d
https://github.com/llvm/llvm-project/commit/95ef1a5c3139c44bb171df225cb2b0aa17b50f1d
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/copyable-child-node-used-outside.ll
A llvm/test/Transforms/SLPVectorizer/semanticly-same.ll
Log Message:
-----------
[SLP] Use the correct identity when combining binary opcodes with AND/MUL (#180457)
Fixes #180456
Fix bug in the following SLP lowering:
```
define void @sub_mul(ptr %p, ptr %s) {
entry:
%p1 = getelementptr i16, ptr %p, i64 1
%l0 = load i16, ptr %p
%l1 = load i16, ptr %p1
%mul0 = sub i16 %l0, 0
%mul1 = mul i16 %l1, 5
%s1 = getelementptr i16, ptr %s, i64 1
store i16 %mul0, ptr %s
store i16 %mul1, ptr %s1
ret void
}
```
to
```
define void @sub_mul(ptr %p, ptr %s) {
entry:
%tmp0 = load <2 x i16>, ptr %p, align 2
%tmp1 = mul <2 x i16> %tmp0, <i16 0, i16 5> -> updates to <i16 1, i16 5>
store <2 x i16> %tmp1, ptr %s, align 2
ret void
}
```
Commit: 5d057a125cba60736cddcf579811af0324cbb47b
https://github.com/llvm/llvm-project/commit/5d057a125cba60736cddcf579811af0324cbb47b
Author: Madhur Kumar <152476790+MadhurKumar004 at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/CodeGen/builtins.c
M clang/test/CodeGenCXX/builtins.cpp
M clang/test/Sema/constant-builtins-2.c
A clang/test/SemaCXX/builtin-bitreverseg.cpp
Log Message:
-----------
[clang] Add __builtin_bitreverseg (#179126)
fixes #177125
Commit: 2a560a86456fa8923cf348c99993028cd56bb8fe
https://github.com/llvm/llvm-project/commit/2a560a86456fa8923cf348c99993028cd56bb8fe
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang-tools-extra/Maintainers.rst
Log Message:
-----------
Move Chris Bieneman to the inactive maintainers list (#181192)
While reaching out to folks for a maintainers list refresh, Chris asked
to step down due to other commitments. Thank you for all your help!
Commit: 79a63fbb97b0b742e238b6a00cb32ceadb4f745e
https://github.com/llvm/llvm-project/commit/79a63fbb97b0b742e238b6a00cb32ceadb4f745e
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
Log Message:
-----------
[NFC] [FlowSensitive] [StatusOr] remove unneeded NOLINT (#181032)
This was for cpplint, a leftover from when this model was downstream.
Commit: 647fcc9a6515d6426235c1bd069166052dd964b0
https://github.com/llvm/llvm-project/commit/647fcc9a6515d6426235c1bd069166052dd964b0
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/uArch/IntelGpuXe2.h
Log Message:
-----------
[XeGPU] Add missing StoreMatrix and LoadMatrix entries for bmg uArch. (#181006)
uArch for bmg was missing entries for StoreMatrix and LoadMatrix
instruction.
Commit: 63826ea33e14745d29c2b7a2e51db448169da595
https://github.com/llvm/llvm-project/commit/63826ea33e14745d29c2b7a2e51db448169da595
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M flang/docs/Directives.md
M flang/lib/Lower/Bridge.cpp
M flang/test/Integration/ivdep.f90
M flang/test/Lower/HLFIR/ivdep-elemental.f90
M flang/test/Lower/HLFIR/ivdep-where.f90
M flang/test/Lower/ivdep-array.f90
M flang/test/Lower/ivdep.f90
Log Message:
-----------
[flang] still apply vectorization cost model with IVDEP (#180760)
The current implementation of `!DIR IVDEP` leads flang to bypass LLVM
cost model and always vectorize the loop carrying `!DIR$ IVDEP`.
IVDEP is an extension and its documentation varies, and while it usually
leads to vectorization because it is added on loops where it is usually
profitable, its documentation only tells it is meant to tell the
compiler that there are no loop carried dependencies and that the loop
is safe to vectorize.
In some application, such directive may have been added to help the
compiler proving it is safe to vectorize, but vectorizing is not always
the best choice for all architectures. The cost model should still be
applied. This is at least the case for classic flang.
When users want vectorization to happen, they should use `!DIR$ VECTOR
ALWAYS`.
This patch updates flang to not emit `llvm.loop.vectorize.enable` just
because IVDEP was seen. Instead, IVDEP now only controls the emissions
of the access groups to translate the independence of the accesses and
leave the vectorization decision up to the cost model. `!DIR$ VECTOR
ALWAYS` can be used in combination with IVDEP to force vectorization (it
causes the emission of `llvm.loop.vectorize.enable`).
Commit: 4baab258b877b2df50bedffe364cbc2a06d644ae
https://github.com/llvm/llvm-project/commit/4baab258b877b2df50bedffe364cbc2a06d644ae
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/docs/resources/formatterbytecode.rst
M lldb/examples/python/formatter_bytecode.py
M lldb/include/lldb/DataFormatters/FormatterBytecode.def
M lldb/source/DataFormatters/FormatterBytecode.cpp
Log Message:
-----------
[lldb] Add Get(Non)SyntheticValue formatter bytecodes (#174839)
`GetSyntheticValue` in synthetic providers which need to operate on raw
root values, but will often want to use the synthetic value of children,
or nested children.
Commit: 783fd2f9d583850ecacdf93cd65f903b64d0cf4d
https://github.com/llvm/llvm-project/commit/783fd2f9d583850ecacdf93cd65f903b64d0cf4d
Author: h-vetinari <h.vetinari at gmx.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libcxx/include/__configuration/availability.h
Log Message:
-----------
[libc++] Sort `_LIBCPP_INTRODUCED_IN_LLVM_<X>` usages in reverse chronological order (#176857)
I noticed that the various `_LIBCPP_INTRODUCED_IN_LLVM_<ver>` usages in
`availability.h` were defined a bit all over the place. I think it'd
make the most sense to sort them in reverse chronological order (like
their definitions).
Commit: e087d428823e1d1d4c00c895bc3b637989764104
https://github.com/llvm/llvm-project/commit/e087d428823e1d1d4c00c895bc3b637989764104
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/support/aix.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/linux.h
M libcxx/include/__locale_dir/support/newlib.h
M libcxx/include/__locale_dir/support/no_locale/characters.h
M libcxx/include/__locale_dir/support/windows.h
Log Message:
-----------
[libc++] Add __strftime__ formatting attribute to locale base API __strftime (#179545)
Tip-of-trunk Clang seems to have started complaining about the missing
attribute.
Commit: f724d867e3a397f0ec00a30d74171cdb74f863f9
https://github.com/llvm/llvm-project/commit/f724d867e3a397f0ec00a30d74171cdb74f863f9
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/Frontend/CompilerInstance.cpp
Log Message:
-----------
[clang][modules] Don't rely on `std::vector` CTAD (#181182)
Commit: 1de1a76dc9042ffc8026217cf0b105f0b86c16fb
https://github.com/llvm/llvm-project/commit/1de1a76dc9042ffc8026217cf0b105f0b86c16fb
Author: Dmitrii Makarenko <devjiu at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/unittests/ADT/ArrayRefTest.cpp
Log Message:
-----------
[ADT] Add const check to MutableArrayRef constructor (#181190)
Fixes #181176
Commit: d18f6d086e5e12040559f5e0a5efccb801357843
https://github.com/llvm/llvm-project/commit/d18f6d086e5e12040559f5e0a5efccb801357843
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/source/DataFormatters/FormatterSection.cpp
M lldb/unittests/DataFormatter/CMakeLists.txt
A lldb/unittests/DataFormatter/FormatterSectionTest.cpp
Log Message:
-----------
[lldb] Limit formatter-section extractor range (#140139)
The formatter extraction would look at too much data for one type -
possibly reading data outside the section.
This PR limits the size of the `DataExtractor` to the one specified in
the record size before - previously, the whole section was looked at.
Similarly, `ForEachFormatterInModule` skipped zero-bytes but didn't stop
when reaching the end of the extractor.
I added a test for both cases.
Commit: 4b109dc5ac0b53d3c459c25324c41ae1e8a4583b
https://github.com/llvm/llvm-project/commit/4b109dc5ac0b53d3c459c25324c41ae1e8a4583b
Author: Caroline Newcombe <caroline.newcombe at hpe.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/__fortran_builtins.f90
M flang/module/iso_c_binding.f90
A flang/test/Lower/Intrinsics/c_f_strpointer.f90
A flang/test/Semantics/c_f_strpointer.f90
Log Message:
-----------
[flang] Implement C_F_STRPOINTER (Fortran 2023) (#176973)
Implement C_F_STRPOINTER to associate a Fortran character pointer with a
C string.
This intrinsic has two forms:
C_F_STRPOINTER(CSTRARRAY, FSTRPTR [,NCHARS]): Associates FSTRPTR with a
C string array
C_F_STRPOINTER(CSTRPTR, FSTRPTR, NCHARS): Associates FSTRPTR with a
C_PTR pointing to a character string
Implementation includes semantic validation, FIR lowering, and
associated tests.
F2023 Standard: 18.2.3.5
AI Usage Disclosure: AI tools (Claude Sonnet 4.5) were used to assist
with implementation of this feature and test code generation. I have
reviewed, modified, and tested all AI-generated code.
Commit: a289341dedf4d73955faefbb0b3c13881e13dd06
https://github.com/llvm/llvm-project/commit/a289341dedf4d73955faefbb0b3c13881e13dd06
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M .github/workflows/prune-branches.yml
Log Message:
-----------
[Github] Run prune-branches workflow on changes to python script
This allows in-environment testing without needing to deploy to main.
Commit: 06f97167626218cfa38e430098c83e4c58a909ae
https://github.com/llvm/llvm-project/commit/06f97167626218cfa38e430098c83e4c58a909ae
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libcxx/src/hash.cpp
Log Message:
-----------
[libcxx] Use a table for the offsets in __next_prime (#180651)
This reduces the size of __next_prime on armv8m baremetal from 1.4KB to
about 276B. Ideally there would be something that rolls up the if chain
into a single loop but there doesn't seem to be anything that does that
in llvm. Conversely, we should expect an unroller to be able to unroll
this loop in something like a -O3 build, but we unfortunately don't see
that either. I suspect perf might not be as much of a concern here since
this function is already called in a slow path when rehashing might be
done.
---------
Co-authored-by: Nikolas Klauser <nikolasklauser at berlin.de>
Commit: 6f51f8e0f93e6ff2baf0ed2f60021308920a557f
https://github.com/llvm/llvm-project/commit/6f51f8e0f93e6ff2baf0ed2f60021308920a557f
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
Log Message:
-----------
[Docs] Improve Target TableGen Docs (#178518)
This change adds documentation for some of the advanced parts of the
TableGen Selection structures:
- The `set`, `node` and `srcvalue` special DAG nodes
- The `SDNodeXForm` C++ snippet.
- The `PatFrags` predicate C++ snippet, and documentation for how the
`OperandTransform` item works in a little more detail.
- The `ImmLeaf` predicate code.
This also adds documentation for the many C++ callbacks for Targets
associated with Decoding, Encoding, Parsing and Printing Operands and
Instructions, including Predicates.
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: 1f404ec04d88dda3f263cd69f6015e3b7238614c
https://github.com/llvm/llvm-project/commit/1f404ec04d88dda3f263cd69f6015e3b7238614c
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/include/llvm/ADT/SmallVectorExtras.h
M llvm/unittests/ADT/STLExtrasTest.cpp
M llvm/unittests/ADT/SmallVectorExtrasTest.cpp
Log Message:
-----------
[ADT] Allow member pointers in map_range and map_to_vector (#181154)
This is for when all we need is to access a field or call a getter: no
need to write a lambda just to extract these.
Assisted-by: claude
Commit: a1c4c1de051974a6fea4e9eda0f5df1c4fab462e
https://github.com/llvm/llvm-project/commit/a1c4c1de051974a6fea4e9eda0f5df1c4fab462e
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
M clang/include/clang/Analysis/Scalable/TUSummary/EntitySummary.h
M clang/lib/Analysis/Scalable/CMakeLists.txt
R clang/lib/Analysis/Scalable/Serialization/SerializationFormat.cpp
R clang/lib/Analysis/Scalable/TUSummary/EntitySummary.cpp
M clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
M clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
Log Message:
-----------
[clang][ssaf] Drop llvm-RTTI support for now (#181198)
We discussed internally, and for now we will focus on an MVP and try to
not complicate APIs unless that is strictly necessary.
Commit: 155beb97492e14e29ab7af3a805bbfb97bee1e6b
https://github.com/llvm/llvm-project/commit/155beb97492e14e29ab7af3a805bbfb97bee1e6b
Author: Hui <hui.xie1990 at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libcxx/include/__atomic/atomic_waitable_traits.h
M libcxx/src/atomic.cpp
A libcxx/test/libcxx/atomics/atomics.syn/wait.native.compile.pass.cpp
Log Message:
-----------
[libc++] Fix native wait alignment (#180928)
This PR fixes two issues regarding the alignment of native wait:
- In the internal platform call, the local variable is copied from a
potentially non-aligned buffer
- Under the unstable ABI, the predicate to test eligibility of a type
being able to do native wait is purely on size. We should test also the
alignment of such type is qualified for platform call
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: ad14100f6afb8da2b933b4f9ef875487f10f0b83
https://github.com/llvm/llvm-project/commit/ad14100f6afb8da2b933b4f9ef875487f10f0b83
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
A llvm/test/tools/llvm-mca/RISCV/SiFiveX390/xsfvcp.s
Log Message:
-----------
[RISCV] Update sched resources used by XSfvcp instructions (#181206)
VCIX instructions should only use the first vector pipe. This patch also
adds a MCA test for VCIX instructions.
Commit: 6072e4006fb1c66331372fd11205e034dafe0ca3
https://github.com/llvm/llvm-project/commit/6072e4006fb1c66331372fd11205e034dafe0ca3
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/test/Dialect/XeGPU/subgroup-distribute-unit.mlir
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
Log Message:
-----------
[MLIR][XeGPU] Preserve leading unit dimension during blocking (#180884)
This PR preserve leading dimension during blocking. This ensures the
blocking process avoid generating unnecessary
insert/extract_strided_slice, which under certain condition becomes
difficult to be canceled, and creates extra burden in lane layout
propagation and subgroup distribution.
This PR also extended subgroup distribution so load and store can
support payload/mask/offsets with leading unit dimension. The
distributed load/store works on 1d only, but shapecast is inserted to
remove and add the leading dimension for the input/output vectors.
Comparing to the insert/extract inserted at subgroup level, the
shapecast inserted at lane level handling leading unit dimension is
essentially a nop and can be processed lightly.
Commit: e93829e8079f04b0d1cfe7c5a3272004dadb6bfb
https://github.com/llvm/llvm-project/commit/e93829e8079f04b0d1cfe7c5a3272004dadb6bfb
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/externally-used-copyables.ll
M llvm/test/Transforms/SLPVectorizer/X86/copyables-with-parent-scalars-in-phis.ll
A llvm/test/Transforms/SLPVectorizer/X86/deleted-node-with-copyable-operands.ll
A llvm/test/Transforms/SLPVectorizer/X86/external-bin-op-user.ll
Log Message:
-----------
[SLP]Fix crash with deleted non-copyable node in scheduling copyables
If the copyables are parts of the deleted nodes, need to check the
actual tree to correctly handling the scheduling of copyables
Commit: 6179d279fb5f9e148c241df5ba811b0e9b9076a2
https://github.com/llvm/llvm-project/commit/6179d279fb5f9e148c241df5ba811b0e9b9076a2
Author: Eric Christopher <echristo at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M .gitignore
Log Message:
-----------
[llvm][.gitignore] Add instructions.md to coding assistants section (#181211)
Similar to CLAUDE.md and GEMINI.md, instructions.md is a local guidance
file used by AI coding assistants. Add it to the existing "Coding
assistants' stuff" section to prevent accidental commits.
Commit: b1624fca5a4a70b0ae4a654359259370e6b4c4e5
https://github.com/llvm/llvm-project/commit/b1624fca5a4a70b0ae4a654359259370e6b4c4e5
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M mlir/include/mlir/IR/Remarks.h
M mlir/lib/IR/Remarks.cpp
M mlir/test/Pass/remarks.mlir
M mlir/test/lib/Pass/TestRemarksPass.cpp
M mlir/unittests/IR/RemarkTest.cpp
Log Message:
-----------
[MLIR][Remark] Add remark linking and remarkID (#180953)
Add RemarkId and relatedTo support to the MLIR Remarks infrastructure.
*Example*
```
remark1 = remark::analyzed(...)
remark::passed(loc, ... .relatedTo(remark1))
```
Commit: 8512f6d3320c2418b6aebf0e392a6e30a4498034
https://github.com/llvm/llvm-project/commit/8512f6d3320c2418b6aebf0e392a6e30a4498034
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
libclc: Stop building amdgpu targets all as tahiti (#181107)
It is wrong to compile as tahiti, and then treat everything
else as an alias. The IR is tainted with "target-cpu"="tahiti".
Optimizations on the libclc build can break the program, even if
the target-cpu is ultimately overridden by -mlink-builtin-bitcode.
The main risk of doing this is if mesa is still relying on finding
the subtarget suffixed bc file. As far as I can tell clover has been
removed, and rusticl only uses the spirv versions.
Commit: 42f37175ede308405d5fe09a65d0c13e32f744aa
https://github.com/llvm/llvm-project/commit/42f37175ede308405d5fe09a65d0c13e32f744aa
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/test/Instrumentation/HWAddressSanitizer/fuchsia.ll
M llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll
Log Message:
-----------
[HWASan][Fuchsia] Have Fuchsia use a dynamic shadow start (#180881)
The dynamic shadow global is still set to zero, but this will change in
the future. This only contains the llvm-side changes which is all that's
needed for now.
Commit: d905e19f63d7b5fd032dd8cf91c7e088c39c2a9a
https://github.com/llvm/llvm-project/commit/d905e19f63d7b5fd032dd8cf91c7e088c39c2a9a
Author: DeanSturtevant1 <dsturtevant at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix Bazel build for b20d7d0 (#181164)
Commit: 8e335d533682b46289058958456c521df0c8fe32
https://github.com/llvm/llvm-project/commit/8e335d533682b46289058958456c521df0c8fe32
Author: Andrei Elovikov <andrei.elovikov at sifive.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-metadata.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge-vf1.ll
M llvm/test/Transforms/LoopVectorize/vplan-print-after.ll
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/vplan.ll
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/vplan.ll.expected
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/update_analyze_test_checks.py
Log Message:
-----------
[UTC][VPlan] Use `-vplan-print-after` for VPlan-dump-based tests (#178736)
Switch tests from using `-debug[-only=LoopVectorize]` to
`-vplan-print-after` as that provides better control at what step in the
pipeline we want to check the VPlan (I'm using `optimize$` for now to
preserve previous state).
Then, update `-vplan-print-after*` to print what function the loop
belongs to. That enables us to simplify VPlan UTC support as the output
of the updated tests contains the VPlan dump only - no special
filtering/extraction is necessary anymore.
Commit: cdcf0337cea45e5b49dc771f0a571d916ce23167
https://github.com/llvm/llvm-project/commit/cdcf0337cea45e5b49dc771f0a571d916ce23167
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M .github/workflows/prune-branches.yml
M .github/workflows/prune-unused-branches.py
Log Message:
-----------
[Github] Make prune-unused-branches workflow save branch list (#181194)
So that we can retrieve it later to only download branches that are more
than a day old. This prevents unlikely but potential race conditions for
tools like spr and graphite, but more importantly for people manually
creating user branches where there branch getting deleted by the
workflow would be surprising.
Commit: 6be4745eda7306b78f60fe253c09fae66ae7a50f
https://github.com/llvm/llvm-project/commit/6be4745eda7306b78f60fe253c09fae66ae7a50f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M .github/workflows/prune-unused-branches.py
Log Message:
-----------
[Github] Use format-patch instead of diff in prune-unused-branches (#181200)
This preserves commit messages which some people said they would prefer
in the discourse post announcing this.
Commit: a3de2d1b7b39c5e04b86a1c2dcaec3a0e89d15a0
https://github.com/llvm/llvm-project/commit/a3de2d1b7b39c5e04b86a1c2dcaec3a0e89d15a0
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M .github/workflows/prune-unused-branches.py
Log Message:
-----------
[Github] Do not fail on unknown branches (#181227)
If someone creates user branches and a PR after we start cloning the
repository, but before we collect PRs, we can end up with branches that
do not exist in the repository. In one case this was causing workflow
failures because we expected this to be an invariant.
Commit: 6be2e8902951dabfc15a0c6f0bb872742a959aa3
https://github.com/llvm/llvm-project/commit/6be2e8902951dabfc15a0c6f0bb872742a959aa3
Author: Teresa Johnson <tejohnson at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/test/Transforms/PGOProfile/memprof.ll
Log Message:
-----------
[MemProf] Emit richer optimization remarks for single-type allocations (#181089)
Emit per-context optimization remarks, when we apply a hint
unambiguously to an allocation, including the full allocation context
hash and total profiled size. When no context size information is
available, we fall back to a single remark per allocation. While this is
somewhat redundant with the message emitted for
-memprof-report-hinted-sizes, the latter enables emitting additional
messages, and so it is left in for now.
To support this consistently, added a new internal option
-memprof-keep-context-size-info that ensures context size information
is tracked and available for these remarks even when hinted size
reporting isn't fully enabled. This also will be useful for providing
this additional information to the LTO link for remarks there (in a
subsequent PR).
Updated memprof.ll to verify both the detailed per-context remarks
(when size info is kept) and the original per-allocation remarks (when
it is not).
Commit: e66574702479f8ecd7f2bef3e70acdb215e19cc9
https://github.com/llvm/llvm-project/commit/e66574702479f8ecd7f2bef3e70acdb215e19cc9
Author: Daniil Dudkin <unterumarmung at yandex.ru>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.h
M clang-tools-extra/unittests/clang-tidy/CMakeLists.txt
A clang-tools-extra/unittests/clang-tidy/LexerUtilsTest.cpp
Log Message:
-----------
[clang-tidy] [NFC] Move comment scanning to `LexerUtils` and add tests (#180371)
Commit: 06282d9c46264c358b6e7ecc301305cdd7049e59
https://github.com/llvm/llvm-project/commit/06282d9c46264c358b6e7ecc301305cdd7049e59
Author: Adel Ejjeh <adel.ejjeh at amd.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
A llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/amdgpu-large-lds-offset.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Update splitGEP to handle case where including base offset results in an offset that's too large (#177653)
Currently, separate-const-offset-from-gep tries to combine both the
offsets on the base address and the offsets on the current GEP itself
when it tries to separate constant offsets. This results in the pass
failing to separate the offset in cases where the base address has a
large offset that would cause the total offset to be larger than what
the back-end can represent for the respective addressing mode. However,
in many cases we can still benefit from extracting the offset of the GEP
without including the offset from the base-address-GEP when the
base-address is used in multiple different places to help reduce
register pressure and recalculating the base address.
This PR addresses the above by re-trying without accumulating the offset
from the base-address GEP included if isLegalAddressingMode returns
false the first time.
Commit: 05e2c37cdf689f399da5d93d502fd014736f2ccd
https://github.com/llvm/llvm-project/commit/05e2c37cdf689f399da5d93d502fd014736f2ccd
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M .github/workflows/commit-access-review.py
Log Message:
-----------
workflows/commit-access-reivew: Use concurrency to speed up script (#181204)
Making some of the graphql queries in parallel cuts the runtime of the
script from ~60 minutes to ~40 minutes.
Commit: 4210e4c76a5c19e1a8178e37af257c65c220eb4c
https://github.com/llvm/llvm-project/commit/4210e4c76a5c19e1a8178e37af257c65c220eb4c
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
Log Message:
-----------
[RISCV][NFC] Remove redundant defvar in SiFive7 SchedModel (#181218)
The defvar `SiFive7VA` inside `SiFive7SchedResources` is never used.
More surprisingly, `NAME # SiFive7VA` -- the record it's supposed to
point at -- is not even _defined_ when there are two VALUs (i.e.
`dualVALU` is true). But I guess since that defvar is never used,
TableGen parser simply ignores it and thus we never saw any error
message.
NFC.
Commit: a8be67e6f3da18b70961a72c56a3f802b4ab4da9
https://github.com/llvm/llvm-project/commit/a8be67e6f3da18b70961a72c56a3f802b4ab4da9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
Log Message:
-----------
clang: Use VFS for libclc existence check (#181236)
Commit: c1e90fa663ca46c70d079503b83340d5e38105a4
https://github.com/llvm/llvm-project/commit/c1e90fa663ca46c70d079503b83340d5e38105a4
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/test/CodeGen/WebAssembly/lower-em-sjlj-alloca.ll
M llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj-phi.ll
M llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj.ll
A llvm/test/CodeGen/WebAssembly/lower-wasm-sjlj-no-eh-feature.ll
M llvm/test/CodeGen/WebAssembly/lower-wasm-sjlj.ll
M llvm/test/CodeGen/WebAssembly/wasm-eh-sjlj-setjmp-within-catch.ll
Log Message:
-----------
[WebAssembly] Error on Wasm SjLj if +exception-handling is missing (#181070)
This checks every user function of `setjmp` or `longjmp` and if any of
them does not have `+exception-handling` target feature, errors out.
Hopefully this gives a clearer error message to the users in case they
do not provide consistent SjLj flags at compile time vs. link time.
Closes #178135 and closes
https://github.com/emscripten-core/emscripten/issues/26165.
Commit: ee2ebaf0d454902d9bdfcd353e7b37574ee742c9
https://github.com/llvm/llvm-project/commit/ee2ebaf0d454902d9bdfcd353e7b37574ee742c9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
libclc: Fix broken symlinks (#181247)
Commit: 68cc809581539e58faeb33bf0841fd1ccbaa7a6d
https://github.com/llvm/llvm-project/commit/68cc809581539e58faeb33bf0841fd1ccbaa7a6d
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/source/ValueObject/ValueObject.cpp
Log Message:
-----------
[lldb] Flatten GetCompilerType-MaybeCalculateCompleteType (NFC) (#181215)
`MaybeCalculateCompleteType` is not overridden anywhere, and is called
only from `GetCompilerType`.
Commit: 96c7a1148dbbaf2d907b3c56de59164f36f31ae3
https://github.com/llvm/llvm-project/commit/96c7a1148dbbaf2d907b3c56de59164f36f31ae3
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes-qc.ll
Log Message:
-----------
[RISCV] Combine Xqci Extensions in Arch Strings (#181033)
There are no instructions in the Xqci extension itself, it is just an
alias of a group. If we have all the items in the group, then we should
add `xqci` to the list of extensions we have.
This helps with multilib matching.
Commit: 0338ffcb0934210f05bf337c33e6d5ba2607dfa8
https://github.com/llvm/llvm-project/commit/0338ffcb0934210f05bf337c33e6d5ba2607dfa8
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/test/CIR/Transforms/flatten-cleanup-scope-multi-exit.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-nyi.cir
M clang/test/CIR/Transforms/flatten-cleanup-scope-simple.cir
Log Message:
-----------
[CIR] Implement flattening for cleanup scopes with multiple exits (#180627)
This implements CFG flattening for cir.cleanup.scope operations where
the scope body has multiple exits that must all branch through the
cleanup region.
This uses the same strategy that Clang uses when generating LLVM IR for
equivalent cases -- a cleanup destination slot is allocated on the
stack, and a value is stored to this slot before each branch to the
cleanup, indicating where control must go after the cleanup is executed.
Substantial amounts of this PR were created using agentic AI tools, but
I have carefully reviewed the code, comments, and tests and made changes
as needed.
Commit: a00278632dfed7b856a0ac11a58423cb6b14a8c1
https://github.com/llvm/llvm-project/commit/a00278632dfed7b856a0ac11a58423cb6b14a8c1
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.lds.err.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.lds.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.lds.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.lds.ll
Log Message:
-----------
AMDGPU/GlobalISel: Regbanklegalize rules for buffer load lds intrinsics (#180998)
Commit: b7e1922ca15935342f9570ddbb7b61c8164115d5
https://github.com/llvm/llvm-project/commit/b7e1922ca15935342f9570ddbb7b61c8164115d5
Author: Eli Friedman <efriedma at qti.qualcomm.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lld/ELF/InputSection.h
M lld/ELF/OutputSections.cpp
M lld/test/ELF/linkorder-group.test
Log Message:
-----------
[lld] Fix undefined behavior with misaligned SHT_GROUP section. (#180848)
read32() allows misaligned values, but a `uint32_t &` must be properly
aligned even if it isn't directly read. ubsan detects this. To fix the
issue, replace the `uint32_t &` with a value that doesn't require
alignment.
Also added an assertion to catch similar misuse of getDataAs().
(Alternatively, we could make the input validation more strict, and
reject files with a misaligned SHT_GROUP, but I don't see any obvious
reason to require that.)
Commit: 2b2582cd3b9ef6132a73881ebd10f846ee018dda
https://github.com/llvm/llvm-project/commit/2b2582cd3b9ef6132a73881ebd10f846ee018dda
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
Log Message:
-----------
[VPlan] Update isUniformAcrossVFsAndUFs to account for sinking.
Recipes can be sunk now. In those cases, the sunk recipes are outside
the loop region, but may not be uniform across VF and UF.
Update the code to only exit early if the recipe is defined before the
region. Without DT available, the easiest way to check is just if it is
in the entry/preheader block.
Fixes https://github.com/llvm/llvm-project/issues/181002.
Fixes https://github.com/llvm/llvm-project/issues/180781.
Commit: e3af9aae6902ae444e1da5f0844248a57d5046fe
https://github.com/llvm/llvm-project/commit/e3af9aae6902ae444e1da5f0844248a57d5046fe
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Add isel helper functions for building a GPRPair or extract from a GPRPair. NFC (#181245)
Commit: d4cac78250cea841d63c2f2be868f1bb29a973a3
https://github.com/llvm/llvm-project/commit/d4cac78250cea841d63c2f2be868f1bb29a973a3
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/include/module.modulemap
Log Message:
-----------
[clang] Mark `PrivateFieldNames.def` as textual header in module map (#181250)
When building with modules enabled (`LLVM_ENABLE_MODULES=ON`), the
module system attempts to transform the inclusion of
`PrivateFieldNames.def` into a module import. Since this `#include`
appears inside the `SerializationFormat` class definition (to generate
accessor methods via macros), the resulting module import violates C++
modules rules that imports must appear at file scope. The fix is to mark
`PrivateFieldNames.def` as a textual header in the `Clang_Analysis`
module to ensure the file is processed as a traditional textual include.
rdar://170257449
Commit: d0ff94fdeb0732124e163a68f821a8fe2e81013e
https://github.com/llvm/llvm-project/commit/d0ff94fdeb0732124e163a68f821a8fe2e81013e
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M .github/workflows/release-documentation.yml
M .github/workflows/release-tasks.yml
Log Message:
-----------
workflows/release-documentation: Add release environment (#181063)
This way we can limit access to the secrets to the main and release
branches.
This is a partial re-commit of b6ee085068972a41f3b2735a9f7e3ca48eab0f00
Commit: ef85b0c454e62e2236ce04fcd0ffec793190cbbf
https://github.com/llvm/llvm-project/commit/ef85b0c454e62e2236ce04fcd0ffec793190cbbf
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/strict-fadd-interleave-only.ll
Log Message:
-----------
[VPlan] Check scalar VF in removeRedundantCanonicalIVs.
When the plan has only a scalar VF, we never generate vectors for IVs,
so we can always perform the replacement.
Commit: 22a3f7b568a24b60062e9b27dad30a98687463ac
https://github.com/llvm/llvm-project/commit/22a3f7b568a24b60062e9b27dad30a98687463ac
Author: DeanSturtevant1 <dsturtevant at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Fix after #181026 (#181260)
Commit: 382697a6f0c10fcf2d0f3c679747c42be7d16821
https://github.com/llvm/llvm-project/commit/382697a6f0c10fcf2d0f3c679747c42be7d16821
Author: Argyrios Kyrtzidis <kyrtzidis at apple.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/include/llvm/CAS/ObjectStore.h
M llvm/lib/CAS/ObjectStore.cpp
M llvm/lib/CAS/OnDiskCAS.cpp
M llvm/lib/CAS/OnDiskCommon.cpp
M llvm/lib/CAS/OnDiskCommon.h
M llvm/lib/CAS/OnDiskGraphDB.cpp
M llvm/unittests/CAS/CMakeLists.txt
M llvm/unittests/CAS/ObjectStoreTest.cpp
A llvm/unittests/CAS/OnDiskCommonUtils.cpp
M llvm/unittests/CAS/OnDiskCommonUtils.h
M llvm/unittests/CAS/OnDiskGraphDBTest.cpp
Log Message:
-----------
[llvm/CAS] Add file-based APIs to `ObjectStore` (#180657)
Also add optimized implementations for `OnDiskCAS` that can take
advantage of file cloning.
Commit: e7715584c75c67468cbdbf1e48ac4c0c8b3965de
https://github.com/llvm/llvm-project/commit/e7715584c75c67468cbdbf1e48ac4c0c8b3965de
Author: Amir Bishara <139038766+amirBish at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
M mlir/test/Dialect/Tensor/bubble-up-extract-slice-op.mlir
Log Message:
-----------
[mlir][tensor]-Handle Dynamic Offset in BubbleUpSliceOpThroughCollapse (#178921)
This patch extends the `BubbleUpExtractSliceThroughCollapseShape`
pattern to handle cases where `tensor.extract_slice` has a dynamic
offset.
During tile and fuse transformations, it is common to encounter IR where
`tensor.extract_slice` operations appear after `tensor.collapse_shape`.
These patterns are used as cleanup transformations to canonicalize the
IR by bubbling up the slice operation before the reshape. This enables
further optimizations and simplifications downstream.
Previously, the pattern only handled:
1. Static offsets and sizes.
2. Dynamic sizes with a single non-unit expanded dimension.
This left a gap for additional common cases where we may have:
- Dynamic offsets with size == 1 (single element extraction).
- Size greater than 1 but the offset is computed dynamically.
Regarding the first case, It's always legal to perform such a
transformation.
Regarding the second case (i.e. dynamic offset with static
size > 1) we can guarantee contiguity by more restricted
conditions:
1. The innermost expanded dimension is divisible by the slice size
(ensures the slice fits within a single "row")
2. The offset is probably a multiple of the slice size (ensures the
slice starts at an aligned boundary)
For example, given:
- collapse_shape: tensor<6x10xf32> -> tensor<60xf32>
- extract_slice at offset with size
If 10 % size == 0 and offset % 5 == 0, the slice is guaranteed
contiguous. The transformation delinearizes the offset to get [row, col]
indices and extracts [1, size] from the expanded 6x10 shape.
The offset divisibility check uses affine analysis to statically verify
that affine expressions (e.g., `idx * 5`) are multiples of the slice
size.
Commit: c6f24719afa3d76f12a26604936898cbfc4568a5
https://github.com/llvm/llvm-project/commit/c6f24719afa3d76f12a26604936898cbfc4568a5
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-setcc.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp.ll
Log Message:
-----------
[RISCV] Fix ordering of CHECK prefixes in some tests to mitigate UTC bug. NFCI (#181259)
This patch fixes the exact same problem as #173125 . Where certain order
of CHECK prefixes will somehow causing UTC to incorrectly (re)generate
surplus check lines and failed the tests.
Commit: ac974fddb9f2cd268036f686cf5052b409f1164d
https://github.com/llvm/llvm-project/commit/ac974fddb9f2cd268036f686cf5052b409f1164d
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/test/Transforms/IndVarSimplify/unreachable-exit.ll
Log Message:
-----------
[NFC] [IndVars] fix typo in test (#181262)
Commit: 7487c7581ea288d004328ae385bf60675a0d6892
https://github.com/llvm/llvm-project/commit/7487c7581ea288d004328ae385bf60675a0d6892
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.td
A clang/test/CodeGenOpenCL/.gdb_history
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.index.gfx1250.w32.ll
Log Message:
-----------
[AMDGPU] Change 9 SWMMAC builtins to use 64-bit index (#181246)
There 9 gfx1250 instructions have 64-bit packed index:
- v_swmmac_f16_16x16x128_bf8_bf8
- v_swmmac_f16_16x16x128_bf8_fp8
- v_swmmac_f16_16x16x128_fp8_bf8
- v_swmmac_f16_16x16x128_fp8_fp8
- v_swmmac_f32_16x16x128_bf8_bf8
- v_swmmac_f32_16x16x128_bf8_fp8
- v_swmmac_f32_16x16x128_fp8_bf8
- v_swmmac_f32_16x16x128_fp8_fp8
- v_swmmac_i32_16x16x128_iu8
Intrinsics accept anyint, but builtins are defined with i32 argument.
Fixes: SWDEV-579843
Commit: a3d8e35137bfebe9be3277347cc8684215aa0552
https://github.com/llvm/llvm-project/commit/a3d8e35137bfebe9be3277347cc8684215aa0552
Author: OverMighty <its.overmighty at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/SubTest.h
Log Message:
-----------
[libc][math] Fix result sign logic in fputil::generic::add_or_sub (#181231)
Fixes #181121.
Commit: 90cc8c0081c42ac14be007505b61724a245083a5
https://github.com/llvm/llvm-project/commit/90cc8c0081c42ac14be007505b61724a245083a5
Author: Andrew Lazarev <alazarev at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/unittests/Dialect/CMakeLists.txt
R mlir/unittests/Dialect/Linalg/CMakeLists.txt
R mlir/unittests/Dialect/Linalg/InferConvolutionDimsTest.cpp
Log Message:
-----------
Revert "[mlir][linalg] Make conv dim inference return pairing (outputImage, filterLoop)" (#181272)
Reverts llvm/llvm-project#180859
Brakes buildbots:
https://lab.llvm.org/buildbot/#/builders/24/builds/17467
https://lab.llvm.org/buildbot/#/builders/52/builds/14978
Commit: d55219bbe34806bfa735193507ddf95fed7b1504
https://github.com/llvm/llvm-project/commit/d55219bbe34806bfa735193507ddf95fed7b1504
Author: Nico Weber <thakis at chromium.org>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
A llvm/utils/gn/secondary/lldb/source/Plugins/Highlighter/Clang/BUILD.gn
A llvm/utils/gn/secondary/lldb/source/Plugins/Highlighter/Default/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
R llvm/utils/gn/secondary/lldb/source/Plugins/Language/ClangCommon/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/ObjC/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/ObjCPlusPlus/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/REPL/Clang/BUILD.gn
Log Message:
-----------
[gn] port 5e2518f2cc54de7 (lldb highlight plugins)
The GN build doesn't have unittests for lldb, so nothing depends
on these new targets. But it at least gets the build building again.
Commit: 77efa4af205f29cd4c5f73e896becaa830f3d337
https://github.com/llvm/llvm-project/commit/77efa4af205f29cd4c5f73e896becaa830f3d337
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/test/CodeGen/RISCV/sifive7-enable-intervals.mir
M llvm/test/tools/llvm-mca/RISCV/SiFive7/instruction-tables-tests.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/mask.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/scalar-load-store.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/vector-fp.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/vmv.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/vrgather-vcompress.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/xsfvfnrclip.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/xsfvfwmacc.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/xsfvqmacc.s
Log Message:
-----------
[RISCV][NFC] Simplify the vector pipe names in SiFive7 sched model (#181268)
Instead of creating a `VA` for single vector pipe configuration (e.g.
X280) and `VA1` + `VA2` for dual vector pipes ones (e.g. X390), we could
have just use `VA1` in the former case to simplify the related name
aliases.
NFC.
Commit: 0d5eebc22d11455f43b636ac7f4502ba82ab2a08
https://github.com/llvm/llvm-project/commit/0d5eebc22d11455f43b636ac7f4502ba82ab2a08
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/CAS/BUILD.gn
Log Message:
-----------
[gn build] Port 382697a6f0c1
Commit: 968b544ebed874a4af85e6de4c7425dbfebb9ff9
https://github.com/llvm/llvm-project/commit/968b544ebed874a4af85e6de4c7425dbfebb9ff9
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Analysis/Scalable/BUILD.gn
Log Message:
-----------
[gn build] Port a1c4c1de0519
Commit: ef0386eaec6efe8b51ad24a6fb2e63a196126593
https://github.com/llvm/llvm-project/commit/ef0386eaec6efe8b51ad24a6fb2e63a196126593
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/unittests/clang-tidy/BUILD.gn
Log Message:
-----------
[gn build] Port e66574702479
Commit: bb716c7d606934255366c3fdf4e335e868e2532c
https://github.com/llvm/llvm-project/commit/bb716c7d606934255366c3fdf4e335e868e2532c
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Frontend/BUILD.gn
Log Message:
-----------
gn build: Port d090311aa7df
e60a69ab8a9e created a dependency on clangFrontend from clangDriver.
This broke the build of clang-offload-bundler because it only depends
on Driver (and only in debug builds, probably because the dependency was
dead code in clang-offload-bundler). Add the dependency to fix the build,
which also ports d090311aa7df from CMake.
Commit: 127d77f7abe0b9c54562ee37ce474d99effa09c1
https://github.com/llvm/llvm-project/commit/127d77f7abe0b9c54562ee37ce474d99effa09c1
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M .github/workflows/release-binaries.yml
Log Message:
-----------
workflows/release-binaries: Pass missing release-version input to upload-release-artifact (#180879)
This was causing the 22.1.0-rc3 uploads to fail.
Commit: a3b51529d1948dee37b5bb44d49fa82b9ea37157
https://github.com/llvm/llvm-project/commit/a3b51529d1948dee37b5bb44d49fa82b9ea37157
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGenCXX/cxx2a-consteval.cpp
M clang/test/CodeGenCXX/template-cxx20.cpp
Log Message:
-----------
[clang] CodeGen: fix ConstantExpr LValue emission (#181057)
This fixes a regression introduced in #161029, though not the fault of
that patch, only by incidental changes regarding the preservation of
constant expression nodes.
The LValue emission of ConstantExpr was doing strange things with
regards to what type corresponds to the result of the constant
expression, which are not justified by any tests or in the discussions
of the relevant patches.
See
https://github.com/llvm/llvm-project/commit/09669e6c5fa1e8db9c1091cc264640fb0377d6b6
and https://github.com/llvm/llvm-project/pull/78041 and
https://github.com/llvm/llvm-project/commit/51e4aa87e05c45bebf9658a47980b1934c88be31
This simplifies it to just use the expression type.
Since this regression was never released, there are no release notes.
Fixes #177807
Commit: 1923fa0da14ef883a0e94fc0e30f1d35fba6a152
https://github.com/llvm/llvm-project/commit/1923fa0da14ef883a0e94fc0e30f1d35fba6a152
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
A clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.h
A clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.td
M clang/include/clang/CIR/Interfaces/CMakeLists.txt
A clang/lib/CIR/Interfaces/ASTAttrInterfaces.cpp
M clang/lib/CIR/Interfaces/CMakeLists.txt
Log Message:
-----------
[CIR] Add ASTVarDeclInterface for AST attribute access (#179825)
Add the ASTVarDeclInterface which provides methods to access clang AST
VarDecl information from CIR attributes. This interface enables:
- mangleStaticGuardVariable: Mangle guard variable names using clang's
MangleContext
- isLocalVarDecl: Check if a variable is function-local
- getTLSKind: Get thread-local storage kind
- isInline: Check if the variable is inline
- getTemplateSpecializationKind: Get template specialization info
- getVarDecl: Direct access to the underlying VarDecl pointer
This infrastructure is needed for proper handling of static local
variables with guard variables in LoweringPrepare.
Commit: 708d1c1b8c2468a366f6914b88eaa3f3a4c932b0
https://github.com/llvm/llvm-project/commit/708d1c1b8c2468a366f6914b88eaa3f3a4c932b0
Author: Jim Lin <jim at andestech.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Gnu.cpp
Log Message:
-----------
[RISCV] Simply add the march/mabi strings to Flags for multilib selection (#180104)
It does't need to compare the march/mabi with multilib's before adding
such string into Flags. The negative one (!march/!mabi) has no effect
during multilib selection. We can select either a multilib with
identical march and mabi, or one with a subset of march and the same
mabi.
Commit: 75f738b0b2a15281c6f285380ea947e973a6e02f
https://github.com/llvm/llvm-project/commit/75f738b0b2a15281c6f285380ea947e973a6e02f
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/test/CIR/IR/invalid-static-local.cir
A clang/test/CIR/IR/static-local.cir
Log Message:
-----------
[CIR] Add static_local attribute to GlobalOp and GetGlobalOp (#179826)
This attribute marks function-local static variables that require
guarded initialization (e.g., C++ static local variables with
non-constant initializers).
It will be used by CIRGen to communicate to LoweringPrepare which globals need guard variable emission.
This PR only adds the attribute and tests, CIRGen is in the next one.
Commit: 448e49423509a7f7e4f19378e0568e83cd7218bc
https://github.com/llvm/llvm-project/commit/448e49423509a7f7e4f19378e0568e83cd7218bc
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/tools/c-index-test/BUILD.gn
M llvm/utils/gn/secondary/clang/tools/diagtool/BUILD.gn
Log Message:
-----------
gn build: Add missing deps to c-index-test and diagtool.
Exposed by bb716c7d6069.
Commit: b5c41b4bdef7faaaf49125b41fdee0116824e73a
https://github.com/llvm/llvm-project/commit/b5c41b4bdef7faaaf49125b41fdee0116824e73a
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenDeclCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/test/CIR/CodeGen/global-array-dtor.cpp
M clang/test/CIR/CodeGen/global-init.cpp
A clang/test/CIR/CodeGen/static-local.cpp
Log Message:
-----------
[CIR] Add CIRGen support for static local variables with non-constant initializers (#179827)
This adds CIRGen infrastructure for C++ function-local static variables
that require guarded initialization (Itanium C++ ABI).
Changes:
- Add ASTVarDeclAttr to carry VarDecl AST through the pipeline
- Add emitGuardedInit() to CIRGenCXXABI for guarded initialization
- Add emitCXXGuardedInit() to CIRGenFunction
- Replace NYI in addInitializerToStaticVarDecl() with ctor region emission
- Set static_local attribute on GlobalOp and GetGlobalOp
This doesn't unwrap the high level constructs just yet - The global's ctor region contains the initialization code, which will be lowered by LoweringPrepare to emit the actual guard variable pattern with __cxa_guard_acquire/__cxa_guard_release calls.
Commit: 685507d9beefce91a59591795a54bf92b66c8de7
https://github.com/llvm/llvm-project/commit/685507d9beefce91a59591795a54bf92b66c8de7
Author: Andrew Lazarev <alazarev at google.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lld/ELF/Arch/X86.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
Log Message:
-----------
Revert "[ELF] Add target-specific relocation scanning for x86" (#181274)
Reverts llvm/llvm-project#178846
Brakes buildbot:
https://lab.llvm.org/buildbot/#/builders/25/builds/15566
Commit: 792ac8e94cdb1d8685d52cced32fcd513c0aec57
https://github.com/llvm/llvm-project/commit/792ac8e94cdb1d8685d52cced32fcd513c0aec57
Author: Zhen Wang <37195552+wangzpgi at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/cuf17.cuf
Log Message:
-----------
[flang][cuda] Resolve generic tie‑breaks using per‑arg CUDA distance (#181038)
Switch CUDA generic resolution to compare per‑argument CUDA matching
distances lexicographically instead of summing them. This prevents
ambiguous matches when different specifics yield the same total
distance.
Commit: e777fe2a6fdd5d59f23eebeddedf29925fdc8952
https://github.com/llvm/llvm-project/commit/e777fe2a6fdd5d59f23eebeddedf29925fdc8952
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpFrame.h
Log Message:
-----------
[clang][bytecode][NFC] Add InterpFrame::getName() (#181158)
Commit: 24fbf9deb002ef0f0f35527bbafb8e84ef6dc148
https://github.com/llvm/llvm-project/commit/24fbf9deb002ef0f0f35527bbafb8e84ef6dc148
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/MemberPointer.cpp
M clang/lib/AST/ByteCode/MemberPointer.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/PrimType.h
M clang/test/AST/ByteCode/memberpointers.cpp
M clang/unittests/AST/ByteCode/toAPValue.cpp
Log Message:
-----------
[clang][bytecode] Add a path to MemberPointers (#179050)
Add a path and an `IsDerivedMember` member to our `MemberPointer` class.
Fix base-to-derived/derived-to-base casts. Add tests and unit tests,
since regular tests allow a lot and we want to check the path size
exactly.
Commit: da9c513c87b2fbd32e32e4122dec9ce437f0b9b6
https://github.com/llvm/llvm-project/commit/da9c513c87b2fbd32e32e4122dec9ce437f0b9b6
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.h
M clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenDeclCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/test/CIR/CodeGen/static-local.cpp
M clang/test/CIR/IR/invalid-static-local.cir
M clang/test/CIR/IR/static-local.cir
Log Message:
-----------
[CIR][LoweringPrepare] Emit guard variables for static local initialization (#179828)
This implements the lowering of static local variables with the Itanium C++ ABI
guard variable pattern in LoweringPrepare. This is initial support, errorNYI covering all that hasn't been added just yet.
When a GlobalOp has the static_local attribute and a ctor region, this pass:
1. Creates a guard variable global (mangled name from AST)
2. Inserts the guard check pattern at each GetGlobalOp use site:
- Load guard byte with acquire ordering
- If zero, call __cxa_guard_acquire
- If acquire returns non-zero, inline the ctor region code
- Call __cxa_guard_release
3. Clears the static_local attribute and ctor region from the GlobalOp
Once the new design doc lands I'll add more information over there.
Commit: 48566b21a48573e0b2dcc67936ea8fdb7c40974a
https://github.com/llvm/llvm-project/commit/48566b21a48573e0b2dcc67936ea8fdb7c40974a
Author: Tuomas Kärnä <tuomas.karna at intel.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/TransformOps/XeGPUTransformOps.td
M mlir/lib/Dialect/XeGPU/TransformOps/XeGPUTransformOps.cpp
M mlir/python/mlir/dialects/transform/xegpu.py
M mlir/test/Dialect/XeGPU/transform-ops-invalid.mlir
M mlir/test/Dialect/XeGPU/transform-ops.mlir
M mlir/test/python/dialects/transform_xegpu_ext.py
Log Message:
-----------
[MLIR][XeGPU][TransformOps] set_op_layout_attr supports setting anchor layout (#172542)
Changes `transform.xegpu.set_op_layout_attr` to support xegpu anchor
layouts. By default, if `result` and `operand` bool arguments are unset,
this transform op sets the op's anchor layout, if the op supports it
(otherwise emits a silenceable failure).
In contrast to the earlier implementation, setting the operand layout
now requires setting the new `operand` argument.
Commit: a89e766ca63d61874138dd84b0e2eaf1f9d73d51
https://github.com/llvm/llvm-project/commit/a89e766ca63d61874138dd84b0e2eaf1f9d73d51
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
A llvm/test/Transforms/IndVarSimplify/scev-update-loop-opt.ll
Log Message:
-----------
[IndVarSimplify] Add safety check for getTruncateExpr in genLoopLimit (#181296)
getTruncateExpr may not always return a SCEVAddRecExpr when truncating
loop bounds. Add a check to verify the result type before casting, and
bail out of the transformation if the cast would be invalid.
This prevents potential crashes from invalid casts when dealing with
complex loop bounds.
Co-authored by Michael Rowan
Resolves
[https://github.com/llvm/llvm-project/issues/153090](https://github.com/llvm/llvm-project/issues/153090)
Commit: a809d6409f7a4785d0301bddea8a1ce6713c6179
https://github.com/llvm/llvm-project/commit/a809d6409f7a4785d0301bddea8a1ce6713c6179
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV] Remove RISCVISD::WMACC*. Match during isel. NFC (#181197)
I think we may want to be able to fold ADDD nodes independent of the MUL
in some cases. For example turning NSRAI into NSRARI.
If we fold ADDD into WMACC we would need to be able to extract it again.
Keep the nodes separate avoids this.
Code change was assisted by AI.
Commit: 4b887533389c78e3e678b3af85d1dc8e3bf59e83
https://github.com/llvm/llvm-project/commit/4b887533389c78e3e678b3af85d1dc8e3bf59e83
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lld/ELF/Arch/X86.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
Log Message:
-----------
[ELF] Add target-specific relocation scanning for x86 (#178846)
Implement scanSection/scanSectionImpl for i386 and x86-64 to
* enable devirtualization of getRelExpr calls
* eliminate abstraction overhead for PLT-to-PCRel optimization, TLS
relocations
* optimize for R_X86_64_PC32 and R_X86_64_PLT32: they consist of 95%
relocations in `lld/ELF/**/*.o` files.
* enable future optimization to remove `loc` from `getRelExpr` (only
used by X86.cpp `R_386_GOT32[X]`)
at the cost of more boilerplate.
TLS relocation handling is inlined into scanSectionImpl. Also,
- Remove getTlsGdRelaxSkip
- Replace TLS-optimization-specific expressions:
- R_RELAX_TLS_GD_TO_LE, R_RELAX_TLS_LD_TO_LE, R_RELAX_TLS_IE_TO_LE →
R_TPREL
- R_RELAX_TLS_GD_TO_IE → R_GOT_PC
This follows the pattern established for MIPS and PPC64 in `#163138`.
getRelExpr is simplified to only handle relocations needed for
relocateNonAlloc and relocateEH.
Average "Scan relocations" time (measured by --time-trace) decreases
from 110078 to 101585.
(
```
ruby -rjson -e 't=[]; 50.times { system("numactl -C 0-7 /t/lld1 -flavor gnu --threads=8 @response.txt -o a.out --time-trace"); t << JSON.parse(File.read("a.out.time-trace"))["traceEvents"].find { |e| e["name"] == "Scan relocations" }["dur"] }; puts "Average: #{t.sum / t.size}"'
```
)
Commit: 5ab9cbe41b7fd8367ebd8f29ad11b6fe4fe2b579
https://github.com/llvm/llvm-project/commit/5ab9cbe41b7fd8367ebd8f29ad11b6fe4fe2b579
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
A llvm/test/CodeGen/ARM/fp-intrinsics-vector-v8.ll
A llvm/test/CodeGen/Thumb2/mve-intrinsics/strict-round.ll
Log Message:
-----------
[ARM] Precommit tests: strictfp rounding vector intrinsics (#180479)
Commit: 655b6fbd5c3431fecff5055614686b0b3f141456
https://github.com/llvm/llvm-project/commit/655b6fbd5c3431fecff5055614686b0b3f141456
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-12 (Thu, 12 Feb 2026)
Changed paths:
M lldb/include/lldb/API/SBProcessInfoList.h
M lldb/include/lldb/Breakpoint/StoppointHitCounter.h
M lldb/include/lldb/Core/AddressRangeListImpl.h
M lldb/include/lldb/Core/DebuggerEvents.h
M lldb/include/lldb/Core/Declaration.h
M lldb/include/lldb/Core/SourceLocationSpec.h
M lldb/include/lldb/Host/common/DiagnosticsRendering.h
M lldb/include/lldb/Host/common/ZipFileResolver.h
M lldb/include/lldb/Host/posix/Support.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedBreakpointInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterfaceUsages.h
M lldb/include/lldb/Symbol/SaveCoreOptions.h
M lldb/include/lldb/Symbol/SymbolLocator.h
M lldb/include/lldb/Target/RegisterTypeBuilder.h
M lldb/include/lldb/Target/TraceCursor.h
M lldb/include/lldb/Target/TraceDumper.h
M lldb/include/lldb/Target/TraceExporter.h
M lldb/include/lldb/Utility/AppleUuidCompatibility.h
M lldb/include/lldb/Utility/ErrorMessages.h
M lldb/include/lldb/Utility/FileSpecList.h
M lldb/include/lldb/Utility/ScriptedMetadata.h
M lldb/include/lldb/Utility/StreamBuffer.h
M lldb/include/lldb/Utility/XcodeSDK.h
M lldb/include/lldb/ValueObject/ValueObjectSynthetic.h
M lldb/source/Commands/CommandObjectProtocolServer.h
M lldb/source/Commands/CommandObjectRegexCommand.h
M lldb/source/Commands/CommandObjectScripting.h
M lldb/source/Host/macosx/objcxx/PosixSpawnResponsible.h
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.h
M lldb/source/Plugins/DynamicLoader/wasm-DYLD/DynamicLoaderWasmDYLD.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionUtil.h
M lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.h
M lldb/source/Plugins/Highlighter/Clang/ClangHighlighter.h
M lldb/source/Plugins/Highlighter/Default/DefaultHighlighter.h
M lldb/source/Plugins/Instruction/RISCV/RISCVCInstructions.h
M lldb/source/Plugins/Instruction/RISCV/RISCVInstructions.h
M lldb/source/Plugins/InstrumentationRuntime/BoundsSafety/InstrumentationRuntimeBoundsSafety.h
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/VerboseTrapFrameRecognizer.h
M lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.h
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.h
M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
M lldb/source/Plugins/Platform/WebAssembly/PlatformWasm.h
M lldb/source/Plugins/Platform/WebAssembly/PlatformWasmRemoteGDBServer.h
M lldb/source/Plugins/Process/Utility/NativeProcessSoftwareSingleStep.h
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.h
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm.h
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.h
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_loongarch.h
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_x86.h
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_ppc64.h
M lldb/source/Plugins/Process/mach-core/RegisterContextUnifiedCore.h
M lldb/source/Plugins/Process/scripted/ScriptedFrame.h
M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
M lldb/source/Plugins/Process/scripted/ScriptedThread.h
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.h
M lldb/source/Plugins/Protocol/MCP/Resource.h
M lldb/source/Plugins/Protocol/MCP/Tool.h
M lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.h
M lldb/source/Plugins/ScriptInterpreter/Lua/Lua.h
M lldb/source/Plugins/ScriptInterpreter/Lua/SWIGLuaBridge.h
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
M lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
M lldb/source/Plugins/SyntheticFrameProvider/ScriptedFrameProvider/ScriptedFrameProvider.h
M lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.h
M lldb/source/Plugins/Trace/common/ThreadPostMortemTrace.h
M lldb/source/Plugins/TraceExporter/common/TraceHTR.h
M lldb/source/Plugins/TraceExporter/ctf/CommandObjectThreadTraceExportCTF.h
M lldb/source/Plugins/TraceExporter/ctf/TraceExporterCTF.h
M lldb/source/Utility/WasmVirtualRegisters.h
Log Message:
-----------
[lldb] Fix LLDB header guards (NFC) (#181312)
Fix LLDB header guards using clang-tidy's llvm-header-guard check. A
bunch of headers have been moved or renamed and we often forget to
update the header guard.
Commit: da6851f9ef365a87951a4a4306705e30f5ee62a2
https://github.com/llvm/llvm-project/commit/da6851f9ef365a87951a4a4306705e30f5ee62a2
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M lldb/source/API/SBFile.cpp
Log Message:
-----------
[lldb] Fix typo: transfer_owndership -> transfer_ownership (NFC) (#181314)
Commit: 54c080da2ccaf59f0636d2e7d6c789a634a5c47e
https://github.com/llvm/llvm-project/commit/54c080da2ccaf59f0636d2e7d6c789a634a5c47e
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M mlir/tools/mlir-tblgen/DialectGen.cpp
Log Message:
-----------
[MLIR][ODS] Make dialect attribute helper member functions const (NFC) (#181111)
This commit marks member functions of dialect attribute helpers as
constant. This ensures that these helpers can be used as members of
rewrite patterns, whose `matchAndRewrite` functions are marked as const
as well.
Commit: 29b363ea640f7a02987e3786d26538af14428c24
https://github.com/llvm/llvm-project/commit/29b363ea640f7a02987e3786d26538af14428c24
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/CodeGenCXX/cxx2a-consteval.cpp
Log Message:
-----------
[clang][bytecode] Don't check lvalue expressions for initialization (#181309)
We're not reading from them, so they don't need to be fully initialized.
Commit: 8d5a58ee8567df51db9c9a3d2c30c2af105ef3fd
https://github.com/llvm/llvm-project/commit/8d5a58ee8567df51db9c9a3d2c30c2af105ef3fd
Author: David Green <david.green at arm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
Log Message:
-----------
[AArch64] Even more fcmp+select tests. NFC
This time from known bits.
Commit: b9f4c7887380ea52c0ce101548db584d329fdd70
https://github.com/llvm/llvm-project/commit/b9f4c7887380ea52c0ce101548db584d329fdd70
Author: Hugo Rambure <32395687+Nodli at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
Log Message:
-----------
[clangd] Respect ArgumentLists setting for lambdas (#181009)
Fixes https://github.com/clangd/clangd/issues/1861
Commit: 25a56fbd15dfbd4954ae168a8ce656823d76d3f8
https://github.com/llvm/llvm-project/commit/25a56fbd15dfbd4954ae168a8ce656823d76d3f8
Author: Alex Wang <yesterda9 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.cpp
M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy] Fix bugprone-bad-signal-to-kill-thread not working in clangd (#180711)
After preamble deserialization, `Token::getLiteralData()` returns
`nullptr` for macro tokens defined in headers. Fall back to
`SourceManager` to retrieve the token text from the source buffer.
Fixes https://github.com/clangd/clangd/issues/2473
Commit: 420047c4cc90508614ff88c7e8defd7967ef9274
https://github.com/llvm/llvm-project/commit/420047c4cc90508614ff88c7e8defd7967ef9274
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/test/CodeGen/AArch64/sve-mask-partition.ll
Log Message:
-----------
[AArch64] Fix active.lane.mask(0, cttz.elts(x)) -> 'brkb' transform (#180177)
If the result type and mask don't match, the transform is not valid.
Commit: 5629f4e9d10e5ffe65e52057a02b984012b4abf9
https://github.com/llvm/llvm-project/commit/5629f4e9d10e5ffe65e52057a02b984012b4abf9
Author: Christian Sigg <csigg at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port a1d7cda.
Commit: e2cc034ba7716478b5555090a2990294e3cec479
https://github.com/llvm/llvm-project/commit/e2cc034ba7716478b5555090a2990294e3cec479
Author: Christian Sigg <csigg at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Fix 22a3f7b.
Commit: 25ea9206993134e1e93e840f3391aa35204a5204
https://github.com/llvm/llvm-project/commit/25ea9206993134e1e93e840f3391aa35204a5204
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/complex.cpp
Log Message:
-----------
[clang][bytecode] Fix already initializing _Complex UO_Not (#181323)
We'd accidentally leave the subexpr pointer on the stack.
Commit: 8f22e431476698197ddc13d3caa87e7b84254667
https://github.com/llvm/llvm-project/commit/8f22e431476698197ddc13d3caa87e7b84254667
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/complex.c
Log Message:
-----------
[clang][bytecode] Fix multi-word complex division (#181325)
Looks like I forgot about `isZero()` when writing this.
Commit: eb30b5cf0b38828090f61f00adb4a7144ddc4231
https://github.com/llvm/llvm-project/commit/eb30b5cf0b38828090f61f00adb4a7144ddc4231
Author: David Green <david.green at arm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
Log Message:
-----------
[AArch64] Lower SETLE and SETLT vector CondCodes to FCMGT/FCMGE directly.
We previously checked that the compare was NoNan, but the "don't care"
condition codes can be set from known-values as well as nnan instructions.
Lower the vector condition codes directly so that they do not get scalarized
into many scalar instructions.
Commit: 6906c5c0338b74750bba745725a1254d918620f0
https://github.com/llvm/llvm-project/commit/6906c5c0338b74750bba745725a1254d918620f0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Fix __builtin_nan* for non-primitive arrays (#181326)
They might've been casted, so we need t check for it, not assert.
Commit: ac6382425e6c9849387ae0fc4bbaa6127c458af0
https://github.com/llvm/llvm-project/commit/ac6382425e6c9849387ae0fc4bbaa6127c458af0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/invalid.cpp
Log Message:
-----------
[clang][bytecode] Check for invalid call expressions (#181327)
Commit: ca8082f3564a3274094aa9eb4c3997142f8df2f9
https://github.com/llvm/llvm-project/commit/ca8082f3564a3274094aa9eb4c3997142f8df2f9
Author: hanbeom <kese111 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/and-xor-merge.ll
Log Message:
-----------
[InstCombine] Fold ((X + AddC) & Mask) ^ Mask to (~AddC - X) & Mask (#174278)
This patch optimizes specific pattern.
((X + AddC) & Mask) ^ Mask
-> (~AddC - X) & Mask
Proof: https://alive2.llvm.org/ce/z/XFHfnD
Fixed: https://github.com/llvm/llvm-project/issues/128475
Commit: 2435a6856b92fad20e8e121c0e1e0270180b9e06
https://github.com/llvm/llvm-project/commit/2435a6856b92fad20e8e121c0e1e0270180b9e06
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/test/AST/ByteCode/vectors.cpp
Log Message:
-----------
[clang][bytecode] Strip atomicity in Descriptor::getElemQualType() (#181328)
The later check for VectorType fails otherwise.
Commit: 0f8325c9a9647e9c97bc81e368767fb21ee25ccf
https://github.com/llvm/llvm-project/commit/0f8325c9a9647e9c97bc81e368767fb21ee25ccf
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
A llvm/test/Analysis/CostModel/WebAssembly/extract-last-active.ll
Log Message:
-----------
Revert "[WebAssembly] Mark extract.last.active as having invalid cost." (#180942)
The failures should have been resolved with #180290 (which also added
WebAssembly tests).
This reverts commit 811fb223af2b3e2d68c99b346f4b75dcf3de3417.
Commit: b58a31d3cec8f42d8222ff86e8340c9a926f5224
https://github.com/llvm/llvm-project/commit/b58a31d3cec8f42d8222ff86e8340c9a926f5224
Author: fineg74 <61437305+fineg74 at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M offload/CMakeLists.txt
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/host/src/rtl.cpp
M offload/unittests/OffloadAPI/CMakeLists.txt
A offload/unittests/OffloadAPI/device/olGetHostInfo.cpp
Log Message:
-----------
[OFFLOAD] Add support for host offloading device (#177307)
The purpose of this PR is to add support of host as an offloading device
to liboffload. Both OpenMP and sycl support offloading to a host as
their normal workflow and therefore would require such capability from
liboffload library.
Commit: 900fac763f65774042502d62b80233fb107c65b4
https://github.com/llvm/llvm-project/commit/900fac763f65774042502d62b80233fb107c65b4
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Check strlen element size (#181333)
We're otherwise running into an assertion later, so do the check early.
Commit: a7a249f072461bbb2a429848bb31682d0b9a93a4
https://github.com/llvm/llvm-project/commit/a7a249f072461bbb2a429848bb31682d0b9a93a4
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M libcxx/include/__filesystem/path.h
Log Message:
-----------
[libc++][NFC] Simplify some overloads in fs::path a bit (#181053)
We can use `if constexpr` instead, removing a bit of code and making
things easier to read.
Commit: 0ad941a98b69b9581f1f1663b088d4fa16960606
https://github.com/llvm/llvm-project/commit/0ad941a98b69b9581f1f1663b088d4fa16960606
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
R llvm/test/Analysis/CostModel/WebAssembly/extract-last-active.ll
Log Message:
-----------
Revert "Revert "[WebAssembly] Mark extract.last.active as having invalid cost."" (#181342)
Reverts llvm/llvm-project#180942
Looks like something changed the cost model. Will investigate later.
Commit: d7d4e4ace55cb6f1f727d1053e9d409882453b20
https://github.com/llvm/llvm-project/commit/d7d4e4ace55cb6f1f727d1053e9d409882453b20
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M libcxx/include/__charconv/from_chars_integral.h
Log Message:
-----------
[libc++][NFC] Don't use copy_n to copy a single integer in __sign_combinator (#181119)
We can just assign the integer directly.
Commit: c2b69b1a173704e246f7501f8e87268ff6afcd01
https://github.com/llvm/llvm-project/commit/c2b69b1a173704e246f7501f8e87268ff6afcd01
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Do a full CheckLoad in builtin_memcmp() (#181337)
This handles unknown size arrays as well and prints the expected
diagnostics.
Commit: e0182ebd40066fedc282f9cb06cbec48b6f827dc
https://github.com/llvm/llvm-project/commit/e0182ebd40066fedc282f9cb06cbec48b6f827dc
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M offload/CMakeLists.txt
Log Message:
-----------
[OFFLOAD] Fix issue where host plugin is added twice to the plugin list (#181346)
Commit: fe413f70fe594fcc53519fc685a0de36a8cbcb36
https://github.com/llvm/llvm-project/commit/fe413f70fe594fcc53519fc685a0de36a8cbcb36
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Transforms/IndVarSimplify/turn-to-invariant.ll
Log Message:
-----------
[SCEV] Discard samesign when analyzing loop invariant exits (#181171)
If the predicate has samesign set, we could either perform the checks
with the unsigned predicate and return and unsigned invariant predicate,
or we could perform them with the signed predicate and return a signed
invariant predicate. The current implementation can end up mixing both,
using a signed predicate for one check and an unsigned one for the
other.
Avoid this by dropping the samesign flag.
Fixes https://github.com/llvm/llvm-project/issues/180870.
Commit: a55fbab0cffc9b4af497b9e4f187b61143743e06
https://github.com/llvm/llvm-project/commit/a55fbab0cffc9b4af497b9e4f187b61143743e06
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-conditional-branches.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/pr141968-instsimplifyfolder.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/pr154045-dont-fold-extractelement-livein.ll
M llvm/test/Transforms/LoopVectorize/select-neg-cond.ll
Log Message:
-----------
[VPlan] Run initial recipe simplification on VPlan0. (#176828)
In some cases, LV gets simplifyable IR as input. Directly apply
simplifications on the initial VPlan0 to avoid vectorization in cases
where the loop body can be folded away.
Using the end-to-end pipeline, this is relatively rare, but when
reducing test cases, the reduction often ends up with cases with trivial
folds. Rejecting those will result in more robust & realistic test
cases.
As follow-up, I also plan to add initial dead recipe removal.
Depends on https://github.com/llvm/llvm-project/pull/176795.
PR: https://github.com/llvm/llvm-project/pull/176828
Commit: 7f932c24ad3ca5d961a3608151798d6828983e8c
https://github.com/llvm/llvm-project/commit/7f932c24ad3ca5d961a3608151798d6828983e8c
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
Log Message:
-----------
[OffloadWrapper] Avoid unnecessary zero-index GEPs
These are no-ops that will get optimized away.
Commit: cf95ad190e0d12d93d756556864fedda1a0d7ade
https://github.com/llvm/llvm-project/commit/cf95ad190e0d12d93d756556864fedda1a0d7ade
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
A llvm/test/tools/llubi/divrem_ub1.ll
A llvm/test/tools/llubi/divrem_ub2.ll
A llvm/test/tools/llubi/divrem_ub3.ll
A llvm/test/tools/llubi/divrem_ub4.ll
A llvm/test/tools/llubi/int_arith.ll
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Value.h
Log Message:
-----------
[llubi] Add support for integer arithmetic ops (#181224)
Commit: 655eddad9b135e9b51e85f3e5db646b92adf8e69
https://github.com/llvm/llvm-project/commit/655eddad9b135e9b51e85f3e5db646b92adf8e69
Author: Ryan Mansfield <ryan_mansfield at apple.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/test/tools/llvm-objdump/MachO/dis-symname.test
M llvm/tools/llvm-objdump/MachODump.cpp
M llvm/tools/llvm-objdump/MachODump.h
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[llvm-otool] Fix error messages to use -p instead of --dis-symname (#181225)
Also fixes llvm-objdump error messages to print --dis-symname instead of
single dash option.
Commit: c592866bbad0b63155612e8b9d8977e6e9db1070
https://github.com/llvm/llvm-project/commit/c592866bbad0b63155612e8b9d8977e6e9db1070
Author: Ayush Kumar Gaur <132849148+Ayush3941 at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExprCXX.cpp
A clang/test/SemaCXX/address-space-new-delete.cpp
Log Message:
-----------
[clang][Sema] Avoid assert when diagnosing address-space qualified new/delete (#178424)
### Whats the error
Clang could assert when diagnosing new or delete on types in
language-specific address spaces (e.g. OpenCL __local), instead of
emitting a normal error.
### Why it happened
The diagnostics used getAddressSpaceAttributePrintValue(), which assumes
target-specific address spaces and asserts for language-defined ones
like
OpenCL.
### Whats the Fix
Explicitly check for language defined address spaces in new/delete
diagnostics and emit the error directly, avoiding the crashing path, Add
a regression test.
Fixes #178319
Commit: aac8885d323172475fca41a8c03dea495187d10f
https://github.com/llvm/llvm-project/commit/aac8885d323172475fca41a8c03dea495187d10f
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaCXXScopeSpec.cpp
A clang/test/SemaCXX/GH167120.cpp
Log Message:
-----------
[clang] NestedNameSpecifier typo correction fix (#181239)
This stops typo correction from considering template parameters as
candidates for a NestedNameSpecifier when it has a prefix itself.
I think this is better than the alternative of accepting these
candidates, but otherwise droping the prefix, because it seems more
far-fetched that someone would actually try to refer to a template
parameter this way.
Since this regression was never released, there are no release notes.
Fixes #167120
Commit: 741a4daa84c602d4bdd838ad469aea95b9f1d46c
https://github.com/llvm/llvm-project/commit/741a4daa84c602d4bdd838ad469aea95b9f1d46c
Author: Tobias Ribizel <mail at ribizel.de>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/include/clang/Basic/SourceLocation.h
Log Message:
-----------
[clang] Clarify SourceLocation and (Char)SourceRange docs (#177400)
The current documentation leaves some questions unanswered to me, which
I'm trying to clarify here.
1. It was unclear how SourceLocation differed when referring to the
character level vs. the token level. Turns out there is no such
difference, and SourceLocation always refers to characters. This should
be made explicit in the docs.
2. It was unclear in which cases (Char)SourceRange is inclusive
(containing the endpoint) or exclusive (ending before the endpoint).
>From my reading of the docs and investigating the behavior of different
AST nodes' `getSourceLoc()` result and `Lexer::getSourceText()`,
SourceRange is always inclusive and CharSourceRange is inclusive only as
a TokenRange, and exclusive as a CharRange. This is also consistent
matches with the documentation of the clang::transformer::after()
function in RangeSelector.h, where the question of inclusive/exclusive
ranges came up first for me.
Commit: e0293fc7a55aa880d1bb67d31775bdbe85c672d1
https://github.com/llvm/llvm-project/commit/e0293fc7a55aa880d1bb67d31775bdbe85c672d1
Author: fineg74 <61437305+fineg74 at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M openmp/runtime/src/include/ompx.h.var
Log Message:
-----------
[OFFLOAD] Add support for SPIRV to ompx (#179849)
After adding support to build device RTL for SPIRV, this PR will make an
ompx to use the DeviceRTL API when compiled for SPIRV
Commit: b447f5d9763010f8c6806c578533291aef2bd484
https://github.com/llvm/llvm-project/commit/b447f5d9763010f8c6806c578533291aef2bd484
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
A lldb/test/API/tools/lldb-dap/unknown/Makefile
A lldb/test/API/tools/lldb-dap/unknown/TestDAP_unknownRequest.py
A lldb/test/API/tools/lldb-dap/unknown/main.c
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
A lldb/tools/lldb-dap/Handler/UnknownRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[lldb-dap] Add unknown request handler (#181109)
Added unknown request handler to avoid crash. Returning error in this
case looks better than stopping entire debug session.
Commit: 80fffd527c20ac8970fbffc37c674caa17faa815
https://github.com/llvm/llvm-project/commit/80fffd527c20ac8970fbffc37c674caa17faa815
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M lldb/include/lldb/API/SBFrame.h
M lldb/include/lldb/Target/BorrowedStackFrame.h
M lldb/include/lldb/Target/StackFrame.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/API/SBFrame.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
M lldb/source/Plugins/Process/scripted/ScriptedFrame.h
M lldb/source/Target/BorrowedStackFrame.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/test/API/commands/frame/var-dil/basics/AddressOf/TestFrameVarDILAddressOf.py
M lldb/test/API/commands/frame/var-dil/basics/ArraySubscript/TestFrameVarDILArraySubscript.py
M lldb/test/API/commands/frame/var-dil/basics/LocalVars/TestFrameVarDILLocalVars.py
M lldb/test/API/commands/frame/var-dil/basics/MemberOf/TestFrameVarDILMemberOf.py
M lldb/test/API/commands/frame/var-dil/basics/PointerDereference/TestFrameVarDILPointerDereference.py
M lldb/test/API/commands/frame/var-dil/expr/Casts/TestFrameVarDILCast.py
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
Log Message:
-----------
[lldb] Add evaluation modes to DIL (#178747)
Adding more supported operators to DIL breaks tests in `DWIMPrint` and
`lldb-dap`, which shouldn't be simply adjusted for new DIL capabilities.
They act as a check for the boundaries of what subset of expressions
`DWIMPrint` and `lldb-dap` expect to be evaluated when using
`GetValueForVariableExpressionPath` function. With this patch, the
caller can now pick a mode that limits the expressions DIL can evaluate,
which ensures the expected preexisting behavior. More operators can now
be safely added to DIL, which can still be evaluated by DIL when using
`frame var` command or the API call with Full mode selected (or not
specified at all).
DIL will only attempt evaluating expressions that contain operations
allowed by a selected mode:
- Simple: identifiers, operators: '.'
- Legacy: identifiers, integers, operators: '.', '->', '*', '&', '[]'
- Full: everything supported by DIL
Commit: 36a4a55f580bc6fe7a86bf4b5ea447925c100197
https://github.com/llvm/llvm-project/commit/36a4a55f580bc6fe7a86bf4b5ea447925c100197
Author: Aadarsh Keshri <120744385+Aadarsh-Keshri at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/C/C2y/n3369.c
Log Message:
-----------
[Clang] Fix crash for _Countof(void) by correcting extension handling (#181169)
Fix a crash for _Countof(void) caused by incorrect extension handling in
CheckExtensionTraitOperandType.
Fixes #180893
Commit: 0d8d421d4eff42acb880b328acdf123bea0d0838
https://github.com/llvm/llvm-project/commit/0d8d421d4eff42acb880b328acdf123bea0d0838
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/tools/bugpoint/Miscompilation.cpp
Log Message:
-----------
[bugpoint] Remove unnecessary zero-index GEP
This is a no-op.
Commit: 778948f2d6d37aad710342a8e7480999ae019175
https://github.com/llvm/llvm-project/commit/778948f2d6d37aad710342a8e7480999ae019175
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/examples/BrainF/BrainF.cpp
Log Message:
-----------
[BrainF] Remove unnecessary zero-index GEP
This is a no-op.
Commit: a93e04cf8341242c551561dc2619943e1407a87b
https://github.com/llvm/llvm-project/commit/a93e04cf8341242c551561dc2619943e1407a87b
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
[AddressSanitizer] Remove unnecessary zero-index GEP
This is a no-op.
Commit: a17ffaf9d08a1a88fba522acfb6bd19b5ec90c24
https://github.com/llvm/llvm-project/commit/a17ffaf9d08a1a88fba522acfb6bd19b5ec90c24
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
Log Message:
-----------
[AMDGPU] Avoid unnecessary zero-index GEPs
These are no-ops.
Commit: b16e7de0f20756846d13b2913fd2f46b8d9c14d4
https://github.com/llvm/llvm-project/commit/b16e7de0f20756846d13b2913fd2f46b8d9c14d4
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/include/clang/CIR/ABIArgInfo.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDataLayout.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/test/CIR/CodeGen/assign-operator.cpp
M clang/test/CIR/CodeGen/basic.cpp
M clang/test/CIR/CodeGen/bitfields.cpp
M clang/test/CIR/CodeGen/call-via-class-member-funcptr.cpp
M clang/test/CIR/CodeGen/call.cpp
M clang/test/CIR/CodeGen/complex.cpp
M clang/test/CIR/CodeGen/coro-task.cpp
M clang/test/CIR/CodeGen/cxx-conversion-operators.cpp
M clang/test/CIR/CodeGen/cxx-rewritten-binary-operator.cpp
M clang/test/CIR/CodeGen/cxx-special-member-attr.cpp
M clang/test/CIR/CodeGen/derived-to-base.cpp
M clang/test/CIR/CodeGen/dtors.cpp
M clang/test/CIR/CodeGen/dynamic-cast-exact.cpp
M clang/test/CIR/CodeGen/forrange.cpp
M clang/test/CIR/CodeGen/goto.cpp
M clang/test/CIR/CodeGen/if.cpp
M clang/test/CIR/CodeGen/inline-attributes.cpp
M clang/test/CIR/CodeGen/inline-cxx-func.cpp
M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
M clang/test/CIR/CodeGen/lambda.cpp
M clang/test/CIR/CodeGen/new.cpp
M clang/test/CIR/CodeGen/no-odr-use.cpp
M clang/test/CIR/CodeGen/pack-indexing.cpp
A clang/test/CIR/CodeGen/ret-attrs.cpp
M clang/test/CIR/CodeGen/string-literals.cpp
M clang/test/CIR/CodeGen/struct-init.cpp
M clang/test/CIR/CodeGen/template-specialization.cpp
M clang/test/CIR/CodeGen/temporary-materialization.cpp
M clang/test/CIR/CodeGen/ternary.cpp
M clang/test/CIR/CodeGen/unary.cpp
M clang/test/CIR/CodeGen/variable-decomposition.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512bw-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
M clang/test/CIR/CodeGenBuiltins/builtin_call.cpp
M clang/test/CIR/CodeGenBuiltins/builtin_new_delete.cpp
M clang/test/CIR/CodeGenCUDA/kernel-call.cu
M clang/test/CIR/CodeGenOpenACC/atomic-capture.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-write.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
M clang/test/CIR/func-simple.cpp
Log Message:
-----------
[CIR] Implement func/call return-attributes (#181052)
This patch implements the infrastructure for return attributes on
function/call operations, a little of the common infrastructure for arg
attributes on the same, and 4 return attributes lowering: noundef
nonnull
dereferenceable
align
These 4 common attributes are all pretty reasonable/common, so these
will change a lot of tests.
This patch chooses to just use the LLVM-IR-Dialect variant of these
attributes (as a NamedAttr), which means no changes to the dialect or
lowering are necessary.
Commit: 32c79e0e9cc67b2f531fbcd1991d1c5a912e1313
https://github.com/llvm/llvm-project/commit/32c79e0e9cc67b2f531fbcd1991d1c5a912e1313
Author: GkvJwa <gkvjwa at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
M clang/test/CodeGenCXX/exceptions-seh.cpp
Log Message:
-----------
[WinEH] Only emit err_seh_object_unwinding when CXXExceptions are enabled (#180959)
Based on the PR(https://github.com/llvm/llvm-project/pull/180108)
discussion, it has been modified to check when `/EH*` is enabled.
Although `/EHsc` `/EHs` are slightly different from `/EHa`, and the
changes here have different effects than `/EHa` when these two switches
are enabled, we are still considering supporting this situation, and we
will improve support for `/EHs*` in the future.
Commit: 855be5f2fbb57ba66a0d5a14e8d87b0eab523b60
https://github.com/llvm/llvm-project/commit/855be5f2fbb57ba66a0d5a14e8d87b0eab523b60
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
Log Message:
-----------
[ShadowStackGCLowering] Remove unnecessary zero-index GEP
This is a no-op.
Commit: 5e706e1b4ba428fa21cbd51f1e41e01ade2310a7
https://github.com/llvm/llvm-project/commit/5e706e1b4ba428fa21cbd51f1e41e01ade2310a7
Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaStmt.cpp
M clang/test/SemaCXX/warn-loop-analysis.cpp
Log Message:
-----------
[Clang] enhance loop analysis to handle variable changes inside lambdas (#135573)
Fixes #132038
---
This PR extends `-Wloop-analysis` to handle variable modifications
inside lambda expressions.
Commit: 05ea779fcf475b7edd7e27c11966366be1aa01f5
https://github.com/llvm/llvm-project/commit/05ea779fcf475b7edd7e27c11966366be1aa01f5
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M openmp/runtime/cmake/LibompMicroTests.cmake
Log Message:
-----------
[openmp] Remove perl mentions (#181371)
These tests were converted from Perl to Python in #95307, so there is no
perl dependency here anymore. (I omitted an explicit mention of Python
here, as that's a general dependency anyway.)
Commit: 40c778ad1d8013db79a7adcfc2db1dcdbdde5111
https://github.com/llvm/llvm-project/commit/40c778ad1d8013db79a7adcfc2db1dcdbdde5111
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M libcxx/test/std/ranges/range.factories/range.iota.view/indices.pass.cpp
Log Message:
-----------
[libc++][NFC] Remove already fixed FIXME from range.iota.view/indices.pass.cpp (#181344)
Commit: a820c8b676854170f88c11560122c6fa8b67d130
https://github.com/llvm/llvm-project/commit/a820c8b676854170f88c11560122c6fa8b67d130
Author: Christian Sigg <csigg at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port a1d7cda.
Commit: 320d0b5467b9586a188e06dd2620126f5cb99318
https://github.com/llvm/llvm-project/commit/320d0b5467b9586a188e06dd2620126f5cb99318
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/Analysis/indirect-goto-basics.c
A clang/test/Analysis/switch-basics.c
Log Message:
-----------
[NFCI][analyzer] Regularize NodeBuilder classes (#180960)
This commit removes virtual methods from the `NodeBuilder` class
hierarchy (because they were only relevant for the "enclosing builder"
feature of `StmtNodeBuilder` which was not used anywhere), then moves
the classes `IndirectGotoNodeBuilder` and `SwitchNodeBuilder` into this
hierarchy. (Previously they were independent classes with some
duplicated logic in the `generateNode()`-like functions.)
Updating `SwitchNodeBuilder` is a prerequisite for activating the
`BranchCondition` checkers on the condition of the `switch` statement
because `CheckerContext` requires the presence of a `NodeBuilder`.
Updating `IndirectGotoNodeBuilder` doesn't have any analogous goals --
I'm just doing it for the sake of consistency.
I also added some very basic tests because this area wasn't properly
covered by the old tests.
I'm planning to do more cleanup (e.g. the removal of `StmtNodeBuilder`)
in follow-up commits.
Commit: ca8a6b8cb14e7006b041da889ba16110ec2cd673
https://github.com/llvm/llvm-project/commit/ca8a6b8cb14e7006b041da889ba16110ec2cd673
Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/constexpr-vectors-access-elements.cpp
Log Message:
-----------
[Clang] fix crash when constexpr evaluation encounters uninitialized GCC vector (#180293)
Fixes #180044
---
This patch addresses the regression caused by
https://github.com/llvm/llvm-project/commit/77534291fcbd2c784c54e39a60895e4f60f19742.
The crash happens because
https://github.com/llvm/llvm-project/blob/85d94e17144f2ca250c91b827b59e6ddea675d31/clang/lib/AST/ExprConstant.cpp#L4294
tries to read a vector element when the `APValue` is still
`Indeterminate` or `Absent`. These changes _populate_ vector `APValue`
to ensure elements exist before access.
Commit: 637e9bdd7c2269c16cf37ea910ee6804e7d191ff
https://github.com/llvm/llvm-project/commit/637e9bdd7c2269c16cf37ea910ee6804e7d191ff
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M libcxx/utils/ci/lnt/run-benchmarks
Log Message:
-----------
[libc++] Run all the microbenchmarks in run-benchmarks (#181374)
Running all the benchmarks does not significantly increase the total
time, and it ensures that what we upload to LNT corresponds exactly to
what's in the test suite.
Commit: 892ac614bf8fafd4d13381bb45b369721309785a
https://github.com/llvm/llvm-project/commit/892ac614bf8fafd4d13381bb45b369721309785a
Author: Fateme Hosseini <Fhossein at qti.qualcomm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/CMakeLists.txt
M llvm/lib/Target/Hexagon/Hexagon.h
A llvm/lib/Target/Hexagon/HexagonGlobalScheduler.cpp
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/test/CodeGen/Hexagon/autohvx/hfsplat.ll
A llvm/test/CodeGen/Hexagon/avoid-debug-increment.mir
M llvm/test/CodeGen/Hexagon/cext-check.ll
A llvm/test/CodeGen/Hexagon/dbg-label-pullup.ll
A llvm/test/CodeGen/Hexagon/global-sched-skip-vsub_fake.ll
A llvm/test/CodeGen/Hexagon/pull-delayed-new.mir
A llvm/test/CodeGen/Hexagon/pull-no-comp-code.ll
A llvm/test/CodeGen/Hexagon/pull-up-dbg-label.mir
A llvm/test/CodeGen/Hexagon/pull-up-slots.mir
A llvm/test/CodeGen/Hexagon/pull-up.ll
Log Message:
-----------
Add HexagonGlobalScheduler pass (#180803)
This patch adds the HexagonGlobalScheduler, a post-packetization pass
that performs global instruction scheduling and pull-up optimizations to
improve packet density on Hexagon VLIW architecture.
The scheduler operates on scheduling regions (super-blocks with single
entry and multiple exits) and attempts to move instructions across basic
blocks to fill packet slots more efficiently. It supports both
speculative and predicative scheduling modes.
Key features:
- Global instruction scheduling across basic blocks
- Speculative scheduling with safety checks
- Predicative scheduling using predication
- Local pull-up within basic blocks
- Dual jump formation
- Branch optimizations
- Liveness preservation using HexagonLiveVariables
The pass depends on HexagonLiveVariables and HexagonGlobalRegion
infrastructure for maintaining correct liveness information when moving
instructions across basic block boundaries.
This patch also adds two helper functions to HexagonRegisterInfo that
are required by the scheduler to prevent correctness issues.
1. isGlobalReg(MCPhysReg Reg) - Returns true for reserved physical
registers (R29, R30, R31) that are live across function calls. This
prevents the scheduler from incorrectly speculating instructions that
modify the stack pointer or frame pointer.
2. isFakeReg(MCPhysReg Reg) - Returns true for fake HVX registers
(VF0-VF31, VFR0-VFR31) used as sub-registers in vector pairs. This
prevents crashes when the scheduler processes HVX vector operations by
skipping these internal bookkeeping registers.
The scheduler runs in the pre-emit pipeline after packetization and is
only active when optimizations are enabled.
Patch by Sergei Larin <slarin at qti.qualcomm.com>
Co-authored-by: Ikhlas Ajbar <iajbar at qti.qualcomm.com>
Co-authored-by: Krzysztof Parzyszek <kparzysz at codeaurora.org>
Commit: 424686a62d0e42cc44f45809684c61a4f642d49b
https://github.com/llvm/llvm-project/commit/424686a62d0e42cc44f45809684c61a4f642d49b
Author: Twice <twice at apache.org>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M mlir/docs/Bindings/Python.md
Log Message:
-----------
[MLIR][Docs] Add docs about Python-defined dialects (#181372)
This PR adds documentation to the MLIR Python bindings introducing
support for Python-defined dialects (initially introduced in #169045).
Commit: ec0b22ff472368e11de25e0f9d38527c937500f2
https://github.com/llvm/llvm-project/commit/ec0b22ff472368e11de25e0f9d38527c937500f2
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/pr44488-predication.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
Log Message:
-----------
[VPlan] Reuse introduces-broadcast logic in narrowToSingleScalars (#174444)
narrowToSingleScalarRecipes' operands check is a bit too restrictive by
permitting a single user. Factor out and reuse the existing
introduces-broadcast logic to improve results.
Commit: 0b887beebe7818cf545d0a784e1ff09675b5d6fb
https://github.com/llvm/llvm-project/commit/0b887beebe7818cf545d0a784e1ff09675b5d6fb
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
Log Message:
-----------
[gn build] Port 892ac614bf8f
Commit: 04fbb1dba583919939eafeb0ec6241e062e61371
https://github.com/llvm/llvm-project/commit/04fbb1dba583919939eafeb0ec6241e062e61371
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/concat-nested-namespaces/modernize-concat-nested-namespaces.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/pass-by-value/header-with-fix.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/pass-by-value/header.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-multi-fixes.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/Inputs/unnecessary-value-param/header.h
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/duplicate-include.cpp
Log Message:
-----------
[clang-tidy] Header check support for check_clang_tidy.py (#175735)
As of AI-Usage: Gemini CLI was used for pre-commit review and finding
testcases that need to be updated.
Closes [#133515](https://github.com/llvm/llvm-project/issues/133515)
---------
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Commit: 94b5adc01eddc5f96aabc0c2becf39880192a4e1
https://github.com/llvm/llvm-project/commit/94b5adc01eddc5f96aabc0c2becf39880192a4e1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/utils/git/requirements_formatting.txt
M llvm/utils/git/requirements_formatting.txt.in
Log Message:
-----------
[Github] Update requirements_formatting.txt (#181184)
We should not need to be explicitly adding transitive dependencies to
requirements_formatting.txt.in to enforce a higher version is used. We
also should always be using == to ensure a strict version match, not
just a compatible version (~=). This patch removes transitive
dependencies introduced in 6fdf93c5d812197dd5dc9362f324b944105b2e8e and
updates the lockfile (although only unnecessary packages are removed).
Commit: 8c162b70ac02a9b3b7b167c5f500f4707b730baa
https://github.com/llvm/llvm-project/commit/8c162b70ac02a9b3b7b167c5f500f4707b730baa
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M lldb/include/lldb/Core/SourceManager.h
M lldb/source/Core/SourceManager.cpp
M lldb/source/Target/StackFrame.cpp
Log Message:
-----------
[lldb] Pass the frame's language type to the highlighter (#181094)
This threads the frame's language type through the source manager to the
highlighter. Previously, we'd always pass "unknown" as the language type
and rely on the language plugin to figure out the language based on the
file extension.
This change is motivated by #170250. For languages like Swift or Rust
that don't have an upstream language plugin, we need the frame's
language for syntax highlighting.
Commit: ede1a9626b898b1fcddb1aa5f82755a50f16841e
https://github.com/llvm/llvm-project/commit/ede1a9626b898b1fcddb1aa5f82755a50f16841e
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/VPlan/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
M llvm/test/Transforms/LoopVectorize/multi_early_exit.ll
M llvm/test/Transforms/LoopVectorize/multiple-early-exits.ll
M llvm/test/Transforms/LoopVectorize/unsupported_early_exit.ll
Log Message:
-----------
[LV] Vectorize early exit loops with multiple exits. (#174864)
Building on top of the recent changes to introduce BranchOnTwoConds,
this patch adds support for vectorizing loops with multiple early exits,
all dominating a countable latch. The early exits must form a
dominance chain, so we can simply check which early exit has been taken
in dominance order.
Currently LoopVectorizationLegality ensures that all exits other than
the latch must be uncountable. handleUncountableEarlyExits now collects
those uncountable exits and processes each exit.
In the vector region, we compute if any exit has been taken, by taking
the OR of all early exit conditions (EarlyExitConds) and checking if
there's
any active lane.
If the early exit is taken, we exit the loop and compute which early
exit
has been taken. The first taken early exit is the one where its exit
condition is true in the first active lane of EarlyExitConds.
We create a chain of dispatch blocks outside the loop to check this for
the early exit blocks ordered by dominance.
Depends on https://github.com/llvm/llvm-project/pull/174016.
PR: https://github.com/llvm/llvm-project/pull/174864
Commit: 9deb4fda30be47e4aea5671055a0f655a048afdc
https://github.com/llvm/llvm-project/commit/9deb4fda30be47e4aea5671055a0f655a048afdc
Author: Felipe Quezada <felipe.quezada01 at outlook.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
A llvm/test/CodeGen/AMDGPU/twoaddr-regsequence-keep-copy-on-use.mir
Log Message:
-----------
[CodeGen][AMDGPU] TwoAddress: Only skip undef COPY at REG_SEQUENCE lowering when there is Live info or no uses for subreg (#175598)
Currently, the compiler doesn't create a COPY for undef operands while
lowering REG_SEQUENCE, and only if LIS information is available, it
propagates the undef flag to the subreg uses. So, if LIS isn't
available, we can end up with some uses without def of those lanes.
Now, we check which lanes are used in a single scan of
use_nodbg_operands() per REG_SEQ, and perform the skip of the COPY only
if LIS is avaible (as undef will be propagated later) or if there are no
uses for that lane.
There is still a scan of the use list, but now it's only one per REG_SEQ
and I think it's necessary, as there is no guarantee to have LIS or
other analysis pass information at this stage.
This is a proposal fix for issue:
https://github.com/llvm/llvm-project/issues/175596
---------
Co-authored-by: Carl Ritson <critson at perlfu.co.uk>
Commit: 59553fa27a52fd95d9f5386a4554e76f3a8e5c9a
https://github.com/llvm/llvm-project/commit/59553fa27a52fd95d9f5386a4554e76f3a8e5c9a
Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Lex/Preprocessor.cpp
M clang/test/Preprocessor/embed___has_embed_parsing_errors.c
M clang/test/Preprocessor/has_include.c
Log Message:
-----------
[clang] avoid reentering header-name lexing on nested macro expansion (#179151)
Fixes #178635
---
This PR addressed the issue when header-name _lexing_ reentered on
nested macro expansion.
`__has_include`/`__has_embed` lex a header name by calling
`LexHeaderName`, and neither expects nested expansion in that context.
If `__has_include` appears inside the header name expression (e.g.,
`__has_include(__has_include)`, or `__has_embed(__has_include)`)
https://github.com/llvm/llvm-project/blob/6a18039298174562a38f28ca06d12dcbf7f14f06/clang/lib/Lex/PPMacroExpansion.cpp#L1252
macro expansion reenters `LexHeaderName` and hits the assertion
https://github.com/llvm/llvm-project/blob/6a18039298174562a38f28ca06d12dcbf7f14f06/clang/lib/Lex/PPMacroExpansion.cpp#L1898
https://github.com/llvm/llvm-project/blob/6a18039298174562a38f28ca06d12dcbf7f14f06/clang/lib/Lex/PPMacroExpansion.cpp#L1156
Commit: d521863f089a1eb7ea35a1bf73eb9fde30c2c49c
https://github.com/llvm/llvm-project/commit/d521863f089a1eb7ea35a1bf73eb9fde30c2c49c
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-unify-ops.mlir
Log Message:
-----------
[MLIR][XeGPU] Add support for Convert Layout from Wg to Sg (#178922)
Commit: b217e5c5a035834a1fa11c092479a50f91d8f90d
https://github.com/llvm/llvm-project/commit/b217e5c5a035834a1fa11c092479a50f91d8f90d
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M openmp/runtime/test/tasking/issue-94260-2.c
Log Message:
-----------
[OpenMP][lit] Disable flaky test tasking/issue-94260-2.c (#176452)
The test sporadically fails on Linux. See
https://github.com/llvm/llvm-project/issues/176451 for more info.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: de9f320a3399adc49a4bf844b5ad76b873b3accc
https://github.com/llvm/llvm-project/commit/de9f320a3399adc49a4bf844b5ad76b873b3accc
Author: lonely eagle <2020382038 at qq.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
Log Message:
-----------
[mlir][irdl] Add IsolatedFromAbove trait to irdl.operation, irdl.attribute and irdl.type (#181108)
https://github.com/llvm/llvm-project/pull/180556 depend it.Prevent CSE
from hoisting pure operations from the irdl.operation region into the
irdl.dialect region. You can see
https://github.com/llvm/llvm-project/pull/180556#issuecomment-3889133389.
Commit: 2b5eb2dde2cdc98b4265d3b9940f235b51d38638
https://github.com/llvm/llvm-project/commit/2b5eb2dde2cdc98b4265d3b9940f235b51d38638
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/docs/ClangIRCleanupAndEHDesign.md
M clang/include/clang/CIR/Dialect/IR/CIROps.td
Log Message:
-----------
[CIR][docs] Add cir.catch_param to ClangIR cleanup and EH design doc (#181284)
This updates the ClangIR cleanup and exception handling design document
to describe the requirement to use cir.catch_param operations to begin
the catch regions of a cir.try operation in the structured form of CIR.
This also includes minor changes to the descriptions in the CIROps.td
definitions of cir.try and cir.catch_param
Commit: b39ab2e0ef601f563ec0ab0ae384b9b08730073a
https://github.com/llvm/llvm-project/commit/b39ab2e0ef601f563ec0ab0ae384b9b08730073a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/make-compressible-zilsd.mir
Log Message:
-----------
[RISCV] Use PADD_DW instead of ADDD for GPRPair copy on RV32 with P extension (#181316)
Commit: 211314d5824498e885c7d3d4fb5a77924e064ab4
https://github.com/llvm/llvm-project/commit/211314d5824498e885c7d3d4fb5a77924e064ab4
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/include/llvm/ADT/STLForwardCompat.h
M llvm/unittests/ADT/STLExtrasTest.cpp
M llvm/unittests/ADT/STLForwardCompatTest.cpp
Log Message:
-----------
[ADT] Add is_sorted_constexpr, equivalent to C++20 std::is_sorted (#180867)
`std::is_sorted` is not `constexpr` until Cpp20, so need custom `is_sorted_constexpr` function.
Commit: a1d12e944e8035d17166e78385ea5180e368e3f9
https://github.com/llvm/llvm-project/commit/a1d12e944e8035d17166e78385ea5180e368e3f9
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/test/Transforms/IndVarSimplify/unreachable-exit.ll
Log Message:
-----------
[NFC] [IndVars] test for multiple bounds for predicate-loop-traps
This can come from loops like
```
for (int i = 0; i < X; ++i) {
if (i < N)
__builtin_trap();
if (i < M)
__builtin_trap();
x[i] = y[i];
}
```
Reviewers: nikic
Reviewed By: nikic
Pull Request: https://github.com/llvm/llvm-project/pull/181264
Commit: da5e298dcc1015f20ee5f6990bc88c372bd3a97f
https://github.com/llvm/llvm-project/commit/da5e298dcc1015f20ee5f6990bc88c372bd3a97f
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[Sema][NFC] simplify deduceOpenCLAddressSpace (#181253)
All callers of deduceOpenCLAddressSpace passed some sort of VarDecl
(such as a ParmVarDecl), so the dynamic cast and indentation was
unnecessary.
Commit: e4c30c15c87fb42432a614805d2e48ef39a8da00
https://github.com/llvm/llvm-project/commit/e4c30c15c87fb42432a614805d2e48ef39a8da00
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
A llvm/test/CodeGen/SPIRV/function/variadics-lowering-namespace-printf.ll
M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
M llvm/test/CodeGen/SPIRV/printf.ll
Log Message:
-----------
[SPIRV] Extend lowering of variadic functions (#178980)
Variadic function lowering for SPIR-V was initially added in
https://github.com/llvm/llvm-project/pull/175076.
However, I tried a full OpenMP offloading example that includes a vararg
call and hit a few issues:
1) The OpenMP Deivce library function `ompx::printf` was incorrectly
being considered a builtin `printf` function that would be handled
specifically by the SPIR-V backend.
The fix here is to remove the `printf` special handling.
2) We were getting an assert in ModuleVerifier saying the LLVM lifetime
intrinsics were being called with an argument that was neither an
`alloca` ptr or `poison`. The problem is the `alloca` was replaced with
a SPIR-V intrinsic `alloca` in `SPIRVPrepareFunctions`, but the lifetime
intrinsic added in `ExpandVariadics` was not lowered to the SPIR-V
lifetime intrinsic since `ExpandVariadics` is run after
`SPIRVPrepareFunctions`,
The fix here is to just run `ExpandVariadics` first.
3) There were `va` intrinsics taking in a `addrspace(4)` pointer that
were not being expanded.
The fix here is to extend `ExpandVariadics` to support expanding `va`
intrinsics with target-specific address spaces.
---------
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 41c566e9e16489d599a9cf45e32a02aace925785
https://github.com/llvm/llvm-project/commit/41c566e9e16489d599a9cf45e32a02aace925785
Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Analysis/CFG.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/Analysis/auto-obj-dtors-cfg-output.cpp
M clang/test/Analysis/misc-ps-region-store.cpp
M clang/test/SemaCXX/return-noreturn.cpp
Log Message:
-----------
[Clang] eliminate -Winvalid-noreturn false positive after throw + unreachable try/catch blocks (#175443)
Fixes #174822
---
This PR fixes a false `-Winvalid-noreturn` positive when an
unconditional `throw` is followed by an unreachable `try`/`catch` block.
The false positive occurred because reachability analysis marked
`try`/`catch` regions as live even when unreachable via normal control
flow. The following logic
https://github.com/llvm/llvm-project/blob/1c0c9aeae681dbed90fcb19edd8a41e10a17f867/clang/lib/Sema/AnalysisBasedWarnings.cpp#L573-L589
that adjusted for missing `EH` call edges, treated disconnected `try` as
reachable.
CFG construction now keeps the `try` dispatch block as the join point of
the `try` statement and adds a successor for the `try` body. If the
`try` body is empty, an empty block is created and connected to the
successor. This prevents the `try` dispatch from becoming disconnected
and ensures that return paths in _function-try-blocks_
https://github.com/llvm/llvm-project/blob/1c0c9aeae681dbed90fcb19edd8a41e10a17f867/clang/test/SemaCXX/return-noreturn.cpp#L249-L264
Also, unreachable try/catch code after an unconditional `throw` is no
longer treated as reachable and no longer triggers a false positive
`-Winvalid-noreturn` warning.
Commit: 4d518e6c7a94661bc4caa8392aab08a7e41371cd
https://github.com/llvm/llvm-project/commit/4d518e6c7a94661bc4caa8392aab08a7e41371cd
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
A flang/test/Analysis/AliasAnalysis/modref-call-after-external-name-conversion.fir
Log Message:
-----------
[flang] Let FIR AA:getModRef recognize Fortran user procedures late. (#181295)
In order to use FIR AA::getModRef() after `ExternalNameConversion`
pass we have to teach it to recognize Fortran user procedures
that have already been renamed.
Commit: c776a52fa263999d4b14b6d7ce734384ef1c090d
https://github.com/llvm/llvm-project/commit/c776a52fa263999d4b14b6d7ce734384ef1c090d
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/test/CMakeLists.txt
A libc/test/lit.cfg.py
A libc/test/lit.site.cfg.py.in
A libc/utils/libctest/__init__.py
A libc/utils/libctest/format.py
Log Message:
-----------
[libc] Implement lit-based test execution for Libc (#178746)
This provides optional lit-based test execution for the LLVM Libc tests,
alongside the existing CMake-based test execution.
Usage:
ninja -C build check-libc-lit
cd build && bin/llvm-lit libc/test/src/
Partially addresses
[#118694](https://github.com/llvm/llvm-project/issues/118694). A future
PR once this lands will flip the default (per suggestion in the RFC)
Commit: b6cd2133d49c8b5e8375241cc2c101a1f1e960f8
https://github.com/llvm/llvm-project/commit/b6cd2133d49c8b5e8375241cc2c101a1f1e960f8
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.h
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/EHScopeStack.h
M clang/test/CIR/CodeGen/try-catch.cpp
Log Message:
-----------
[CIR] Simplify try-catch handling (#180857)
With the new exception handling device, we no longer need to track the
location of potential catch blocks, and so we no longer need to
represent catch handlers on the EH stack. This allows us to
significantly simplify the generation of try-catch blocks.
This change emits catch blocks directly when visiting the try operation
and removes unnecessary EH management code.
This is not an exhaustive cleanup of the EH management code. Some things
that may appear to be obvious simplifications (such as removing the
union of bitfields in EHScope, and possibly making EHScopeStack just a
stack of EHCleanups) are deferred until we have a better idea of how
things like EH filters will be implemented.
This change breaks lowering of cir.try operations to LLVM IR in a
somewhat trivial way. Even before this PR, lowering of `cir.try` ops
with catch handlers was not implemented. However, we had one test case
where the only call in a try-region was marked with the `noexcept`
attribute. Previously, we did not emit catch handlers in that
circumstance. Now we do. As such, nothing that previously worked is
broken by this patch, but there is one test that would now fail. I
handled this by removing the RUN line for lowering this test to LLVM IR.
I left the checks so this will be easy to re-enable when proper try-op
lowering is implemented.
Commit: 8de1a07d63ee1da54a88bf2f2d0e2bfaec39f061
https://github.com/llvm/llvm-project/commit/8de1a07d63ee1da54a88bf2f2d0e2bfaec39f061
Author: Hui <hui.xie1990 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M libcxx/src/atomic.cpp
A libcxx/test/std/thread/thread.semaphore/timed.hang.pass.cpp
Log Message:
-----------
[libc++] Fix semaphore timed wait hanging on Windows (#180398)
Fixes #180334
# Problem
The semaphore timed wait test is flaky on Windows. It hangs from time to
time.
Some examples:
[windows (clang-cl-no-vcruntime, false, clang-cl,
clang-cl)](https://github.com/llvm/llvm-project/actions/runs/21737380876/job/62707542836#logs)
[windows (mingw-static, true, cc,
c++)](https://github.com/llvm/llvm-project/actions/runs/21636063482/job/62367831823?pr=179483#logs)
[windows (clang-cl-static, false, clang-cl,
clang-cl)](https://github.com/llvm/llvm-project/actions/runs/21453876753/job/61794464147#logs)
[windows (clang-cl-dll, false, clang-cl,
clang-cl)](https://github.com/llvm/llvm-project/actions/runs/21382902941/job/61556154029#logs)
[windows (mingw-static, true, cc,
c++)](https://github.com/llvm/llvm-project/actions/runs/21365713577/job/61502377123#logs)
# Root Cause
The internal dylib function takes a timeout
```cpp
static void __platform_wait_on_address(void const* __ptr, void const* __val, uint64_t __timeout_ns)
```
We followed the same convention as `__libcpp_thread_poll_with_backoff`,
where we used `0ns` to indicate wait indefinitely until being notified.
```cpp
_LIBCPP_HIDE_FROM_ABI __poll_with_backoff_results __libcpp_thread_poll_with_backoff(
_Poll&& __poll, _Backoff&& __backoff, chrono::nanoseconds __max_elapsed = chrono::nanoseconds::zero())
```
This is problematic, if the caller indeed wants to wait `0ns` and passes
`0`, the internal dylib function `__platform_wait_on_address` would wait
indefinitely
```cpp
__timeout_ns == 0 ? INFINITE : static_cast<DWORD>(__timeout_ns / 1'000'000)
```
This is what actually happened here. So the fix is to update internal
dylib function to use `optional` and use `nullopt` to indicate wait
indefinitely
```cpp
static void __platform_wait_on_address(void const* __ptr, void const* __val, optional<uint64_t> __timeout_ns)
```
Edit: after code review, the code is updated to use tag type `NoTimeout`
to indicate "wait indefinitely". this is superior because it is coded
into the type system instead of runtime check
# Why `__libcpp_thread_poll_with_backoff` never suffered from this
problem?
`__libcpp_thread_poll_with_backoff` has this " `0ns` means wait
indefinitely " semantic for years (it has always been like that), but it
never causes issues. This is because, it has
```cpp
chrono::nanoseconds const __elapsed = chrono::high_resolution_clock::now() - __start;
if (__max_elapsed != chrono::nanoseconds::zero() && __max_elapsed < __elapsed)
return __poll_with_backoff_results::__timeout;
```
`__max_elapsed` is what user passed in, let's assume the user passed in
`0ns`, and `__elapsed` is certainly a positive number so it never goes
to the backoff function and directly returned. No hanging possible
# Why Windows and we passed in `0ns` ?
So in the test, we passed wait some time, say `1ms`, from the
`semaphore` public API, which calls `__libcpp_thread_poll_with_backoff`
with `1ms` timeout. `__libcpp_thread_poll_with_backoff` will do some
polling loops and then calling into the backoff function, platform timed
wait in this case, with timeout of `1ms - elapsed` , say `950us`.
However, Windows platform wait has millisecond precision, so `950us` is
rounded down to `0ms` (`static_cast<DWORD>(__timeout_ns / 1'000'000)`),
so the function call almost immediately returns, and
`__libcpp_thread_poll_with_backoff` will keep its polling loop like
this. As time goes by in the polling loop, the timeout for platform wait
will decrease from `950us` to smaller and smaller number.
In the `__libcpp_thread_poll_with_backoff`
```cpp
if (__max_elapsed != chrono::nanoseconds::zero() && __max_elapsed < __elapsed)
return __poll_with_backoff_results::__timeout;
if (auto __backoff_res = __backoff(__elapsed); __backoff_res == __backoff_results::__continue_poll)
```
`__max_elapsed` is user requested timeout, which is `1ms` in this case,
and `__elapsed` gradually increases and eventually, if it becomes
greater than `1ms`, we have `__max_elapsed < __elapsed`, it will return
and test passes. all Good. But there is a slim chance that on one loop,
`__elapsed` is exactly the same number of the user requested
`__max_elapsed` `1ms`, so `__max_elapsed == __elapsed`, this will make
the code path go to backoff platform wait, with the timeout
`__max_elapsed - __elapsed == 0ns`. So now we are requesting
`__platform_wait_on_address` to wait exactly `0ns`, and due to our
ambiguous API, `0ns` means wait indefinitely
```cpp
__timeout_ns == 0 ? INFINITE : static_cast<DWORD>(__timeout_ns / 1'000'000)
```
The test will just hang forever.
# Why not `__max_elapsed <= __elapsed` ?
in `__libcpp_thread_poll_with_backoff`, If we check `__max_elapsed <=
__elapsed` instead of `__max_elapsed < __elapsed`, we would avoid the
call to platform wait with `0ns`. But according to the standard, I think
the current `__max_elapsed < __elapsed` is more correct
> The timeout expires
([[thread.req.timing]](https://eel.is/c++draft/thread.req.timing)) when
the current time is after abs_time (for try_acquire_until) or when at
least rel_time has passed from the start of the function (for
try_acquire_for)[.](https://eel.is/c++draft/thread.sema#cnt-18.sentence-2)
https://eel.is/c++draft/thread.sema#cnt-18.2
So this **after** means that it needs strictly greater than i think.
# The Fix
The fix is to update the internal dylib API to use `nullopt` to indicate
wait indefinitely. So a call to platform wait with `0ns` will not cause
a hang.
Edit: after code review, the code is updated to use tag type `NoTimeout`
to indicate "wait indefinitely". this is superior because it is coded
into the type system instead of runtime check
I made a small change as well. it is very easy to get into a situation
where the requested platform wait timeout is `<1ms`, we will be keep
calling Windows platform wait with `0ns` because of the rounding, and
this is effectively a spin lock . I made a change such that if the
requested timeout is between `100us to 1ms`, just rounded up to `1ms` to
wait a bit longer (which is conforming IIUC) . let me know if this
change is necessary, happy to take this part out if it is not considered
good.
Commit: 7a2a3774a6b71266b86a87afab0bb24b104d6260
https://github.com/llvm/llvm-project/commit/7a2a3774a6b71266b86a87afab0bb24b104d6260
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M libcxx/test/benchmarks/adjacent_view_begin.bench.cpp
Log Message:
-----------
[libc++] Remove hardcoded -O3 from adjacent_view benchmark (#181376)
We don't hardcode optimization flags in the benchmarks, because we want
to be able to run the benchmarks with any optimization level. Instead,
we set the optimization level when running Lit via the --param
optimization=<speed|size|...> flag.
Commit: 19de5dd722a4919cf29e67aee22af006033f7f20
https://github.com/llvm/llvm-project/commit/19de5dd722a4919cf29e67aee22af006033f7f20
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang/include/flang/Runtime/CUDA/allocator.h
Log Message:
-----------
[flang][cuda] Add CUFSetAssociatedStream entry point (#181313)
Commit: 1d588c5c9b5042b1c11b9b9ce70d044fb3f750b0
https://github.com/llvm/llvm-project/commit/1d588c5c9b5042b1c11b9b9ce70d044fb3f750b0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Rename tablegen class VALU_MV_VS2->VEXT_MV_VS2. NFC
This better matches the scheduler model in the class.
Commit: f2903793debde9f41b9083df225c17491a0396c4
https://github.com/llvm/llvm-project/commit/f2903793debde9f41b9083df225c17491a0396c4
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC] Use static_assert to confirm SupportedOps is sorted (#181397)
Can be checked at compile time.
Commit: 620f162f8f13a6d8ee1ec19478bdd47466c5e50a
https://github.com/llvm/llvm-project/commit/620f162f8f13a6d8ee1ec19478bdd47466c5e50a
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M .github/workflows/issue-subscriber.yml
M .github/workflows/new-issues.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-subscriber.yml
M .github/workflows/release-asset-audit.yml
Log Message:
-----------
Revert "workflows: Use main-branch-only environment when using ISSUE_SUBSCRIBER_TOKEN (#179990)" (#181352)
This reverts commit 31f31dd9d0460834f2ae67247d3886fec4931d6d.
This commit was causing PRs to be spammed with messages like:
"llvmbot temporarily deployed to main-branch-only — with GitHub Actions
Inactive"
This was causing confusion, and is not worth the marginal security
benefit. I also think this can be avoided by using called workflows, but
I still need to investigate this.
Commit: fbf5bac1079be628111e8a3f1747d66b227017ca
https://github.com/llvm/llvm-project/commit/fbf5bac1079be628111e8a3f1747d66b227017ca
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M .github/workflows/commit-access-review.yml
Log Message:
-----------
workflows/commit-access-review: Use a GitHub App access token instead of llvmbot (#179364)
This replaces the use of an access token associated with the llvmbot
account with one that is generated by a GitHub App. This is slightly
better, because it eliminates the need to periodically rotate the
llvmbot tokens, which is difficult to do, since it requires sharing a
password and 2fa code among all the admins.
The tokens generated by the app automatically expire after an hour, and
the private key that is used to request it can be easily rotated by an
LLVM Organization owner. Also, since a single private key can be used to
generate many tokens, there is only one secret to rotate instead of
many.
Commit: de1b63ec5dad4f97368313e06edf221bd8dbf467
https://github.com/llvm/llvm-project/commit/de1b63ec5dad4f97368313e06edf221bd8dbf467
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/test/CIR/CodeGen/try-catch-tmp.cpp
Log Message:
-----------
[CIR][NFC] Fix try-catch-tmp.cpp test (#181402)
This test was failing due to its CI having been run before another
change was committed that added attributes to return values. This
removes unnecessary checks to make the test pass again.
Commit: 375f1995224ce8bd52e97c7898a22564bee15056
https://github.com/llvm/llvm-project/commit/375f1995224ce8bd52e97c7898a22564bee15056
Author: Yue Huang <30948580+AdUhTkJm at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
M mlir/unittests/Analysis/Presburger/IntegerRelationTest.cpp
Log Message:
-----------
[MLIR][Presburger] Fix full dimension check (#175422)
Currently, the code mistakenly thinks `(x): (1 >= 0)` as
non-full-dimensional.
The code determines full-dimensionality by testing whether an inequality
is flat, i.e. takes the same value regardless of variable assignments.
However, `1 >= 0` is obviously flat, and this case should be ignored
since it didn't involve any variables.
To remove these inequalities, we can call `removeTrivialRedundancy`.
Commit: 648bd564d0bd66b4cc1b0a6607a15e15b3171204
https://github.com/llvm/llvm-project/commit/648bd564d0bd66b4cc1b0a6607a15e15b3171204
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/test/CodeGen/SystemZ/systemz-ppa2.c
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
M llvm/test/CodeGen/SystemZ/call-zos-01.ll
M llvm/test/CodeGen/SystemZ/call-zos-02.ll
M llvm/test/CodeGen/SystemZ/call-zos-i128.ll
M llvm/test/CodeGen/SystemZ/call-zos-vararg.ll
M llvm/test/CodeGen/SystemZ/llvm.sincos.ll
M llvm/test/CodeGen/SystemZ/mixed-ptr-sizes.ll
M llvm/test/CodeGen/SystemZ/zos-ada-relocations.ll
M llvm/test/CodeGen/SystemZ/zos-ada.ll
M llvm/test/CodeGen/SystemZ/zos-alias-unsupported.ll
M llvm/test/CodeGen/SystemZ/zos-dwarf.ll
M llvm/test/CodeGen/SystemZ/zos-frameaddr.ll
M llvm/test/CodeGen/SystemZ/zos-func-alias.ll
M llvm/test/CodeGen/SystemZ/zos-hlasm-out.ll
M llvm/test/CodeGen/SystemZ/zos-intrinsics.ll
M llvm/test/CodeGen/SystemZ/zos-jumptable.ll
M llvm/test/CodeGen/SystemZ/zos-landingpad.ll
M llvm/test/CodeGen/SystemZ/zos-lower-constant.ll
M llvm/test/CodeGen/SystemZ/zos-no-eh-label.ll
M llvm/test/CodeGen/SystemZ/zos-ppa1-argarea.ll
M llvm/test/CodeGen/SystemZ/zos-ppa1.ll
M llvm/test/CodeGen/SystemZ/zos-ppa2.ll
M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
M llvm/test/CodeGen/SystemZ/zos-ret-addr.ll
M llvm/test/CodeGen/SystemZ/zos-simple-test.ll
M llvm/test/CodeGen/SystemZ/zos-stackpointer.ll
M llvm/test/CodeGen/SystemZ/zos-symbol-1.ll
M llvm/test/CodeGen/SystemZ/zos-symbol-2.ll
M llvm/test/CodeGen/SystemZ/zos_sinit.ll
M llvm/test/MC/SystemZ/insn-good-zos-pcrel.s
Log Message:
-----------
[SystemZ][z/OS] Migrate most test case to use HLASM syntax (#181222)
This PR migrates all but two test cases to use HLASM syntax. It also
flips the default for the command line option, making HLASM output the
default.
The missing test cases requires some more support in the HLASM streamer,
which I will add separately.
Commit: 37aaff3fef7f0344299ddbf7b19a53c25e7ca951
https://github.com/llvm/llvm-project/commit/37aaff3fef7f0344299ddbf7b19a53c25e7ca951
Author: Ziqing Luo <ziqing_luo at apple.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/Analysis/ThreadSafety.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
Log Message:
-----------
[Thread Analysis] Fix a bug in context update in alias-analysis (#178952)
[Thread Analysis] Fix a bug in context update in alias-analysis
Previously, in 'updateLocalVarMapCtx', context was updated to the one
immediately after the provided statement 'S'. It is incorrect,
because 'S' hasn't been processed at that point. This issue could
result in false positives. For example,
```
void f(Lock_t* F)
{
Lock_t* L = F; // 'L' aliases with 'F'
L->Lock(); // 'L' holds the lock
// Before the fix, the analyzer saw the definition of 'L' being cleared before 'L' was unlocked.
unlock(&L); // unlock (*L)
}
```
This commit fixes the issue.
rdar://169236809
Commit: 6b5c440a676defbbbef3f6a42404b0be2b3da54c
https://github.com/llvm/llvm-project/commit/6b5c440a676defbbbef3f6a42404b0be2b3da54c
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/Transforms/Transforms.h
M mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToWiDistributeExperimental.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/test/Dialect/XeGPU/sg-to-wi-experimental-unit.mlir
M mlir/test/Dialect/XeGPU/subgroup-distribute-unit.mlir
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
Log Message:
-----------
[mlir][xegpu] Add support for `vector.reduction` and `vector.multi_reduction` subgroup to work-item distribution. (#180308)
This PR adds support for lowering of `vector.reduction` and
`vector.multi_reduction` ops in subgroup to work-item distribution.
Following cases are considered currently (more support will be added
later):
* `vector.reduction` : This assumes the source vector is distributed to
all lanes and lanes must shuffle data to do a collaborative reduction.
result is shared among all lanes. This is done by emitting
`gpu::ShuffleOp` s and doing a butterfly reduction. Refer
`VectorDistribution` for more details.
* `vector.multi_reduction`: 2 cases are considered,
1. **Reduction is lane-local**: simply lower to a lane local multi
reduction op. each lane does its own reduction. result is distributed.
2. **Reduction is not lane-local:** This one is handled indirectly. In
this case, we rewrite the reduction in terms of `vector.reduction` ops
(plus exrtact. insert) before the WI distribution even begin. Then whole
things is distributed using `gpu::ShuffleOp` s later (not fullly
supported yet).
Commit: 5f8053b0d8953cf90368e5f447b2e58ebce297a1
https://github.com/llvm/llvm-project/commit/5f8053b0d8953cf90368e5f447b2e58ebce297a1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/rv32p.ll
Log Message:
-----------
[RISCV] In tryWideningMulAcc, check multiple users before checking operand 1. (#181321)
If both operands are WMUL, we should still consider the second one if
the first one has multiple users.
Commit: af1a5c5c24fa7d0f6fd4445242a0d8f2ce7dd2ba
https://github.com/llvm/llvm-project/commit/af1a5c5c24fa7d0f6fd4445242a0d8f2ce7dd2ba
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctls-rv32.mir
Log Message:
-----------
[GISel][RISCV] Simplify the generated code for narrowScalarCTLS. (#180827)
Instead of trying to make CTLS work for the Lo part, conditionally
invert Lo using the Hi sign bit, then do a CTLZ. If the CTLZ is
zero, then the Lo sign bit differs from the Hi sign bit. Otherwise,
each leading zero represents an additional sign bit.
This generates better code when CTLS and CTLZ are both supported.
I've added Zbb to the P extension command line for RISC-V since
P is likely to imply Zbb when it is ratified, but that isn't written
in the spec yet. If that doesn't happen, I expect CLZ would get
added back to the P extension.
Commit: 343103a68054fe9979ac85518ecf5d9c5d703d2c
https://github.com/llvm/llvm-project/commit/343103a68054fe9979ac85518ecf5d9c5d703d2c
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
A llvm/test/CodeGen/PowerPC/ppc_test_data_class.ll
Log Message:
-----------
[NFC] Pre-Commit test case for __builtin_ppc_test_data_class (#181181)
add a pre-commit test case for __builtin_ppc_test_data_class
Commit: 8cd31aa2c6c139b5f569b94c25462d7fcecdf7aa
https://github.com/llvm/llvm-project/commit/8cd31aa2c6c139b5f569b94c25462d7fcecdf7aa
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M lldb/include/lldb/Breakpoint/StopCondition.h
A lldb/test/API/functionalities/breakpoint/update_condition/Makefile
A lldb/test/API/functionalities/breakpoint/update_condition/TestUpdateBreakpointCondition.py
A lldb/test/API/functionalities/breakpoint/update_condition/main.c
Log Message:
-----------
[lldb/Breakpoint] Fix condition hash after updating condition text (#181409)
StopCondition::SetText was computing the hash from the moved-from text
parameter instead of the stored m_text member. After std::move(text),
the source parameter becomes empty, causing the hash to always be
computed from an empty string.
This caused breakpoint condition updates to fail silently. When a user
modified a condition (e.g., from "x == y" to "x > y"), the hash remained
unchanged. Breakpoint locations use this hash to detect when conditions
need re-evaluation, so with a stale hash they would continue using
cached state for the old condition, triggering at incorrect locations.
The patch fixes this issue by computing the hash from m_text after the
move operation, ensuring it reflects the actual stored condition text.
It also adds API test that updates a breakpoint condition and verifies
the new condition is properly evaluated.
rdar://170191229
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 742af32b67c0d70ced4837fbde778ee5ea6529b4
https://github.com/llvm/llvm-project/commit/742af32b67c0d70ced4837fbde778ee5ea6529b4
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaInit.cpp
A clang/test/CodeGenObjCXX/arc-lifetime-rvalue-ref-binding.mm
A clang/test/SemaObjCXX/arc-lifetime-rvalue-ref-binding.mm
Log Message:
-----------
Reapply "[clang] Fix sema on ObjCLifetime conversion (#178524)" (#180817)
Clang can't handle objc lifetime correctly when casting We reuse the
approach similar to lifetime: First remove it before the conversion,
then add it back.
Add a test
Fixes https://github.com/llvm/llvm-project/issues/177478
Commit: ecee70e210fa0a43b12d8ce7fe01f33bb8f84167
https://github.com/llvm/llvm-project/commit/ecee70e210fa0a43b12d8ce7fe01f33bb8f84167
Author: Sterling-Augustine <saugustine at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M libc/src/string/memory_utils/generic/inline_strlen.h
M libc/src/string/memory_utils/x86_64/inline_strlen.h
M libc/test/src/strings/wide_read_memory_test.cpp
Log Message:
-----------
Implement vector version of memchr, and dispatch to same (#177711)
As in the description.
This implementation shares quite a bit of code with the wide-read
versions of string_length.
Commit: 43fcc262e7504f1d4219435c38e4c251199cbeb7
https://github.com/llvm/llvm-project/commit/43fcc262e7504f1d4219435c38e4c251199cbeb7
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M lld/MachO/Driver.cpp
M lld/test/MachO/platform-version.s
M llvm/include/llvm/Support/VersionTuple.h
M llvm/lib/Support/VersionTuple.cpp
M llvm/unittests/Support/VersionTupleTest.cpp
Log Message:
-----------
[Support] Support 5-component VersionTuples (#181275)
LLDB parses compiler versions out of DW_AT_producer DWARF attributes
into a VersionTuple. The Swift compiler recently switched to 5-component
version numbers. In order to support this version scheme without growing
the size of VersionTuple, this patch dedicates the last 10 bits of the
build version to a 5th "sub-build" component. The Swift compiler
currently uses 1 digit for this and promises to never use more than 3
digits for the last 3 components.
This patch still leaves 6 decimal digits for the build component for
other version schemes.
rdar://170181060
Commit: 781719778003ca298ca57e486ab629b7f384844b
https://github.com/llvm/llvm-project/commit/781719778003ca298ca57e486ab629b7f384844b
Author: Zack Johnson <zacklj89 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M compiler-rt/lib/asan/asan_allocator.cpp
M compiler-rt/lib/asan/asan_malloc_win.cpp
M compiler-rt/test/asan/TestCases/Windows/heaprealloc_alloc_zero.cpp
A compiler-rt/test/asan/TestCases/Windows/rtlsizeheap_zero.cpp
Log Message:
-----------
[ASan][Windows] Fix false positive for zero sized rtl allocations (#181015)
This is a follow up to #155943
On Windows, ASan's allocator internally upgrades zero-size allocation
requests to size 1 (since malloc(0) must return a unique non-NULL
pointer). However, when the user queries the allocation size through
Windows heap APIs (RtlSizeHeap, HeapSize, \_msize, GlobalSize,
LocalSize), ASan reports the internal size (1) instead of the originally
requested size (0).
This causes false positive heap-buffer-overflow errors in a common
pattern:
```c++
void *buf = HeapAlloc(GetProcessHeap(), 0, 0);
SIZE_T size = HeapSize(GetProcessHeap(), 0, buf); // Returns 1, should be 0
if(size > 0) // could remove this and still be correct
memset(buf, 0, size); // ASan reports heap-buffer-overflow
```
The change adds a `from_zero_alloc` bit to `ChunkHeader` that tracks
whether an allocation was originally zero-size. This bit fits in the
existing spare capacity of the header's bitfield byte, so the 16-byte
ChunkHeader size is unchanged, but it also isn't the most elegant.
The 1-byte user region of a zero-size allocation is still poisoned, so
any actual access to it is correctly reported as an overflow.
Commit: 4c3d5618d5d2bb203a0a9ddfe9418a954438b8d0
https://github.com/llvm/llvm-project/commit/4c3d5618d5d2bb203a0a9ddfe9418a954438b8d0
Author: Argyrios Kyrtzidis <kyrtzidis at apple.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/unittests/CAS/CMakeLists.txt
Log Message:
-----------
[llvm/unittests/CAS] Fix `CASTests` compilation when `LLVM_ENABLE_ONDISK_CAS=OFF` (#181403)
Commit: b69292549552f53eeff7deebdd649a5a6522b7d0
https://github.com/llvm/llvm-project/commit/b69292549552f53eeff7deebdd649a5a6522b7d0
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
Log Message:
-----------
[NFC][analyzer] Remove NodeBuilder::iterator (#181381)
This iterator class was used only once and even there it was easily
replaced by a more appropriate solution.
This commit is motivated by the fact that my recent commit
320d0b5467b9586a188e06dd2620126f5cb99318 turned
`IndirectGotoNodeBuilder` and `SwitchNodeBuilder` into subclasses of
`NodeBuilder` and those classes have their own (slightly more useful)
`::iterator`s with very different behavior.
Commit: b3dcf485d23a574e4c377739a32468240a87c2fc
https://github.com/llvm/llvm-project/commit/b3dcf485d23a574e4c377739a32468240a87c2fc
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
Log Message:
-----------
[VPlan] Compute NumPredStores for VPReplicateRecipe costs in VPlan.
Compute the number of predicated stores directly in VPlan instead of
using CM.useEmulatedMaskMemRefHack(), which will only account for the
number of predicated stores for the last VF the legacy cost model
considered.
Fixes https://github.com/llvm/llvm-project/issues/181183
Commit: 65deb6c71e96fd7bb4a316305a522e4c604331af
https://github.com/llvm/llvm-project/commit/65deb6c71e96fd7bb4a316305a522e4c604331af
Author: Fateme Hosseini <Fhossein at qti.qualcomm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/CMakeLists.txt
M llvm/lib/Target/Hexagon/Hexagon.h
R llvm/lib/Target/Hexagon/HexagonGlobalScheduler.cpp
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/test/CodeGen/Hexagon/autohvx/hfsplat.ll
R llvm/test/CodeGen/Hexagon/avoid-debug-increment.mir
M llvm/test/CodeGen/Hexagon/cext-check.ll
R llvm/test/CodeGen/Hexagon/dbg-label-pullup.ll
R llvm/test/CodeGen/Hexagon/global-sched-skip-vsub_fake.ll
R llvm/test/CodeGen/Hexagon/pull-delayed-new.mir
R llvm/test/CodeGen/Hexagon/pull-no-comp-code.ll
R llvm/test/CodeGen/Hexagon/pull-up-dbg-label.mir
R llvm/test/CodeGen/Hexagon/pull-up-slots.mir
R llvm/test/CodeGen/Hexagon/pull-up.ll
Log Message:
-----------
Revert "Add HexagonGlobalScheduler pass (#180803)" (#181418)
This reverts commit 892ac614bf8fafd4d13381bb45b369721309785a.
Commit: 75cc975c2ced20465c7bbe3d79006cc50c414c5c
https://github.com/llvm/llvm-project/commit/75cc975c2ced20465c7bbe3d79006cc50c414c5c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rv32p.ll
Log Message:
-----------
[RISCV] Combine ADDD(lo, hi, x, 0) -> WADDAU(lo, hi, x, 0). Combine WADDAU (WADDAU lo, hi, x, 0), y, 0 -> WADDAU lo, hi, x, y (#181396)
WADDAU is rd += zext(rs1) + zext(rs2)
If we only have 1 32-bit input can force rs2 to avoid zeroing the upper
part of a register pair to use ADDD.
Unfortunately, WADDAU clobbers rd so it might need a GPRPair copy
if we need the old value of rd. We might need to look into that in
the future. Maybe we could have convertToThreeAddress could turn
it back into ADDD+WADDU or ADDD+LI.
Assisted-by: claude
Commit: a38584e0afca6c3f3099e7ecc56a454f3a58db89
https://github.com/llvm/llvm-project/commit/a38584e0afca6c3f3099e7ecc56a454f3a58db89
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang-tools-extra/clangd/ScanningProjectModules.cpp
M clang/include/clang/DependencyScanning/DependencyScanningService.h
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DependencyScanning/DependencyScanningService.cpp
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/DependencyScanning/ModuleDepCollector.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/unittests/DependencyScanning/DependencyScanningWorkerTest.cpp
M clang/unittests/Tooling/DependencyScannerTest.cpp
Log Message:
-----------
[clang][deps] Extract service config into a struct (#181405)
Adding new configuration knobs in the scanner is fairly painful now,
especially with a diverging downstream. This patch extracts what was
previously passed into the service constructor into a struct. This
encourages one knob customization per line, reduces difficult merge
conflicts, `/*ArgName=*/`-style comments with copy-pasted defaults, etc.
Commit: fa5f4afba9d8b5eeba30ddce25043f4e818686aa
https://github.com/llvm/llvm-project/commit/fa5f4afba9d8b5eeba30ddce25043f4e818686aa
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/tools/llubi/lib/Interpreter.cpp
Log Message:
-----------
[llubi] Return void for `InstExecutor::visit*` methods. NFC. (#181421)
The status is now maintained inside of `setResult` and other helper
functions. So we don't need to propagate the error.
This patch was part of https://github.com/llvm/llvm-project/pull/181393.
Commit: d4854177dd0513a07e3f2d8b1b5642f8226cead5
https://github.com/llvm/llvm-project/commit/d4854177dd0513a07e3f2d8b1b5642f8226cead5
Author: h-vetinari <h.vetinari at gmx.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/docs/index.rst
M libcxx/include/__configuration/availability.h
Log Message:
-----------
[libc++] Increase the minimum deployment target on macOS to 11.0 (#176094)
#166172 moved the effective minimum deployment target on macOS to 10.15
(because `aligned_alloc` is not defined before that in the C stdlib),
and indeed, it was mentioned in that PR that libc++ only supports macOS
11 and later.
This PR rectifies the documentation and the code to reflect the actually
supported deployment targets on macOS. See [1] for additional discussion
about this.
[1]: https://discourse.llvm.org/t/minimum-macos-deployment-target-increases-to-11-0-in-v22-1-visibility-discussion-on-update-policy
Commit: b703f63697167b1cc3d68e6ef101c4fc8d4241a3
https://github.com/llvm/llvm-project/commit/b703f63697167b1cc3d68e6ef101c4fc8d4241a3
Author: Peter Collingbourne <pcc at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
A llvm/test/Transforms/PreISelIntrinsicLowering/looptrap.ll
Log Message:
-----------
Add llvm.looptrap intrinsic.
The '``llvm.looptrap``' intrinsic is equivalent to
``llvm.cond.loop(true)``, but is also considered to be ``noreturn``,
which enables certain optimizations by allowing the optimizer to
assume that a branch leading to a call to this intrinsic was not
taken. A late optimization pass will convert this intrinsic to either
``llvm.cond.loop(true)`` or ``llvm.cond.loop(pred)``, where ``pred``
is a predicate for a conditional branch leading to the intrinsic call,
if possible.
Reviewers: fmayer, vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/181299
Commit: 55857e14bc2261305db70dbe1f0e3af93c229aad
https://github.com/llvm/llvm-project/commit/55857e14bc2261305db70dbe1f0e3af93c229aad
Author: Peter Collingbourne <pcc at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGenCXX/sanitize-trap-loop.cpp
Log Message:
-----------
CodeGen: Switch to generating llvm.looptrap instead of llvm.cond.loop.
Reviewers: fmayer, vitalybuka
Reviewed By: fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/181300
Commit: 7b099a4c53178c249043f8c477511977b4ed5ca6
https://github.com/llvm/llvm-project/commit/7b099a4c53178c249043f8c477511977b4ed5ca6
Author: Peter Collingbourne <pcc at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
R llvm/test/Transforms/LowerTypeTests/cond-loop.ll
Log Message:
-----------
LowerTypeTests: Remove the optimization for llvm.cond.loop.
Because in the new IR pattern for conditional traps the llvm.cond.loop
is generated late, the LowerTypeTests pass will never see it, so we no
longer need to be able to optimize it. Therefore, remove the code for
optimizing it.
This reverts commit 1de721c414407f4b92d3e2458ce9ca38563cef9c.
Reviewers: fmayer, vitalybuka
Reviewed By: fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/181301
Commit: 29380442d27dee76a0d5859631cfc7c35c08ba40
https://github.com/llvm/llvm-project/commit/29380442d27dee76a0d5859631cfc7c35c08ba40
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M .github/workflows/prune-unused-branches.py
Log Message:
-----------
[Github] Account for cross-repo PRs in prune-unused-branches (#181232)
Some users (as reported in the discourse thread) use user branches
purely as a diff base for cross repo pull requests. This patch makes it
so that we do not delete branches that are used in this way.
Commit: 6eeb03b5a28d048701313c9ec4edf4fbbbc842bb
https://github.com/llvm/llvm-project/commit/6eeb03b5a28d048701313c9ec4edf4fbbbc842bb
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/add-imm64-to-sub.ll
Log Message:
-----------
[RISCV][NFC] Fix UBSan issue in ISel (#181422)
If `int Imm` is `INT64_MIN`, then negating this value overflows, which
is undefined behaviour. This adds this case to the tests, and avoids
this case.
Co-authored-by: Sampath Vutkoori <svutkoor at qti.qualcomm.com>
Commit: 7b01c69ccd659c3df250804a213212b66ba1cc56
https://github.com/llvm/llvm-project/commit/7b01c69ccd659c3df250804a213212b66ba1cc56
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang-tools-extra/clang-doc/assets/head-template.mustache
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
Log Message:
-----------
[clang-doc] Change highlight.js theme for light or dark themes (#181317)
Adds another `<link>` tag to load in a dark theme for highlight.js. The
appropriate theme is then loaded for the current system theme. Using a
dark theme for highlight.js in dark mode makes for a much better user
experience since declaration text has a higher contrast compared to the
dark background.
Commit: 14beb294e9c90581e62dceaeede610c20fa0f099
https://github.com/llvm/llvm-project/commit/14beb294e9c90581e62dceaeede610c20fa0f099
Author: Lance Wang <lancewang at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] fix #176920 Add SideEffectInterfaces to dependencies (#181286)
#176920 adds the dependency and breaks the bazel. Fix private headers usage detected when layering check is enabled.
Commit: a8124b1628742ecc97e63b980671f2a561c06a78
https://github.com/llvm/llvm-project/commit/a8124b1628742ecc97e63b980671f2a561c06a78
Author: Lance Wang <lancewang at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Fix #181286 Remove redundant SideEffectInterfaces from CAPIIR (#181435)
Remove redundant SideEffectInterfaces from CAPIIR. It's introduced in
#181286 due to merge.
Commit: 304582cc875d5c1a19238cddc13a77d030007e74
https://github.com/llvm/llvm-project/commit/304582cc875d5c1a19238cddc13a77d030007e74
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
A .github/workflows/build-libc-container.yml
A .github/workflows/containers/libc/Dockerfile
Log Message:
-----------
[Github] Add libc container (#181434)
This will let us run the libc full build tests inside of a container
which means that we have same time by not having to install dependencies
on every run in addition to not running into issues due to dependencies
failing to install particularly around LLVM releases with the llvm.sh
script.
Commit: 4aa5573b1432d5c78b4f37ba0f6473e78c1dc8fa
https://github.com/llvm/llvm-project/commit/4aa5573b1432d5c78b4f37ba0f6473e78c1dc8fa
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M .github/workflows/prune-unused-branches.py
Log Message:
-----------
[Github] Only delete branches seen previously in pruning workflow (#181430)
This eliminates any possibility of race conditions around the workflow
deleting branches that were created around when it starts.
Commit: 49fa2a4d24c6a27526cb9ad481ef32648dd58e26
https://github.com/llvm/llvm-project/commit/49fa2a4d24c6a27526cb9ad481ef32648dd58e26
Author: Aditya Trivedi <120598696+adit4443ya at users.noreply.github.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/test/CIR/CodeGenBuiltins/X86/rd-builtins.c
Log Message:
-----------
[CIR] Support x86 builtin rdtsc (#180714)
This PR implements CodeGen for rdtsc builtins in CIR upstream.
Towards #167765
Commit: c4170461d7fc5ddd0423c5f7325abd0a7dfc6277
https://github.com/llvm/llvm-project/commit/c4170461d7fc5ddd0423c5f7325abd0a7dfc6277
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang/include/flang/Optimizer/Builder/CUDAIntrinsicCall.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
A flang/module/cuda_runtime_api.f90
A flang/test/Lower/CUDA/cuda-default-stream.cuf
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang][cuda] Lower set/get default stream for arrays (#181432)
Commit: 58184dfc0a8e56adb171b77565ea0d748e3626d1
https://github.com/llvm/llvm-project/commit/58184dfc0a8e56adb171b77565ea0d748e3626d1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M .github/workflows/containers/libc/Dockerfile
Log Message:
-----------
[Github] Update libc container
Add git/cmake which are needed by the workflow. Add some comments pulled
from the libc workflow. Also use a user rather than running as root to
prevent file permissions tests from failing.
Commit: d406ce8e20600171b6030c9dcf728a23975c9eaf
https://github.com/llvm/llvm-project/commit/d406ce8e20600171b6030c9dcf728a23975c9eaf
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M lldb/include/lldb/Core/ModuleList.h
M lldb/include/lldb/Host/HostInfoBase.h
M lldb/include/lldb/Host/macosx/HostInfoMacOSX.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/ModuleList.cpp
M lldb/source/Host/macosx/objcxx/CMakeLists.txt
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.cpp
M lldb/unittests/ObjectFile/MachO/TestObjectFileMachO.cpp
Log Message:
-----------
[lldb][macOS] Don't fetch settings in Host, to keep layering (#181406)
I introduced a dependency from Host on Core without realizing it in an
earlier PR, while adding a setting to disable the new shared cache
binary blob scanning/reading in HostInfoMacOSX, which caused build
problems. Thanks to Alex for figuring out the build failure I caused.
Add a bool to the methods in HostInfoMacOSX, and have the callers (in
Core and various plugins etc) all fetch the
symbols.shared-cache-binary-loading setting from ModuleList, and pass
the result in.
The least obvious part of this is in ProcessGDBRemote where we first
learn the shared cache filepath & uuid, it calls
HostInfoMacOSX::SharedCacheIndexFiles() - this is only called when the
shared cache binary loading is enabled, so I conditionalize the call to
this method based on the setting.
rdar://148939795
Commit: 2bd77c83596a5336608ba7a07810a57686222a23
https://github.com/llvm/llvm-project/commit/2bd77c83596a5336608ba7a07810a57686222a23
Author: Srividya Sundaram <srividya.sundaram at intel.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/include/clang/Driver/SyclInstallationDetector.h
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/SYCL.cpp
M clang/test/Driver/sycl-offload-jit.cpp
Log Message:
-----------
[SYCL][Driver] Pass path to libsycl.so by default for SYCL compilation. (#174877)
This patch updates the default behavior for `SYCL` offload compilations.
Specifically, we now pass the path to the SYCL runtime library,
`libsycl.so`, by default to the `clang-linker-wrapper` tool, which is
responsible for linking the `SYCL` runtime library. We also add the SYCL
header include paths by default to both the SYCL host and device
compilations.
Commit: edae8a448504a73ca12b4e6dd66b00d0f1b00d0b
https://github.com/llvm/llvm-project/commit/edae8a448504a73ca12b4e6dd66b00d0f1b00d0b
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
A llvm/test/CodeGen/Hexagon/udiv-vector-nonuniform.ll
Log Message:
-----------
[Hexagon] Fix APInt assertion in getBuildVectorConstInts (#181202)
Truncate the ConstantSDNode APInt value to the element bit width before
creating the ConstantInt. After type legalization, a ConstantSDNode may
have a wider type than the vector element (e.g., i32 constant for an i16
element).
Commit: 75fcaef3b60367e293e4208c8d88803f8650f3e1
https://github.com/llvm/llvm-project/commit/75fcaef3b60367e293e4208c8d88803f8650f3e1
Author: Wenju He <wenju.he at intel.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M libclc/opencl/lib/amdgcn/mem_fence/fence.cl
M libclc/opencl/lib/ptx-nvidiacl/mem_fence/fence.cl
Log Message:
-----------
[libclc] Fix memory_scope and memory_order of *mem_fence builtins (#181311)
See OpenCL spec 6.15.12.5.
https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_C.html#fences
// Older syntax memory fences are equivalent to atomic_work_item_fence
with the // same flags parameter, memory_scope_work_group scope, and
ordering as follows:
void mem_fence(cl_mem_fence_flags flags) // memory_order_acq_rel
void read_mem_fence(cl_mem_fence_flags flags) // memory_order_acquire
void write_mem_fence(cl_mem_fence_flags flags) // memory_order_release
---------
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Commit: 560e22926804f6ca818952e815ec63c434460039
https://github.com/llvm/llvm-project/commit/560e22926804f6ca818952e815ec63c434460039
Author: Wenju He <wenju.he at intel.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M libclc/clc/lib/generic/math/clc_remquo.cl
M libclc/clc/lib/generic/math/clc_remquo.inc
Log Message:
-----------
Revert "[libclc] replace float remquo with amd ocml implementation" (#181443)
Reverts llvm/llvm-project#177131
It broke SPIRV target: error in backend: unable to legalize instruction:
%88:fid(s32) = G_FCANONICALIZE
Commit: 39613943855e6a82b1bb4c3d16fbaf2289a5d739
https://github.com/llvm/llvm-project/commit/39613943855e6a82b1bb4c3d16fbaf2289a5d739
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/utils/TableGen/DAGISelEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcher.cpp
M llvm/utils/TableGen/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
[TableGen] Introduce MatcherList to manage a linked list of Matchers. NFC (#177875)
The previous memory management involved passing around references to the
std::unique_ptr next pointer in each Matcher. Scopes and
SwitchOpcode/SwitchType did not use std::unique_ptr internally, but
would sometimes need to have the pointers to their children moved to
temporary std::unique_ptrs that may be modified and then put back into
the Scope/Switch. Other code used manual deletion.
This patch introduces a MatcherList object that encapsulates list
management and ownership. The interface is based on std::forward_list
using the libcxx implementation for reference.
Once a Matcher is added to a MatcherList it can only be in that list or
spliced into another list. This ensures it is always owned by a list
that will be responsible for deleting it.
Scope and SwitchOpcode/Type children are now MatcherLists rather than
Matcher*. A nice side effect of this is that we no longer need a Size
field in each Matcher to store the size of Scope/Switch children during
emission. This field was only used for the Matcher that the Scope/Switch
children pointed to. Now we can store it in the MatcherList instead.
There is no change to the generated output.
There's still a little bit of cleanup that can be done in follow ups. For example,
renaming "TheMatcher" and merging FactorScope and FactorNodes together.
Commit: 1b2196bd8234252d94851c5d98e2f4df9de9b65b
https://github.com/llvm/llvm-project/commit/1b2196bd8234252d94851c5d98e2f4df9de9b65b
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/unittests/Runtime/CUDA/CMakeLists.txt
A flang-rt/unittests/Runtime/CUDA/DefaultStream.cpp
M flang/include/flang/Runtime/CUDA/allocator.h
Log Message:
-----------
[flang][cuda] Add entry point for set/get default stream (#181440)
Commit: 4833c51d11e5ec0306fe0386d1be487de7a5e4b6
https://github.com/llvm/llvm-project/commit/4833c51d11e5ec0306fe0386d1be487de7a5e4b6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/utils/TableGen/DAGISelEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcher.cpp
M llvm/utils/TableGen/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
Revert "[TableGen] Introduce MatcherList to manage a linked list of Matchers. NFC (#177875)"
This reverts commit 39613943855e6a82b1bb4c3d16fbaf2289a5d739.
It's failing across multiple build bots.
Commit: bb71a33c8fe4b294c76edc3d3ebc478a0f45f469
https://github.com/llvm/llvm-project/commit/bb71a33c8fe4b294c76edc3d3ebc478a0f45f469
Author: Lance Wang <lancewang at google.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] Fix #176920 Add MLIRBindingsPythonLibHeaders library (#181447)
MLIRBindingsPythonLibHeaders includes internal headers.
Commit: e640d38b0d2b4691ee722738f81443e716693598
https://github.com/llvm/llvm-project/commit/e640d38b0d2b4691ee722738f81443e716693598
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Simplify Extension Predicates, Compatibility (#181255)
This pushes some of our simplifications to extension dependencies into
other parts of RISCVISAInfo and into the tablegen predicates.
The key affected pieces are:
- Error messages around Zcd incompatibilities now reference only `zcd`.
- We now have a big list of extensions that are rv32-only.
Commit: d2be26a9f2b75e87969c5943d48ea66c5f336d6d
https://github.com/llvm/llvm-project/commit/d2be26a9f2b75e87969c5943d48ea66c5f336d6d
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/test/CodeGen/attr-no-outline.c
A clang/test/CodeGenObjC/attr-no-outline.m
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Sema/attr-no-outline.c
A clang/test/Sema/attr-no-outline.cpp
Log Message:
-----------
[clang] Add clang::no_outline Attribute (#163666)
This change:
- Adds a `[[clang::no_outline]]` function attribute for C and C++. There
is no equivalent GNU syntax for this attribute, so no `__attribute__`
syntax.
- Uses the presence of `[[clang::no_outline]]` to add the `nooutline`
attribute to IR function definitions.
- Adds test for the above.
The `nooutline` attribute disables both the Machine Outliner (enabled at
Oz for some targets), and the IR Outliner (disabled by default).
Fixes #144135
Commit: e003440b8e2cf0fe01515a9b957fada77cabcdf5
https://github.com/llvm/llvm-project/commit/e003440b8e2cf0fe01515a9b957fada77cabcdf5
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M clang/test/CXX/drs/cwg16xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/CXX/drs/cwg30xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
Log Message:
-----------
[clang][NFC] Add missing indentation for expected-notes in C++ DR tests
Commit: 74599c69920831ff04cf13a4bab5cea40984aadb
https://github.com/llvm/llvm-project/commit/74599c69920831ff04cf13a4bab5cea40984aadb
Author: Mark Zhuang <mark.zhuang at spacemit.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
A clang/test/Driver/print-enabled-extensions/riscv-spacemit-a100.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add SpacemiT A100 processor definition (#174052)
Commit: 74be8edf939427e100b505027298d7d2552f08cd
https://github.com/llvm/llvm-project/commit/74be8edf939427e100b505027298d7d2552f08cd
Author: Eric Christopher <echristo at gmail.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
Log Message:
-----------
[GlobalISel] Fix type mismatch in LegalizerHelper ternary (#180865)
### Summary
Fix type mismatch in ternary expression that causes GCC `-Werror=extra`
to fail.
### Details
GCC's `-Werror=extra` enforces stricter type consistency in ternary
expressions, in this case unsigned and an enum literal.
### Tested
- Built with ToT clang and GCC 13.3.0 on Linux x86_64 (not really
because there are other warnings, but this one is gone).
- All existing tests pass
Commit: bc50d9aa85f9ad1d8f0d389ef988cfc7996aa77f
https://github.com/llvm/llvm-project/commit/bc50d9aa85f9ad1d8f0d389ef988cfc7996aa77f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvfofp8min.td
Log Message:
-----------
[RISCV] Convert some multiclasses in RISCVInstrInfoV.td to classes if they only have one child def. NFC (#181408)
The child def requires an empty string which looks odd. Use classes and
inheritance instead.
Commit: 7fd56a0d748bcda6d123f15c636b6a2912130a16
https://github.com/llvm/llvm-project/commit/7fd56a0d748bcda6d123f15c636b6a2912130a16
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-setcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpowi.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-rotate.ll
Log Message:
-----------
[RISCV] Calculate max call frame size in RISCVTargetLowering::finalizeLowering. (#181302)
I want to enable the frame pointer when the call frame size is too large
to access emergency spill slots. To do that I need to know the call
frame size early enough to reserve FP.
The code here is copied from AArch64. ARM does the same. I did not check
other targets.
Splitting this off separately because it stops us from unnecessarily
reserving the base pointer in the some RVV tests. That appears to due to
this check
(!hasReservedCallFrame(MF) && (!MFI.isMaxCallFrameSizeComputed() ||
MFI.getMaxCallFrameSize() != 0))) &&
By calculating early !MFI.isMaxCallFrameSizeComputed() is no longer true
and the size is zero.
Commit: cfc311ed789e87b9febb56095d4173a225ce7a64
https://github.com/llvm/llvm-project/commit/cfc311ed789e87b9febb56095d4173a225ce7a64
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M lldb/bindings/interface/SBBreakpointListExtensions.i
M lldb/bindings/interface/SBFileSpecListExtensions.i
M lldb/bindings/interface/SBMemoryRegionInfoListExtensions.i
M lldb/bindings/interface/SBModuleSpecListExtensions.i
M lldb/bindings/interface/SBProcessInfoListExtensions.i
M lldb/bindings/interface/SBStringListExtensions.i
M lldb/bindings/interface/SBThreadCollectionExtensions.i
M lldb/bindings/interface/SBTypeExtensions.i
M lldb/test/API/functionalities/breakpoint/breakpoint_names/TestBreakpointNames.py
M lldb/test/API/functionalities/completion/TestCompletion.py
M lldb/test/API/lang/cpp/namespace/TestNamespace.py
M lldb/test/API/python_api/debugger/TestDebuggerAPI.py
M lldb/test/API/python_api/find_in_memory/TestFindInMemory.py
M lldb/test/API/python_api/sbmodule/TestSBModule.py
M lldb/test/API/python_api/sbsavecoreoptions/TestSBSaveCoreOptions.py
M lldb/test/API/python_api/type/TestTypeList.py
Log Message:
-----------
[lldb/API] Add __getitem__ subscript support to python SBAPI list class (#181457)
This patch adds __getitem__ method to the SBAPI list classes that were
missing subscript support, enabling Pythonic index access (e.g.,
list[0], list[-1]) in Python bindings.
The implementation adds __getitem__ to the following classes:
- SBStringList
- SBFileSpecList
- SBProcessInfoList
- SBMemoryRegionInfoList
- SBThreadCollection
- SBBreakpointList
- SBModuleSpecList
- SBTypeList
Each implementation follows the same pattern:
- Type validation (raises TypeError for non-integer indices)
- Range validation with negative index support (raises IndexError for
out-of-range)
- Delegates to the appropriate Get*AtIndex() method
The changes are in SWIG interface extension files (.i), implementing the
__getitem__ method in Python bindings while maintaining compatibility
with existing Get*AtIndex() API.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 78d995758dd369cec9664863c47d2d46d459bc08
https://github.com/llvm/llvm-project/commit/78d995758dd369cec9664863c47d2d46d459bc08
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
R lld/ELF/Arch/RISCVInternalRelocations.h
M lld/ELF/Target.cpp
M lld/test/ELF/riscv-vendor-relocations.s
Log Message:
-----------
Revert "[LLD] Add support for statically resolved vendor-specific RISCV relocations. (#169273)" (#181336)
This reverts commit 0c6d7a40187e5e6cbdff1cf5dbdb6fe91054bef4 and
follow-up 7dfa132936a89a966befb6045f306cb9905c6dab.
It landed prematurely with multiple issues in the implementation and
tests.
Commit: d6dee9055dbf4bb495080b37c6f28e27062ef0b2
https://github.com/llvm/llvm-project/commit/d6dee9055dbf4bb495080b37c6f28e27062ef0b2
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
Log Message:
-----------
[ELF] Move RISCV scanSectionImpl next to getRelExpr. NFC
Move scanSectionImpl and scanSection to right after getRelExpr and
before relocate, matching the ordering used in X86_64.cpp and PPC64.cpp.
Commit: 2693adf197d778f0c0c4d05efd2d8c1419c2cc73
https://github.com/llvm/llvm-project/commit/2693adf197d778f0c0c4d05efd2d8c1419c2cc73
Author: Abhijeet <abhijeetsharma2002 at gmail.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/bf16addf128.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/bf16addf128.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/bf16addf128.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor bf16addf128 to header only (#181058)
Resolves #181018
Part of #147386
Commit: 5c14267374799ca2ecb4a4965eed820ac72af786
https://github.com/llvm/llvm-project/commit/5c14267374799ca2ecb4a4965eed820ac72af786
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vabd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vabdu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vabs.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vwabda.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vwabdau.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vabd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vabdu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vabs.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vwabda.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vwabdau.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabdu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabs.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vwabda.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vwabdau.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabdu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabs.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vwabda.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vwabdau.c
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvabd.td
A llvm/test/CodeGen/RISCV/rvv/vabd.ll
A llvm/test/CodeGen/RISCV/rvv/vabdu.ll
A llvm/test/CodeGen/RISCV/rvv/vabs.ll
A llvm/test/CodeGen/RISCV/rvv/vwabda.ll
A llvm/test/CodeGen/RISCV/rvv/vwabdau.ll
Log Message:
-----------
[Clang][RISCV] Add Zvabd intrinsics
Doc:
* https://github.com/riscv/integer-vector-absolute-difference
* https://github.com/riscv-non-isa/rvv-intrinsic-doc/pull/424
Authored-by: Zhenxuan Sang <sang at bytedance.com>
Co-Authored-by: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Reviewers: preames, topperc, kito-cheng
Pull Request: https://github.com/llvm/llvm-project/pull/180929
Commit: a1d856a8941abceb6683d3204cfdf53cc0291f69
https://github.com/llvm/llvm-project/commit/a1d856a8941abceb6683d3204cfdf53cc0291f69
Author: Xinlong Chen <49522466+Xinlong-Chen at users.noreply.github.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/tanhf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/tanhf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/tanhf.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor tanhf implementation to header-only in src/__support/math folder. (#178554)
Part of https://github.com/llvm/llvm-project/issues/147386
closes https://github.com/llvm/llvm-project/issues/178493
Commit: bcf0ecf7865942738c180f2dbbe01cec671b4b23
https://github.com/llvm/llvm-project/commit/bcf0ecf7865942738c180f2dbbe01cec671b4b23
Author: Menace <155697298+ProfessionalMenace at users.noreply.github.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/ffma.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/ffma.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/ffma.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor ffma implementation to header-only in src/__support/math folder (#175304).
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 20605617ac69de3dad49139a3de34b4dd2609607
https://github.com/llvm/llvm-project/commit/20605617ac69de3dad49139a3de34b4dd2609607
Author: Thurston Dang <thurston at google.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/switch-icmp.ll
Log Message:
-----------
Reapply "[msan] Switch switch() from strict handling to (icmp eq)-style handling" (#180636) (#181112)
This reverts https://github.com/llvm/llvm-project/pull/180636 i.e.,
relands https://github.com/llvm/llvm-project/pull/179851.
It was originally reverted because of buildbot failures. When compiling
switch statements with many cases (e.g., AMDGPUGenMCCodeEmitter.inc has
>30,000 cases), MSan's instrumentation created an extremely long chained
expression for the shadow computation. Although that was legal LLVM IR,
it caused the subsequent JumpThreadingPass to have a stack overflow.
This reland avoids the issue by limiting the number of cases considered
(`-msan-switch-precision`), with the tradeoff of niche false negatives
(only in the case where the condition is partly uninitialized and the
first x cases still have a defined comparison, but a case # > x does not
have a fully-defined comparison).
This reland also adds some TODOs for possible improvements.
----
Original commit message:
Currently, the SwitchInst:
```
switch i32 %Val, label %else [ i32 0, label %A
i32 1, label %B
i32 2, label %C ]
```
is strictly handled i.e., MSan will check that %Val is fully
initialized. This is appropriate nearly all the time.
However, sometimes the compiler may convert (icmp + br) into a switch
statement. (icmp + br) has different semantics: MSan allows icmp eq/ne
with partly initialized inputs to still result in a fully initialized
output, if there exists a bit that is initialized in both inputs with a
differing value e.g., suppose:
```
%A = 00000000 00001010
%B = 00000000 00000110
%C = 00000000 00000011
%Val = 00000001 ???????? (where ? denotes an uninitialized bit)
```
Even though %Val has uninitialized bits, the initialized '1' bit
immediately to the left, compared to the corresponding initialized '0'
bit in %A/%B/%C suffices to prove that %Val does not match any of those
cases. This is similar to a real-world case with std::optional (where
the has_value bit may be initialized but the value is not).
This patch adds this relaxed icmp logic to the switch instrumentation as
well, to make MSan's behavior equivalent under optimization.
Note that this edge case only applies if the switch input value
definitively does not match *any* of the cases (matching any of the
cases requires an exact, fully initialized match). If it is uncertain
whether the switch input value could, depending on the uninitialized
bits, match one of the cases or not, MSan will report
use-of-uninitialized memory.
Commit: 8ccc40ee0ecfe1acb83a47539d4d824e167132cb
https://github.com/llvm/llvm-project/commit/8ccc40ee0ecfe1acb83a47539d4d824e167132cb
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/hypotf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/hypotf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/hypotf16.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor hypotf16 to Header Only (#180511).
closes #175337
part of #175336
Commit: ab25249e63aba72be5365e5dc08c8d3c34d23276
https://github.com/llvm/llvm-project/commit/ab25249e63aba72be5365e5dc08c8d3c34d23276
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
R libcxx/test/benchmarks/algorithms/push_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/push_heap.bench.cpp
Log Message:
-----------
[libc++] Refactor std::push_heap benchmark (#181343)
We're trying to get the time it takes to run all the benchmarks down, so
that we can run them on a regular basis. This patch saves us ~8 minutes
per run.
Fixes #177028
Commit: 84ce7b1f1d2997d1880f9b24ee6e6a75d4045e0a
https://github.com/llvm/llvm-project/commit/84ce7b1f1d2997d1880f9b24ee6e6a75d4045e0a
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/llrint-conv.ll
M llvm/test/CodeGen/X86/lrint-conv-i64.ll
M llvm/test/CodeGen/X86/vector-llrint.ll
M llvm/test/CodeGen/X86/vector-lrint.ll
Log Message:
-----------
[X86] Avoid custom lowering `llrint` on non-x87 targets (#181339)
Fixes #181265
Commit: 45e666a8531c1148bdb170b9a120f99e1500c427
https://github.com/llvm/llvm-project/commit/45e666a8531c1148bdb170b9a120f99e1500c427
Author: Bill Wendling <morbo at google.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
M clang/test/CodeGen/asm.c
R llvm/include/llvm/CodeGen/CallBrPrepare.h
A llvm/include/llvm/CodeGen/InlineAsmPrepare.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/InlineAsm.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/lib/CodeGen/CMakeLists.txt
R llvm/lib/CodeGen/CallBrPrepare.cpp
M llvm/lib/CodeGen/CodeGen.cpp
A llvm/lib/CodeGen/InlineAsmPrepare.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/CodeGen/AArch64/O0-pipeline.ll
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
M llvm/test/CodeGen/AArch64/callbr-prepare.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/ARM/O3-pipeline.ll
M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
M llvm/test/CodeGen/PowerPC/O0-pipeline.ll
M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
M llvm/test/CodeGen/X86/O0-pipeline.ll
A llvm/test/CodeGen/X86/asm-constraints-rm.ll
A llvm/test/CodeGen/X86/inline-asm-prepare-memory.ll
M llvm/test/CodeGen/X86/inlineasm-sched-bug.ll
M llvm/test/CodeGen/X86/llc-pipeline-npm.ll
M llvm/test/CodeGen/X86/opt-pipeline.ll
M llvm/tools/opt/optdriver.cpp
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Log Message:
-----------
[Clang][inlineasm] Add special support for "rm" output constraints (#92040)
Clang isn't able to support multiple constraints on inputs and outputs,
like "rm". Instead, it picks the "safest" one to use, i.e. the memory
constraint for "rm". This leads to obviously horrible code:
asm __volatile__ ("pushf\n\t"
"popq %0"
: "=rm" (x));
is compiled to:
pushf
popq -8(%rsp)
movq -8(%rsp), %rax
It gets worse when inlined into other functions, because it may
introduce
a stack where none is needed.
With this change, Clang now generates IR for the more optimistic choice
("r"). All but the fast register allocator are able to fold registers if
it turns out that register pressure is too high.
This leaves the fast register allocator. The fast register allocator, as
the name suggests, is built for execution speed, not code quality. Thus,
we add special processing to convert the "optimistic" IR into the
"conservative" choice (again at the IR level), which we know it can
handle.
We focus on "rm" for the initial commit, but that can be expanded in the
future for other constraints where Clang generates ++ungood code (like
"g").
Fixes: https://github.com/llvm/llvm-project/issues/20571
Commit: 6e23353c396098bf5cedf26091179f9d8dacb2e9
https://github.com/llvm/llvm-project/commit/6e23353c396098bf5cedf26091179f9d8dacb2e9
Author: 陈子昂 <2802328816 at qq.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/dag-stlf-mismatch.ll
Log Message:
-----------
[DAGCombiner] Fix crash caused by illegal InterVT in ForwardStoreValueToDirectLoad (#181175)
This patch fixes an assertion failure in ForwardStoreValueToDirectLoad
during DAGCombine.
The crash occurs when `STLF (Store-to-Load Forwarding)` creates an
illegal intermediate bitcast type (e.g., `v128i1` when bridging a
128-bit store to a `<32 x i1>` load on X86). Since `v128i1` is not a
legal mask type for the backend, it violates the expectations of the
LegalizeDAG pass.
The fix adds a `TLI.isTypeLegal(InterVT)` check to ensure that the
intermediate type used for the transformation is supported by the
target.
Fixes #181130
Commit: 87b9805f6c9f980f77c7b605d5f06fa9acd2a573
https://github.com/llvm/llvm-project/commit/87b9805f6c9f980f77c7b605d5f06fa9acd2a573
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M .github/workflows/release-binaries.yml
Log Message:
-----------
workflows/release-binaries: Use free arm Windows runners for PRs (#181477)
We are running low on budget, so we need to disable this temporarily.
Commit: a636dd4c37f12594275de2fe180ca35bc04d76ea
https://github.com/llvm/llvm-project/commit/a636dd4c37f12594275de2fe180ca35bc04d76ea
Author: Bill Wendling <morbo at google.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/InlineAsmPrepare.cpp
Log Message:
-----------
[inlineasm] The CFG is not necessarily preserved.
Commit: c4721872af5605e10f06c256aae033ef15053525
https://github.com/llvm/llvm-project/commit/c4721872af5605e10f06c256aae033ef15053525
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
M clang/test/CodeGen/asm.c
A llvm/include/llvm/CodeGen/CallBrPrepare.h
R llvm/include/llvm/CodeGen/InlineAsmPrepare.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/InlineAsm.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/lib/CodeGen/CMakeLists.txt
A llvm/lib/CodeGen/CallBrPrepare.cpp
M llvm/lib/CodeGen/CodeGen.cpp
R llvm/lib/CodeGen/InlineAsmPrepare.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/CodeGen/AArch64/O0-pipeline.ll
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
M llvm/test/CodeGen/AArch64/callbr-prepare.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/ARM/O3-pipeline.ll
M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
M llvm/test/CodeGen/PowerPC/O0-pipeline.ll
M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
M llvm/test/CodeGen/X86/O0-pipeline.ll
R llvm/test/CodeGen/X86/asm-constraints-rm.ll
R llvm/test/CodeGen/X86/inline-asm-prepare-memory.ll
M llvm/test/CodeGen/X86/inlineasm-sched-bug.ll
M llvm/test/CodeGen/X86/llc-pipeline-npm.ll
M llvm/test/CodeGen/X86/opt-pipeline.ll
M llvm/tools/opt/optdriver.cpp
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Log Message:
-----------
Revert "[Clang][inlineasm] Add special support for "rm" output constraints (#92040)"
This change landed without approval.
This reverts commit 45e666a8531c1148bdb170b9a120f99e1500c427.
This reverts commit a636dd4c37f12594275de2fe180ca35bc04d76ea.
Commit: 1ee03d1e097f05cc9811a0e4a3e7e13e35340b6d
https://github.com/llvm/llvm-project/commit/1ee03d1e097f05cc9811a0e4a3e7e13e35340b6d
Author: rchamala <36907958+rchamala at users.noreply.github.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M lldb/bindings/python/CMakeLists.txt
M lldb/bindings/python/python-swigsafecast.swig
M lldb/bindings/python/python-wrapper.swig
M lldb/docs/use/python-reference.rst
A lldb/docs/use/tutorials/scripted-symbol-locator.md
A lldb/examples/python/templates/scripted_symbol_locator.py
M lldb/include/lldb/API/SBFileSpec.h
M lldb/include/lldb/API/SBModule.h
M lldb/include/lldb/API/SBModuleSpec.h
M lldb/include/lldb/API/SBTarget.h
M lldb/include/lldb/Core/PluginManager.h
A lldb/include/lldb/Interpreter/Interfaces/ScriptedSymbolLocatorInterface.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Symbol/LineEntry.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/lldb-forward.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/source/API/SBTarget.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedSymbolLocatorPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedSymbolLocatorPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
A lldb/source/Plugins/SymbolLocator/Scripted/CMakeLists.txt
A lldb/source/Plugins/SymbolLocator/Scripted/SymbolLocatorScripted.cpp
A lldb/source/Plugins/SymbolLocator/Scripted/SymbolLocatorScripted.h
M lldb/source/Symbol/LineEntry.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/ThreadPlanStepRange.cpp
A lldb/test/API/functionalities/scripted_symbol_locator/Makefile
A lldb/test/API/functionalities/scripted_symbol_locator/TestScriptedSymbolLocator.py
A lldb/test/API/functionalities/scripted_symbol_locator/main.c
A lldb/test/API/functionalities/scripted_symbol_locator/source_locator.py
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
Log Message:
-----------
[lldb] Add ScriptedSymbolLocator plugin for source file resolution (#181334)
## Summary
Based on discussion from
[RFC](https://discourse.llvm.org/t/rfc-python-callback-for-source-file-resolution/83545),
this PR adds a new `SymbolLocatorScripted` plugin that allows Python
scripts to implement custom symbol and source file resolution logic.
This enables downstream users to build custom symbol servers, source
file remapping, and build artifact resolution entirely in Python.
### Changes
- Adds `LocateSourceFile()` to the SymbolLocator plugin interface,
called during source path resolution with a fully loaded `ModuleSP`, so
the plugin has access to the module's UUID, file paths, and symbols.
- Adds `SymbolLocatorScripted` plugin that delegates all four
SymbolLocator methods (`LocateExecutableObjectFile`,
`LocateExecutableSymbolFile`, `DownloadObjectAndSymbolFile`,
`LocateSourceFile`) to a user-provided Python class.
- Adds `ScriptedSymbolLocatorPythonInterface` to bridge C++ calls to
Python, with proper GIL management and error handling.
- Results for `LocateSourceFile` are cached per (module UUID, source
file) pair.
- The Python class is configured via: `settings set
plugin.symbol-locator.scripted.script-class module.ClassName`
### Python class interface
```python
class MyLocator:
def __init__(self, exe_ctx, args): ...
def locate_source_file(self, module, original_source_file):
...
def locate_executable_object_file(self, module_spec): ...
def locate_executable_symbol_file(self, module_spec,
default_search_paths): ...
def download_object_and_symbol_file(self, module_spec,
force_lookup, copy_executable): ...
```
### Test plan
```
Added TestScriptedSymbolLocator.py with 3 test cases:
- test_locate_source_file — verifies the locator resolves source
files, receives a valid SBModule with UUID, and remaps paths correctly
- test_locate_source_file_none_fallthrough — verifies returning
None falls through to default LLDB resolution, and that having no script
class set works normally
- test_invalid_script_class — verifies graceful handling of
invalid class names without crashing
```
Co-authored-by: Rahul Reddy Chamala <rachamal at fb.com>
Commit: 945db339632895e18721882b0a71e9d41d9c4ef7
https://github.com/llvm/llvm-project/commit/945db339632895e18721882b0a71e9d41d9c4ef7
Author: rchamala <36907958+rchamala at users.noreply.github.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M lldb/include/lldb/Target/Target.h
M lldb/source/Target/Target.cpp
M lldb/test/API/functionalities/scripted_symbol_locator/TestScriptedSymbolLocator.py
Log Message:
-----------
[lldb] Fix Windows build and remote test failure for ScriptedSymbolLocator (#181488)
## Summary
- Move `GetScriptedSymbolLocatorClassName()` from inline in `Target.h`
to out-of-line in `Target.cpp` to avoid collision with Windows
`winuser.h` `#define GetClassName GetClassNameW` macro.
- Replace `LaunchSimple(None, None, os.getcwd())` with
`lldbutil.run_to_breakpoint_do_run()` in `test_locate_source_file` to
fix test failure on remote platforms where the local working directory
doesn't exist.
Fixes CI failures from #181334.
## Test plan
- [ ] Windows (aarch64-windows) build passes
- [ ] remote-linux-win test passes
- [ ] Existing ScriptedSymbolLocator tests pass on local platforms
Co-authored-by: Rahul Reddy Chamala <rachamal at meta.com>
Commit: 02aa032f6ff63b9f56ff171d4984e537006b6e84
https://github.com/llvm/llvm-project/commit/02aa032f6ff63b9f56ff171d4984e537006b6e84
Author: rchamala <36907958+rchamala at users.noreply.github.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
Log Message:
-----------
[lldb] Fix pid_t redefinition on Windows in ScriptInterpreterPythonInterfaces (#181492)
## Summary
- Move `#include "lldb/Core/PluginManager.h"` after `#include
"ScriptInterpreterPythonInterfaces.h"` so Python's `pyconfig.h` defines
`pid_t` before `PosixApi.h` gets included. This fixes the `C2371:
'pid_t': redefinition; different basic types` error on all Windows
builders.
Fixes CI failures from #181334 / #181488.
Co-authored-by: Rahul Reddy Chamala <rachamal at meta.com>
Commit: d7a24d30f62bc07b79f055474ecb4fe7d656e33d
https://github.com/llvm/llvm-project/commit/d7a24d30f62bc07b79f055474ecb4fe7d656e33d
Author: Hui <hui.xie1990 at gmail.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__algorithm/ranges_shift_right.h
M libcxx/include/__algorithm/shift_right.h
M libcxx/include/algorithm
M libcxx/include/module.modulemap.in
M libcxx/include/version
M libcxx/modules/std/algorithm.inc
A libcxx/test/libcxx/algorithms/alg.modifying.operations/alg.shift/assert.shift_right.pass.cpp
A libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/ranges_shift_right.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Implement `ranges::shift_right` (#177847)
Implement the `ranges::shift_right` algorithm from
[P2440R1](https://wg21.link/P2440R1).
Fixes #134062
Fixes #105184
Commit: 0773c83e6666ac5cbd4c9b89ebb2e78e7c494821
https://github.com/llvm/llvm-project/commit/0773c83e6666ac5cbd4c9b89ebb2e78e7c494821
Author: rchamala <36907958+rchamala at users.noreply.github.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
Log Message:
-----------
[lldb] Fix pid_t redefinition on Windows in ScriptInterpreterPythonInterfaces (#181493)
## Summary
Include `lldb-python.h` as the first include inside the
`LLDB_ENABLE_PYTHON` block in `ScriptInterpreterPythonInterfaces.cpp`,
matching the pattern used by every other Python interface `.cpp` file in
this directory.
On Windows, `lldb-python.h` defines `NO_PID_T` before including
`Python.h`. This prevents `PosixApi.h` (transitively included via
`lldb-private.h`) from redefining `pid_t` with a conflicting type
(`uint32_t` vs `int`).
The issue was introduced by #181334 (ScriptedSymbolLocator plugin),
which added a new header whose include chain transitively reaches
`PosixApi.h`.
Fixes Windows build failures on lldb-aarch64-windows, lldb-x86_64-win,
and lldb-remote-linux-win.
## Test plan
- [ ] lldb-aarch64-windows build passes
- [ ] lldb-x86_64-win build passes
- [ ] lldb-remote-linux-win build passes
Co-authored-by: Rahul Reddy Chamala <rachamal at meta.com>
Commit: de4f473f884e1b59378bf04d37023f6fc7f3601a
https://github.com/llvm/llvm-project/commit/de4f473f884e1b59378bf04d37023f6fc7f3601a
Author: rchamala <36907958+rchamala at users.noreply.github.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
Log Message:
-----------
[lldb] Fix Windows linker error for MakeSBModuleSpec in lldb-server (#181494)
## Summary
Move the definition of `ScriptInterpreter::MakeSBModuleSpec` from
`ScriptInterpreter.cpp` to `ScriptedPythonInterface.cpp`.
`MakeSBModuleSpec` constructs an `SBModuleSpec`, whose symbols live in
the API library (`liblldb`). `ScriptInterpreter.cpp` is part of
`lldbInterpreter`, which is also linked into `lldb-server` — and
`lldb-server` does not link the API library. On Windows, this causes
`LNK2019: unresolved external symbol` for `SBModuleSpec`'s constructor
and destructor.
`ScriptedPythonInterface.cpp` is part of the Python plugin library,
which only links into `liblldb` where the API symbols are available. The
method retains friend access to `SBModuleSpec` since it is still a
member of `ScriptInterpreter` regardless of which `.cpp` file defines
it.
Fixes Windows linker failure from #181334.
## Test plan
- [ ] Existing ScriptedSymbolLocator tests pass
Co-authored-by: Rahul Reddy Chamala <rachamal at meta.com>
Commit: 7b052c4c0e00476fa8bfae72568ceeb05e75f89c
https://github.com/llvm/llvm-project/commit/7b052c4c0e00476fa8bfae72568ceeb05e75f89c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M .github/workflows/build-libc-container.yml
Log Message:
-----------
[Github][libc] Also build arm container (#181497)
Some of the libc full build tests also run on AArch64 machines. We need
to build an ARM container or otherwise the container fails to start and
we never end up running anything.
Commit: 846e022a5d145ede7d7558c03d4a1559b96b34d3
https://github.com/llvm/llvm-project/commit/846e022a5d145ede7d7558c03d4a1559b96b34d3
Author: rchamala <36907958+rchamala at users.noreply.github.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
Log Message:
-----------
[lldb] NFC: Use standard comment for lldb-python.h include (#181498)
## Summary
Use the standard `// LLDB Python header must be included first.` comment
to match every other Python interface `.cpp` file in this directory, as
suggested by @JDevlieghere.
## Test plan
NFC - comment only change.
Co-authored-by: Rahul Reddy Chamala <rachamal at meta.com>
Commit: cd38f8486b58d3dc6a09dfd10bdf0a88d976f3d5
https://github.com/llvm/llvm-project/commit/cd38f8486b58d3dc6a09dfd10bdf0a88d976f3d5
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/smax-idx.ll
Log Message:
-----------
[LV] Add argmin test for epilogue vectorization w/o wide canonical IV.
Add additional epilogue vectorization test coverage for
https://github.com/llvm/llvm-project/pull/170223.
Also regenerate check lines for related tests.
Commit: aecc4997bf120f8f3d80417024decf1c3a286bc5
https://github.com/llvm/llvm-project/commit/aecc4997bf120f8f3d80417024decf1c3a286bc5
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/test/ELF/ppc64-tls-missing-gdld.s
Log Message:
-----------
[ELF] Add target-specific relocation scanning for PPC64 (#181496)
Implement PPC64::scanSectionImpl, following the pattern established for
x86. This merges the getRelExpr and TLS handling for SHF_ALLOC sections
into the target-specific scanner, enabling devirtualization and
eliminating abstraction overhead.
- Inline relocation classification into scanSectionImpl with a switch
on relocation type, replacing the generic rs.scan() path.
- Use processR_PC/processR_PLT_PC for common PC-relative and PLT
relocations.
- Handle TLS GD, LD, and DTPREL directly, eliminating
handleTlsRelocation, getTlsGdRelaxSkip, and adjustTlsExpr overrides.
Use handleTlsIe for TLS IE, enabling IE-to-LE optimization even when
ppc64DisableTLSRelax is set (lifted a limitation from
the workaround patch https://reviews.llvm.org/D92959).
- Use processAux for R_PPC64_PCREL_OPT. Remove the PPC64-specific
special case from process().
- Replace RE_PPC64_RELAX_GOT_PC with R_RELAX_GOT_PC, which computes
the same value (sym + addend - PC).
- Replace RE_PPC64_RELAX_TOC with R_GOTREL, moving the
ctx.arg.tocOptimize check to relocateAlloc.
- Switch relocateAlloc from expr-based to type-based dispatch.
- Simplify getRelExpr to only handle relocations needed by
relocateNonAlloc.
Commit: caf2a4846b4f32598a74b234c2d74032210f5bde
https://github.com/llvm/llvm-project/commit/caf2a4846b4f32598a74b234c2d74032210f5bde
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/VPlan/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/VPlan/X86/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
M llvm/test/Transforms/LoopVectorize/VPlan/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/VPlan/phi-with-fastflags-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-iv-transforms.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Use -vplan-print-after in more VPlan tests
use vplan-print-after instead of -debug/-debug-only in more tests,
auto-generate some checks.
Commit: 1d48322502a0b6ef6e0843adb8023106a4e27840
https://github.com/llvm/llvm-project/commit/1d48322502a0b6ef6e0843adb8023106a4e27840
Author: Martin Storsjö <martin at martin.st>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M compiler-rt/test/asan/TestCases/Windows/rtlsizeheap_zero.cpp
Log Message:
-----------
[ASan] [Windows] Fix a new test in mingw mode
The new test case added in 781719778003ca298ca57e486ab629b7f384844b
didn't work in mingw mode; defines set through `/D` only works when
using the clang-cl compiler driver, not the regular clang compiler
driver.
Switch this to use `-D`, which works with both plain clang and
clang-cl, so we don't need to use a lit macro for expanding
the right option to use.
Commit: 9de9522263a0e8165a4d9f885b0ccbc3482ebb86
https://github.com/llvm/llvm-project/commit/9de9522263a0e8165a4d9f885b0ccbc3482ebb86
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M clang/test/CXX/drs/cwg29xx.cpp
M clang/test/CXX/drs/cwg30xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Revisit tests for CWG2917 and CWG3005 after Core updates (#181513)
This patch revisits the status of tests for two aforementioned Core
issues.
I agree with the analysis in #170410, so no changes are made to CWG2917
test.
In case of CWG3005, Core approved the 2025-09-12 proposed resolution,
which the test was written against in the first place.
Fixes #170410
Commit: 052f2f8cd17f3ff8bcb7b53a777a232d9ac36965
https://github.com/llvm/llvm-project/commit/052f2f8cd17f3ff8bcb7b53a777a232d9ac36965
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Update cxx_dr_status.html
Commit: 5e87f8147d680f340948d428f44b93a239a22464
https://github.com/llvm/llvm-project/commit/5e87f8147d680f340948d428f44b93a239a22464
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M lld/ELF/Arch/PPC.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
Log Message:
-----------
[ELF] Add target-specific relocation scanning for PPC32 (#181517)
Implement PPC::scanSectionImpl, following the pattern established for
x86 (#178846) and PPC64 (#181496). This merges the getRelExpr and TLS
handling for SHF_ALLOC sections into the target-specific scanner,
enabling devirtualization and eliminating abstraction overhead.
- Inline relocation classification into scanSectionImpl with a switch
on relocation type, replacing the generic rs.scan() path.
- Use processR_PC/processR_PLT_PC for common PC-relative and PLT
relocations.
- Handle R_PPC_PLTREL24 inline with addend masking via processAux,
removing the EM_PPC special case from process().
- Handle TLS GD/LD/IE directly, eliminating handleTlsRelocation,
getTlsGdRelaxSkip, and adjustTlsExpr overrides. Use handleTlsIe
for TLS IE, and handleTlsGd for R_PPC_GOT_TLSGD16.
- Use R_DTPREL unconditionally for DTPREL relocations, removing
R_RELAX_TLS_LD_TO_LE_ABS (PPC32 was the only user).
- Move TLS relaxation dispatch from relocateAlloc into relocate,
removing the relocateAlloc override.
- Simplify getRelExpr to only handle relocations needed by
relocateNonAlloc and .eh_frame.
Commit: abf1d0bea04ab5d5ed1be3708ce1cd86707d5c8f
https://github.com/llvm/llvm-project/commit/abf1d0bea04ab5d5ed1be3708ce1cd86707d5c8f
Author: Miko <110693261+mikomikotaishi at users.noreply.github.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M clang/bindings/python/clang/cindex.py
Log Message:
-----------
[clang][Python] Use fstrings instead of string concatenations (#173861)
This PR replaces string concatenations and the older `%` string
interpolation with fstrings. These changes were originally part of
#173845 but have been moved to a new PR.
Commit: a4cb2b00df606a6fd42dd4a8273e61fc8696939a
https://github.com/llvm/llvm-project/commit/a4cb2b00df606a6fd42dd4a8273e61fc8696939a
Author: Xinlong Chen <49522466+Xinlong-Chen at users.noreply.github.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/tanhf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/tanhf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/tanhf16.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor tanhf16 implementation to header-only in src/__support/math folder. (#178645)
Part of https://github.com/llvm/llvm-project/issues/147386
closed https://github.com/llvm/llvm-project/issues/178492
Commit: 5a6f504922f9cb11f80f0c436ea203c035d92584
https://github.com/llvm/llvm-project/commit/5a6f504922f9cb11f80f0c436ea203c035d92584
Author: Atharv Mane <atharvamane19 at gmail.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/bf16add.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/bf16add.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/bf16add.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor bf16add to header only (#181392)
Resolves #181016
Part of #147386
Commit: cfe1b46b46e7470a5f4162bfeae2440fb99cfed6
https://github.com/llvm/llvm-project/commit/cfe1b46b46e7470a5f4162bfeae2440fb99cfed6
Author: Liao Chunyu <chunyu at iscas.ac.cn>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vaaddu.ll
Log Message:
-----------
[DAGCombiner] Fold trunc(build_vector(ext(x), ext(x)) -> build_vector(x,x) (#179857)
The original implementation performed the transformation when
isTruncateFree was true:
truncate(build_vector(x, x)) -> build_vector(truncate(x), truncate(x)).
In some cases, x comes from an ext, try to pre-truncate build_vectors
source operands
when the source operands of build_vectors comes from an ext.
Testcase from: https://gcc.godbolt.org/z/bbxbYK7dh
Commit: 35e04701dd3a0352176de6cafc6ac4e0f18b9089
https://github.com/llvm/llvm-project/commit/35e04701dd3a0352176de6cafc6ac4e0f18b9089
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/InputFiles.h
M lld/test/ELF/ppc64-tls-missing-gdld.s
Log Message:
-----------
[ELF,PPC64] Scope checkPPC64TLSRelax to section and simplify TLS markers
checkPPC64TLSRelax detects TLS GD/LD without TLSGD/TLSLD markers
(generated from old IBM XL) and disables TLS optimization. Previously it
set a per-file flag (ppc64DisableTLSRelax). Now scope it in the section
being scanned.
In addition, simplify the R_PPC64_TLSGD/R_PPC64_TLSLD marker handling:
the redundant `sym.setFlags(NEEDS_TLSIE)` is unnecessary as the
preceding GOT_TLSGD relocation already sets it.
Commit: 2dd94a48695c98f51518125f4eb9677a82911523
https://github.com/llvm/llvm-project/commit/2dd94a48695c98f51518125f4eb9677a82911523
Author: SiliconA-Z <gfunni234 at gmail.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/bitmanip.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctls-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctls-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctlz-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctlz-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctpop-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctpop-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-cttz-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-cttz-rv64.mir
Log Message:
-----------
[GlobalISel] Optimize CTPOP lowering to match SelDAG (#181499)
Prevent multiplication when only having 16 bits.
Commit: 08c5c0da6775154b3437b2548f4528f83e74f87c
https://github.com/llvm/llvm-project/commit/08c5c0da6775154b3437b2548f4528f83e74f87c
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
M clang-tools-extra/clang-tidy/modernize/PassByValueCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/pass-by-value.rst
A clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-ignore-macros.cpp
Log Message:
-----------
[clang-tidy] Add IgnoreMacros option to modernize-pass-by-value (#181465)
Part of #156153
Commit: 45bee6efe9d69e49ca223bdea77353753549c2c9
https://github.com/llvm/llvm-project/commit/45bee6efe9d69e49ca223bdea77353753549c2c9
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
A mlir/include/mlir/Bindings/Python/IRInterfaces.h
M mlir/lib/Bindings/Python/DialectTransform.cpp
M mlir/lib/Bindings/Python/IRInterfaces.cpp
R mlir/lib/Bindings/Python/IRInterfaces.h
Log Message:
-----------
[mlir][Python] fix IRInterfaces.h (#181522)
https://github.com/llvm/llvm-project/pull/176920 added `IRInterfaces.h`
but didn't include it in either the list of [installed
headers](https://github.com/llvm/llvm-project/blob/a1d7cda1d7ca4983e02727f589952b02626d2dc8/mlir/python/CMakeLists.txt#L557)
or `mlir/Bindings/Python`. This breaks downstreams. So just move the
header to `mlir/Bindings/Python`
Commit: 5548b24d18ad9e856bcb354a17b52c15fa37bf73
https://github.com/llvm/llvm-project/commit/5548b24d18ad9e856bcb354a17b52c15fa37bf73
Author: Aditya Singh <aditya26189 at kgpian.iitkgp.ac.in>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
Log Message:
-----------
[clang-tidy] Fix false positive for generic lambda parameters in readability-non-const-parameter (#179051)
Fixes #177354
### Summary
The `readability-non-const-parameter` check produces false positives on
generic lambda parameters, not fully resolved by #177345.
### Problem
Generic lambdas with explicit template parameters create dependent
contexts that cannot be analyzed at parse time:
```cpp
auto lambda = []<typename T>(int *p) {
T x(*p); // No longer warns
};
```
Commit: 02429c46330fca6d057684aa05e1efd813fe0de3
https://github.com/llvm/llvm-project/commit/02429c46330fca6d057684aa05e1efd813fe0de3
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[LV] Fix strict weak ordering violation in handleUncountableEarlyExits sort (#181462)
The sort comparator used VPDT.dominates() which returns true for
dominates(A, A), violating the irreflexivity requirement of strict weak
ordering. With _GLIBCXX_DEBUG enabled (LLVM_ENABLE_EXPENSIVE_CHECKS=ON),
std::sort validates this property and aborts:
Error: comparison doesn't meet irreflexive requirements, assert(!(a <
a)).
Use properlyDominates() instead, which correctly returns false for equal
inputs while preserving the intended dominance-based ordering.
This fixes a crash introduced by ede1a9626b89 ("[LV] Vectorize early
exit loops with multiple exits.").
Commit: b33350f5ff3a29508cf3ba69b10683afc378e905
https://github.com/llvm/llvm-project/commit/b33350f5ff3a29508cf3ba69b10683afc378e905
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/RadixTree.h
Log Message:
-----------
[ADT] Fix RadixTree singular iterator use in findOrCreate (#181510)
The root node's Key is initialized with default-constructed (singular)
iterators. When findOrCreate calls llvm::mismatch(Key, Curr->Key) on the
first loop iteration where Curr is the root, these singular iterators
are passed to std::mismatch. _GLIBCXX_DEBUG correctly rejects them as
not forming a valid iterator range.
Skip the mismatch when Curr is the root node since its key is
conceptually empty, making the mismatch a no-op.
Fixes a test failure in ADTTests/RadixTreeTypeTest introduced by
5fda2a5d9c1a ("[NFC][ADT] Add RadixTree (#164524)").
Commit: 104e82b75defd23ade610a5a75cd95244638ec0b
https://github.com/llvm/llvm-project/commit/104e82b75defd23ade610a5a75cd95244638ec0b
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M lld/ELF/Arch/PPC64.cpp
Log Message:
-----------
[ELF,PPC64] Inline toAddr16Rel and TLS remapping into the main relocate switch
Delete the toAddr16Rel helper and the GOT_TLS-to-GOT16 remapping switch,
inlining their val adjustments as fallthrough cases in the main switch.
This reduces relocate() from 4 switches on type to 2 (TLS relaxation
pre-switch with early returns, and the unified write switch).
Commit: 8d971c0360f91729cc5120ffd361f7b55e97f2ab
https://github.com/llvm/llvm-project/commit/8d971c0360f91729cc5120ffd361f7b55e97f2ab
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-14 (Sat, 14 Feb 2026)
Changed paths:
M llvm/utils/TableGen/DAGISelEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcher.cpp
M llvm/utils/TableGen/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
Reapply "[TableGen] Introduce MatcherList to manage a linked list of Matchers. NFC (#177875)"
With fixes to the slice_after functions to avoid dereferencing the
before_begin() iterator. Deferencing the iterator casts a pointer
to the BeforeBegin object to Matcher*, but the BeforeBegin object
is not a Matcher. This caused a failure when built with gcc.
Original commit message:
The previous memory management involved passing around references to the
std::unique_ptr next pointer in each Matcher. Scopes and
SwitchOpcode/SwitchType did not use std::unique_ptr internally, but
would sometimes need to have the pointers to their children moved to
temporary std::unique_ptrs that may be modified and then put back into
the Scope/Switch. Other code used manual deletion.
This patch introduces a MatcherList object that encapsulates list
management and ownership. The interface is based on std::forward_list
using the libcxx implementation for reference.
Once a Matcher is added to a MatcherList it can only be in that list or
spliced into another list. This ensures it is always owned by a list
that will be responsible for deleting it.
Scope and SwitchOpcode/Type children are now MatcherLists rather than
Matcher*. A nice side effect of this is that we no longer need a Size
field in each Matcher to store the size of Scope/Switch children during
emission. This field was only used for the Matcher that the Scope/Switch
children pointed to. Now we can store it in the MatcherList instead.
There is no change to the generated output.
There's still a little bit of cleanup that can be done in follow ups. For example,
renaming "TheMatcher" and merging FactorScope and FactorNodes together.
Commit: 4ab66e444bab26b2f018f9408282eaa8b958d785
https://github.com/llvm/llvm-project/commit/4ab66e444bab26b2f018f9408282eaa8b958d785
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
[TableGen] Combine FactorNodes and FactorScope. NFC
These were separated in 31db7afacf4dae051fcd0da22e440813663b61f3
due to the complexity of the rebindable unique_ptr. With the
switch to MatcherList, the code is not as complicated.
Commit: 241b8876ddc7c8805cd0ab4f8265842c0782023e
https://github.com/llvm/llvm-project/commit/241b8876ddc7c8805cd0ab4f8265842c0782023e
Author: Jie Fu <jiefu at tencent.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
Log Message:
-----------
[TableGen] Silence a warning (NFC)
llvm-project/llvm/utils/TableGen/DAGISelMatcherOpt.cpp:495:16:
error: unused variable 'Tmp' [-Werror,-Wunused-variable]
Matcher *Tmp =
^
1 error generated.
Commit: ee9aeb4e05aa8edd2077b79f6712ea353ef5be77
https://github.com/llvm/llvm-project/commit/ee9aeb4e05aa8edd2077b79f6712ea353ef5be77
Author: Wang Yaduo <wangyaduo at linux.alibaba.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
Log Message:
-----------
[NFC] Fix typos 'bicast' -> 'bitcast' (#180890)
Fix typos bicast -> bitcast. I find this when I'm resovling a codegen
prepare optimazation.
Commit: afd4df07ab0262482829d4410a6bae9f2809d37b
https://github.com/llvm/llvm-project/commit/afd4df07ab0262482829d4410a6bae9f2809d37b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/unittests/Target/AArch64/AArch64SelectionDAGTest.cpp
Log Message:
-----------
[DAG] isKnownToBeAPowerOfTwo - add DemandedElts, OrZero arguments and support for zero constants (#181485)
Update the signature for isKnownToBeAPowerOfTwo methods to take
DemandedElts and OrZero arguments.
So far all I've done is add OrZero support for constants
(scalars/buildvector/splat), with the intention to incrementally extend
support in the future (or spread the work as beginner GFI patches).
Similarly the DemandedElts argument is currently only used for constant
build vector tests but support can be extended in future patches.
Fixes #178938
Commit: 47abe868314d2b2d71d188723bda41ea3d4641f7
https://github.com/llvm/llvm-project/commit/47abe868314d2b2d71d188723bda41ea3d4641f7
Author: Alex Wang <yesterda9 at gmail.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M clang/lib/Analysis/CFG.cpp
A clang/test/Analysis/cfg-assignment-eval-order.cpp
M clang/test/Analysis/missing-bind-temporary.cpp
M clang/test/Analysis/scopes-cfg-output.cpp
Log Message:
-----------
[clang][CFG] Sequence RHS before LHS for overloaded assignment operators in CFG to match C++17 rules (#181113)
Fixes #180521
Commit: f26e8595c3073fafc822bfcdd3ca9dec32ab573b
https://github.com/llvm/llvm-project/commit/f26e8595c3073fafc822bfcdd3ca9dec32ab573b
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Use VPlan::getConstantInt in a few more cases (NFC).
VPlan::getConstantInt() allows for slightly more compact creation of
VPIRValues wrapping ConstantInts.
Commit: c0c2e38d4a69e21c16a0a34ebecf888caadcb81f
https://github.com/llvm/llvm-project/commit/c0c2e38d4a69e21c16a0a34ebecf888caadcb81f
Author: AidinT <at.aidin at gmail.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M mlir/include/mlir/Interfaces/CMakeLists.txt
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
Log Message:
-----------
[MLIR] Generate DataLayoutDialectInterface using ODS (#181217)
This PR converts DataLayoutDialectInterface to a ODS dialect
interface.
Commit: f3a816598dc281666fbe799776656249f52afda3
https://github.com/llvm/llvm-project/commit/f3a816598dc281666fbe799776656249f52afda3
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
Log Message:
-----------
[VPlan] Add VPSymbolicValue for UF. (NFC)
Add a symbolic unroll factor (UF) to VPlan similar to VF & VFxUF that
gets replaced with the concrete UF during plan execution, similar to how VF
is used for the vectorization factor. This is a preparatory change that
allows transforms to use the symbolic UF before the concrete UF is
determined.
Note that the old getUF that returns the concrete UF after unrolling has
been renamed to getConcreteUF.
Split off from the re-commit of 8d29d093096
(https://github.com/llvm/llvm-project/pull/149706) as suggested.
Commit: bcbb04acf5b136b98ce1edf4cbd0de283ca24756
https://github.com/llvm/llvm-project/commit/bcbb04acf5b136b98ce1edf4cbd0de283ca24756
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/LayoutOverrideSource.cpp
Log Message:
-----------
[clang] Add explicit std::move(...) to avoid a few copies (#180478)
Moving an std::shared_ptr is always profitable (marginally).
Moving a clang::LayoutOverrideSource::Layout may be profitable depending
on the size of the underlying llvm::SmallVector.
Changes suggested by performance-use-std-move from #179467
Commit: 152d811de1c8ef450117d522696ec0271e4572e8
https://github.com/llvm/llvm-project/commit/152d811de1c8ef450117d522696ec0271e4572e8
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M clang/bindings/python/clang/cindex.py
Log Message:
-----------
Revert "[clang][Python] Use fstrings instead of string concatenations (#173861)"
This reverts commit abf1d0bea04ab5d5ed1be3708ce1cd86707d5c8f,
because its title and description are entirely wrong.
f-strings is what was initially proposed, but then it was decided
to go with `str.format`.
Commit: 0f7791e9d82d7d40981eb1a781a61c1e988997fd
https://github.com/llvm/llvm-project/commit/0f7791e9d82d7d40981eb1a781a61c1e988997fd
Author: Miko <110693261+mikomikotaishi at users.noreply.github.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M clang/bindings/python/clang/cindex.py
Log Message:
-----------
[clang][Python] Use str.format instead of string concatenations (#173861)
This PR replaces string concatenations and the older `%` string
interpolation with `str.format`. Changes along those lines were
originally a part of #173845, but they were moved to a new PR,
where it was decided that `str.format` is preferable over
f-strings.
Changes in this commit are identical to
abf1d0bea04ab5d5ed1be3708ce1cd86707d5c8f, but commit title and
description were changed to correctly reflect the changes.
Commit: 70905e0afae2e2f14c405bca514494c5b1449822
https://github.com/llvm/llvm-project/commit/70905e0afae2e2f14c405bca514494c5b1449822
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/Constant.h
M llvm/lib/Analysis/BranchProbabilityInfo.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Analysis/Local.cpp
M llvm/lib/Analysis/MustExecute.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/FuzzMutate/IRMutator.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/unittests/Analysis/ValueLatticeTest.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M polly/lib/Support/SCEVValidator.cpp
M polly/lib/Transform/ZoneAlgo.cpp
Log Message:
-----------
[RFC][IR] Remove `Constant::isZeroValue` (#181521)
`Constant::isZeroValue` currently behaves same as
`Constant::isNullValue` for all types except floating-point, where it
additionally returns true for negative zero (`-0.0`). However, in
practice, almost all callers operate on integer/pointer types where the
two are equivalent, and the few FP-relevant callers have no meaningful
dependence on the `-0.0` behavior.
This PR removes `isZeroValue` to eliminate the confusing API. All
callers are changed to `isNullValue` with no test failures.
`isZeroValue` will be reintroduced in a future change with clearer
semantics: when null pointers may have non-zero bit patterns,
`isZeroValue` will check for bitwise-all-zeros, while `isNullValue` will
check for the semantic null (which
may be non-zero).
Commit: e86750b29fa0ff207cd43213d66dabe565417638
https://github.com/llvm/llvm-project/commit/e86750b29fa0ff207cd43213d66dabe565417638
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
A llvm/test/tools/llubi/assume_false.ll
A llvm/test/tools/llubi/assume_poison.ll
A llvm/test/tools/llubi/br_poison.ll
A llvm/test/tools/llubi/call_mismatched_signature.ll
A llvm/test/tools/llubi/call_poison.ll
A llvm/test/tools/llubi/controlflow.ll
A llvm/test/tools/llubi/indirectbr_invalid.ll
A llvm/test/tools/llubi/indirectbr_poison.ll
A llvm/test/tools/llubi/infinite_loop.ll
M llvm/test/tools/llubi/int_arith.ll
A llvm/test/tools/llubi/invoke_poison.ll
A llvm/test/tools/llubi/stack_overflow.ll
A llvm/test/tools/llubi/switch_poison.ll
A llvm/test/tools/llubi/unreachable.ll
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Context.h
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Value.h
M llvm/tools/llubi/llubi.cpp
Log Message:
-----------
[llubi] Add basic support for icmp, terminators and function calls (#181393)
Note: icmp with integers is also introduced in this patch, as it is
needed to compute branch conditions.
Commit: b19606721a3d29325e237b1c94efc463edae82b8
https://github.com/llvm/llvm-project/commit/b19606721a3d29325e237b1c94efc463edae82b8
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M .github/workflows/libc-fullbuild-tests.yml
Log Message:
-----------
[Github][libc] Use a container for fullbuild tests (#181436)
This avoids needing to set up deps every time and avoids failures due to
failed dependency installation.
Closed #150490.
Commit: c087fff25a2420ff7023445973e72f3261385b5d
https://github.com/llvm/llvm-project/commit/c087fff25a2420ff7023445973e72f3261385b5d
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
A llvm/test/tools/llubi/struct.ll
A llvm/test/tools/llubi/vector.ll
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Value.h
Log Message:
-----------
[llubi] Add basic support for vector and aggregate ops (#181544)
Commit: 255b493673e65201986d443c64db0a251a4ddbe8
https://github.com/llvm/llvm-project/commit/255b493673e65201986d443c64db0a251a4ddbe8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/big-number-reduced-values.ll
Log Message:
-----------
[SLP]Do not overflow number of the reduced values
Need to trunc the total number of the reduced values, in case if the
number is too big
Fixes #181520
Commit: 38702e0a04319a7d7d6d46d34dde6804adeaad3a
https://github.com/llvm/llvm-project/commit/38702e0a04319a7d7d6d46d34dde6804adeaad3a
Author: Tirthankar Mazumder <tmazumder.github at gmail.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-add.ll
Log Message:
-----------
[InstCombine][NFC] Add test for existing fold (#181555)
Resolves #73417.
The fold described in #73417 is already present in LLVM `main`, but it
isn't tested for specifically. This PR adds a test for this fold, based
on the IR in the topmost comment of that issue.
Commit: ec095a5d47a4bf5cd7755d440be5431739a9244f
https://github.com/llvm/llvm-project/commit/ec095a5d47a4bf5cd7755d440be5431739a9244f
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2026-02-16 (Mon, 16 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-and-or.ll
Log Message:
-----------
[InstCombine] Optimise the expression `(C && A) || (!C && B)` with `FoldOrOfLogicalAnds` (#178438)
Commit: 7f5c1b95b9d28bd4322bc2eb0c12cc3cc59bf0d6
https://github.com/llvm/llvm-project/commit/7f5c1b95b9d28bd4322bc2eb0c12cc3cc59bf0d6
Author: Yi Zhang <cathyzhyi at google.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] fix #181217 (#181556)
fix #181217
Commit: 6f253e87ddac3c3fffd71c6c5ccfa457096bc191
https://github.com/llvm/llvm-project/commit/6f253e87ddac3c3fffd71c6c5ccfa457096bc191
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/CodeGen/WebAssembly/memory-interleave.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-constant-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory.ll
M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
M llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory.ll
Log Message:
-----------
Reapply "[VPlan] Run narrowInterleaveGroups during general VPlan optimizations. (#149706)"
This reverts commit 8d29d09309654541fb2861524276ada6a3ebf84c.
The underlying issue causing the revert has been fixed independently
as 301fa24671256734df6b7ee65f23ad885400108e.
Original message:
Move narrowInterleaveGroups to to general VPlan optimization stage.
To do so, narrowInterleaveGroups now has to find a suitable VF where all
interleave groups are consecutive and saturate the full vector width.
If such a VF is found, the original VPlan is split into 2:
a) a new clone which contains all VFs of Plan, except VFToOptimize, and
b) the original Plan with VFToOptimize as single VF.
The original Plan is then optimized. If a new copy for the other VFs has
been created, it is returned and the caller has to add it to the list of
candidate plans.
Together with https://github.com/llvm/llvm-project/pull/149702, this
allows to take the narrowed interleave groups into account when
computing costs to choose the best VF and interleave count.
One example where we currently miss interleaving/unrolling when
narrowing interleave groups is https://godbolt.org/z/Yz77zbacz
PR: https://github.com/llvm/llvm-project/pull/149706
Commit: f3b96cbf20137562ff069e315f7915524a350d08
https://github.com/llvm/llvm-project/commit/f3b96cbf20137562ff069e315f7915524a350d08
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
Log Message:
-----------
[ScalarizeMaskedMemIntrin] Remove redundant RUN: line
5cfd815c14f378c50018f6967c027b758c3996a6 introduced redundant run lines
when doing some NewPM related cleanup. Remove them given they are
identical. LegacyPM coverage is handled through llc.
Commit: 04ef765b65040e1df4cafaf3dacc26fa5d48e519
https://github.com/llvm/llvm-project/commit/04ef765b65040e1df4cafaf3dacc26fa5d48e519
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M libcxx/include/module.modulemap.in
M libcxx/test/benchmarks/containers/sequence/sequence_container_benchmarks.h
M libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_forward_iterator.compile.pass.cpp
M libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_input_iterator.compile.pass.cpp
M libcxx/test/libcxx/input.output/filesystems/class.path/path.req/is_pathable.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/arithmetic.pass.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/comparison.pass.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/dereference.pass.cpp
M libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_traits.compile.pass.cpp
M libcxx/test/libcxx/iterators/iterator_with_data.pass.cpp
M libcxx/test/libcxx/iterators/product_iterator.pass.cpp
M libcxx/test/libcxx/iterators/unwrap_iter.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/ranges_generate.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/ranges_generate_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/pstl.move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_point.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_point.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_stable_partition.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/ranges_sample.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/sample.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/ranges_shuffle.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.reverse/ranges.reverse.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/ranges.shift_left.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/shift_left.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/shift_right.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/binary_transform.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.transform.binary.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.transform.unary.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/unary_transform.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy_pred.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/all_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.all_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/any_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.any_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/pstl.count.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/pstl.count_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.ends_with/ranges.ends_with.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/ranges.equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/ranges.find_end.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/ranges.find_first_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.last/ranges.find_last.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if_not.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/requirements.compile.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/ranges.is_permutation.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/none_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.none_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.starts_with/ranges.starts_with.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/ranges_equal_range.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/ranges_is_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/ranges_is_heap_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/ranges_make_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/ranges_pop_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/ranges_push_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/ranges_sort_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_inplace_merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.max.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.min.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.min.max/requires_forward_iterator.verify.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.nth.element/ranges_nth_element.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/includes/ranges_includes.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.difference/ranges_set_difference.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/ranges_set_intersection.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection_complexity.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/ranges_set_symmetric_difference.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.union/ranges_set_union.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_until_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/pstl.is_sorted.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/pstl.is_sorted_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort.copy/ranges_partial_sort_copy.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort/ranges_partial_sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/pstl.sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/ranges.sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.stable_sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/ranges.stable.sort.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.operations/distance.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/iterator_sentinel.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/lwg3664.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/iterator.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/indirectcallable/projected/projected.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.bidir/bidirectional_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.forward/forward_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.input/input_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.iterator/input_or_output_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.random.access/random_access_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.cust/iterator.cust.swap/iter_swap.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/arrow.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/assign.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/base.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/compare.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/count.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.conv.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.default.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/decrement.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/deref.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/increment.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/iter_move.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/iter_swap.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/iterator_traits.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/member_types.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.default_sentinel.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.eq.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.size.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/plus.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/subscript.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/three_way_compare.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.default.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.sentinel.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/types.h
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/iter_move.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/iter_swap.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.conv/base.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iterator/types.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/sized_sentinel.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/iter_move.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/iter_swap.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/test_neg_one.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.iota/ranges.iota.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/pstl.reduce.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/reduce.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/reduce_init.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/reduce_init_op.pass.cpp
M libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.binary.pass.cpp
M libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.unary.pass.cpp
M libcxx/test/std/ranges/range.access/size.pass.cpp
M libcxx/test/std/ranges/range.access/ssize.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adaptor.object/range_adaptor_closure.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/adaptor.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/singular.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/all_t.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/begin_end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/data.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/empty.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.as.rvalue/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.as.rvalue/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/ctor.view.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/dangling.cache.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/types.h
M libcxx/test/std/ranges/range.adaptors/range.filter/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.with/range.join.with.overview/adaptor.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.with/range.join.with.view/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.with/range.join.with.view/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.split/types.h
M libcxx/test/std/ranges/range.adaptors/range.take.while/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/range.take.sentinel/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/range.take.sentinel/ctor.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/plus_minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/sentinel.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/subscript.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/singular.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range_adaptor_types.h
M libcxx/test/std/ranges/range.factories/range.iota.view/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.utility/range.elementsof/ctad.pass.cpp
M libcxx/test/std/ranges/range.utility/range.elementsof/elements_of.pass.cpp
M libcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp
M libcxx/test/std/strings/basic.string/string.cons/from_range_deduction.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_assign/iterator.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_insert/iter_iter_iter.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_iter_iter.pass.cpp
M libcxx/test/std/strings/string.view/string.view.cons/from_iterator_sentinel.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/pred.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct_n.pass.cpp
M libcxx/test/support/module.modulemap
M libcxx/test/support/test.support/test_proxy.pass.cpp
M libcxx/test/support/test_range.h
Log Message:
-----------
[libc++] Add test_iterators.h to the modulemap (#181351)
and fix all the missing includes found by it.
Commit: e819483c20ea502e9a0f3cc29276cc05a3f35e98
https://github.com/llvm/llvm-project/commit/e819483c20ea502e9a0f3cc29276cc05a3f35e98
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/test/Sema/Inputs/lifetime-analysis.h
M clang/test/Sema/warn-lifetime-safety-invalidations.cpp
Log Message:
-----------
[LifetimeSafety] 'erase' does not invaldiate node-based containers (#181216)
```cpp
// This pattern was previously flagged as a lifetime violation
for (auto it = my_map.begin(); it != my_map.end(); ) {
if (should_delete(*it)) {
my_map.erase(it++); // Safe in map, but flagged as invalidating 'it'
} else {
++it;
}
}
```
Commit: 6ef0613e5cfa659bb2e80eca919a61e63b09aab5
https://github.com/llvm/llvm-project/commit/6ef0613e5cfa659bb2e80eca919a61e63b09aab5
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-15 (Sun, 15 Feb 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
A .ci/green-dragon/clang-san-iossim.groovy
A .ci/green-dragon/clang-stage1-RA-as.groovy
A .ci/green-dragon/clang-stage1-RA-cmake-incremental.groovy
A .ci/green-dragon/clang-stage1-RA-expensive.groovy
A .ci/green-dragon/clang-stage1-RA.groovy
A .ci/green-dragon/clang-stage2-Rthinlto.groovy
A .ci/green-dragon/clang-stage2-cmake-RgSan.groovy
A .ci/green-dragon/clang-stage2-cmake-RgTSan.groovy
A .ci/green-dragon/lnt-ctmark-aarch64-O0-g.groovy
A .ci/green-dragon/lnt-ctmark-aarch64-O3-flto.groovy
A .ci/green-dragon/lnt-ctmark-aarch64-Os.groovy
A .ci/green-dragon/lnt-ctmark-aarch64-Oz.groovy
A .ci/green-dragon/relay-clang-stage2-sanitizers.groovy
A .ci/green-dragon/relay-clang-stage2-thinlto.groovy
A .ci/green-dragon/relay-lnt-ctmark.groovy
A .ci/green-dragon/relay-test-suite-verify-machineinstrs.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-aarch64-O0-g.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-aarch64-O3.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-aarch64-globalisel-O0-g.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-x86_64-O0-g.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-x86_64-O3.groovy
A .ci/green-dragon/test-suite-verify-machineinstrs-x86_64h-O3.groovy
M .ci/premerge_advisor_explain.py
M .github/renovate.json
A .github/workflows/build-libc-container.yml
M .github/workflows/commit-access-review.py
M .github/workflows/commit-access-review.yml
M .github/workflows/commit-create-issue.py
A .github/workflows/containers/libc/Dockerfile
M .github/workflows/docs.yml
M .github/workflows/issue-release-workflow.yml
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libcxx-run-benchmarks.yml
M .github/workflows/prune-branches.yml
M .github/workflows/prune-unused-branches.py
M .github/workflows/release-asset-audit.yml
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-documentation.yml
M .github/workflows/release-tasks.yml
M .gitignore
M .mailmap
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/Hugify.cpp
M bolt/lib/Passes/IdenticalCodeFolding.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
A bolt/test/AArch64/bti-inline-dbg.s
A bolt/test/AArch64/bti-inline.s
A bolt/test/AArch64/bti-long-jmp-ignored.s
A bolt/test/AArch64/bti-long-jmp.s
A bolt/test/AArch64/bti-note-unused.test
A bolt/test/AArch64/bti-patch-entries.s
A bolt/test/AArch64/compare-and-branch-inversion.S
A bolt/test/AArch64/compare-and-branch-reorder-blocks.S
A bolt/test/AArch64/compare-and-branch-split-functions.S
A bolt/test/AArch64/compare-and-branch-unsupported.S
A bolt/test/AArch64/constant-island-reference.s
R bolt/test/AArch64/inline-bti-dbg.s
R bolt/test/AArch64/inline-bti.s
R bolt/test/AArch64/long-jmp-bti-ignored.s
R bolt/test/AArch64/long-jmp-bti.s
R bolt/test/AArch64/no-bti-note.test
A bolt/test/icf-hot-text-mover.c
A bolt/test/runtime/AArch64/bti-hugify.c
A bolt/test/runtime/AArch64/bti-instrumentation-ind-call.c
A bolt/test/runtime/AArch64/bti-long-jmp-plt.c
R bolt/test/runtime/AArch64/instrumentation-ind-call-bti.c
R bolt/test/runtime/AArch64/long-jmp-bti-plt.c
M clang-tools-extra/Maintainers.rst
M clang-tools-extra/clang-apply-replacements/tool/ClangApplyReplacementsMain.cpp
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-doc/Generators.h
M clang-tools-extra/clang-doc/assets/head-template.mustache
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-tidy/add_new_check.py
M clang-tools-extra/clang-tidy/android/ComparisonInTempFailureRetryCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BadSignalToKillThreadCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.h
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringConstructorCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousSemicolonCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.cpp
M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
M clang-tools-extra/clang-tidy/modernize/PassByValueCheck.h
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStructuredBindingCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStructuredBindingCheck.h
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clang-tidy/performance/StringViewConversionsCheck.cpp
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/DeleteNullPointerCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
M clang-tools-extra/clang-tidy/readability/IsolateDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.h
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
A clang-tools-extra/clang-tidy/readability/TrailingCommaCheck.cpp
A clang-tools-extra/clang-tidy/readability/TrailingCommaCheck.h
M clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.cpp
M clang-tools-extra/clang-tidy/readability/UppercaseLiteralSuffixCheck.h
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.h
M clang-tools-extra/clang-tidy/utils/FixItHintUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.h
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/ScanningProjectModules.cpp
M clang-tools-extra/clangd/index/remote/Client.cpp
M clang-tools-extra/clangd/index/remote/monitor/Monitor.cpp
M clang-tools-extra/clangd/index/remote/server/Server.cpp
M clang-tools-extra/clangd/test/call-hierarchy.test
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/abseil/unchecked-statusor-access.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/exception-escape.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/dcl58-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/env33-c.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/err52-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/flp30-c.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/mem57-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-goto.rst
M clang-tools-extra/docs/clang-tidy/checks/fuchsia/multiple-inheritance.rst
M clang-tools-extra/docs/clang-tidy/checks/google/readability-casting.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-c-arrays.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/avoid-goto.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/braces-around-statements.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/deprecated-headers.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/exception-baseclass.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/explicit-conversions.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/function-size.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/ignored-remove-result.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/invalid-access-moved.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/member-init.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/move-const-arg.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/multiway-paths-covered.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/named-parameter.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/new-delete-operators.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-array-decay.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-assembler.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/no-malloc.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/noexcept-move.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/signed-bitwise.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/special-member-functions.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/static-assert.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/undelegated-constructor.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/uppercase-literal-suffix.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-auto.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-emplace.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-equals-default.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-equals-delete.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-noexcept.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-nullptr.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/use-override.rst
M clang-tools-extra/docs/clang-tidy/checks/hicpp/vararg.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/pass-by-value.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-structured-binding.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/magic-numbers.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/trailing-comma.rst
M clang-tools-extra/docs/clang-tidy/index.rst
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
A clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-cxx-11-inherited-constructors.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-treat-functions-without-specification-as-throwing.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/string-constructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/init-variables.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-vararg.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/concat-nested-namespaces/modernize-concat-nested-namespaces.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/pass-by-value/header-with-fix.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/pass-by-value/header.h
A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-structured-binding/fake_std_pair_tuple.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-header.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-ignore-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value-multi-fixes.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-structured-binding.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/Inputs/unnecessary-value-param/header.h
M clang-tools-extra/test/clang-tidy/checkers/performance/string-view-conversions-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/string-view-conversions.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/duplicate-include.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-c23.c
A clang-tools-extra/test/clang-tidy/checkers/readability/suspicious-call-argument-option.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/suspicious-call-argument.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx11.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx20-remove.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx20.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-remove.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-wrong-config.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma.c
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-floating-point.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer.cpp
M clang-tools-extra/unittests/clang-tidy/CMakeLists.txt
A clang-tools-extra/unittests/clang-tidy/LexerUtilsTest.cpp
M clang/AreaTeamMembers.txt
A clang/Maintainers.md
R clang/Maintainers.rst
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_code_completion.py
M clang/bindings/python/tests/cindex/test_location.py
M clang/bindings/python/tests/cindex/test_source_range.py
A clang/cmake/caches/cross-linux-toolchain.cmake
M clang/docs/CMakeLists.txt
M clang/docs/ClangFormatStyleOptions.rst
A clang/docs/ClangIRCleanupAndEHDesign.md
A clang/docs/Maintainers.md
R clang/docs/Maintainers.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SafeBuffers.rst
M clang/docs/SourceBasedCodeCoverage.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/index.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ComputeDependence.h
M clang/include/clang/AST/DeclObjCCommon.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/HLSLResource.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Checker.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
A clang/include/clang/Analysis/Analyses/LifetimeSafety/MovedLoans.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h
A clang/include/clang/Analysis/CFGBackEdges.h
A clang/include/clang/Analysis/Scalable/Model/PrivateFieldNames.def
M clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
A clang/include/clang/Analysis/Scalable/Serialization/SerializationFormatRegistry.h
M clang/include/clang/Analysis/Scalable/TUSummary/EntitySummary.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/BuiltinsAMDGPU.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/ObjCRuntime.h
M clang/include/clang/Basic/OffloadArch.h
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TargetOSMacros.def
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/CIR/ABIArgInfo.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDataLayout.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/Passes.h
M clang/include/clang/CIR/Dialect/Passes.td
A clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.h
A clang/include/clang/CIR/Interfaces/ASTAttrInterfaces.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/Interfaces/CMakeLists.txt
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/RocmInstallationDetector.h
M clang/include/clang/Driver/SanitizerArgs.h
M clang/include/clang/Driver/SyclInstallationDetector.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Lex/PPCallbacks.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Options/Options.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaAMDGPU.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/module.modulemap
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
M clang/lib/AST/ByteCode/InterpHelpers.h
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/MemberPointer.cpp
M clang/lib/AST/ByteCode/MemberPointer.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/State.cpp
M clang/lib/AST/ByteCode/State.h
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/CFG.cpp
A clang/lib/Analysis/CFGBackEdges.cpp
M clang/lib/Analysis/CMakeLists.txt
M clang/lib/Analysis/CloneDetection.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/LifetimeSafety/CMakeLists.txt
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/Dataflow.h
M clang/lib/Analysis/LifetimeSafety/Facts.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeSafety.cpp
M clang/lib/Analysis/LifetimeSafety/LoanPropagation.cpp
A clang/lib/Analysis/LifetimeSafety/MovedLoans.cpp
M clang/lib/Analysis/Scalable/CMakeLists.txt
R clang/lib/Analysis/Scalable/Serialization/SerializationFormat.cpp
A clang/lib/Analysis/Scalable/Serialization/SerializationFormatRegistry.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/OffloadArch.cpp
M clang/lib/Basic/OperatorPrecedence.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
A clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
A clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
A clang/lib/CIR/CodeGen/CIRGenCUDARuntime.cpp
A clang/lib/CIR/CodeGen/CIRGenCUDARuntime.h
M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.h
M clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenDeclCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/CodeGen/EHScopeStack.h
M clang/lib/CIR/CodeGen/TargetInfo.cpp
M clang/lib/CIR/CodeGen/TargetInfo.h
M clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
A clang/lib/CIR/Dialect/Transforms/TargetLowering.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/TargetLoweringInfo.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/TargetLoweringInfo.h
A clang/lib/CIR/Interfaces/ASTAttrInterfaces.cpp
M clang/lib/CIR/Interfaces/CMakeLists.txt
M clang/lib/CIR/Lowering/CIRPasses.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
M clang/lib/CodeGen/TargetInfo.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/DirectX.cpp
M clang/lib/CodeGen/Targets/Hexagon.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DependencyScanning/DependencyScanningService.cpp
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Arch/PPC.cpp
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HIPSPV.h
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/SYCL.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/LayoutOverrideSource.cpp
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/module.modulemap
M clang/lib/Headers/ptrauth.h
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/CMakeLists.txt
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseOpenMP.cpp
A clang/lib/Parse/ParseReflect.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPPC.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/OpaqueSTLFunctionsModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
M clang/test/AST/ByteCode/builtin-align-cxx.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
A clang/test/AST/ByteCode/builtin-object-size-codegen.c
M clang/test/AST/ByteCode/builtin-object-size-codegen.cpp
M clang/test/AST/ByteCode/builtins.c
M clang/test/AST/ByteCode/c.c
M clang/test/AST/ByteCode/complex.c
M clang/test/AST/ByteCode/complex.cpp
A clang/test/AST/ByteCode/constexpr-steps.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/cxx26.cpp
M clang/test/AST/ByteCode/floats.cpp
A clang/test/AST/ByteCode/gh176549.cpp
M clang/test/AST/ByteCode/intap.cpp
M clang/test/AST/ByteCode/invalid.cpp
M clang/test/AST/ByteCode/memberpointers.cpp
M clang/test/AST/ByteCode/new-delete.cpp
A clang/test/AST/ByteCode/object-size-flex-array.c
A clang/test/AST/ByteCode/pass-object-size.c
M clang/test/AST/ByteCode/placement-new.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/vectors.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
A clang/test/AST/HLSL/Texture2D-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
A clang/test/AST/HLSL/ast-dump-availability-attr.hlsl
M clang/test/AST/HLSL/matrix-constructors.hlsl
A clang/test/AST/HLSL/matrix-elementexpr-tree-transform.hlsl
M clang/test/AST/HLSL/matrix-general-initializer.hlsl
A clang/test/AST/HLSL/matrix-member-access-scalar.hlsl
A clang/test/AST/HLSL/matrix-member-access-swizzle-ast-dump-json.hlsl
A clang/test/AST/HLSL/matrix-member-access-swizzle-ast-print.hlsl
A clang/test/AST/HLSL/matrix-member-access-swizzle.hlsl
A clang/test/AST/HLSL/pch_with_matrix_element_accessor.hlsl
M clang/test/AST/ast-dump-attr-json.cpp
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
M clang/test/Analysis/Inputs/system-header-simulator-cxx-std-suppression.h
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/auto-obj-dtors-cfg-output.cpp
A clang/test/Analysis/cfg-assignment-eval-order.cpp
A clang/test/Analysis/diagnostics/opaque-stl-functions-modeling.cpp
A clang/test/Analysis/indirect-goto-basics.c
M clang/test/Analysis/misc-ps-region-store.cpp
M clang/test/Analysis/missing-bind-temporary.cpp
M clang/test/Analysis/scopes-cfg-output.cpp
A clang/test/Analysis/store-union-aggregates.c
A clang/test/Analysis/switch-basics.c
M clang/test/Analysis/uninit-vals.cpp
M clang/test/C/C2y/n3369.c
A clang/test/C/C2y/n3605.c
A clang/test/C/C2y/n3605_1.c
A clang/test/C/C2y/n3605_2.c
A clang/test/CIR/CodeGen/alloc-size.c
M clang/test/CIR/CodeGen/assign-operator.cpp
M clang/test/CIR/CodeGen/atomic-scoped.c
M clang/test/CIR/CodeGen/atomic.c
M clang/test/CIR/CodeGen/basic.cpp
M clang/test/CIR/CodeGen/bitfields.cpp
A clang/test/CIR/CodeGen/builtin-floating-point.c
A clang/test/CIR/CodeGen/builtins-elementwise.c
A clang/test/CIR/CodeGen/builtins-x86.c
M clang/test/CIR/CodeGen/call-via-class-member-funcptr.cpp
M clang/test/CIR/CodeGen/call.cpp
M clang/test/CIR/CodeGen/complex.cpp
M clang/test/CIR/CodeGen/coro-task.cpp
M clang/test/CIR/CodeGen/cxx-conversion-operators.cpp
M clang/test/CIR/CodeGen/cxx-rewritten-binary-operator.cpp
M clang/test/CIR/CodeGen/cxx-special-member-attr.cpp
A clang/test/CIR/CodeGen/default-func-attrs-cmd-line.cpp
M clang/test/CIR/CodeGen/derived-to-base.cpp
M clang/test/CIR/CodeGen/dtors.cpp
M clang/test/CIR/CodeGen/dynamic-cast-exact.cpp
M clang/test/CIR/CodeGen/forrange.cpp
M clang/test/CIR/CodeGen/global-array-dtor.cpp
M clang/test/CIR/CodeGen/global-init.cpp
M clang/test/CIR/CodeGen/goto.cpp
M clang/test/CIR/CodeGen/if.cpp
M clang/test/CIR/CodeGen/inline-attributes.cpp
M clang/test/CIR/CodeGen/inline-cxx-func.cpp
A clang/test/CIR/CodeGen/integer-overflow.c
M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
M clang/test/CIR/CodeGen/lambda.cpp
M clang/test/CIR/CodeGen/libc.c
M clang/test/CIR/CodeGen/misc-attrs.cpp
M clang/test/CIR/CodeGen/new.cpp
A clang/test/CIR/CodeGen/no-builtin-attr-automatic.cpp
A clang/test/CIR/CodeGen/no-builtin-attr.cpp
M clang/test/CIR/CodeGen/no-odr-use.cpp
A clang/test/CIR/CodeGen/offload-convergent-attr.cu
A clang/test/CIR/CodeGen/optsize-func-attr.cpp
M clang/test/CIR/CodeGen/pack-indexing.cpp
A clang/test/CIR/CodeGen/ret-attrs.cpp
A clang/test/CIR/CodeGen/save-reg-params-func-attr.cpp
A clang/test/CIR/CodeGen/static-local.cpp
M clang/test/CIR/CodeGen/string-literals.cpp
M clang/test/CIR/CodeGen/struct-init.cpp
M clang/test/CIR/CodeGen/template-specialization.cpp
M clang/test/CIR/CodeGen/temporary-materialization.cpp
M clang/test/CIR/CodeGen/ternary.cpp
A clang/test/CIR/CodeGen/trap-func-name-attr.cpp
M clang/test/CIR/CodeGen/try-catch-tmp.cpp
M clang/test/CIR/CodeGen/try-catch.cpp
M clang/test/CIR/CodeGen/unary.cpp
M clang/test/CIR/CodeGen/variable-decomposition.cpp
A clang/test/CIR/CodeGen/zero-call-used-regs-func-attr.cpp
M clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
R clang/test/CIR/CodeGenBuiltins/AArch64/neon/fullfp16.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceIntrin.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceMinMaxIntrin.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512bw-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512fp16-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx512vbmi2-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlbf16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlfp16-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/cmp-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/keylocker.c
A clang/test/CIR/CodeGenBuiltins/X86/rd-builtins.c
M clang/test/CIR/CodeGenBuiltins/builtin-fcmp-sse.c
M clang/test/CIR/CodeGenBuiltins/builtin-isfpclass.c
M clang/test/CIR/CodeGenBuiltins/builtin_call.cpp
M clang/test/CIR/CodeGenBuiltins/builtin_new_delete.cpp
M clang/test/CIR/CodeGenBuiltins/builtins-elementwise.c
A clang/test/CIR/CodeGenCUDA/Inputs/cuda.h
A clang/test/CIR/CodeGenCUDA/filter-decl.cu
A clang/test/CIR/CodeGenCUDA/kernel-call.cu
A clang/test/CIR/CodeGenCUDA/kernel-stub-name.cu
A clang/test/CIR/CodeGenCUDA/nvptx-basic.cu
A clang/test/CIR/CodeGenHLSL/matrix-element-expr-load.hlsl
M clang/test/CIR/CodeGenOpenACC/atomic-capture.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-update.cpp
M clang/test/CIR/CodeGenOpenACC/atomic-write.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-inline-ops.cpp
M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-outline-ops.cpp
M clang/test/CIR/CodeGenOpenMP/not-yet-implemented.c
A clang/test/CIR/CodeGenOpenMP/omp-llvmir.c
M clang/test/CIR/CodeGenOpenMP/parallel.c
M clang/test/CIR/IR/atomic.cir
A clang/test/CIR/IR/cleanup-scope.cir
A clang/test/CIR/IR/eh-flat.cir
M clang/test/CIR/IR/invalid-atomic.cir
A clang/test/CIR/IR/invalid-eh-flat.cir
A clang/test/CIR/IR/invalid-static-local.cir
A clang/test/CIR/IR/static-local.cir
A clang/test/CIR/Transforms/flatten-cleanup-scope-multi-exit.cir
A clang/test/CIR/Transforms/flatten-cleanup-scope-nyi.cir
A clang/test/CIR/Transforms/flatten-cleanup-scope-simple.cir
M clang/test/CIR/func-simple.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg10xx.cpp
M clang/test/CXX/drs/cwg11xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/drs/cwg15xx.cpp
M clang/test/CXX/drs/cwg16xx.cpp
A clang/test/CXX/drs/cwg1736.cpp
M clang/test/CXX/drs/cwg17xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg19xx.cpp
M clang/test/CXX/drs/cwg1xx.cpp
A clang/test/CXX/drs/cwg2026.cpp
M clang/test/CXX/drs/cwg20xx.cpp
M clang/test/CXX/drs/cwg22xx.cpp
M clang/test/CXX/drs/cwg23xx.cpp
A clang/test/CXX/drs/cwg2406.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/CXX/drs/cwg25xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg27xx.cpp
A clang/test/CXX/drs/cwg2881.cpp
M clang/test/CXX/drs/cwg28xx.cpp
M clang/test/CXX/drs/cwg29xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg30xx.cpp
A clang/test/CXX/drs/cwg329.cpp
A clang/test/CXX/drs/cwg390.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/test/CXX/drs/cwg6xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
A clang/test/CXX/drs/cwg98.cpp
M clang/test/CXX/drs/cwg9xx.cpp
A clang/test/ClangScanDeps/modules-full-by-mult-mod-names-diagnostics.c
A clang/test/ClangScanDeps/prune-scanning-modules.m
M clang/test/CodeGen/AArch64/neon-intrinsics.c
A clang/test/CodeGen/AArch64/neon/fullfp16.c
A clang/test/CodeGen/AArch64/neon/intrinsics.c
M clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c
M clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c
M clang/test/CodeGen/AMDGPU/full-bf16.c
A clang/test/CodeGen/ARM/build-attributes.c
M clang/test/CodeGen/RISCV/math-builtins.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vabd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vabdu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vabs.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vwabda.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/non-overloaded/vwabdau.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vabd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vabdu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vabs.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vwabda.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/non-policy/overloaded/vwabdau.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabdu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabs.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vwabda.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vwabdau.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabd.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabdu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabs.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vwabda.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vwabdau.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
M clang/test/CodeGen/SystemZ/systemz-ppa2.c
A clang/test/CodeGen/WebAssembly/builtins-table-externref.c
A clang/test/CodeGen/WebAssembly/builtins-table-funcref.c
R clang/test/CodeGen/WebAssembly/builtins-table.c
M clang/test/CodeGen/amdgpu-abi-version.c
M clang/test/CodeGen/arm_acle.c
M clang/test/CodeGen/attr-ifunc.c
M clang/test/CodeGen/attr-ifunc.cpp
A clang/test/CodeGen/attr-no-outline.c
M clang/test/CodeGen/builtins-arm64.c
M clang/test/CodeGen/builtins-extended-image.c
M clang/test/CodeGen/builtins-image-load.c
M clang/test/CodeGen/builtins-nvptx-ptx60.cu
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/builtins.c
A clang/test/CodeGen/compound-assign-atomic-bool.c
M clang/test/CodeGen/denormalfpmode-f32.c
M clang/test/CodeGen/denormalfpmode.c
M clang/test/CodeGen/fp-function-attrs.cpp
M clang/test/CodeGen/hexagon-linux-vararg.c
M clang/test/CodeGen/ifunc.c
M clang/test/CodeGen/math-builtins-long.c
M clang/test/CodeGen/nvptx_attributes.c
M clang/test/CodeGen/paren-list-agg-init.cpp
M clang/test/CodeGen/ptrauth-intrinsics.c
A clang/test/CodeGen/riscv-be-data-layout.c
M clang/test/CodeGen/scoped-atomic-ops.c
M clang/test/CodeGen/target-addrspace.cpp
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/CodeGen/ubsan-function-sugared.cpp
M clang/test/CodeGen/ubsan-function.cpp
M clang/test/CodeGenCUDA/amdgpu-bf16.cu
M clang/test/CodeGenCUDA/convergent.cu
M clang/test/CodeGenCUDA/flush-denormals.cu
M clang/test/CodeGenCUDA/link-builtin-bitcode-denormal-fp-mode.cu
M clang/test/CodeGenCUDA/propagate-attributes.cu
M clang/test/CodeGenCUDA/spirv-amdgcn-bf16.cu
M clang/test/CodeGenCXX/amdgcn-automatic-variable.cpp
M clang/test/CodeGenCXX/amdgcn-func-arg.cpp
M clang/test/CodeGenCXX/builtins.cpp
M clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
M clang/test/CodeGenCXX/cxx2a-consteval.cpp
M clang/test/CodeGenCXX/cxx2a-destroying-delete.cpp
A clang/test/CodeGenCXX/destructor-dead-on-return.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/exceptions-seh.cpp
M clang/test/CodeGenCXX/externc-ifunc-resolver.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors2.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
A clang/test/CodeGenCXX/reflection-mangle-itanium.cpp
A clang/test/CodeGenCXX/reflection-mangle-ms.cpp
A clang/test/CodeGenCXX/sanitize-trap-loop.cpp
M clang/test/CodeGenCXX/template-cxx20.cpp
A clang/test/CodeGenCXX/tmp-md-nodes3.cpp
A clang/test/CodeGenCXX/zos-typename.cpp
M clang/test/CodeGenCoroutines/coro-await-elidable.cpp
M clang/test/CodeGenHIP/amdgpu-barrier-type.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-cooperative-atomics-templated.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx1250-load-monitor-templated.hip
M clang/test/CodeGenHIP/builtins-make-buffer-rsrc.hip
M clang/test/CodeGenHIP/hip_weak_alias.cpp
M clang/test/CodeGenHIP/printf.cpp
M clang/test/CodeGenHIP/printf_nonhostcall.cpp
M clang/test/CodeGenHIP/sanitize-undefined-null.hip
M clang/test/CodeGenHIP/spirv-amdgcn-ballot.cpp
M clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixExplicitTruncation.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixImplicitTruncation.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptConstSwizzle.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptDynamicSwizzle.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptGetter.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptSetter.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
M clang/test/CodeGenHLSL/BoolMatrix.hlsl
M clang/test/CodeGenHLSL/basic_types.hlsl
A clang/test/CodeGenHLSL/builtins/WavePrefixSum.hlsl
M clang/test/CodeGenHLSL/builtins/distance.hlsl
M clang/test/CodeGenHLSL/builtins/length.hlsl
M clang/test/CodeGenHLSL/builtins/max-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/min-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/reflect.hlsl
M clang/test/CodeGenHLSL/builtins/refract.hlsl
M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
A clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-load.hlsl
A clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-store.hlsl
A clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-load.hlsl
A clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-store.hlsl
A clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-load.hlsl
A clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-store.hlsl
A clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-load.hlsl
A clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-store.hlsl
A clang/test/CodeGenHLSL/resources-declared-only-once.hlsl
M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-methods.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-Sample.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-SampleBias.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-SampleCmp.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-SampleCmpLevelZero.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-SampleGrad.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D-SampleLevel.hlsl
M clang/test/CodeGenHLSL/resources/cbuffer_geps.hlsl
A clang/test/CodeGenObjC/attr-no-outline.m
A clang/test/CodeGenObjCXX/arc-lifetime-rvalue-ref-binding.mm
M clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
M clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
A clang/test/CodeGenOpenCL/.gdb_history
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-debug-info-pointer-address-space.cl
M clang/test/CodeGenOpenCL/amdgpu-debug-info-variable-expression.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/atomic-ops.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-asyncmark-errs.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-asyncmark.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-monitor.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-load-to-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/CodeGenOpenCL/builtins-f16.cl
M clang/test/CodeGenOpenCL/check-atomic-alignment.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
M clang/test/CodeGenOpenCL/fpmath.cl
M clang/test/CodeGenOpenCL/relaxed-fpmath.cl
M clang/test/CodeGenOpenCL/sqrt-fpmath.cl
M clang/test/CodeGenSYCL/function-attrs.cpp
M clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
M clang/test/CoverageMapping/mcdc-nested-expr.cpp
M clang/test/DebugInfo/CXX/anon-union-vars.cpp
M clang/test/DebugInfo/CXX/bpf-structors.cpp
M clang/test/DebugInfo/CXX/codeview-unnamed.cpp
A clang/test/DebugInfo/CXX/ctor-homing-local-type.cpp
M clang/test/DebugInfo/CXX/gline-tables-only-codeview.cpp
M clang/test/DebugInfo/CXX/lambda-capture-packs.cpp
M clang/test/DebugInfo/CXX/lambda-this.cpp
M clang/test/DebugInfo/CXX/trivial_abi.cpp
M clang/test/DebugInfo/Generic/codeview-unnamed.c
M clang/test/DebugInfo/Generic/unused-types.c
M clang/test/DebugInfo/Generic/unused-types.cpp
A clang/test/Driver/Inputs/basic_linux_tree/usr/bin/.keep
A clang/test/Driver/Inputs/basic_linux_tree/usr/include/x86_64-unknown-linux-gnu/.keep
A clang/test/Driver/Inputs/hipspv/lib/hip-device-lib/hipspv-spirv64-unknown-chipstar.bc
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/lib/gcc/riscv64be-unknown-linux-gnu/7.2.0/crtbegin.o
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/lib/gcc/riscv64be-unknown-linux-gnu/7.2.0/lib32/ilp32/crtbegin.o
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/lib/gcc/riscv64be-unknown-linux-gnu/7.2.0/lib32/ilp32d/crtbegin.o
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/lib/gcc/riscv64be-unknown-linux-gnu/7.2.0/lib64/lp64/crtbegin.o
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/lib/gcc/riscv64be-unknown-linux-gnu/7.2.0/lib64/lp64d/crtbegin.o
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/riscv64be-unknown-linux-gnu/bin/ld
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/lib/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/lib32/ilp32/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/lib32/ilp32d/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/lib64/lp64/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/lib64/lp64d/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/usr/lib32/ilp32/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/usr/lib32/ilp32d/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/usr/lib64/lp64/.keep
A clang/test/Driver/Inputs/multilib_riscv_linux_sdk_be/sysroot/usr/lib64/lp64d/.keep
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa-llvm/gfx90a/libclc.bc
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa-llvm/libclc.bc
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa/libflang_rt.runtime.a
M clang/test/Driver/aarch64-outliner.c
M clang/test/Driver/aix-as.c
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/amdgpu-toolchain-opencl.cl
M clang/test/Driver/cl-x86-flags.c
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/cuda-cross-compiling.c
M clang/test/Driver/cuda-detect.cu
M clang/test/Driver/darwin-fapple-link-rtlib.c
M clang/test/Driver/darwin-ld-lto.c
M clang/test/Driver/darwin-ld.c
M clang/test/Driver/fdefine-target-os-macros.c
M clang/test/Driver/fuzzer.c
A clang/test/Driver/hip-device-libs-llvm-env.hip
M clang/test/Driver/hip-rdc-device-only.hip
M clang/test/Driver/hip-runtime-libs-linux.hip
M clang/test/Driver/hip-runtime-libs-msvc.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/hip-toolchain-rdc-separate.hip
M clang/test/Driver/hip-toolchain-rdc.hip
M clang/test/Driver/hipspv-device-libs.hip
M clang/test/Driver/hipspv-link-static-library.hip
M clang/test/Driver/hipspv-pass-plugin.hip
A clang/test/Driver/hipspv-toolchain-rdc-separate.hip
M clang/test/Driver/hipspv-toolchain-rdc.hip
M clang/test/Driver/hipspv-toolchain.hip
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/linux-cross.cpp
M clang/test/Driver/linux-header-search.cpp
A clang/test/Driver/module-fgen-reduced-bmi-precompile.cppm
A clang/test/Driver/offload.f90
M clang/test/Driver/opencl-libclc.cl
M clang/test/Driver/opencl.cl
M clang/test/Driver/openmp-offload-gpu.c
A clang/test/Driver/openmp-target-fast-flag.c
A clang/test/Driver/print-enabled-extensions/riscv-spacemit-a100.c
M clang/test/Driver/print-supported-extensions-riscv.c
A clang/test/Driver/reflection-requires-cxx26.cpp
A clang/test/Driver/riscv-be.c
M clang/test/Driver/riscv-cpus.c
A clang/test/Driver/riscv-outliner.c
A clang/test/Driver/sanitize-trap-loop.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/sycl-offload-jit.cpp
M clang/test/Driver/unsupported-option.c
A clang/test/Driver/unsupported-outliner.c
A clang/test/Driver/unsupported-target-vendor.c
M clang/test/Driver/wasm-features.c
M clang/test/Driver/x86-march.c
A clang/test/Driver/x86-outliner.c
M clang/test/Driver/x86-target-features.c
M clang/test/ExtractAPI/objc_property.m
A clang/test/FixIt/fixit-missing-type-spec.c
M clang/test/Frontend/custom-diag-werror-interaction.c
M clang/test/Frontend/x86-target-cpu.c
M clang/test/Headers/__clang_hip_cmath.hip
M clang/test/Headers/__clang_hip_libdevice_declares.cpp
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/amdgcn_openmp_device_math.c
M clang/test/Headers/amdgcn_openmp_device_math_c.c
M clang/test/Headers/amdgcn_openmp_device_math_constexpr.cpp
M clang/test/Headers/gpu_disabled_math.cpp
M clang/test/Headers/gpuintrin.c
M clang/test/Headers/gpuintrin_lang.c
M clang/test/Headers/nvptx_device_math_complex.c
M clang/test/Headers/nvptx_device_math_complex.cpp
M clang/test/Headers/openmp-device-functions-bool.c
M clang/test/Headers/openmp_new_nothrow.cpp
A clang/test/Interpreter/access.cpp
M clang/test/Interpreter/disambiguate-decl-stmt.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M clang/test/Misc/target-invalid-cpu-note/x86.c
A clang/test/Modules/demote-var-def.cpp
A clang/test/Modules/pr149404-02.cppm
A clang/test/Modules/pr172241.cppm
A clang/test/Modules/single-module-parse-mode-compiles.m
M clang/test/Modules/validate-file-content.m
A clang/test/Modules/var-inst-def.cppm
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M clang/test/OpenMP/amdgcn_weak_alias.c
M clang/test/OpenMP/amdgcn_weak_alias.cpp
A clang/test/OpenMP/codegen_attr_pgo.c
M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
M clang/test/OpenMP/for_firstprivate_codegen.cpp
M clang/test/OpenMP/for_lastprivate_codegen.cpp
M clang/test/OpenMP/for_linear_codegen.cpp
M clang/test/OpenMP/for_private_codegen.cpp
M clang/test/OpenMP/for_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
M clang/test/OpenMP/parallel_copyin_codegen.cpp
M clang/test/OpenMP/parallel_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_for_linear_codegen.cpp
M clang/test/OpenMP/parallel_master_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/parallel_private_codegen.cpp
M clang/test/OpenMP/parallel_reduction_codegen.cpp
M clang/test/OpenMP/scope_codegen.cpp
M clang/test/OpenMP/sections_firstprivate_codegen.cpp
M clang/test/OpenMP/sections_lastprivate_codegen.cpp
M clang/test/OpenMP/sections_private_codegen.cpp
M clang/test/OpenMP/sections_reduction_codegen.cpp
M clang/test/OpenMP/simd_private_taskloop_codegen.cpp
M clang/test/OpenMP/single_codegen.cpp
M clang/test/OpenMP/single_firstprivate_codegen.cpp
M clang/test/OpenMP/single_private_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen.cpp
M clang/test/OpenMP/target_in_reduction_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/task_ast_print.cpp
M clang/test/OpenMP/task_codegen.cpp
M clang/test/OpenMP/task_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_ast_print.cpp
M clang/test/OpenMP/taskloop_codegen.cpp
M clang/test/OpenMP/taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_private_codegen.cpp
M clang/test/OpenMP/threadprivate_codegen.cpp
M clang/test/PCH/debug-info-pch-path.c
M clang/test/PCH/modified-module-dependency.m
A clang/test/PCH/pch-input-path-independent.c
M clang/test/PCH/reloc.c
M clang/test/PCH/validate-file-content.m
A clang/test/Parser/parsing-reflection-with-blocks.cpp
A clang/test/Parser/parsing-reflection.cpp
M clang/test/Preprocessor/embed___has_embed_parsing_errors.c
M clang/test/Preprocessor/embed_dependencies.c
M clang/test/Preprocessor/has_include.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Sema/Inputs/lifetime-analysis.h
A clang/test/Sema/attr-no-outline.c
A clang/test/Sema/attr-no-outline.cpp
M clang/test/Sema/builtins-bcd-format-conversion.c
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/constant-builtins-2.c
M clang/test/Sema/constant-builtins.c
M clang/test/Sema/format-strings-nonnull.c
M clang/test/Sema/format-strings.c
M clang/test/Sema/ptrauth.c
M clang/test/Sema/sizeless-1.c
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/Sema/warn-lifetime-safety-dangling-field.cpp
A clang/test/Sema/warn-lifetime-safety-fixits.cpp
A clang/test/Sema/warn-lifetime-safety-invalidations.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
M clang/test/Sema/warn-outof-range-assign-enum.c
M clang/test/Sema/warn-thread-safety-analysis.c
A clang/test/Sema/wasm-funcref-table.c
A clang/test/Sema/wave-reduce-builtins-validate-amdgpu.cl
M clang/test/SemaCUDA/vararg.cu
A clang/test/SemaCXX/GH167120.cpp
A clang/test/SemaCXX/address-space-new-delete.cpp
M clang/test/SemaCXX/alignof-sizeof-reference.cpp
M clang/test/SemaCXX/alloc-token.cpp
A clang/test/SemaCXX/builtin-bitreverseg.cpp
M clang/test/SemaCXX/builtin-bswapg.cpp
M clang/test/SemaCXX/constant-expression-cxx2a.cpp
M clang/test/SemaCXX/constexpr-vectors-access-elements.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/ifunc-has-attribute.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaCXX/return-noreturn.cpp
M clang/test/SemaCXX/warn-loop-analysis.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-format-attr-builtins.cpp
A clang/test/SemaHIP/builtins-amdgcn-gfx1250-cooperative-atomics-templated.hip
A clang/test/SemaHIP/builtins-amdgcn-gfx1250-load-monitor-templated.hip
A clang/test/SemaHIP/hip-builtin-lvalue-to-rvalue.hip
A clang/test/SemaHIP/shared-variable-too-large.hip
A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffers.hlsl
A clang/test/SemaHLSL/BuiltIns/WavePrefixSum-errors.hlsl
A clang/test/SemaHLSL/Texture2D-SampleBias.hlsl
A clang/test/SemaHLSL/Texture2D-SampleCmp.hlsl
A clang/test/SemaHLSL/Texture2D-SampleCmpLevelZero.hlsl
A clang/test/SemaHLSL/Texture2D-SampleGrad.hlsl
A clang/test/SemaHLSL/Texture2D-SampleLevel.hlsl
A clang/test/SemaHLSL/Texture2D-Sema.hlsl
A clang/test/SemaHLSL/matrix-member-access-errors.hlsl
A clang/test/SemaObjCXX/arc-lifetime-rvalue-ref-binding.mm
A clang/test/SemaOpenCL/amdgpu-variables-too-large-for-address-space.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
A clang/test/SemaOpenCL/builtins-amdgcn-s-wait-event.cl
M clang/test/SemaOpenCL/invalid-pipes-cl2.0.cl
M clang/test/SemaOpenCL/invalid-vector-literals.cl
M clang/test/TableGen/target-builtins-prototype-parser.td
M clang/test/lit.cfg.py
M clang/test/utils/update_cc_test_checks/Inputs/basic-cplusplus.cpp.expected
M clang/test/utils/update_cc_test_checks/Inputs/explicit-template-instantiation.cpp.expected
M clang/tools/cir-opt/cir-opt.cpp
M clang/tools/cir-translate/cir-translate.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/unittests/AST/ByteCode/toAPValue.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
A clang/unittests/Analysis/CFGBackEdgesTest.cpp
M clang/unittests/Analysis/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
M clang/unittests/Analysis/Scalable/CMakeLists.txt
A clang/unittests/Analysis/Scalable/Registries/FancyAnalysisData.cpp
A clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
A clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.h
A clang/unittests/Analysis/Scalable/Registries/SerializationFormatRegistryTest.cpp
M clang/unittests/DependencyScanning/DependencyScanningWorkerTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/unittests/Tooling/DependencyScannerTest.cpp
M clang/utils/TableGen/CIRLoweringEmitter.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/analyzer/entrypoint.py
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M clang/www/hacking.html
M compiler-rt/include/CMakeLists.txt
A compiler-rt/include/sanitizer/tysan_interface.h
M compiler-rt/include/sanitizer/ubsan_interface.h
M compiler-rt/lib/asan/asan_allocator.cpp
M compiler-rt/lib/asan/asan_allocator.h
M compiler-rt/lib/asan/asan_flags.cpp
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/asan/asan_malloc_win.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/arm/aeabi_uread4.S
A compiler-rt/lib/builtins/arm/aeabi_uread8.S
A compiler-rt/lib/builtins/arm/aeabi_uwrite4.S
A compiler-rt/lib/builtins/arm/aeabi_uwrite8.S
M compiler-rt/lib/builtins/cpu_model/x86.c
A compiler-rt/lib/builtins/ppc/init_ifuncs.c
M compiler-rt/lib/hwasan/hwasan_fuchsia.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_dlsym.h
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_internal.h
M compiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cpp
M compiler-rt/lib/scudo/standalone/common.h
M compiler-rt/lib/scudo/standalone/include/scudo/interface.h
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/scudo/standalone/wrappers_c.inc
M compiler-rt/lib/ubsan/CMakeLists.txt
A compiler-rt/lib/ubsan/ubsan_loop_detect.cpp
A compiler-rt/test/asan/TestCases/AIX/lit.local.cfg.py
A compiler-rt/test/asan/TestCases/AIX/strict-init-order-warning.cpp
A compiler-rt/test/asan/TestCases/AIX/vec_malloc_calloc.cpp
M compiler-rt/test/asan/TestCases/Windows/heaprealloc_alloc_zero.cpp
A compiler-rt/test/asan/TestCases/Windows/rtlsizeheap_zero.cpp
M compiler-rt/test/asan/TestCases/initialization-bug-no-global.cpp
A compiler-rt/test/builtins/Unit/arm/aeabi_unaligned_access_test.c
A compiler-rt/test/builtins/Unit/ppc/aix_ifunc.c
M compiler-rt/test/cfi/CMakeLists.txt
M compiler-rt/test/cfi/lit.cfg.py
M compiler-rt/test/cfi/lit.site.cfg.py.in
A compiler-rt/test/cfi/trap_loop_signal_handler.inc
A compiler-rt/test/profile/AIX/ifunc.c
M compiler-rt/test/profile/instrprof-binary-correlate.c
M compiler-rt/test/ubsan/TestCases/Misc/Posix/static-link.cpp
M cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/Inputs/simplified_template_names.cpp
M cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/CMakeLists.txt
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/expected.cpp
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/expected.test
A cross-project-tests/dtlto/path.test
M cross-project-tests/lit.cfg.py
M cross-project-tests/lit.site.cfg.py.in
M flang-rt/CMakeLists.txt
M flang-rt/README.md
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/lib/runtime/external-unit.cpp
M flang-rt/lib/runtime/file.cpp
M flang-rt/lib/runtime/io-api.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/lib/runtime/iostat.cpp
M flang-rt/lib/runtime/pseudo-unit.cpp
M flang-rt/lib/runtime/time-intrinsic.cpp
M flang-rt/lib/runtime/unit.h
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/CMakeLists.txt
A flang-rt/unittests/Runtime/CUDA/DefaultStream.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/ExternalIOTest.cpp
M flang/docs/Directives.md
M flang/docs/Extensions.md
M flang/docs/FlangDriver.md
M flang/docs/GettingInvolved.md
M flang/include/flang/Evaluate/check-expression.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
A flang/include/flang/Optimizer/Analysis/ArraySectionAnalyzer.h
M flang/include/flang/Optimizer/Builder/CUDAIntrinsicCall.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Character.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/Passes/Pipelines.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/options.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/character.h
M flang/include/flang/Runtime/iostat-consts.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/fold.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/shape.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/HlfirIntrinsics.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/Support/PrivateReductionUtils.cpp
M flang/lib/Lower/Support/ReductionProcessor.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
A flang/lib/Optimizer/Analysis/ArraySectionAnalyzer.cpp
M flang/lib/Optimizer/Analysis/CMakeLists.txt
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Character.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.h
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
M flang/lib/Optimizer/Transforms/VScaleAttr.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-coarray.cpp
M flang/lib/Semantics/check-data.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/type.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/module/__fortran_builtins.f90
A flang/module/cuda_runtime_api.f90
M flang/module/iso_c_binding.f90
M flang/test/Analysis/AliasAnalysis/alias-analysis-cray-pointers.fir
M flang/test/Analysis/AliasAnalysis/load-ptr-designate.fir
A flang/test/Analysis/AliasAnalysis/modref-call-after-external-name-conversion.fir
M flang/test/Analysis/AliasAnalysis/ptr-component.fir
A flang/test/Driver/asm-error-fix.s
M flang/test/Driver/func-attr-fast-math.f90
M flang/test/Driver/func-attr.f90
M flang/test/Fir/CUDA/cuda-device-func-transform.mlir
M flang/test/Fir/OpenACC/openacc-mappable.fir
M flang/test/HLFIR/inline-hlfir-assign.fir
M flang/test/HLFIR/order_assignments/inlined-stack-temp.fir
A flang/test/HLFIR/order_assignments/where-array-sections.f90
M flang/test/HLFIR/order_assignments/where-fusing-scheduling.f90
M flang/test/HLFIR/order_assignments/where-scheduling.f90
M flang/test/HLFIR/simplify-hlfir-intrinsics-cshift.fir
M flang/test/Integration/ivdep.f90
A flang/test/Lower/CUDA/cuda-default-stream.cuf
M flang/test/Lower/HLFIR/assumed-rank-inquiries.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
A flang/test/Lower/HLFIR/elemental-result-length-len-folding.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/function-return-destroy.f90
M flang/test/Lower/HLFIR/ivdep-elemental.f90
M flang/test/Lower/HLFIR/ivdep-where.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
M flang/test/Lower/HLFIR/where.f90
A flang/test/Lower/Intrinsics/c_f_strpointer.f90
M flang/test/Lower/Intrinsics/exit.f90
A flang/test/Lower/Intrinsics/f_c_string.f90
M flang/test/Lower/OpenACC/acc-cache.f90
A flang/test/Lower/OpenACC/acc-no-create-array-section.f90
M flang/test/Lower/OpenMP/Todo/affinity-clause.f90
A flang/test/Lower/OpenMP/Todo/multiple-types-declare_reduction.f90
A flang/test/Lower/OpenMP/Todo/reduction-character-dynamic-length.f90
A flang/test/Lower/OpenMP/declare-reduction-character-allocatable.f90
M flang/test/Lower/OpenMP/target_cpu_features.f90
A flang/test/Lower/OpenMP/task-affinity.f90
M flang/test/Lower/default-initialization.f90
A flang/test/Lower/derived-type-sequence-alias-assign.f90
M flang/test/Lower/dummy-argument-assumed-shape-optional.f90
M flang/test/Lower/dummy-argument-contiguous.f90
M flang/test/Lower/dummy-argument-optional-2.f90
M flang/test/Lower/dummy-argument-optional.f90
M flang/test/Lower/dummy-arguments.f90
M flang/test/Lower/dummy-procedure-character.f90
M flang/test/Lower/dummy-procedure-in-entry.f90
M flang/test/Lower/dummy-procedure.f90
M flang/test/Lower/equivalence-1.f90
M flang/test/Lower/equivalence-2.f90
M flang/test/Lower/equivalence-with-host-assoc.f90
M flang/test/Lower/explicit-interface-results-2.f90
M flang/test/Lower/explicit-interface-results.f90
M flang/test/Lower/ext-proc-as-actual-argument-1.f90
M flang/test/Lower/ext-proc-as-actual-argument-2.f90
M flang/test/Lower/fail_image.f90
M flang/test/Lower/forall/array-constructor.f90
M flang/test/Lower/forall/array-pointer.f90
M flang/test/Lower/forall/array-subscripts.f90
M flang/test/Lower/forall/character-1.f90
M flang/test/Lower/forall/degenerate.f90
M flang/test/Lower/forall/forall-2.f90
M flang/test/Lower/goto-do-body.f90
M flang/test/Lower/io-statement-clean-ups.f90
M flang/test/Lower/ivdep-array.f90
M flang/test/Lower/ivdep.f90
M flang/test/Lower/mixed_loops.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/while_loop.f90
A flang/test/Parser/OpenMP/cont-in-cond-comp.f
M flang/test/Parser/OpenMP/sentinels.f
A flang/test/Parser/compiler-directive-sentinel.f90
M flang/test/Parser/continuation-in-conditional-compilation.f
A flang/test/Semantics/OpenMP/allocate_do.f90
A flang/test/Semantics/OpenMP/allocate_do1.f90
M flang/test/Semantics/OpenMP/compiler-directive.f90
A flang/test/Semantics/OpenMP/declare-reduction-derived-module.f90
A flang/test/Semantics/OpenMP/lastprivate-intent-in-pointer.f90
A flang/test/Semantics/OpenMP/local-variables-1.f90
A flang/test/Semantics/OpenMP/local-variables-2.f90
A flang/test/Semantics/ac-impl-do-data-ptr.f90
M flang/test/Semantics/bug1214.cuf
A flang/test/Semantics/bug178786.f90
A flang/test/Semantics/bug178813.f90
A flang/test/Semantics/bug179580.f90
A flang/test/Semantics/bug2131.cuf
A flang/test/Semantics/bug2131b.cuf
A flang/test/Semantics/bug2174.f90
A flang/test/Semantics/bug2203.f90
A flang/test/Semantics/c_f_strpointer.f90
A flang/test/Semantics/cuf17.cuf
A flang/test/Semantics/f_c_string.f90
M flang/test/Semantics/ignore_tkr01.f90
A flang/test/Semantics/ignore_tkr05.f90
M flang/test/Transforms/licm.fir
A flang/test/Transforms/vscale-attr.fir
M flang/test/lit.cfg.py
M flang/tools/bbc/bbc.cpp
M flang/tools/f18/CMakeLists.txt
M flang/tools/flang-driver/driver.cpp
M flang/unittests/Optimizer/CMakeLists.txt
M libc/benchmarks/CMakeLists.txt
M libc/benchmarks/gpu/CMakeLists.txt
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/config.json
M libc/config/config.json
M libc/docs/configure.rst
M libc/docs/dev/printf_behavior.rst
M libc/docs/dev/undefined_behavior.rst
M libc/docs/full_host_build.rst
M libc/docs/gpu/building.rst
M libc/docs/gpu/rpc.rst
M libc/docs/headers/math/index.rst
M libc/docs/headers/time.rst
M libc/shared/math.h
A libc/shared/math/bf16add.h
A libc/shared/math/bf16addf128.h
A libc/shared/math/f16fmaf.h
A libc/shared/math/f16fmaf128.h
A libc/shared/math/f16sqrtf.h
A libc/shared/math/ffma.h
A libc/shared/math/ffmal.h
A libc/shared/math/hypotf16.h
A libc/shared/math/llogbl.h
A libc/shared/math/log10f.h
A libc/shared/math/log10f16.h
A libc/shared/math/log1pf.h
A libc/shared/math/log2f.h
A libc/shared/math/log2f16.h
A libc/shared/math/pow.h
A libc/shared/math/powf.h
A libc/shared/math/sqrtf128.h
A libc/shared/math/tanhf.h
A libc/shared/math/tanhf16.h
M libc/shared/rpc.h
A libc/shared/rpc_dispatch.h
M libc/shared/rpc_util.h
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/src/__support/ctype_utils.h
M libc/src/__support/fixed_point/fx_bits.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/acos.h
M libc/src/__support/math/acosf.h
M libc/src/__support/math/acosf16.h
M libc/src/__support/math/acosh_float_constants.h
M libc/src/__support/math/acoshf.h
M libc/src/__support/math/acoshf16.h
M libc/src/__support/math/acoshf_utils.h
M libc/src/__support/math/acospif16.h
M libc/src/__support/math/asin.h
M libc/src/__support/math/asin_utils.h
M libc/src/__support/math/asinf.h
M libc/src/__support/math/asinf16.h
M libc/src/__support/math/asinhf.h
M libc/src/__support/math/asinhf16.h
M libc/src/__support/math/atan.h
M libc/src/__support/math/atan2.h
M libc/src/__support/math/atan2f.h
M libc/src/__support/math/atan2f128.h
M libc/src/__support/math/atan2f_float.h
M libc/src/__support/math/atan_utils.h
M libc/src/__support/math/atanf.h
M libc/src/__support/math/atanf16.h
M libc/src/__support/math/atanf_float.h
M libc/src/__support/math/atanhf.h
M libc/src/__support/math/atanhf16.h
A libc/src/__support/math/bf16add.h
A libc/src/__support/math/bf16addf128.h
M libc/src/__support/math/cbrt.h
M libc/src/__support/math/cbrtf.h
M libc/src/__support/math/common_constants.h
M libc/src/__support/math/cos.h
M libc/src/__support/math/cosf.h
M libc/src/__support/math/cosf16.h
M libc/src/__support/math/coshf.h
M libc/src/__support/math/coshf16.h
M libc/src/__support/math/cospif.h
M libc/src/__support/math/cospif16.h
M libc/src/__support/math/dfmaf128.h
M libc/src/__support/math/dfmal.h
M libc/src/__support/math/dsqrtl.h
M libc/src/__support/math/erff.h
M libc/src/__support/math/exp.h
M libc/src/__support/math/exp10.h
M libc/src/__support/math/exp10_float16_constants.h
M libc/src/__support/math/exp10f.h
M libc/src/__support/math/exp10f16.h
M libc/src/__support/math/exp10f16_utils.h
M libc/src/__support/math/exp10f_utils.h
M libc/src/__support/math/exp10m1f.h
M libc/src/__support/math/exp10m1f16.h
M libc/src/__support/math/exp2.h
M libc/src/__support/math/exp2f.h
M libc/src/__support/math/exp2f16.h
M libc/src/__support/math/exp2m1f.h
M libc/src/__support/math/exp2m1f16.h
M libc/src/__support/math/exp_constants.h
M libc/src/__support/math/exp_float_constants.h
M libc/src/__support/math/exp_utils.h
M libc/src/__support/math/expf.h
M libc/src/__support/math/expf16.h
M libc/src/__support/math/expf16_utils.h
M libc/src/__support/math/expm1.h
M libc/src/__support/math/expm1f.h
M libc/src/__support/math/expm1f16.h
M libc/src/__support/math/expxf16_utils.h
M libc/src/__support/math/f16fma.h
A libc/src/__support/math/f16fmaf.h
A libc/src/__support/math/f16fmaf128.h
M libc/src/__support/math/f16fmal.h
M libc/src/__support/math/f16sqrt.h
A libc/src/__support/math/f16sqrtf.h
M libc/src/__support/math/f16sqrtl.h
A libc/src/__support/math/ffma.h
A libc/src/__support/math/ffmal.h
M libc/src/__support/math/frexpf.h
M libc/src/__support/math/frexpf128.h
M libc/src/__support/math/frexpf16.h
M libc/src/__support/math/fsqrt.h
M libc/src/__support/math/fsqrtf128.h
M libc/src/__support/math/fsqrtl.h
M libc/src/__support/math/hypotf.h
A libc/src/__support/math/hypotf16.h
M libc/src/__support/math/ilogb.h
M libc/src/__support/math/ilogbf128.h
M libc/src/__support/math/ilogbl.h
M libc/src/__support/math/inv_trigf_utils.h
M libc/src/__support/math/ldexpf.h
M libc/src/__support/math/ldexpf128.h
M libc/src/__support/math/ldexpf16.h
M libc/src/__support/math/llogb.h
M libc/src/__support/math/llogbf.h
M libc/src/__support/math/llogbf128.h
M libc/src/__support/math/llogbf16.h
A libc/src/__support/math/llogbl.h
M libc/src/__support/math/log.h
M libc/src/__support/math/log10.h
A libc/src/__support/math/log10f.h
A libc/src/__support/math/log10f16.h
M libc/src/__support/math/log1p.h
A libc/src/__support/math/log1pf.h
M libc/src/__support/math/log2.h
A libc/src/__support/math/log2f.h
A libc/src/__support/math/log2f16.h
M libc/src/__support/math/logbf.h
M libc/src/__support/math/logbf128.h
M libc/src/__support/math/logbf16.h
M libc/src/__support/math/logf.h
M libc/src/__support/math/logf16.h
A libc/src/__support/math/pow.h
A libc/src/__support/math/powf.h
M libc/src/__support/math/range_reduction.h
M libc/src/__support/math/range_reduction_double_common.h
M libc/src/__support/math/range_reduction_double_fma.h
M libc/src/__support/math/range_reduction_double_nofma.h
M libc/src/__support/math/range_reduction_fma.h
M libc/src/__support/math/rsqrtf.h
M libc/src/__support/math/rsqrtf16.h
M libc/src/__support/math/sin.h
M libc/src/__support/math/sincos_eval.h
M libc/src/__support/math/sincosf.h
M libc/src/__support/math/sincosf16_utils.h
M libc/src/__support/math/sincosf_float_eval.h
M libc/src/__support/math/sincosf_utils.h
M libc/src/__support/math/sinf.h
M libc/src/__support/math/sinf16.h
M libc/src/__support/math/sinhf.h
M libc/src/__support/math/sinhf16.h
M libc/src/__support/math/sinpif.h
M libc/src/__support/math/sqrt.h
M libc/src/__support/math/sqrtf.h
A libc/src/__support/math/sqrtf128.h
M libc/src/__support/math/sqrtf16.h
M libc/src/__support/math/tan.h
M libc/src/__support/math/tanf.h
A libc/src/__support/math/tanhf.h
A libc/src/__support/math/tanhf16.h
M libc/src/__support/str_to_float.h
M libc/src/__support/wctype/CMakeLists.txt
A libc/src/__support/wctype/wctype_classification_utils.cpp
M libc/src/__support/wctype/wctype_classification_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/bf16add.cpp
M libc/src/math/generic/bf16addf128.cpp
M libc/src/math/generic/f16fmaf.cpp
M libc/src/math/generic/f16fmaf128.cpp
M libc/src/math/generic/f16sqrtf.cpp
M libc/src/math/generic/ffma.cpp
M libc/src/math/generic/ffmal.cpp
M libc/src/math/generic/hypotf16.cpp
M libc/src/math/generic/llogbl.cpp
M libc/src/math/generic/log10f.cpp
M libc/src/math/generic/log10f16.cpp
M libc/src/math/generic/log1pf.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/log2f16.cpp
M libc/src/math/generic/pow.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/sinpif16.cpp
M libc/src/math/generic/sqrtf128.cpp
M libc/src/math/generic/tanf16.cpp
M libc/src/math/generic/tanhf.cpp
M libc/src/math/generic/tanhf16.cpp
M libc/src/math/generic/tanpif.cpp
M libc/src/math/generic/tanpif16.cpp
M libc/src/stdio/baremetal/CMakeLists.txt
A libc/src/stdio/baremetal/fflush.cpp
A libc/src/stdio/baremetal/file_internal.cpp
M libc/src/stdio/baremetal/file_internal.h
M libc/src/stdio/baremetal/getc.cpp
A libc/src/stdio/baremetal/ungetc.cpp
M libc/src/stdio/baremetal/vfscanf_internal.h
M libc/src/stdio/printf_core/converter_utils.h
M libc/src/stdio/printf_core/core_structs.h
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/printf_core/write_int_converter.h
M libc/src/string/memory_utils/aarch64/inline_memcpy.h
M libc/src/string/memory_utils/generic/inline_strlen.h
M libc/src/string/memory_utils/x86_64/inline_strlen.h
M libc/startup/gpu/CMakeLists.txt
M libc/test/CMakeLists.txt
M libc/test/UnitTest/PrintfMatcher.cpp
A libc/test/lit.cfg.py
A libc/test/lit.site.cfg.py.in
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/SubTest.h
M libc/test/src/stdio/printf_core/parser_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/strings/wide_read_memory_test.cpp
M libc/test/src/time/TmMatcher.h
M libc/test/src/time/gmtime_r_test.cpp
M libc/test/src/time/gmtime_test.cpp
M libc/test/src/time/mktime_test.cpp
A libc/utils/libctest/__init__.py
A libc/utils/libctest/format.py
M libc/utils/wctype_utils/classification/gen_classification_data.py
M libclc/CMakeLists.txt
M libclc/clc/include/clc/internal/math/clc_sw_fma.h
M libclc/clc/include/clc/math/math.h
M libclc/clc/lib/generic/SOURCES
M libclc/clc/lib/generic/math/clc_fma.cl
R libclc/clc/lib/generic/math/clc_fma.inc
M libclc/clc/lib/generic/math/clc_remquo.cl
M libclc/clc/lib/generic/math/clc_remquo.inc
R libclc/clc/lib/generic/math/clc_sw_fma.cl
M libclc/clc/lib/r600/SOURCES
A libclc/clc/lib/r600/math/clc_fma.cl
A libclc/clc/lib/r600/math/clc_fma.inc
A libclc/clc/lib/r600/math/clc_sw_fma.cl
M libclc/clc/lib/spirv/SOURCES
M libclc/cmake/modules/AddLibclc.cmake
M libclc/opencl/lib/amdgcn/mem_fence/fence.cl
M libclc/opencl/lib/ptx-nvidiacl/mem_fence/fence.cl
M libclc/opencl/lib/spirv/SOURCES
R libclc/opencl/lib/spirv/math/fma.cl
M libcxx/docs/CodingGuidelines.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/for_each.h
M libcxx/include/__algorithm/for_each_n.h
M libcxx/include/__algorithm/generate_n.h
M libcxx/include/__algorithm/ranges_fold.h
M libcxx/include/__algorithm/ranges_reverse_copy.h
A libcxx/include/__algorithm/ranges_shift_right.h
M libcxx/include/__algorithm/shift_right.h
M libcxx/include/__algorithm/unwrap_range.h
M libcxx/include/__atomic/atomic_waitable_traits.h
M libcxx/include/__charconv/from_chars_integral.h
M libcxx/include/__chrono/duration.h
M libcxx/include/__configuration/availability.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__format/unicode.h
M libcxx/include/__functional/hash.h
M libcxx/include/__functional/operations.h
A libcxx/include/__iterator/capacity_aware_iterator.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/support/aix.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/linux.h
M libcxx/include/__locale_dir/support/newlib.h
M libcxx/include/__locale_dir/support/no_locale/characters.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__tree
M libcxx/include/__type_traits/make_transparent.h
M libcxx/include/__vector/vector.h
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/iomanip
M libcxx/include/map
M libcxx/include/module.modulemap.in
M libcxx/include/optional
M libcxx/include/stdatomic.h
M libcxx/include/version
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/modules/std/algorithm.inc
M libcxx/src/atomic.cpp
M libcxx/src/hash.cpp
M libcxx/src/memory.cpp
M libcxx/test/benchmarks/GenerateInput.h
M libcxx/test/benchmarks/adjacent_view_begin.bench.cpp
R libcxx/test/benchmarks/algorithms/make_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/make_heap_then_sort_heap.bench.cpp
M libcxx/test/benchmarks/algorithms/min.bench.cpp
M libcxx/test/benchmarks/algorithms/minmax.bench.cpp
R libcxx/test/benchmarks/algorithms/pop_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/push_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_make_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_make_heap_then_sort_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_pop_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_push_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_sort_heap.bench.cpp
R libcxx/test/benchmarks/algorithms/sort_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/make_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/make_heap_then_sort_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/pop_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/push_heap.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/sort_heap.bench.cpp
M libcxx/test/benchmarks/containers/sequence/sequence_container_benchmarks.h
M libcxx/test/benchmarks/format/format_to.bench.cpp
M libcxx/test/benchmarks/format/format_to_n.bench.cpp
M libcxx/test/benchmarks/format/formatted_size.bench.cpp
M libcxx/test/benchmarks/format/formatter_float.bench.cpp
M libcxx/test/benchmarks/format/formatter_int.bench.cpp
M libcxx/test/benchmarks/format/std_format_spec_string_unicode.bench.cpp
M libcxx/test/benchmarks/format/std_format_spec_string_unicode_escape.bench.cpp
M libcxx/test/benchmarks/spec.gen.py
M libcxx/test/benchmarks/stop_token.bench.cpp
A libcxx/test/extensions/libcxx/depr/depr.c.headers/include_stdatomic_as_c.sh.cpp
M libcxx/test/libcxx-03/transitive_includes/to_csv.py
A libcxx/test/libcxx/algorithms/alg.modifying.operations/alg.shift/assert.shift_right.pass.cpp
M libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_forward_iterator.compile.pass.cpp
M libcxx/test/libcxx/algorithms/specialized.algorithms/special.mem.concepts/nothrow_input_iterator.compile.pass.cpp
A libcxx/test/libcxx/atomics/atomics.syn/wait.native.compile.pass.cpp
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/test/libcxx/input.output/filesystems/class.path/path.req/is_pathable.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/arithmetic.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/assert.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/comparison.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/contiguous.verify.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/dereference.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/types.compile.pass.cpp
M libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_traits.compile.pass.cpp
M libcxx/test/libcxx/iterators/iterator_with_data.pass.cpp
M libcxx/test/libcxx/iterators/product_iterator.pass.cpp
M libcxx/test/libcxx/iterators/unwrap_iter.pass.cpp
M libcxx/test/libcxx/transitive_includes/to_csv.py
A libcxx/test/libcxx/utilities/optional/optional.iterator/assert.arithmetic.pass.cpp
A libcxx/test/libcxx/utilities/optional/optional.iterator/iterator.compile.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/ranges_generate.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.generate/ranges_generate_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/pstl.move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_point.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_partition_point.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/ranges_stable_partition.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/ranges_sample.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/sample.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/ranges_shuffle.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ranges_remove_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/remove_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ranges_replace_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/replace_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.reverse/ranges.reverse.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/ranges.shift_left.pass.cpp
A libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/ranges_shift_right.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/shift_left.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/shift_right.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/binary_transform.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.transform.binary.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.transform.unary.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/unary_transform.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/ranges_unique_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy_pred.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/unique_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/all_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.all_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/any_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.any_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/pstl.count.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/pstl.count_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.ends_with/ranges.ends_with.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/ranges.equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/ranges.find_end.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/ranges.find_first_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find.last/ranges.find_last.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if_not.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/requirements.compile.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/ranges.is_permutation.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/none_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.none_of.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/ranges.search_n.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_pred.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.starts_with/ranges.starts_with.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/ranges_equal_range.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/ranges_is_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/ranges_is_heap_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/ranges_make_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/ranges_pop_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/ranges_push_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/ranges_sort_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_inplace_merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.max.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.min.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.min.max/requires_forward_iterator.verify.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.nth.element/ranges_nth_element.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/includes/ranges_includes.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.difference/ranges_set_difference.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/ranges_set_intersection.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection_complexity.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/ranges_set_symmetric_difference.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.union/ranges_set_union.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_until.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_until_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/pstl.is_sorted.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/pstl.is_sorted_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort.copy/ranges_partial_sort_copy.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort/ranges_partial_sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/pstl.sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/ranges.sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.stable_sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/ranges.stable.sort.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
M libcxx/test/std/atomics/atomics.ref/address.pass.cpp
M libcxx/test/std/atomics/atomics.ref/assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/bitwise_and_assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/bitwise_or_assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/bitwise_xor_assign.pass.cpp
M libcxx/test/std/atomics/atomics.ref/compare_exchange_strong.pass.cpp
M libcxx/test/std/atomics/atomics.ref/compare_exchange_weak.pass.cpp
M libcxx/test/std/atomics/atomics.ref/convert.pass.cpp
M libcxx/test/std/atomics/atomics.ref/ctor.pass.cpp
M libcxx/test/std/atomics/atomics.ref/deduction.pass.cpp
M libcxx/test/std/atomics/atomics.ref/exchange.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_add.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_and.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_or.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_sub.pass.cpp
M libcxx/test/std/atomics/atomics.ref/fetch_xor.pass.cpp
M libcxx/test/std/atomics/atomics.ref/increment_decrement.pass.cpp
M libcxx/test/std/atomics/atomics.ref/is_always_lock_free.pass.cpp
M libcxx/test/std/atomics/atomics.ref/load.pass.cpp
M libcxx/test/std/atomics/atomics.ref/notify_all.pass.cpp
M libcxx/test/std/atomics/atomics.ref/notify_one.pass.cpp
M libcxx/test/std/atomics/atomics.ref/operator_minus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.ref/operator_plus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.ref/required_alignment.pass.cpp
M libcxx/test/std/atomics/atomics.ref/requires-trivially-copyable.verify.cpp
M libcxx/test/std/atomics/atomics.ref/store.pass.cpp
M libcxx/test/std/atomics/atomics.ref/test_helper.h
M libcxx/test/std/atomics/atomics.ref/wait.pass.cpp
M libcxx/test/std/containers/associative/map/map.ops/find.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/iter_iter_comp.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.operations/distance.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/iterator.traits/cxx20_iterator_traits.compile.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/iterator_sentinel.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/lwg3664.pass.cpp
M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.prev/iterator.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/indirectcallable/projected/projected.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.bidir/bidirectional_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.forward/forward_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.input/input_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.iterator/input_or_output_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.random.access/random_access_iterator.compile.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.cust/iterator.cust.swap/iter_swap.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/arrow.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/assign.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/base.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/compare.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/count.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.conv.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.default.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/decrement.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/deref.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/increment.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/iter_move.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/iter_swap.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/iterator_traits.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/member_types.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.default_sentinel.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.eq.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/minus.size.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/plus.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/subscript.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/three_way_compare.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.default.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/ctor.sentinel.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/types.h
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/iter_move.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/iter_swap.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/iter.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.conv/base.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iterator/types.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/sized_sentinel.compile.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/iter_move.pass.cpp
M libcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.nonmember/iter_swap.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/test_neg_one.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_date.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_date_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_monthname.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_monthname_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_one.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_time.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_time_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_weekday.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_weekday_wide.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put1.pass.cpp
M libcxx/test/std/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put2.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.iota/ranges.iota.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/pstl.reduce.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/reduce.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/reduce_init.pass.cpp
M libcxx/test/std/numerics/numeric.ops/reduce/reduce_init_op.pass.cpp
M libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.binary.pass.cpp
M libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.unary.pass.cpp
M libcxx/test/std/ranges/range.access/size.pass.cpp
M libcxx/test/std/ranges/range.access/ssize.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adaptor.object/range_adaptor_closure.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent.transform/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/adaptor.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/iterator/singular.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.adjacent/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/all_t.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/begin_end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/data.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/empty.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.all/range.owning.view/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.as.rvalue/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.as.rvalue/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.common.view/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.common.view/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.common.view/types.h
M libcxx/test/std/ranges/range.adaptors/range.drop/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/ctor.view.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/dangling.cache.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/types.h
M libcxx/test/std/ranges/range.adaptors/range.filter/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.with/range.join.with.overview/adaptor.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.with/range.join.with.view/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join.with/range.join.with.view/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.iterator/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.split/types.h
M libcxx/test/std/ranges/range.adaptors/range.take.while/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/range.take.sentinel/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/range.take.sentinel/ctor.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/base.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/plus_minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/sentinel.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/iterator/subscript.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.transform/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip.transform/size.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/singular.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range_adaptor_types.h
M libcxx/test/std/ranges/range.factories/range.iota.view/indices.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.utility/range.elementsof/ctad.pass.cpp
M libcxx/test/std/ranges/range.utility/range.elementsof/elements_of.pass.cpp
M libcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.search/grep.pass.cpp
M libcxx/test/std/strings/basic.string/string.cons/from_range_deduction.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_assign/iterator.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_insert/iter_iter_iter.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_iter_iter.pass.cpp
M libcxx/test/std/strings/string.view/string.view.cons/from_iterator_sentinel.pass.cpp
M libcxx/test/std/thread/thread.semaphore/lost_wakeup.timed.pass.cpp
A libcxx/test/std/thread/thread.semaphore/timed.hang.pass.cpp
M libcxx/test/std/utilities/any/any.class/any.cons/value.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pred.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/pred.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct_n.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct_n.pass.cpp
A libcxx/test/std/utilities/optional/optional.iterator/compare.pass.cpp
M libcxx/test/std/utilities/optional/optional.iterator/iterator.pass.cpp
M libcxx/test/support/module.modulemap
M libcxx/test/support/test.support/test_proxy.pass.cpp
M libcxx/test/support/test_range.h
M libcxx/utils/ci/BOT_OWNERS.txt
R libcxx/utils/ci/benchmark-for-lnt.py
A libcxx/utils/ci/lnt/README.md
A libcxx/utils/ci/lnt/commit-watch
A libcxx/utils/ci/lnt/run-benchmarks
A libcxx/utils/ci/lnt/schema.yaml
M libcxx/utils/gdb/libcxx/printers.py
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/features/libcxx_macros.py
M libsycl/CMakeLists.txt
M libsycl/docs/index.rst
A libsycl/include/sycl/__impl/aspect.hpp
A libsycl/include/sycl/__impl/device.hpp
A libsycl/include/sycl/__impl/device_selector.hpp
A libsycl/include/sycl/__impl/info/device.hpp
A libsycl/include/sycl/__impl/info/device_type.hpp
M libsycl/include/sycl/__impl/platform.hpp
M libsycl/include/sycl/sycl.hpp
M libsycl/src/CMakeLists.txt
A libsycl/src/detail/device_impl.cpp
A libsycl/src/detail/device_impl.hpp
M libsycl/src/detail/global_objects.cpp
M libsycl/src/detail/offload/offload_topology.cpp
M libsycl/src/detail/offload/offload_topology.hpp
M libsycl/src/detail/offload/offload_utils.cpp
M libsycl/src/detail/offload/offload_utils.hpp
M libsycl/src/detail/platform_impl.cpp
M libsycl/src/detail/platform_impl.hpp
A libsycl/src/device.cpp
A libsycl/src/device_selector.cpp
M libsycl/src/platform.cpp
A libsycl/test/CMakeLists.txt
A libsycl/test/README.md
A libsycl/test/basic/platform_get_devices.cpp
A libsycl/test/lit.cfg.py
A libsycl/test/lit.site.cfg.py.in
M libsycl/tools/sycl-ls/sycl-ls.cpp
M libunwind/src/Unwind-seh.cpp
M lld/COFF/Driver.cpp
M lld/COFF/Writer.cpp
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Arch/Hexagon.cpp
M lld/ELF/Arch/PPC.cpp
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Arch/RISCV.cpp
R lld/ELF/Arch/RISCVInternalRelocations.h
M lld/ELF/Arch/X86.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Config.h
M lld/ELF/InputFiles.h
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/OutputSections.cpp
M lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Target.cpp
M lld/ELF/Target.h
M lld/ELF/Writer.cpp
M lld/MachO/Driver.cpp
M lld/MachO/InputSection.cpp
M lld/MachO/SectionPriorities.cpp
M lld/include/lld/Common/BPSectionOrdererBase.inc
A lld/test/COFF/merge-bss-text-filealign1.test
M lld/test/ELF/aarch64-abs16.s
M lld/test/ELF/aarch64-abs32.s
M lld/test/ELF/aarch64-fpic-abs16.s
M lld/test/ELF/aarch64-fpic-add_abs_lo12_nc.s
M lld/test/ELF/aarch64-fpic-prel16.s
M lld/test/ELF/aarch64-hi21-error.s
M lld/test/ELF/aarch64-ldprel-lo19-invalid.s
M lld/test/ELF/aarch64-lo12-alignment.s
M lld/test/ELF/aarch64-lo21-error.s
M lld/test/ELF/aarch64-load-alignment.s
A lld/test/ELF/aarch64-memtag-pauth-globals-out-of-range.s
A lld/test/ELF/aarch64-memtag-pauth-globals.s
M lld/test/ELF/aarch64-movw-error.s
M lld/test/ELF/aarch64-prel16.s
M lld/test/ELF/aarch64-prel32.s
R lld/test/ELF/abs-conflict.s
M lld/test/ELF/arm-adr-err-long.s
M lld/test/ELF/arm-adr-err.s
M lld/test/ELF/arm-ldrlit-err.s
M lld/test/ELF/arm-tag-vfp-args-errs.s
M lld/test/ELF/arm-thumb-adr-err.s
M lld/test/ELF/arm-thumb-ldrlit-err.s
M lld/test/ELF/arm-thumb2-adr-err.s
M lld/test/ELF/arm-thumb2-ldrlit-err.s
A lld/test/ELF/conflict-abs.s
M lld/test/ELF/conflict-debug-variable-file-index.s
M lld/test/ELF/conflict-debug-variable.s
M lld/test/ELF/conflict-debug-variable2.s
M lld/test/ELF/conflict-variable-linkage-name.s
M lld/test/ELF/conflict.s
M lld/test/ELF/eh-frame-dyn-rel.s
A lld/test/ELF/eh-frame-fde-encoding.s
A lld/test/ELF/eh-frame-hdr-sdata8.s
A lld/test/ELF/eh-frame-invalid-cie.s
A lld/test/ELF/eh-frame-invalid-fde-encoding.s
R lld/test/ELF/eh-frame-pcrel-overflow.s
R lld/test/ELF/eh-frame-value-format1.s
R lld/test/ELF/eh-frame-value-format2.s
R lld/test/ELF/eh-frame-value-format3.s
R lld/test/ELF/eh-frame-value-format4.s
R lld/test/ELF/eh-frame-value-format5.s
R lld/test/ELF/eh-frame-value-format6.s
R lld/test/ELF/eh-frame-value-format7.s
R lld/test/ELF/eh-frame-value-format8.s
R lld/test/ELF/eh-frame-value-format9.s
M lld/test/ELF/execute-only-mixed-data.s
M lld/test/ELF/hexagon-tls-ie.s
M lld/test/ELF/hidden-shared-err.s
M lld/test/ELF/incompatible-ar-first.s
M lld/test/ELF/incompatible-section-flags.s
M lld/test/ELF/invalid-cie-length.s
M lld/test/ELF/invalid-cie-reference.s
R lld/test/ELF/invalid-eh-frame.s
R lld/test/ELF/invalid-eh-frame2.s
R lld/test/ELF/invalid-eh-frame3.s
R lld/test/ELF/invalid-eh-frame4.s
R lld/test/ELF/invalid-eh-frame5.s
R lld/test/ELF/invalid-eh-frame6.s
R lld/test/ELF/invalid-eh-frame7.s
R lld/test/ELF/invalid-eh-frame8.s
R lld/test/ELF/invalid-eh-frame9.s
M lld/test/ELF/invalid/bad-arm-attributes.s
M lld/test/ELF/invalid/common-symbol-alignment.test
M lld/test/ELF/invalid/data-encoding.test
M lld/test/ELF/invalid/ehframe-broken-relocation.test
M lld/test/ELF/invalid/executable.s
M lld/test/ELF/invalid/invalid-elf.test
M lld/test/ELF/invalid/invalid-file-class.test
M lld/test/ELF/invalid/linkorder-invalid-sec.test
M lld/test/ELF/invalid/merge-invalid-size.s
M lld/test/ELF/invalid/non-terminated-string.test
M lld/test/ELF/invalid/section-alignment.test
M lld/test/ELF/invalid/section-index.test
M lld/test/ELF/invalid/sht-group.test
M lld/test/ELF/invalid/tls-symbol.s
M lld/test/ELF/invalid/verdef-no-symtab.test
M lld/test/ELF/linkerscript/address-expr-symbols.s
A lld/test/ELF/linkerscript/discard-eh-frame.s
R lld/test/ELF/linkerscript/pt_gnu_eh_frame.s
M lld/test/ELF/linkorder-group.test
M lld/test/ELF/loongarch-branch.s
A lld/test/ELF/loongarch-ifunc-nonpreemptible.s
M lld/test/ELF/mips-align-err.s
M lld/test/ELF/mips-micro-bad-cross-calls.s
M lld/test/ELF/mips-out-of-bounds-call16-reloc.s
M lld/test/ELF/ppc64-abs32-dyn.s
M lld/test/ELF/ppc64-error-missaligned-dq.s
M lld/test/ELF/ppc64-error-missaligned-ds.s
M lld/test/ELF/ppc64-error-toc-tail-call.s
M lld/test/ELF/ppc64-reloc-pcrel34-overflow.s
M lld/test/ELF/ppc64-tls-missing-gdld.s
M lld/test/ELF/pr34872.s
M lld/test/ELF/relocation-before-merge-start.s
M lld/test/ELF/relocation-nocopy.s
M lld/test/ELF/relocation-past-merge-end.s
M lld/test/ELF/reproduce-error.s
M lld/test/ELF/riscv-branch.s
M lld/test/ELF/riscv-call.s
M lld/test/ELF/riscv-hi20-lo12.s
M lld/test/ELF/riscv-ifunc-nonpreemptible.s
M lld/test/ELF/riscv-jal.s
M lld/test/ELF/riscv-pcrel-hilo.s
M lld/test/ELF/riscv-vendor-relocations.s
M lld/test/ELF/static-error.s
M lld/test/ELF/undef-spell-corrector.s
M lld/test/ELF/vs-diagnostics-dynamic-relocation.s
M lld/test/ELF/x86-64-reloc-debug-overflow.s
M lld/test/ELF/x86-64-reloc-error.s
M lld/test/ELF/x86-64-reloc-error2.s
M lld/test/ELF/x86-64-reloc-range.s
M lld/test/ELF/x86-64-reloc-tpoff32-error.s
M lld/test/ELF/x86-64-tls-ie-err.s
M lld/test/ELF/ztext.s
A lld/test/MachO/arm64-branch-addend-stubs.s
M lld/test/MachO/order-file-cstring.s
M lld/test/MachO/platform-version.s
R lld/test/wasm/Inputs/import-attributes.s
A lld/test/wasm/compact-imports.s
M lld/test/wasm/data-layout.s
M lld/test/wasm/export-all.s
M lld/test/wasm/import-attribute-mismatch.s
A lld/test/wasm/large-debug-section.test
A lld/test/wasm/large-section.test
M lld/test/wasm/mutable-global-exports.s
A lld/test/wasm/section-too-large.test
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
M lld/wasm/InputChunks.h
M lld/wasm/OutputSections.cpp
M lld/wasm/SymbolTable.cpp
M lld/wasm/SyntheticSections.cpp
M lld/wasm/Writer.cpp
M lld/wasm/WriterUtils.cpp
M lld/wasm/WriterUtils.h
M lldb/CMakeLists.txt
M lldb/bindings/interface/SBBreakpointListExtensions.i
M lldb/bindings/interface/SBExpressionOptionsDocstrings.i
M lldb/bindings/interface/SBFileSpecListExtensions.i
M lldb/bindings/interface/SBMemoryRegionInfoListExtensions.i
M lldb/bindings/interface/SBModuleSpecListExtensions.i
M lldb/bindings/interface/SBProcessInfoListExtensions.i
M lldb/bindings/interface/SBStringListExtensions.i
M lldb/bindings/interface/SBThreadCollectionExtensions.i
M lldb/bindings/interface/SBTypeExtensions.i
M lldb/bindings/python/CMakeLists.txt
M lldb/bindings/python/python-swigsafecast.swig
M lldb/bindings/python/python-wrapper.swig
M lldb/docs/index.rst
M lldb/docs/resources/formatterbytecode.rst
M lldb/docs/use/python-reference.rst
M lldb/docs/use/symbols.rst
A lldb/docs/use/tutorials/scripted-symbol-locator.md
M lldb/examples/python/formatter_bytecode.py
M lldb/examples/python/templates/scripted_frame_provider.py
A lldb/examples/python/templates/scripted_symbol_locator.py
M lldb/include/lldb/API/SBExpressionOptions.h
M lldb/include/lldb/API/SBFileSpec.h
M lldb/include/lldb/API/SBFrame.h
M lldb/include/lldb/API/SBModule.h
M lldb/include/lldb/API/SBModuleSpec.h
M lldb/include/lldb/API/SBProcessInfoList.h
M lldb/include/lldb/API/SBTarget.h
M lldb/include/lldb/Breakpoint/StopCondition.h
M lldb/include/lldb/Breakpoint/StoppointHitCounter.h
M lldb/include/lldb/Core/AddressRangeListImpl.h
M lldb/include/lldb/Core/DebuggerEvents.h
M lldb/include/lldb/Core/Declaration.h
M lldb/include/lldb/Core/Highlighter.h
M lldb/include/lldb/Core/Module.h
M lldb/include/lldb/Core/ModuleList.h
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Core/PropertiesBase.td
M lldb/include/lldb/Core/SourceLocationSpec.h
M lldb/include/lldb/Core/SourceManager.h
A lldb/include/lldb/DataFormatters/FormatterBytecode.def
A lldb/include/lldb/DataFormatters/FormatterBytecode.h
M lldb/include/lldb/DataFormatters/TypeSummary.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/Expression/UserExpression.h
M lldb/include/lldb/Host/HostInfoBase.h
M lldb/include/lldb/Host/HostThread.h
M lldb/include/lldb/Host/JSONTransport.h
M lldb/include/lldb/Host/common/DiagnosticsRendering.h
M lldb/include/lldb/Host/common/ZipFileResolver.h
M lldb/include/lldb/Host/macosx/HostInfoMacOSX.h
M lldb/include/lldb/Host/posix/Support.h
M lldb/include/lldb/Host/windows/ProcessLauncherWindows.h
M lldb/include/lldb/Host/windows/PseudoConsole.h
A lldb/include/lldb/Host/windows/PythonPathSetup/PythonPathSetup.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedBreakpointInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterfaceUsages.h
A lldb/include/lldb/Interpreter/Interfaces/ScriptedSymbolLocatorInterface.h
M lldb/include/lldb/Interpreter/OptionValueProperties.h
M lldb/include/lldb/Interpreter/Property.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Protocol/MCP/Server.h
M lldb/include/lldb/Protocol/MCP/Transport.h
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/LineEntry.h
M lldb/include/lldb/Symbol/SaveCoreOptions.h
M lldb/include/lldb/Symbol/SymbolLocator.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/include/lldb/Symbol/Variable.h
M lldb/include/lldb/Target/BorrowedStackFrame.h
M lldb/include/lldb/Target/DynamicLoader.h
M lldb/include/lldb/Target/ExecutionContext.h
M lldb/include/lldb/Target/Language.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/RegisterTypeBuilder.h
M lldb/include/lldb/Target/StackFrame.h
M lldb/include/lldb/Target/StackFrameList.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/Target/Thread.h
M lldb/include/lldb/Target/TraceCursor.h
M lldb/include/lldb/Target/TraceDumper.h
M lldb/include/lldb/Target/TraceExporter.h
M lldb/include/lldb/Utility/AnsiTerminal.h
M lldb/include/lldb/Utility/AppleUuidCompatibility.h
M lldb/include/lldb/Utility/DataExtractor.h
M lldb/include/lldb/Utility/ErrorMessages.h
M lldb/include/lldb/Utility/FileSpecList.h
M lldb/include/lldb/Utility/ScriptedMetadata.h
M lldb/include/lldb/Utility/StreamBuffer.h
M lldb/include/lldb/Utility/UUID.h
M lldb/include/lldb/Utility/VirtualDataExtractor.h
M lldb/include/lldb/Utility/XcodeSDK.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/lldb/ValueObject/ValueObjectSynthetic.h
M lldb/include/lldb/lldb-defines.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/include/lldb/lldb-forward.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/include/lldb/lldb-types.h
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/SBExpressionOptions.cpp
M lldb/source/API/SBFile.cpp
M lldb/source/API/SBFrame.cpp
M lldb/source/API/SBModule.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectExpression.cpp
M lldb/source/Commands/CommandObjectExpression.h
M lldb/source/Commands/CommandObjectProtocolServer.h
M lldb/source/Commands/CommandObjectRegexCommand.h
M lldb/source/Commands/CommandObjectScripting.h
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/DynamicLoader.cpp
M lldb/source/Core/Highlighter.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/ModuleList.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Core/SourceManager.cpp
M lldb/source/Core/Statusline.cpp
M lldb/source/DataFormatters/FormatterBytecode.cpp
R lldb/source/DataFormatters/FormatterBytecode.def
R lldb/source/DataFormatters/FormatterBytecode.h
M lldb/source/DataFormatters/FormatterSection.cpp
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/source/DataFormatters/TypeSynthetic.cpp
M lldb/source/Expression/IRInterpreter.cpp
M lldb/source/Expression/UserExpression.cpp
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/common/HostThread.cpp
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
M lldb/source/Host/macosx/objcxx/PosixSpawnResponsible.h
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Host/windows/PseudoConsole.cpp
A lldb/source/Host/windows/PythonPathSetup/CMakeLists.txt
A lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/InterpreterProperties.td
M lldb/source/Interpreter/OptionValueProperties.cpp
M lldb/source/Interpreter/Options.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
M lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
M lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
M lldb/source/Plugins/ABI/LoongArch/ABISysV_loongarch.cpp
M lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp
M lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.h
M lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
M lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
M lldb/source/Plugins/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernelProperties.td
M lldb/source/Plugins/DynamicLoader/FreeBSD-Kernel/DynamicLoaderFreeBSDKernel.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.h
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/source/Plugins/DynamicLoader/wasm-DYLD/DynamicLoaderWasmDYLD.cpp
M lldb/source/Plugins/DynamicLoader/wasm-DYLD/DynamicLoaderWasmDYLD.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionUtil.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.cpp
M lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.h
A lldb/source/Plugins/Highlighter/CMakeLists.txt
A lldb/source/Plugins/Highlighter/Clang/CMakeLists.txt
A lldb/source/Plugins/Highlighter/Clang/ClangHighlighter.cpp
A lldb/source/Plugins/Highlighter/Clang/ClangHighlighter.h
A lldb/source/Plugins/Highlighter/Default/CMakeLists.txt
A lldb/source/Plugins/Highlighter/Default/DefaultHighlighter.cpp
A lldb/source/Plugins/Highlighter/Default/DefaultHighlighter.h
M lldb/source/Plugins/Instruction/RISCV/RISCVCInstructions.h
M lldb/source/Plugins/Instruction/RISCV/RISCVInstructions.h
M lldb/source/Plugins/InstrumentationRuntime/BoundsSafety/InstrumentationRuntimeBoundsSafety.h
M lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp
M lldb/source/Plugins/JITLoader/GDB/JITLoaderGDBProperties.td
M lldb/source/Plugins/Language/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Plugins/Language/CPlusPlus/LanguageCPlusPlusProperties.td
R lldb/source/Plugins/Language/ClangCommon/CMakeLists.txt
R lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.cpp
R lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.h
M lldb/source/Plugins/Language/ObjC/CMakeLists.txt
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
M lldb/source/Plugins/Language/ObjCPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.h
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/VerboseTrapFrameRecognizer.h
M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
M lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.cpp
M lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.h
M lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFFProperties.td
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.h
M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
M lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp
M lldb/source/Plugins/Platform/Android/PlatformAndroidProperties.td
M lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformMacOSXProperties.td
M lldb/source/Plugins/Platform/MacOSX/PlatformRemoteDarwinDevice.cpp
M lldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.cpp
M lldb/source/Plugins/Platform/QemuUser/PlatformQemuUserProperties.td
M lldb/source/Plugins/Platform/WebAssembly/PlatformWasm.cpp
M lldb/source/Plugins/Platform/WebAssembly/PlatformWasm.h
M lldb/source/Plugins/Platform/WebAssembly/PlatformWasmProperties.td
M lldb/source/Plugins/Platform/WebAssembly/PlatformWasmRemoteGDBServer.h
M lldb/source/Plugins/Process/FreeBSD/CMakeLists.txt
M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp
M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.h
M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.h
R lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_mips64.cpp
R lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_mips64.h
A lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86.cpp
A lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86.h
R lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.cpp
R lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.h
M lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.cpp
M lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_arm64.cpp
M lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_i386.cpp
M lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_x86_64.cpp
M lldb/source/Plugins/Process/FreeBSDKernel/ThreadFreeBSDKernel.cpp
M lldb/source/Plugins/Process/FreeBSDKernel/ThreadFreeBSDKernel.h
M lldb/source/Plugins/Process/Linux/CMakeLists.txt
M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
A lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86.cpp
A lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86.h
R lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.cpp
R lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPProperties.td
M lldb/source/Plugins/Process/NetBSD/CMakeLists.txt
A lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86.cpp
A lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86.h
R lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp
R lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.h
M lldb/source/Plugins/Process/Utility/CMakeLists.txt
M lldb/source/Plugins/Process/Utility/NativeProcessSoftwareSingleStep.h
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.h
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm.h
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.h
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_loongarch.h
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_x86.h
M lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_i386.cpp
R lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_mips64.cpp
R lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_mips64.h
M lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_powerpc.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_x86_64.cpp
R lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.cpp
R lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.h
A lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_ppc64.cpp
A lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_ppc64.h
M lldb/source/Plugins/Process/Utility/StopInfoMachException.h
R lldb/source/Plugins/Process/Utility/lldb-mips-freebsd-register-enums.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/elf-core/CMakeLists.txt
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
A lldb/source/Plugins/Process/elf-core/RegisterContextLinuxCore_x86.cpp
A lldb/source/Plugins/Process/elf-core/RegisterContextLinuxCore_x86.h
R lldb/source/Plugins/Process/elf-core/RegisterContextLinuxCore_x86_64.cpp
R lldb/source/Plugins/Process/elf-core/RegisterContextLinuxCore_x86_64.h
R lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.cpp
R lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h
A lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86.cpp
A lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86.h
R lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.cpp
R lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.h
M lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteProperties.td
M lldb/source/Plugins/Process/mach-core/RegisterContextUnifiedCore.h
M lldb/source/Plugins/Process/minidump/ThreadMinidump.cpp
M lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
M lldb/source/Plugins/Process/scripted/ScriptedFrame.h
M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
M lldb/source/Plugins/Process/scripted/ScriptedThread.h
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.cpp
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.h
M lldb/source/Plugins/Protocol/MCP/Resource.h
M lldb/source/Plugins/Protocol/MCP/Tool.h
M lldb/source/Plugins/REPL/Clang/CMakeLists.txt
M lldb/source/Plugins/RegisterTypeBuilder/RegisterTypeBuilderClang.h
M lldb/source/Plugins/ScriptInterpreter/Lua/Lua.h
M lldb/source/Plugins/ScriptInterpreter/Lua/SWIGLuaBridge.h
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedSymbolLocatorPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedSymbolLocatorPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
M lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLogProperties.td
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFProperties.td
M lldb/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDBProperties.td
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.cpp
M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfodProperties.td
A lldb/source/Plugins/SymbolLocator/Scripted/CMakeLists.txt
A lldb/source/Plugins/SymbolLocator/Scripted/SymbolLocatorScripted.cpp
A lldb/source/Plugins/SymbolLocator/Scripted/SymbolLocatorScripted.h
M lldb/source/Plugins/SyntheticFrameProvider/ScriptedFrameProvider/ScriptedFrameProvider.h
M lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.h
M lldb/source/Plugins/Trace/common/ThreadPostMortemTrace.h
M lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp
M lldb/source/Plugins/Trace/intel-pt/TraceIntelPTProperties.td
M lldb/source/Plugins/TraceExporter/common/TraceHTR.h
M lldb/source/Plugins/TraceExporter/ctf/CommandObjectThreadTraceExportCTF.h
M lldb/source/Plugins/TraceExporter/ctf/TraceExporterCTF.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Protocol/MCP/Server.cpp
M lldb/source/Protocol/MCP/Transport.cpp
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/Symbol/LineEntry.cpp
M lldb/source/Symbol/Variable.cpp
M lldb/source/Target/BorrowedStackFrame.cpp
M lldb/source/Target/ExecutionContext.cpp
M lldb/source/Target/Language.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/ProcessTrace.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanStepRange.cpp
M lldb/source/Utility/VirtualDataExtractor.cpp
M lldb/source/Utility/WasmVirtualRegisters.h
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/test/API/commands/expression/expr_inside_lambda/TestExprInsideLambdas.py
M lldb/test/API/commands/expression/ir-interpreter/TestIRInterpreter.py
M lldb/test/API/commands/expression/options/TestExprOptions.py
M lldb/test/API/commands/frame/var-dil/basics/AddressOf/TestFrameVarDILAddressOf.py
M lldb/test/API/commands/frame/var-dil/basics/ArraySubscript/TestFrameVarDILArraySubscript.py
M lldb/test/API/commands/frame/var-dil/basics/LocalVars/TestFrameVarDILLocalVars.py
M lldb/test/API/commands/frame/var-dil/basics/MemberOf/TestFrameVarDILMemberOf.py
M lldb/test/API/commands/frame/var-dil/basics/PointerDereference/TestFrameVarDILPointerDereference.py
M lldb/test/API/commands/frame/var-dil/expr/Casts/TestFrameVarDILCast.py
M lldb/test/API/commands/frame/var-dil/expr/Casts/main.cpp
M lldb/test/API/commands/platform/basic/TestPlatformCommand.py
M lldb/test/API/driver/batch_mode/TestBatchMode.py
M lldb/test/API/functionalities/breakpoint/breakpoint_names/TestBreakpointNames.py
M lldb/test/API/functionalities/breakpoint/scripted_bkpt/was_hit/TestWasHit.py
M lldb/test/API/functionalities/breakpoint/scripted_bkpt/was_hit/bkpt_resolver.py
M lldb/test/API/functionalities/breakpoint/scripted_bkpt/was_hit/main.c
A lldb/test/API/functionalities/breakpoint/update_condition/Makefile
A lldb/test/API/functionalities/breakpoint/update_condition/TestUpdateBreakpointCondition.py
A lldb/test/API/functionalities/breakpoint/update_condition/main.c
M lldb/test/API/functionalities/completion/TestCompletion.py
M lldb/test/API/functionalities/data-formatter/bytecode-summary/main.cpp
A lldb/test/API/functionalities/data-formatter/bytecode-synthetic/Makefile
A lldb/test/API/functionalities/data-formatter/bytecode-synthetic/TestBytecodeSynthetic.py
A lldb/test/API/functionalities/data-formatter/bytecode-synthetic/main.cpp
M lldb/test/API/functionalities/data-formatter/compactvectors/TestCompactVectors.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ordering/TestDataFormatterStdOrdering.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/TestDataFormatterStdVBool.py
M lldb/test/API/functionalities/disassembler-variables/Makefile
M lldb/test/API/functionalities/gdb_remote_client/TestWasm.py
M lldb/test/API/functionalities/module_cache/bsd/Makefile
M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
M lldb/test/API/functionalities/scripted_frame_provider/main.cpp
A lldb/test/API/functionalities/scripted_symbol_locator/Makefile
A lldb/test/API/functionalities/scripted_symbol_locator/TestScriptedSymbolLocator.py
A lldb/test/API/functionalities/scripted_symbol_locator/main.c
A lldb/test/API/functionalities/scripted_symbol_locator/source_locator.py
M lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py
M lldb/test/API/lang/cpp/const_this/TestConstThis.py
A lldb/test/API/lang/cpp/expression-context-qualifiers/const_method/Makefile
A lldb/test/API/lang/cpp/expression-context-qualifiers/const_method/TestExprInConstMethod.py
A lldb/test/API/lang/cpp/expression-context-qualifiers/const_method/main.cpp
A lldb/test/API/lang/cpp/expression-context-qualifiers/const_volatile_method/Makefile
A lldb/test/API/lang/cpp/expression-context-qualifiers/const_volatile_method/TestExprInConstVolatileMethod.py
A lldb/test/API/lang/cpp/expression-context-qualifiers/const_volatile_method/main.cpp
A lldb/test/API/lang/cpp/expression-context-qualifiers/cv_qualified_objects/Makefile
A lldb/test/API/lang/cpp/expression-context-qualifiers/cv_qualified_objects/TestExprOnCVQualifiedObjects.py
A lldb/test/API/lang/cpp/expression-context-qualifiers/cv_qualified_objects/main.cpp
A lldb/test/API/lang/cpp/expression-context-qualifiers/fixit/Makefile
A lldb/test/API/lang/cpp/expression-context-qualifiers/fixit/TestExprInConstMethodWithFixit.py
A lldb/test/API/lang/cpp/expression-context-qualifiers/fixit/main.cpp
A lldb/test/API/lang/cpp/expression-context-qualifiers/non_const_method/Makefile
A lldb/test/API/lang/cpp/expression-context-qualifiers/non_const_method/TestExprInNonConstMethod.py
A lldb/test/API/lang/cpp/expression-context-qualifiers/non_const_method/main.cpp
A lldb/test/API/lang/cpp/expression-context-qualifiers/template_const_method/Makefile
A lldb/test/API/lang/cpp/expression-context-qualifiers/template_const_method/TestExprInTemplateConstMethod.py
A lldb/test/API/lang/cpp/expression-context-qualifiers/template_const_method/main.cpp
A lldb/test/API/lang/cpp/expression-context-qualifiers/template_non_const_method/Makefile
A lldb/test/API/lang/cpp/expression-context-qualifiers/template_non_const_method/TestExprInTemplateNonConstMethod.py
A lldb/test/API/lang/cpp/expression-context-qualifiers/template_non_const_method/main.cpp
M lldb/test/API/lang/cpp/namespace/TestNamespace.py
M lldb/test/API/lang/cpp/template-arguments/TestCppTemplateArguments.py
A lldb/test/API/lang/cpp/template-diagnostic-hint/Makefile
A lldb/test/API/lang/cpp/template-diagnostic-hint/TestTemplateDiagnosticHint.py
A lldb/test/API/lang/cpp/template-diagnostic-hint/main.cpp
M lldb/test/API/lang/cpp/this/TestCPPThis.py
M lldb/test/API/linux/sepdebugsymlink/Makefile
A lldb/test/API/macosx/extended-backtrace-api/Makefile
A lldb/test/API/macosx/extended-backtrace-api/TestExtendedBacktraceAPI.py
A lldb/test/API/macosx/extended-backtrace-api/main.m
M lldb/test/API/macosx/posix_spawn/TestLaunchProcessPosixSpawn.py
A lldb/test/API/macosx/stop-reason-exception/Makefile
A lldb/test/API/macosx/stop-reason-exception/TestMachExceptionData.py
A lldb/test/API/macosx/stop-reason-exception/main.c
M lldb/test/API/python_api/debugger/TestDebuggerAPI.py
M lldb/test/API/python_api/find_in_memory/TestFindInMemory.py
M lldb/test/API/python_api/process/cancel_attach/TestCancelAttach.py
M lldb/test/API/python_api/sbmodule/TestSBModule.py
M lldb/test/API/python_api/sbsavecoreoptions/TestSBSaveCoreOptions.py
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/tools/lldb-dap/breakpoint-events/Makefile
M lldb/test/API/tools/lldb-dap/breakpoint-events/TestDAP_breakpointEvents.py
M lldb/test/API/tools/lldb-dap/breakpoint-events/foo.cpp
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setExceptionBreakpoints.py
M lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
A lldb/test/API/tools/lldb-dap/eventStatistic/Makefile
A lldb/test/API/tools/lldb-dap/eventStatistic/TestVSCode_eventStatistic.py
A lldb/test/API/tools/lldb-dap/eventStatistic/foo.cpp
A lldb/test/API/tools/lldb-dap/eventStatistic/foo.h
A lldb/test/API/tools/lldb-dap/eventStatistic/main.cpp
A lldb/test/API/tools/lldb-dap/exception/asan/Makefile
A lldb/test/API/tools/lldb-dap/exception/asan/TestDAP_asan.py
A lldb/test/API/tools/lldb-dap/exception/asan/categories
A lldb/test/API/tools/lldb-dap/exception/asan/main.cpp
M lldb/test/API/tools/lldb-dap/exception/objc/TestDAP_exception_objc.py
R lldb/test/API/tools/lldb-dap/exception/runtime-instruments/Makefile
R lldb/test/API/tools/lldb-dap/exception/runtime-instruments/TestDAP_runtime_instruments.py
R lldb/test/API/tools/lldb-dap/exception/runtime-instruments/categories
R lldb/test/API/tools/lldb-dap/exception/runtime-instruments/main.c
A lldb/test/API/tools/lldb-dap/exception/ubsan/Makefile
A lldb/test/API/tools/lldb-dap/exception/ubsan/TestDAP_ubsan.py
A lldb/test/API/tools/lldb-dap/exception/ubsan/categories
A lldb/test/API/tools/lldb-dap/exception/ubsan/main.c
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_commands.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_stdio_redirection.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_stdio_redirection_and_console.py
A lldb/test/API/tools/lldb-dap/launch/io/DAP_launch_io.py
R lldb/test/API/tools/lldb-dap/launch/io/TestDAP_launch_io.py
A lldb/test/API/tools/lldb-dap/launch/io/TestDAP_launch_io_integratedTerminal.py
A lldb/test/API/tools/lldb-dap/launch/io/TestDAP_launch_io_internalConsole.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
A lldb/test/API/tools/lldb-dap/stopped-events/Makefile
A lldb/test/API/tools/lldb-dap/stopped-events/TestDAP_stopped_events.py
A lldb/test/API/tools/lldb-dap/stopped-events/main.cpp
M lldb/test/API/tools/lldb-dap/threads/TestDAP_threads.py
A lldb/test/API/tools/lldb-dap/unknown/Makefile
A lldb/test/API/tools/lldb-dap/unknown/TestDAP_unknownRequest.py
A lldb/test/API/tools/lldb-dap/unknown/main.c
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/Shell/DAP/TestSTDINConsole.test
A lldb/test/Shell/ObjectFile/ELF/stt-tls-symbol.yaml
M lldb/test/Shell/Settings/TestChildDepthTruncation.test
A lldb/test/Shell/SymbolFile/NativePDB/local-constant.test
M lldb/tools/driver/CMakeLists.txt
M lldb/tools/driver/Driver.cpp
M lldb/tools/driver/Options.td
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/NextRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ReadMemoryRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/ScopesRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepInRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepOutRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/UnknownRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/WriteMemoryRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Protocol/ProtocolEvents.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolEvents.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/SBAPIExtras.h
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/Transport.cpp
M lldb/tools/lldb-dap/Transport.h
M lldb/tools/lldb-dap/Variables.cpp
M lldb/tools/lldb-dap/Variables.h
M lldb/tools/lldb-dap/extension/package-lock.json
M lldb/tools/lldb-dap/extension/package.json
M lldb/tools/lldb-dap/tool/CMakeLists.txt
M lldb/tools/lldb-dap/tool/Options.td
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
M lldb/unittests/CMakeLists.txt
M lldb/unittests/DAP/CMakeLists.txt
A lldb/unittests/DAP/ProtocolEventsTest.cpp
M lldb/unittests/DAP/ProtocolTypesTest.cpp
M lldb/unittests/DAP/TestBase.cpp
M lldb/unittests/DAP/TestBase.h
M lldb/unittests/DAP/VariablesTest.cpp
M lldb/unittests/DataFormatter/CMakeLists.txt
M lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp
A lldb/unittests/DataFormatter/FormatterSectionTest.cpp
M lldb/unittests/Expression/ClangExpressionDeclMapTest.cpp
M lldb/unittests/Expression/ExpressionTest.cpp
A lldb/unittests/Highlighter/CMakeLists.txt
A lldb/unittests/Highlighter/HighlighterTest.cpp
M lldb/unittests/Host/JSONTransportTest.cpp
M lldb/unittests/Language/CMakeLists.txt
R lldb/unittests/Language/Highlighting/CMakeLists.txt
R lldb/unittests/Language/Highlighting/HighlighterTest.cpp
M lldb/unittests/ObjectFile/MachO/CMakeLists.txt
M lldb/unittests/ObjectFile/MachO/TestObjectFileMachO.cpp
M lldb/unittests/Process/Utility/RegisterContextFreeBSDTest.cpp
M lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
M lldb/unittests/Target/MemoryTest.cpp
M lldb/unittests/TestingSupport/Host/JSONTransportTestUtilities.h
M lldb/unittests/Utility/AnsiTerminalTest.cpp
M lldb/unittests/Utility/UUIDTest.cpp
M lldb/unittests/Utility/VirtualDataExtractorTest.cpp
M lldb/utils/TableGen/LLDBPropertyDefEmitter.cpp
M llvm/CMakeLists.txt
M llvm/Maintainers.md
M llvm/bindings/ocaml/llvm/llvm.ml
M llvm/bindings/ocaml/llvm/llvm.mli
M llvm/bindings/ocaml/llvm/llvm_ocaml.c
M llvm/cmake/modules/CrossCompile.cmake
M llvm/cmake/modules/TableGen.cmake
A llvm/docs/AMDGPUAsyncOperations.rst
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
Rebase + fix comment
Created using spr 1.3.7
Compare: https://github.com/llvm/llvm-project/compare/86d0509baee3...6ef0613e5cfa
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