[all-commits] [llvm/llvm-project] 600960: DAG: Check if deoptimize call is available before ...
Alex Langford via All-commits
all-commits at lists.llvm.org
Thu Jan 8 11:32:26 PST 2026
Branch: refs/heads/users/arichardson/spr/main.tablegen-support-regclassbyhwmode-in-compresspat
Home: https://github.com/llvm/llvm-project
Commit: 60096071242348cf9af2345100931e02b83bfee0
https://github.com/llvm/llvm-project/commit/60096071242348cf9af2345100931e02b83bfee0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-12-29 (Mon, 29 Dec 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
M llvm/test/CodeGen/AMDGPU/llvm.deoptimize.ll
Log Message:
-----------
DAG: Check if deoptimize call is available before emitting it (#170940)
Commit: 8ea8f682f7494124148d06c4206252bf6958f996
https://github.com/llvm/llvm-project/commit/8ea8f682f7494124148d06c4206252bf6958f996
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-12-29 (Mon, 29 Dec 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
R llvm/test/CodeGen/Generic/selectiondag-dbgvalue-null-crash.ll
Log Message:
-----------
Revert "[SelectionDAG] Fix null pointer dereference in resolveDanglingDebugInfo" (#173925)
Reverts llvm/llvm-project#173500.
Test fails depending on the host system.
Commit: 6d31e7e4f29e89213a55e9f5fdcd176396604637
https://github.com/llvm/llvm-project/commit/6d31e7e4f29e89213a55e9f5fdcd176396604637
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-12-29 (Mon, 29 Dec 2025)
Changed paths:
M clang/include/clang/AST/TypeBase.h
Log Message:
-----------
[NFC][Clang][HLSL] Minor fixes to SpirvOperand (#172782)
Static analysis flagged this as not applying rule of three properly. The
code was trying to do the right thing but basically they are effectively
all defaulted, so we make it explicit.
Commit: 8e9020803787b5f4593dd7e2a24a966689889a35
https://github.com/llvm/llvm-project/commit/8e9020803787b5f4593dd7e2a24a966689889a35
Author: Prathamesh Tagore <63031630+meshtag at users.noreply.github.com>
Date: 2025-12-29 (Mon, 29 Dec 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorMaskElimination.cpp
M mlir/test/Dialect/Vector/eliminate-masks.mlir
Log Message:
-----------
[mlir][vector] Skip vector mask elimination for funcs without body (#173330)
Commit: 66c65f0132d059662bb86ee7a49c38fcf1fd2b27
https://github.com/llvm/llvm-project/commit/66c65f0132d059662bb86ee7a49c38fcf1fd2b27
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M libcxx/include/__iterator/iter_move.h
Log Message:
-----------
[libc++][iterator][NFC] Fixed copy&paste mistake in comment (#173879)
Commit: 86b9f90b9574b3a7d15d28a91f6316459dcfa046
https://github.com/llvm/llvm-project/commit/86b9f90b9574b3a7d15d28a91f6316459dcfa046
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-12-29 (Mon, 29 Dec 2025)
Changed paths:
M clang/test/Headers/__clang_hip_math.hip
M llvm/include/llvm/IR/Instructions.h
M llvm/lib/IR/Instructions.cpp
M llvm/lib/SandboxIR/Tracker.cpp
M llvm/test/CodeGen/WinEH/wineh-no-demotion.ll
M llvm/test/Examples/IRTransforms/SimplifyCFG/tut-simplify-cfg5-del-phis-for-dead-block.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-base.ll
M llvm/test/Transforms/Coroutines/coro-catchswitch.ll
M llvm/test/Transforms/DFAJumpThreading/dfa-jump-threading-transform.ll
M llvm/test/Transforms/DFAJumpThreading/dfa-unfold-select.ll
M llvm/test/Transforms/DFAJumpThreading/equivalent-states.ll
M llvm/test/Transforms/IndVarSimplify/eliminate-backedge.ll
M llvm/test/Transforms/Inline/inline_invoke.ll
M llvm/test/Transforms/JumpThreading/ddt-crash.ll
M llvm/test/Transforms/JumpThreading/fold-not-thread.ll
M llvm/test/Transforms/JumpThreading/invalidate-lvi.ll
M llvm/test/Transforms/LoopSimplifyCFG/phi_with_duplicating_inputs.ll
M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling-multi-exit.ll
M llvm/test/Transforms/LoopUnroll/AArch64/unrolling-multi-exit.ll
M llvm/test/Transforms/LoopUnroll/full-unroll-one-unpredictable-exit.ll
M llvm/test/Transforms/LoopUnroll/partial-unroll-non-latch-exit.ll
M llvm/test/Transforms/LoopUnroll/peel-loop.ll
M llvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
M llvm/test/Transforms/LoopUnroll/scevunroll.ll
M llvm/test/Transforms/LoopUnroll/unroll-header-exiting-with-phis-multiple-exiting-blocks.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/trip-count-expansion-may-introduce-ub.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/LowerSwitch/2014-06-23-PHIlowering.ll
M llvm/test/Transforms/LowerSwitch/do-not-handle-impossible-values.ll
M llvm/test/Transforms/MergeICmps/X86/alias-merge-blocks.ll
M llvm/test/Transforms/MergeICmps/X86/entry-block-shuffled-2.ll
M llvm/test/Transforms/MergeICmps/X86/entry-block-shuffled.ll
M llvm/test/Transforms/MergeICmps/X86/pr59740.ll
M llvm/test/Transforms/PGOProfile/chr.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
M llvm/test/Transforms/PhaseOrdering/switch-sext.ll
M llvm/test/Transforms/SimpleLoopUnswitch/inject-invariant-conditions.ll
M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch-freeze.ll
M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch.ll
M llvm/test/Transforms/SimplifyCFG/EqualPHIEdgeBlockMerge.ll
M llvm/test/Transforms/SimplifyCFG/ForwardSwitchConditionToPHI.ll
M llvm/test/Transforms/SimplifyCFG/Hexagon/switch-to-lookup-table.ll
M llvm/test/Transforms/SimplifyCFG/HoistCode.ll
M llvm/test/Transforms/SimplifyCFG/RISCV/switch-of-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
M llvm/test/Transforms/SimplifyCFG/X86/debugloc-switch-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/X86/empty-cleanuppad.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-of-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-gep.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-globals.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table_big.ll
M llvm/test/Transforms/SimplifyCFG/avoid-complex-phi.ll
M llvm/test/Transforms/SimplifyCFG/branch-fold-threshold.ll
M llvm/test/Transforms/SimplifyCFG/branch-fold.ll
M llvm/test/Transforms/SimplifyCFG/merge-phis-in-switch.ll
M llvm/test/Transforms/SimplifyCFG/multiple-phis.ll
M llvm/test/Transforms/SimplifyCFG/rangereduce.ll
M llvm/test/Transforms/SimplifyCFG/switch-dup-bbs.ll
M llvm/test/Transforms/SimplifyCFG/switch-on-const.ll
M llvm/test/Transforms/SimplifyCFG/switch-simplify-crash2.ll
M llvm/test/Transforms/SimplifyCFG/switch-to-select-two-case.ll
M llvm/test/Transforms/SimplifyCFG/switch-transformations-no-lut.ll
M llvm/test/Transforms/SimplifyCFG/switch_create-custom-dl.ll
M llvm/test/Transforms/SimplifyCFG/switch_create.ll
M llvm/test/Transforms/Util/lowerswitch.ll
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
Revert 159f1c048e08a8780d92858cfc80e723c90235e3 (#173893)
This causes non-determinism in compiles.
>From nikic: "FYI the non-determinism is also visible on
llvm-opt-benchmark. Maybe repeatedly running test cases from
https://github.com/dtcxzyw/llvm-opt-benchmark/commit/299446d99f04024d5f569ce1f7e9338c9bcf55fe
could reproduce the issue..."
Also revert dependent 796fafeff92fe5d2d20594859e92607116e30a16 and
e135447bda617125688b71d33480d131d1076a72.
Commit: b6883607c036e4a539555f3849b63da4eda7c956
https://github.com/llvm/llvm-project/commit/b6883607c036e4a539555f3849b63da4eda7c956
Author: Twice <twice at apache.org>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/test/python/rewrite.py
Log Message:
-----------
[MLIR][Python] Refine the support of `RewritePatternSet.add` (#173874)
This patch includes the following changes:
- `RewritePatternSet.add` now accepts op name (e.g. `.add("arith.addi",
fn)`) besides op class (e.g. `.add(arith.AddIOp, fn)`)
- add a concrete signature and a more complete docstring to
`RewritePatternSet.add`.
Commit: 90122c7384c8d405dca7872b956612a8048d3e3f
https://github.com/llvm/llvm-project/commit/90122c7384c8d405dca7872b956612a8048d3e3f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-29 (Mon, 29 Dec 2025)
Changed paths:
M llvm/test/TableGen/CPtrWildcard.td
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[TableGen] Tweak whitespace printing in DAGISelMatcherEmitter to avoid trailing whitespace in output.
The main offender was the trailing space in EmitVBRValue, but there
were a few other issues.
Commit: a8b6afbf3094a09515f0d7949c156544649d5984
https://github.com/llvm/llvm-project/commit/a8b6afbf3094a09515f0d7949c156544649d5984
Author: Twice <twice at apache.org>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M mlir/lib/Bindings/Python/Pass.cpp
Log Message:
-----------
[MLIR][Python][NFC] Refine the docstring of `PassManager.add(callable, ..)` (#173945)
This PR expands the docstring for `PassManager.run(callable, ..)` by
adding descriptions for each parameter, making it easier for users to
understand. No functional change.
Commit: 9d31a76a9571e1be99c556395f6317f4de05a3f0
https://github.com/llvm/llvm-project/commit/9d31a76a9571e1be99c556395f6317f4de05a3f0
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-12-29 (Mon, 29 Dec 2025)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[github/CODEOWNERS] Add yavtuk as BOLT codeowner (#173944)
Commit: e89bd48c563005f01b9f9b05b60a76911744fedf
https://github.com/llvm/llvm-project/commit/e89bd48c563005f01b9f9b05b60a76911744fedf
Author: Denzel-Brian Budii <73462654+chios202 at users.noreply.github.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M mlir/lib/Query/Matcher/MatchFinder.cpp
Log Message:
-----------
[mlir] Avoid crash in mlir-query's MatchFinder class (#145049)
It was failing for cases where the location was not a FileLineColLoc and fileLoc a nullptr.
If the following query is run:
`match getUsersByPredicate(hasOpName("memref.alloc"),
hasOpName("memref.dealloc"), true)`
on the IR illustrated below, it caused the program to crash.
``` mlir
func.func @slicing_linalg_op(%arg0 : index, %arg1 : index, %arg2 : index) {
%a = memref.alloc(%arg0, %arg2) : memref<?x?xf32>
%b = memref.alloc(%arg2, %arg1) : memref<?x?xf32>
%c = memref.alloc(%arg0, %arg1) : memref<?x?xf32>
%d = memref.alloc(%arg0, %arg1) : memref<?x?xf32>
linalg.matmul ins(%a, %b : memref<?x?xf32>, memref<?x?xf32>)
outs(%c : memref<?x?xf32>)
linalg.matmul ins(%a, %b : memref<?x?xf32>, memref<?x?xf32>)
outs(%d : memref<?x?xf32>)
memref.dealloc %c : memref<?x?xf32>
memref.dealloc %b : memref<?x?xf32>
memref.dealloc %a : memref<?x?xf32>
memref.dealloc %d : memref<?x?xf32>
return
}
```
Commit: 44e32ccf0343e5df6bb0afa7121fdd50979b696e
https://github.com/llvm/llvm-project/commit/44e32ccf0343e5df6bb0afa7121fdd50979b696e
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/xqcibm-extract.ll
Log Message:
-----------
[RISCV] Add regalloc hints for QC_EXTU (#173953)
`ANDI` with a mask gets converted into `QC_EXTU` in certain cases. Add
regalloc hints to use the same source and destination register so that
we can generate the compressed `QC_C_EXTU` instruction.
Commit: f04dc3b5d48392089cfbc898f98ba2e3ceb1af70
https://github.com/llvm/llvm-project/commit/f04dc3b5d48392089cfbc898f98ba2e3ceb1af70
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
A clang/test/SemaHIP/amdgpu-flat-atomic-fmax-err.hip
A clang/test/SemaHIP/amdgpu-flat-atomic-fmin-err.hip
Log Message:
-----------
[Clang] Remove 't' from __builtin_amdgcn_flat_atomic_fmin/fmax_f64 (#173839)
Allows for type checking depending on the built-in signature.
There is no `f32` version for both builtins
Commit: ca73d19030e94d1cf9b1a245ad42a4e248f7e645
https://github.com/llvm/llvm-project/commit/ca73d19030e94d1cf9b1a245ad42a4e248f7e645
Author: Matthias Springer <me at m-sp.org>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M mlir/lib/Transforms/RemoveDeadValues.cpp
Log Message:
-----------
[mlir][Transforms][NFC] `remove-dead-values`: Simplify dropped value handling (#173540)
`RDVFinalCleanupList::values` is used only for function op handling. The
functionality for dropping function arg uses can be incorporated into
Step 5 (function op handling). There is no need for a separate step.
Commit: abfac951432225ceca6b5a1a6e4addc353650492
https://github.com/llvm/llvm-project/commit/abfac951432225ceca6b5a1a6e4addc353650492
Author: Matthias Springer <me at m-sp.org>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M mlir/docs/Canonicalization.md
Log Message:
-----------
[mlir][docs] Add more examples for the "canonical form" (#173667)
Mention that there is no formal definition of the canonical form. Also
add more examples for users to understand what kind of transformations
the community has agreed upon in the past.
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: f0582f73b9b0fb0c67c09c394ad16579d7141026
https://github.com/llvm/llvm-project/commit/f0582f73b9b0fb0c67c09c394ad16579d7141026
Author: Zhewen Yu <zhewenyu at amd.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/test/Dialect/Tensor/value-bounds-op-interface-impl.mlir
Log Message:
-----------
Reland "[mlir][tensor] Add ValueBoundsOpInterface for ExpandShapeOp and CollapseShapeOp #173356" (#173857)
The original PR #173356 was reverted (commit 5d6c40b) due to an
AddressSanitizer failure
(https://lab.llvm.org/buildbot/#/builders/52/builds/13831).
The failure was caused by incorrect use of a const reference
https://github.com/llvm/llvm-project/pull/173356#discussion_r2643027667,
which bound a reference to a temporary value returned by
`getReassociationIndices()`.
This reland drops the const reference and uses a copy instead.
Signed-off-by: Yu-Zhewen <zhewenyu at amd.com>
Commit: 5f05793fbdc3ef5a7f42355ac943fd7c25503e86
https://github.com/llvm/llvm-project/commit/5f05793fbdc3ef5a7f42355ac943fd7c25503e86
Author: Philip Lassen <plassen at groq.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M mlir/test/mlir-tblgen/op-attribute.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir][ods] Fix ODS bug for usePropertiesForAttributes = 0 (#173006)
This fixes invalid cpp generated in the `verifyInvariantsImpl` method
for operations generated from ODS when `usePropertiesForAttributes = 0`
is set on the Dialect.
Fixes the bug introduced in
- https://github.com/llvm/llvm-project/pull/153603
Closes #171217
Commit: 54faa755bc3627315d797b61e78d270bd0d6a5b0
https://github.com/llvm/llvm-project/commit/54faa755bc3627315d797b61e78d270bd0d6a5b0
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
[LLVM][CMake][NFC] Use generator expression to separate CXXFLAGS (#173869)
This avoids looking at the individual sources for mixed C/C++ libraries.
The previous code was written ~2014. Generator expressions were added in
CMake 3.3 (2015). We currently require CMake 3.20 and therefore can rely
on more modern features.
Apart from simplifying the code, this is preliminary work to make more
use of pre-compiled headers (#173868).
Commit: f78d143ecd28f432ecb2066d04b1406301f1579d
https://github.com/llvm/llvm-project/commit/f78d143ecd28f432ecb2066d04b1406301f1579d
Author: Amina Chabane <amina.chabane at arm.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
A llvm/test/tools/llvm-mca/mcpu-help.test
M llvm/tools/llvm-mca/llvm-mca.cpp
Log Message:
-----------
[MCA] Fix -mcpu=help flag (#173399)
Previously, using the `-mcpu=help` flag would require an empty stdin to
be passed to print the CPU/Features
list.
- Moves the `MemoryBuffer::getFileOrSTDIN` call below an early return.
- Adds a test mcpu-help.test is included which tests the flag with a
missing file. Previously, this would have resulted in an error with no
outputted help list, but now provides the help list and ignores the
missing file input.
Commit: ff1f362290e418e57fa4f600501012a7a405f01a
https://github.com/llvm/llvm-project/commit/ff1f362290e418e57fa4f600501012a7a405f01a
Author: Amina Chabane <amina.chabane at arm.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-basic-instructions.s
Log Message:
-----------
[MCA][AArch64] Model single-register EXTR as ROR on Neoverse N2 (#172831)
As per the SWOG for [Neoverse
N2](https://developer.arm.com/documentation/109914/latest/), the latency
of a one register bitfield extract should be 1 and the throughput should
be 4. This patch models the single register EXTR (alias ROR) for the
Neoverse N2 model.
Commit: 98d8211da48cd2b688689b370508326154951085
https://github.com/llvm/llvm-project/commit/98d8211da48cd2b688689b370508326154951085
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/sme-framelower-use-bp.ll
Log Message:
-----------
[AArch64][SME] Vastly simplify and fix `sme-framelower-use-bp.ll` (NFC) (#172999)
This test was added in:
https://github.com/llvm/llvm-project/commit/d4c86e7f3ea298b259e673142470a7b838f5f302
However, over time this test has stopped testing that change. That
change ensures that LLVM sets up the base-pointer in functions with only
+sme (no sve) and dynamic allocas + SVE stack objects.
The original test did not intend to have dynamic allocas or SVE stack
objects though. They were introduced by the IR-based SME ABI pass
unintentionally pushing allocas outside the entry block and SVE spills.
Both of these have been resolved, so this test was not testing the
original change. This patch simplifies the test, and corrects it so
tests the intended functionality.
Commit: 8be2c19f883109ab8e1d750beb8cf1816025d906
https://github.com/llvm/llvm-project/commit/8be2c19f883109ab8e1d750beb8cf1816025d906
Author: Arjun Parmar <akparmar0404 at gmail.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/invalid.mlir
Log Message:
-----------
[MLIR] Fix mlir-opt crash in ReshapeOpsUtils.cpp when collapse_shape index is invalid (#173791)
This patch fixes a crash occurring in mlir-opt when running
collapse_shape with an invalid index configuration. Instead of crashing,
an error message is returned to the user.
Fixes: #173567
---------
Co-authored-by: Bazinga! <akparmar004>
Commit: 437ae34e389dbe39d63711bb691e122f93c2e98a
https://github.com/llvm/llvm-project/commit/437ae34e389dbe39d63711bb691e122f93c2e98a
Author: A. Jiang <de34 at live.cn>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M libcxx/include/__numeric/gcd_lcm.h
Log Message:
-----------
[libc++][NFC] Simplify `gcd` a bit (#173570)
1. With `if constexpr` we can avoid partial specializations of
`__ct_gcd`. This patch changes it to a function template and renames it
to `__abs_in_type` to slightly improve readability.
2. `__gcd` was made non-recursive by
27a062e9ca7c92e89ed4084c3c3affb9fa39aabb, so this patch simply inlines
it into `gcd`.
Commit: fc30dc425b829b168b8f53737563be87490acaeb
https://github.com/llvm/llvm-project/commit/fc30dc425b829b168b8f53737563be87490acaeb
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M libcxx/include/__ranges/drop_view.h
A libcxx/test/libcxx/ranges/range.adaptors/range.drop/nodiscard.verify.cpp
Log Message:
-----------
[libc++][ranges] Applied `[[nodiscard]]` to `drop_view` (#173557)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/range.drop
Towards #172124
Commit: bb4c8806fb376bac7035a118791e2ef8aa3c339f
https://github.com/llvm/llvm-project/commit/bb4c8806fb376bac7035a118791e2ef8aa3c339f
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M libcxx/include/__ranges/iota_view.h
A libcxx/test/libcxx/ranges/range.factories/range.iota.view/nodiscard.verify.cpp
Log Message:
-----------
[libc++][ranges] Applied `[[nodiscard]]` to `iota_view` (#173612)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/range.iota
Towards #172124
Commit: 60606b22a77b667afff8e08f2be61afcb3a3c379
https://github.com/llvm/llvm-project/commit/60606b22a77b667afff8e08f2be61afcb3a3c379
Author: Matthias Springer <me at m-sp.org>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
M mlir/lib/Transforms/RemoveDeadValues.cpp
Log Message:
-----------
[mlir][Interfaces] Add `RegionBranchOpInterface::getSuccessorOperands` helper (#173971)
Add a helper for querying the successor operands for a region branch
`src -> dst`. Both `src` and `dst` may be the region branch op itself or
a terminator.
This helper allows users to query successor operands for the region
branch op and the terminators in a uniform way. This is similar to
`getSuccessorRegions(RegionBranchPoint)`, which works both for region
branch ops and terminators.
Commit: 2db7110be77e2107cd3269bdbd59ebf7f1a10f9e
https://github.com/llvm/llvm-project/commit/2db7110be77e2107cd3269bdbd59ebf7f1a10f9e
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
A llvm/test/CodeGen/RISCV/xqcibm-regalloc-hints.ll
Log Message:
-----------
[RISCV] Add regalloc hints for BSETI/BEXTI (#173964)
This patch hints the register allocator to use the same source and
destination registers for the `BEXTI/BSETI` instructions when the
`Xqcibm` vendor extension is enabled. This enables the generation of the
compressed `QC_C_BEXTI/QC_C_BSETI` instructions when possible.
Commit: 7da282fd3820126183e2bfcaa9ea5c45096397ce
https://github.com/llvm/llvm-project/commit/7da282fd3820126183e2bfcaa9ea5c45096397ce
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/pr173924.ll
Log Message:
-----------
[X86] combineArithReduction - avoid PSADBW expansion for 128 bit integers and larger (#173979)
Fixes #173924
Commit: 6274b6ba29cd05f386da90fb1f26d64a4c30958f
https://github.com/llvm/llvm-project/commit/6274b6ba29cd05f386da90fb1f26d64a4c30958f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/pr173794.ll
Log Message:
-----------
[X86] Ensure we fold pow2 masks with the mask type, not the result type (#173984)
This was missed in #173366 when we relaxed the constraint on the types to just be the same element width
Fixes #173794
Commit: 8e86107b1f767ae87dc7a5022af027c2ae38142f
https://github.com/llvm/llvm-project/commit/8e86107b1f767ae87dc7a5022af027c2ae38142f
Author: Matthias Springer <me at m-sp.org>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M mlir/include/mlir/IR/Block.h
M mlir/lib/Dialect/Transform/DebugExtension/DebugExtensionOps.cpp
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
M mlir/lib/IR/Block.cpp
M mlir/lib/IR/Unit.cpp
M mlir/lib/IR/Verifier.cpp
M mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/test/lib/Analysis/TestAliasAnalysis.cpp
Log Message:
-----------
[mlir][IR][NFC] Add `Block::computeBlockNumber` convenience helper (#173475)
Add a helper function to compute the number of a block. Recommended only
for debugging purposes and to print error messages.
Commit: 25acd42fcc86dfaf5a5043851cc4632502d7abee
https://github.com/llvm/llvm-project/commit/25acd42fcc86dfaf5a5043851cc4632502d7abee
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/StackProtector.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/test/CodeGen/AArch64/arm64ec-indirect-call.ll
M llvm/test/CodeGen/AArch64/mingw-refptr.ll
M llvm/test/CodeGen/AArch64/stack-protector-target.ll
Log Message:
-----------
Revert "[aarch64] Mix the frame pointer with the stack cookie when protecting the stack (#161114)" (#173987)
This reverts commit b6bfa856860bb4304e635102872a4c994af101b4.
This commit broke Windows on Arm bots.
Commit: 6ec2ec4826b51d7d809fe08b36883a78d7dc0b98
https://github.com/llvm/llvm-project/commit/6ec2ec4826b51d7d809fe08b36883a78d7dc0b98
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/div.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
M llvm/test/Transforms/SLPVectorizer/NVPTX/v2f16.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/partial-vec-invalid-cost.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reordered-buildvector-scalars.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR40310.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fp.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvectors-parent-phi-nodes.ll
M llvm/test/Transforms/SLPVectorizer/X86/c-ray.ll
M llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
M llvm/test/Transforms/SLPVectorizer/X86/entry-no-bundle-but-extra-use-on-vec.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-used-in-many-nodes.ll
M llvm/test/Transforms/SLPVectorizer/X86/gather-with-cmp-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-node-for-copyable-parent.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-node-user-with-copyable-ops.ll
M llvm/test/Transforms/SLPVectorizer/X86/original-inst-scheduled-after-copyable.ll
M llvm/test/Transforms/SLPVectorizer/X86/parent-node-schedulable-with-multi-copyables.ll
M llvm/test/Transforms/SLPVectorizer/X86/parent-node-split-non-schedulable.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction2.ll
M llvm/test/Transforms/SLPVectorizer/X86/reschedule-only-scheduled.ll
M llvm/test/Transforms/SLPVectorizer/X86/same-last-instruction-different-parents.ll
M llvm/test/Transforms/SLPVectorizer/X86/same-operands-but-copyable.ll
M llvm/test/Transforms/SLPVectorizer/X86/scalarize-ctlz.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-node-reorder-node-with-ops.ll
M llvm/test/Transforms/SLPVectorizer/X86/subvector-minbitwidth-unsigned-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/trunced-buildvector-scalar-extended.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/extract-many-users-buildvector.ll
M llvm/test/Transforms/SLPVectorizer/gather_extract_from_vectorbuild.ll
M llvm/test/Transforms/SLPVectorizer/vectorize-reorder-alt-shuffle.ll
Log Message:
-----------
Revert "[SLP]Exclude non-profitable subtrees."
This reverts commit 79472d366591a39a453c186cf031dda874ddf728 to fix
a bug reported in https://github.com/llvm/llvm-project/pull/162018#pullrequestreview-3617073149
Commit: 3ecf4d2ebfb8f84cffb42ff6c220ecdb3d5acbce
https://github.com/llvm/llvm-project/commit/3ecf4d2ebfb8f84cffb42ff6c220ecdb3d5acbce
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Dialect/SCF/canonicalize.mlir
Log Message:
-----------
Revert "[mlir][scf] Fold away scf.for iter args cycles (#173436)" (#173991)
It causes issues with Triton usage.
Also revert dependent "[mlir][SCF] index_switch results (#173560)".
Commit: faf140ae1d0fbd9035f69916078d41bd3674d618
https://github.com/llvm/llvm-project/commit/faf140ae1d0fbd9035f69916078d41bd3674d618
Author: Emilio Cota <ecg at google.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Dialect/SCF/canonicalize.mlir
Log Message:
-----------
Reapply "[mlir][SCF] Fold unused `index_switch` results (#173560)"
This reverts commit 85bfb54f9dfcb323f7a8cbb38a264a596aa1a3d3,
i.e. it reapplies #173560 which was temporarily reverted in
Commit: f5832c5d9f655b934fa641b416a0dea8686c6300
https://github.com/llvm/llvm-project/commit/f5832c5d9f655b934fa641b416a0dea8686c6300
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
A llvm/test/CodeGen/X86/add-i512.ll
A llvm/test/CodeGen/X86/sub-i512.ll
Log Message:
-----------
[X86] Add i512 add/sub test coverage (#173998)
Base test coverage for #173996
Commit: 7c0420dc8484a0cbad32c085b94ab250d89b0ce4
https://github.com/llvm/llvm-project/commit/7c0420dc8484a0cbad32c085b94ab250d89b0ce4
Author: Davide Cunial <dcunial at proton.me>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
A clang-tools-extra/clang-tidy/readability/InconsistentIfElseBracesCheck.cpp
A clang-tools-extra/clang-tidy/readability/InconsistentIfElseBracesCheck.h
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-ifelse-braces.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-ifelse-braces-attributes.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-ifelse-braces-consteval-if.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-ifelse-braces-constexpr-if.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-ifelse-braces.cpp
Log Message:
-----------
[clang-tidy] Add new check 'readability-inconsistent-ifelse-braces' (#162361)
Closes https://github.com/llvm/llvm-project/issues/162140
---------
Co-authored-by: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Commit: 52b44704545bdf010c42e9cc5bb174402d9e0434
https://github.com/llvm/llvm-project/commit/52b44704545bdf010c42e9cc5bb174402d9e0434
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[SelectionDAG] Use SmallVector::assign instead of clear+append. NFC (#173946)
Commit: 1ac1a547ee3b74b4d02bc94faf02ca0381196d11
https://github.com/llvm/llvm-project/commit/1ac1a547ee3b74b4d02bc94faf02ca0381196d11
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/derived.h
M flang-rt/include/flang-rt/runtime/work-queue.h
M flang-rt/lib/cuda/allocatable.cpp
M flang-rt/lib/cuda/memmove-function.cpp
M flang-rt/lib/cuda/pointer.cpp
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/memmove-function.h
M flang/include/flang/Runtime/CUDA/pointer.h
M flang/include/flang/Runtime/allocatable.h
M flang/include/flang/Runtime/freestanding-tools.h
M flang/include/flang/Runtime/pointer.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFAllocationConversion.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
R flang/test/Lower/CUDA/TODO/cuda-allocate-default-init.cuf
M flang/test/Lower/Intrinsics/c_loc.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/assign-statement.f90
M flang/test/Lower/nullify-polymorphic.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/volatile-allocatable.f90
M flang/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
Reland "[flang][cuda] Add support for derived-type initialization on device #172568" (#172913)
#172568
Commit: 68a0b93b1f582ac40fac512b8064af0f8771fe39
https://github.com/llvm/llvm-project/commit/68a0b93b1f582ac40fac512b8064af0f8771fe39
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Semantics/cuf23.cuf
Log Message:
-----------
[flang][cuda] Emit error when a device actual argument is used in host intrinsic (#172914)
This can lead to segfault if a device variable is used in a host
intrinsic. Emit an error in semantic.
Commit: c4d52553ee4b8572b8ddaafa53ed3d8864b91989
https://github.com/llvm/llvm-project/commit/c4d52553ee4b8572b8ddaafa53ed3d8864b91989
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/vec-node-dropped-with-gather-user.ll
Log Message:
-----------
[SLP][NFC]Add a test that reveals the issue with non-profitable subtrees deletion
Commit: f98cc40b5211a7f008556609fea0bcf285d52bce
https://github.com/llvm/llvm-project/commit/f98cc40b5211a7f008556609fea0bcf285d52bce
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUtils.cpp
A llvm/test/Transforms/LoopDeletion/pr173357.ll
Log Message:
-----------
[LoopDeletion] Check for uses in unreachable basic blocks even when there is no exit block. (#173428)
Fixes #173357
Commit: 0b9c449edf14e54b99ab5c8631962ad8c60c6731
https://github.com/llvm/llvm-project/commit/0b9c449edf14e54b99ab5c8631962ad8c60c6731
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll
M llvm/test/CodeGen/AMDGPU/strict_fsub.f32.ll
Log Message:
-----------
[AMDGPU][GISel] Add RegBankLegalize support for G_STRICT_FSUB (#173929)
Commit: 1a8f5fa823a55bce9be368097d2ac7e137fe5d17
https://github.com/llvm/llvm-project/commit/1a8f5fa823a55bce9be368097d2ac7e137fe5d17
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/div.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
M llvm/test/Transforms/SLPVectorizer/NVPTX/v2f16.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/partial-vec-invalid-cost.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reordered-buildvector-scalars.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR40310.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fp.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvectors-parent-phi-nodes.ll
M llvm/test/Transforms/SLPVectorizer/X86/c-ray.ll
M llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
M llvm/test/Transforms/SLPVectorizer/X86/entry-no-bundle-but-extra-use-on-vec.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-used-in-many-nodes.ll
M llvm/test/Transforms/SLPVectorizer/X86/gather-with-cmp-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-node-for-copyable-parent.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-node-user-with-copyable-ops.ll
M llvm/test/Transforms/SLPVectorizer/X86/original-inst-scheduled-after-copyable.ll
M llvm/test/Transforms/SLPVectorizer/X86/parent-node-schedulable-with-multi-copyables.ll
M llvm/test/Transforms/SLPVectorizer/X86/parent-node-split-non-schedulable.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction2.ll
M llvm/test/Transforms/SLPVectorizer/X86/reschedule-only-scheduled.ll
M llvm/test/Transforms/SLPVectorizer/X86/same-last-instruction-different-parents.ll
M llvm/test/Transforms/SLPVectorizer/X86/same-operands-but-copyable.ll
M llvm/test/Transforms/SLPVectorizer/X86/scalarize-ctlz.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-node-reorder-node-with-ops.ll
M llvm/test/Transforms/SLPVectorizer/X86/subvector-minbitwidth-unsigned-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/trunced-buildvector-scalar-extended.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/extract-many-users-buildvector.ll
M llvm/test/Transforms/SLPVectorizer/gather_extract_from_vectorbuild.ll
M llvm/test/Transforms/SLPVectorizer/vectorize-reorder-alt-shuffle.ll
Log Message:
-----------
[SLP]Exclude non-profitable subtrees.
Initial support for SLP tree throttling. Trims non-profitable subtrees,
trying to maximize perf gains.
Does not support trees with gathered loads yet, since they are not quite
trees, but graphs. Analysis should be added later.
Reviewers: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/162018
Recommit after revert in 6ec2ec4826b51d7d809fe08b36883a78d7dc0b98 with
a fix
Commit: 86b17aeaf2bfd8cde721b30e8d3581daa28c2548
https://github.com/llvm/llvm-project/commit/86b17aeaf2bfd8cde721b30e8d3581daa28c2548
Author: Stefan Weigl-Bosker <stefan at s00.xyz>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-invalid.mlir
Log Message:
-----------
[MLIR][Bufferization]: Handle invalid memref element types (#173692)
Fixes #128329, Fixes #128330, Fixes #173565, Fixes #114730
There is an assertion failure in `-one-shot-bufferize` when tensors that
have an element type that can't be a memref element type are
encountered.
https://github.com/llvm/llvm-project/blob/f8d3f47e1fd09392aa30df83849b25acd8c59a25/mlir/include/mlir/IR/BuiltinTypes.h#L440
We can't emit a to_tensor for ops that do implement
`BufferizableOpInterface`, and i don't think quantizing is the right
move either, so erroring seemed like the best fit.
After some trial and error, `defaultGetBufferType` seems like the most
functional and least invasive place to put this check.
Commit: 52e815f1cda1b0cb8fd6bcfe8f20b06f01927458
https://github.com/llvm/llvm-project/commit/52e815f1cda1b0cb8fd6bcfe8f20b06f01927458
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Options/Options.td
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
A clang/test/CodeGenHLSL/all-resources-bound.hlsl
A clang/test/Options/all_resources_bound.hlsl
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
A llvm/test/CodeGen/DirectX/ShaderFlags/all-resources-bound.ll
Log Message:
-----------
[HLSL] Add allresourcesbound option to DXC driver and set corresponding module flag (#173411)
This PR adds a new CC1 option and a new dxc driver option. The DXC
option, when set, is translated into the new CC1 option.
The `all-resources-bound` dxc option will create a metadata module flag,
and the print-dx-shader-flags pass will set the appropriate shader
module flag from this metadata module flag.
Fixes https://github.com/llvm/llvm-project/issues/112264
Commit: 7409c1f8685fb32450087857477c49ac0f82a7a2
https://github.com/llvm/llvm-project/commit/7409c1f8685fb32450087857477c49ac0f82a7a2
Author: Amina Chabane <amina.chabane at arm.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
A llvm/test/tools/llvm-mca/AArch64/mcpu-help.test
R llvm/test/tools/llvm-mca/mcpu-help.test
M llvm/tools/llvm-mca/llvm-mca.cpp
Log Message:
-----------
[MCA] Ignore host -mcpu when target lacks said CPU (#174004)
#173399 failed on buildbot llvm-clang-ubuntu-x-aarch64-pauth. This patch
aims to rectify this.
--------------
llvm-mca rewrites `-mcpu=native` to `sys::getHostCPUName()` and then
immediately instantiates an
`MCSubtargetInfo`. If the build host is x86 but the selected triple is
AArch64, then the CPU string (e.g. “znver4”) isn’t valid, so
`InitMCProcessorInfo` emits a warning. This broke lit tests on cross
compilation.
This patch aims to fix this by creating a default subtarget first,
querying `STI->isCPUStringValid(hostCPU)`
and only recreating the subtarget with the detected host CPU when it’s
supported.
`mcpu-help.test` has been moved into the AArch64 directory, as it is not
target-independent
Commit: 91981a5736d0b414c9ef34edeb9dc3a9b6dd7c4f
https://github.com/llvm/llvm-project/commit/91981a5736d0b414c9ef34edeb9dc3a9b6dd7c4f
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
M flang/test/Transforms/do-concurrent-localizer-dealloc-region.fir
M flang/test/Transforms/do-concurrent-localizer-init-region.fir
M flang/test/Transforms/do_concurrent-to-do_loop-unodered.fir
Log Message:
-----------
[flang] Fixed operations hoisting out of fir.do_concurrent. (#173502)
LICM (#173438) may insert new operations at the beginning of
`fir.do_concurrent`'s block and they cannot be always hoisted
to the alloca-block of the parent operation. This patch
only moves `fir.alloca`s into the alloca-block, and moves
all other operations right before fir.do_concurrent.
Commit: 14c00c05c13af8fa5c56852dce958b4259935fa8
https://github.com/llvm/llvm-project/commit/14c00c05c13af8fa5c56852dce958b4259935fa8
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
R bolt/test/AArch64/veneer-bolt.s
A bolt/test/AArch64/veneer-lite-mode.s
Log Message:
-----------
[BOLT][AArch64] Rework test case for lite mode veneers. NFC (#173951)
Follow-up to #171534: provide a minimal test case.
Commit: 19089fa13bfd4185e13bdddb003a5551d39d181d
https://github.com/llvm/llvm-project/commit/19089fa13bfd4185e13bdddb003a5551d39d181d
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
Log Message:
-----------
[mlir][amdgpu] Fix DMA lowerings. (#174008)
* Fixes off by one error where tensor_dim_0_stride was always set to 1.
* Instead of always setting this value to 1, tensor_dim_0_stride is the
stride across the last dimension.
Commit: 0b46cf7dcdd17bb773f5777bc7a52fe5acb918a6
https://github.com/llvm/llvm-project/commit/0b46cf7dcdd17bb773f5777bc7a52fe5acb918a6
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
Log Message:
-----------
[VPlan] Handle BranchOnTwoConds in simplifyBranchCondition.
This fixes a crash after introducing BranchOnTwoConds (524b1788,
https://github.com/llvm/llvm-project/pull/172750) when trying to
replace BranchOnTwoConds with a VPBranchOnCond, without dissolving the
region.
In that case, we need to update the appropriate condition operand.
Commit: f00575eacdcad38f1d5b4880954856fe62222b76
https://github.com/llvm/llvm-project/commit/f00575eacdcad38f1d5b4880954856fe62222b76
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/test/tools/UpdateTestChecks/lit.local.cfg
Log Message:
-----------
[UpdateTestChecks] Fix %update_mc_test_checks substitution
We need to explicitly pass --llvm-mc-binary to avoid picking up llvm-mc
from somewhere else in $PATH. Noticed this because test lines were being
generated that didn't include my latest changes to update_mc_test_checks.py
Pull Request: https://github.com/llvm/llvm-project/pull/172230
Commit: 292c9e3d198249e329be355d1513484a559c2f8a
https://github.com/llvm/llvm-project/commit/292c9e3d198249e329be355d1513484a559c2f8a
Author: Koakuma <koachan at protonmail.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/test/CodeGen/SPARC/2011-01-19-DelaySlot.ll
Log Message:
-----------
[SPARC] Change delay slot test to use autogenerated code (#173442)
Commit: 0f3a9f658a7f459b9aa701ec42a999b645653862
https://github.com/llvm/llvm-project/commit/0f3a9f658a7f459b9aa701ec42a999b645653862
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
Log Message:
-----------
[LV] Add tail-folded test for fmax reductions without fast-math flags.
Adds missing tail-folding test.
Commit: ecf73cc2c3d28e134166eadd94bbbee967f453b2
https://github.com/llvm/llvm-project/commit/ecf73cc2c3d28e134166eadd94bbbee967f453b2
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Semantics/cuf23.cuf
Log Message:
-----------
Revert "[flang][cuda] Emit error when a device actual argument is used in host intrinsic" (#174019)
Reverts llvm/llvm-project#172914
Commit: 82ef720c6b5b5ea9d470d834c4274a0d90a19ef9
https://github.com/llvm/llvm-project/commit/82ef720c6b5b5ea9d470d834c4274a0d90a19ef9
Author: Kyungtak Woo <kevinwkt1997 at gmail.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M libc/fuzzing/stdio/printf_float_conv_fuzz.cpp
Log Message:
-----------
[libc][fuzzing] Delete test buffs for asan checks (#174018)
I'm currently getting "Detected memory leaks" errors due to this. This
change should always delete the buffers after use.
Commit: 35040a0030445c34dd43627f69b8383e3521c064
https://github.com/llvm/llvm-project/commit/35040a0030445c34dd43627f69b8383e3521c064
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda] Make copy to managed variable on host (#174012)
When the LHS has multiple symbols with the managed attribute, still
perform the copy on the host.
Commit: 746eced47df90418cd2d70accd5994125210afd3
https://github.com/llvm/llvm-project/commit/746eced47df90418cd2d70accd5994125210afd3
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/load-cast-context.ll
R llvm/test/Transforms/LoopVectorize/AArch64/pr46950-load-cast-context-crash.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
Log Message:
-----------
[LV] Add extra tests for computing replicating cast costs (NFC)
Commit: 6f6fca136ca0f2cb4b9d269abaf9d7ea4bc23696
https://github.com/llvm/llvm-project/commit/6f6fca136ca0f2cb4b9d269abaf9d7ea4bc23696
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Re-use common cast cost logic for VPReplicateRecipe (NFCI).
Move the logic to compute cast costs to getCostForRecipeWithOpcode and
use for VPReplicateRecipe.
This should match the costs computed by the legacy cost model for scalar
casts.
Commit: 0bc6491da0c827ce94bd8fa852422eaafe6c39e7
https://github.com/llvm/llvm-project/commit/0bc6491da0c827ce94bd8fa852422eaafe6c39e7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtin_clrsb.c
Log Message:
-----------
[Clang] Add NUW to the Sub in __builtin_clrsb expansion. (#174010)
The ctlz will produce a value in the range [1..bitwidth]. It can't
produce 0. This means the subtract of 1 will not have unsigned wrap.
It also has no signed wrap, but the optimizer can figure that out on its
own.
It's very likely InstCombine will just drop the NUW when it
canonicalizes to Add, but maybe it will be helpful in some case.
Commit: 0bd5975132f2418a0369c8d4514ba23175e28454
https://github.com/llvm/llvm-project/commit/0bd5975132f2418a0369c8d4514ba23175e28454
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/test/TableGen/CPtrWildcard.td
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[SelectionDAG] Use uint8_t instead of unsigned char for isel MatcherTable. (#174014)
These are really the same type, but uint8_t is more accurate since we
make assumptions that a table element is 8 bits when we emit VBRs.
Commit: 18155c62a15971c6ecb34b0e4d281e0ded96ff69
https://github.com/llvm/llvm-project/commit/18155c62a15971c6ecb34b0e4d281e0ded96ff69
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M flang/include/flang/Runtime/freestanding-tools.h
Log Message:
-----------
[flang][cuda] Fix device compilation after #172913 (#174031)
Commit: 6c8185922dc4db6fa086e772e625b48b2cdc67ef
https://github.com/llvm/llvm-project/commit/6c8185922dc4db6fa086e772e625b48b2cdc67ef
Author: Yatao Wang <ningxinr at live.cn>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-sadde.mir
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-saddo.mir
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-uadde.mir
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-uaddo.mir
M llvm/test/CodeGen/X86/GlobalISel/legalize-trailing-zeros-undef.mir
M llvm/test/CodeGen/X86/GlobalISel/legalize-trailing-zeros.mir
Log Message:
-----------
[GlobalISel] Implement G_UADDO/G_UADDE/G_SADDO/G_SADDE for computeKnownBits (#165497)
Addressing the carry out cases Matt mentioned in #159202.
Note: G_[US]SUB[OE] will be implemented in a different PR.
Commit: f43d6834093b19baf79beda8c0337ab020ac5f17
https://github.com/llvm/llvm-project/commit/f43d6834093b19baf79beda8c0337ab020ac5f17
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/derived.h
M flang-rt/include/flang-rt/runtime/work-queue.h
M flang-rt/lib/cuda/allocatable.cpp
M flang-rt/lib/cuda/memmove-function.cpp
M flang-rt/lib/cuda/pointer.cpp
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/memmove-function.h
M flang/include/flang/Runtime/CUDA/pointer.h
M flang/include/flang/Runtime/allocatable.h
M flang/include/flang/Runtime/freestanding-tools.h
M flang/include/flang/Runtime/pointer.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFAllocationConversion.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
A flang/test/Lower/CUDA/TODO/cuda-allocate-default-init.cuf
M flang/test/Lower/Intrinsics/c_loc.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/assign-statement.f90
M flang/test/Lower/nullify-polymorphic.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/volatile-allocatable.f90
M flang/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
Revert "Reland "[flang][cuda] Add support for derived-type initialization on device #172568" (#174033)
This fails https://lab.llvm.org/staging/#/builders/65
This reverts commit 1ac1a547ee3b74b4d02bc94faf02ca0381196d11.
Commit: a46cb15b42961860cddc9dfe5e18fd016fad0367
https://github.com/llvm/llvm-project/commit/a46cb15b42961860cddc9dfe5e18fd016fad0367
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M mlir/include/mlir/Dialect/NVGPU/Utils/MMAUtils.h
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][vector] Fix typo in `vector.contract` mnemonic (NFC) (#173661)
Commit: 670a68efd19f9b2f1333447719887b7204582a54
https://github.com/llvm/llvm-project/commit/670a68efd19f9b2f1333447719887b7204582a54
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Linalg/collapse-dim.mlir
Log Message:
-----------
[mlir][tensor] Preserve encoding in `CollapseShapeOp::build` (#173720)
This PR updates `CollapseShapeOp::build` so that when the result type is
not explicitly provided, the inferred result type preserves the encoding
of the source tensor.
Commit: eb89c8a2238ef034eeda23601b57d86aaea6c4c2
https://github.com/llvm/llvm-project/commit/eb89c8a2238ef034eeda23601b57d86aaea6c4c2
Author: Thurston Dang <thurston at google.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/AArch64/aarch64-bf16-dotprod-intrinsics.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/aarch64-matmul-fp16.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/aarch64-matmul-fp32.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/aarch64-matmul.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sve-fmmla-f32f16.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sve-intrinsics-bfloat.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sve-intrinsics-matmul-fp32.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sve-intrinsics-matmul-fp64.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sve-intrinsics-matmul-int8.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sve2-fmmla-f16mf8.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sve2-fmmla-f32mf8.ll
Log Message:
-----------
[msan][NFCI] Add tests for the matrix multiplication intrinsics on Arm (#174038)
Forked from corresponding files in llvm/test/CodeGen/AArch64
Commit: b0074209ed2e99c0c98c5a2b4a73f0566bf80c71
https://github.com/llvm/llvm-project/commit/b0074209ed2e99c0c98c5a2b4a73f0566bf80c71
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV] Use RVPTernary_rrr for accumulator instructions in RISCVInstrInfoP.td. (#173426)
Commit: 3b7a97379be5232e720a07000e4adc9f5cf62c64
https://github.com/llvm/llvm-project/commit/3b7a97379be5232e720a07000e4adc9f5cf62c64
Author: Vikram Hegde <Vikram.Hegde at amd.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
[AMDGPU][NPM] add "addPostBBSections()" to NPM (#172793)
Matches Legacy pipeline, GCNPassConfig::addPostBBSections()
Commit: 3ff2637d867a6cc23ea5d5127b065efb8299d196
https://github.com/llvm/llvm-project/commit/3ff2637d867a6cc23ea5d5127b065efb8299d196
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/test/TableGen/DAGDefaultOps.td
M llvm/test/TableGen/dag-isel-regclass-emit-enum.td
M llvm/test/TableGen/dag-isel-subregs.td
M llvm/utils/TableGen/Common/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
Log Message:
-----------
[SelectionDAG] Use SLEB128 for signed integers in isel table instead of 'signed rotated'. NFC (#173928)
Previously, we used a VBR that stored the sign bit in bit 0 followed by
the absolute value in subsequent bits.
This patch changes it to use SLEB128 which discards redundant sign bits,
but keeps the bits in the same positions. This uses the same number of
bytes to encode values so doesn't change the table size.
My goal is to remove OPC_EmitStringInteger as a special opcode type.
Instead, we can print the string directly with OPC_EmitInteger for any
string that has an enum value of 0..63.
Commit: 58a5ade851c9042a6c360677fb6bf697ea16fdae
https://github.com/llvm/llvm-project/commit/58a5ade851c9042a6c360677fb6bf697ea16fdae
Author: Pawan Nirpal <pnirpal at qti.qualcomm.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedOryon.td
A llvm/test/CodeGen/AArch64/aarch64-mcpu-oryon-runtime-unroll.ll
Log Message:
-----------
[AArch64] - Allow for aggressive unrolling, with non-zero LoopMicroOpBufferSize for Oryon. (#172422)
Due to LoopMicroOpBufferSize being 0 value in Oryon machine model,
unrolling based on runtime TC was disabled. This is a pseudo value as
Oryon-1 does not have loop-uop buffer in it's micro-architecture. The
value 16 is empirical and inspired by machine model of cortex-a57 and
can be further tuned if required.
Commit: d1f65cd584c5bd14f826e805bc54732ebb4488cb
https://github.com/llvm/llvm-project/commit/d1f65cd584c5bd14f826e805bc54732ebb4488cb
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/optional
R libcxx/test/libcxx/utilities/optional/optional.iterator/iterator.compile.pass.cpp
M libcxx/test/std/utilities/optional/optional.iterator/iterator.pass.cpp
Log Message:
-----------
[libc++] Resolve LWG4308, correct `iterator` availability for `optional<T&>` (#173948)
Resolves #171345
Implements [proposed resolution for
LWG4308](https://cplusplus.github.io/LWG/issue4308) and removes
`const_iterator` from `optional<T&>`, which was missed.
- Constrains iterator to only be available if T is not an lvalue
reference, or if it is T&, that T is an object type and is not an
unbounded array
- Add a partial specialization for `__optional_iterator` for `T&`, which
only has the `iterator` type.
- Correct a static assert message as a drive-by
- Move the libcxx specific iterator test into the standard test because
the standard now specifies when the iterator should be available
Commit: 01e75e2eafcea00c448e289154d8adeecc1c6c3a
https://github.com/llvm/llvm-project/commit/01e75e2eafcea00c448e289154d8adeecc1c6c3a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/test/TableGen/DAGDefaultOps.td
M llvm/test/TableGen/dag-isel-regclass-emit-enum.td
M llvm/test/TableGen/dag-isel-subregs.td
M llvm/utils/TableGen/Common/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
Log Message:
-----------
Revert "[SelectionDAG] Use SLEB128 for signed integers in isel table instead of 'signed rotated'. NFC (#173928)"
This reverts commit 3ff2637d867a6cc23ea5d5127b065efb8299d196.
I accidentally merged another PR into this during a rebase. Reverting
to commit it correctly.
Commit: 7f780046e2ae79218dd6abc2d008c1a9eeddedc7
https://github.com/llvm/llvm-project/commit/7f780046e2ae79218dd6abc2d008c1a9eeddedc7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-30 (Tue, 30 Dec 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/test/TableGen/DAGDefaultOps.td
M llvm/test/TableGen/dag-isel-regclass-emit-enum.td
M llvm/test/TableGen/dag-isel-subregs.td
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[SelectionDAG] Use SLEB128 for signed integers in isel table instead of 'signed rotated'. NFC (#173936)
Previously, we used a VBR that stored the sign bit in bit 0 followed
by the absolute value in subsequent bits.
This patch changes it to use SLEB128 which discards redundant sign
bits, but keeps the bits in the same positions. This uses the same
number of bytes to encode values so doesn't change the table size.
My goal is to remove OPC_EmitStringInteger as a special opcode type.
Instead, we can print the string directly with OPC_EmitInteger for
any string that has an enum value of 0..63.
Commit: 4a35c75e6590eacff33160fd7730e268090ae7d2
https://github.com/llvm/llvm-project/commit/4a35c75e6590eacff33160fd7730e268090ae7d2
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/CodeGen/RISCV/xqcibm-insert.ll
Log Message:
-----------
[RISCV] Convert ORI with SingleBitSetMaskImm12 to BSETI when Xqcibm is enabled (#174054)
`BSETI` can be compressed to `QC_C_BSETI` when `Xqcibm` is enabled.
Commit: 6982c68c5d86c9624394cbf05d6e3875105217c0
https://github.com/llvm/llvm-project/commit/6982c68c5d86c9624394cbf05d6e3875105217c0
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M libcxx/test/std/utilities/optional/optional.iterator/iterator.pass.cpp
Log Message:
-----------
[libc++][NFC] Clean up optional iterator test (#174055)
Addresses `optional.iterator/iterator.pass.cpp` concerns brought up in
#173948
Commit: cc49ab77d8919830e4bdb2f9ce94e597a2025bf4
https://github.com/llvm/llvm-project/commit/cc49ab77d8919830e4bdb2f9ce94e597a2025bf4
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
A clang/test/SemaHIP/amdgpu-global-atomic-fmax-err.hip
A clang/test/SemaHIP/amdgpu-global-atomic-fmin-err.hip
Log Message:
-----------
[Clang] Remove 't' from __builtin_amdgcn_global_atomic_fmin/fmax_f64 (#173969)
Allows for type checking depending on the built-in signature.
There is no `f32` version for both builtins.
Commit: b66557d8f85276572bc17e0700913057efd4620d
https://github.com/llvm/llvm-project/commit/b66557d8f85276572bc17e0700913057efd4620d
Author: Konstantin Belochapka <konstantin.belochapka at sony.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
A cross-project-tests/dtlto/archive.test
A cross-project-tests/dtlto/archives-mixed-lto-modes-test.test
A cross-project-tests/dtlto/archives-same-module-id.test
M lld/COFF/InputFiles.cpp
M lld/COFF/LTO.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/LTO.cpp
M lld/MachO/LTO.cpp
M lld/wasm/LTO.cpp
M llvm/include/llvm/Bitcode/BitcodeReader.h
A llvm/include/llvm/DTLTO/DTLTO.h
M llvm/include/llvm/LTO/LTO.h
M llvm/lib/CMakeLists.txt
A llvm/lib/DTLTO/CMakeLists.txt
A llvm/lib/DTLTO/DTLTO.cpp
M llvm/lib/LTO/CMakeLists.txt
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
[DTLTO][ELF][COFF] Add archive support for DTLTO. (#157043)
This patch implements support for handling archive members in DTLTO.
Unlike ThinLTO, where archive members are passed as in-memory buffers,
DTLTO requires archive members to be materialized as individual files on
the filesystem.
This is necessary because DTLTO invokes clang externally, which expects
file-based inputs.
To support this, this implementation identifies archive members among
the input files,
saves them to the filesystem, and updates their module_id to match their
file paths.
Commit: c436551d5283a8fc00ae880a5b76660b6f08e37b
https://github.com/llvm/llvm-project/commit/c436551d5283a8fc00ae880a5b76660b6f08e37b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
Log Message:
-----------
InstCombine: Fix wrong interested mask in SimplifyDemandedFPClass (#174072)
We are interested in the values that are still candidates, not ones
that have already been ruled out from the uses. Avoids regressions
when new uses are introduced.
Commit: b5d2e9afe9c838d2f851405b3d83649af2019fad
https://github.com/llvm/llvm-project/commit/b5d2e9afe9c838d2f851405b3d83649af2019fad
Author: Keith Randall <khr at google.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M compiler-rt/lib/tsan/go/tsan_go.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
M compiler-rt/lib/tsan/rtl/tsan_symbolize.cpp
M compiler-rt/lib/tsan/rtl/tsan_symbolize.h
Log Message:
-----------
lib/tsan/go: add mechanism to skip frames
Some Go frames are wrapper functions that we don't want to report to
users. Add a mechanism for the Go runtime to tell the tsan runtime not
to report those frames.
For https://github.com/golang/go/issues/73915
Commit: ae51ee2b555829969b36f6d278aa92589be17114
https://github.com/llvm/llvm-project/commit/ae51ee2b555829969b36f6d278aa92589be17114
Author: Matthias Springer <me at m-sp.org>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/lib/Dialect/Linalg/Transforms/FoldAddIntoDest.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
Log Message:
-----------
[mlir][DialectUtils][NFC] Add helper for matching zero int/float values (#171293)
Add a convenience helper similar to `isZeroInteger` that works for
integers and floats.
Commit: def2e08365af3ce598fc61df06ae24d79a36057f
https://github.com/llvm/llvm-project/commit/def2e08365af3ce598fc61df06ae24d79a36057f
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ThrowKeywordMissingCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/throw-keyword-missing.cpp
Log Message:
-----------
[clang-tidy] Fix some false negatives in `bugprone-throw-keyword-missing` (#173748)
Fixes #115540.
Commit: 393783fff844d8919a090f74e641d78c50bcc7f4
https://github.com/llvm/llvm-project/commit/393783fff844d8919a090f74e641d78c50bcc7f4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/test/CodeGen/X86/pr162812.ll
Log Message:
-----------
[X86] Add additional test coverage for #162812 (#174080)
Add lshr/ashr tests for shift amounts in 0<=amt<=1 range variants and also tests with shift amounts in 0<=amt<=3 range
Commit: aec36a4273c19b9e473771ad9a78d394d59f045b
https://github.com/llvm/llvm-project/commit/aec36a4273c19b9e473771ad9a78d394d59f045b
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/include/llvm/CodeGen/Analysis.h
M llvm/lib/CodeGen/Analysis.cpp
Log Message:
-----------
[GlobalISel] Use ComputeValueTypes to implement computeValueLLTs (NFC) (#168172)
Also add an overload returning TypeSize offsets. For now, it is only
called from the other overload.
Commit: 29f35ec01e8f53f4e62080e7d64114d342349639
https://github.com/llvm/llvm-project/commit/29f35ec01e8f53f4e62080e7d64114d342349639
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/lib/Target/Hexagon/CMakeLists.txt
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.cpp
M llvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.h
Log Message:
-----------
[Hexagon] TableGen-erate SDNode descriptions (#168272)
This allows SDNodes to be validated against their expected type profiles
and reduces the number of changes required to add a new node.
There are nodes that currently fail validation, see
`HexagonSelectionDAGInfo::verifyTargetNode()`.
Part of #119709.
Pull Request: https://github.com/llvm/llvm-project/pull/168272
Commit: dac2e009a9c803931e9832013296aca227c9ba7a
https://github.com/llvm/llvm-project/commit/dac2e009a9c803931e9832013296aca227c9ba7a
Author: Vikram Hegde <Vikram.Hegde at amd.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
[CodeGen][NPM] Remove "LowerConstantIntrinsicsPass" from the pipeline (#172794)
Matches the legacy flow. The pass was merged with pre-isel lowering in
https://github.com/llvm/llvm-project/pull/97727
Commit: 24fb00dd2f4396ad89527991a7411b420d60a8c5
https://github.com/llvm/llvm-project/commit/24fb00dd2f4396ad89527991a7411b420d60a8c5
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M lld/COFF/CMakeLists.txt
M lld/ELF/CMakeLists.txt
M lld/MachO/LTO.cpp
M lld/wasm/LTO.cpp
M llvm/lib/DTLTO/CMakeLists.txt
M llvm/lib/LTO/CMakeLists.txt
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
[lld][dtlto] Invert dependency edge from LTO->DTLTO to DTLTO->LTO
The other way is a dependency cycle.
Commit: 502c34250420eff47318568ab154f0a66c4a2324
https://github.com/llvm/llvm-project/commit/502c34250420eff47318568ab154f0a66c4a2324
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port b66557d8f85276572bc17e0700913057efd4620d
Commit: 16f1ad020cc9ece5f335283d6c723c8e936fa424
https://github.com/llvm/llvm-project/commit/16f1ad020cc9ece5f335283d6c723c8e936fa424
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port 29f35ec01e8f53f4e62080e7d64114d342349639
Commit: d05c07d64af734c0e72cf3c95b7bc926824bb4c1
https://github.com/llvm/llvm-project/commit/d05c07d64af734c0e72cf3c95b7bc926824bb4c1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
Log Message:
-----------
InstCombine: Compute fp class when simplifying with multiple uses (#174086)
Commit: 2d60f87111ba1b6b56b38e53922d572e2a8087b4
https://github.com/llvm/llvm-project/commit/2d60f87111ba1b6b56b38e53922d572e2a8087b4
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
Log Message:
-----------
[VPlan] Only use legacy cost for instructions only used by exit conds. (#174029)
Currently we need to precompute costs for exit conditions, to match the
legacy cost, as they will get replaced by a compare against the
canonical IV (or others, like active-lane-mask or EVL based) and the
original compare will get removed.
This is not true for instructions with users other than the exit
condition. Those will remain, and we can just use the VPlan-based cost
model to get more accurate results.
This improves results in some cases, like
@test_value_in_exit_compare_chain_used_outside because the IV increment
user outside the loop is replaced by computing the final value outside
the loop.
It also fixes a crash introduced by f196b1d66ff (#146525).
PR: https://github.com/llvm/llvm-project/pull/174029
Commit: d660ef70ac88ebaceafcc0e450dad0f70a90a955
https://github.com/llvm/llvm-project/commit/d660ef70ac88ebaceafcc0e450dad0f70a90a955
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/lib/DTLTO/CMakeLists.txt
Log Message:
-----------
[DTLTO] Add missing link dependencies on BinaryFormat and Object
Commit: 5c2a8117ac12c455d69df61dd6a2f5f3fa07f964
https://github.com/llvm/llvm-project/commit/5c2a8117ac12c455d69df61dd6a2f5f3fa07f964
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
M clang/test/AST/ast-dump-recovery.cpp
Log Message:
-----------
[clang] Preserve the initializer when variable declaration deduction fails (#173546)
Fix https://github.com/clangd/clangd/issues/2572.
Commit: 28a5690003781874e022763bd02e987d1f0af34c
https://github.com/llvm/llvm-project/commit/28a5690003781874e022763bd02e987d1f0af34c
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86_64.td
M clang/lib/Headers/amxavx512intrin.h
M clang/lib/Sema/SemaX86.cpp
A clang/test/CodeGen/X86/amx_amx512_errors.c
M clang/test/CodeGen/X86/amxavx512-builtins.c
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParserCommon.h
M llvm/lib/Target/X86/AsmParser/X86Operand.h
M llvm/lib/Target/X86/X86InstrAMX.td
M llvm/lib/Target/X86/X86InstrOperands.td
M llvm/test/CodeGen/X86/amx-avx512-intrinsics.ll
Log Message:
-----------
[X86][AMX-AVX512] Add *i intrinsics for immediate variants (#173545)
The immediate variants use the low 6-bit as row index, while register
variants use low 16-bit. We cannot select the immediate variants using
the same intrinsic. So let's add new intrinsics for them.
Commit: 80314817b55facda688e9583c74abca9a6c6a49f
https://github.com/llvm/llvm-project/commit/80314817b55facda688e9583c74abca9a6c6a49f
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
M mlir/test/Dialect/Arith/int-range-narrowing.mlir
Log Message:
-----------
[mlir][int-range] `IntRangeNarrowingPass` was missing `SparseConstantPropagation` analysis (#174088)
This was causing it to skip nested scf ops in some cases (see `scf.for`
test). Use convenience `loadBaselineAnalyses` func.
Commit: ff2d758320407a29d2bb575a8f884122d9683280
https://github.com/llvm/llvm-project/commit/ff2d758320407a29d2bb575a8f884122d9683280
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-exp.ll
Log Message:
-----------
InstCombine: Preserve flags when simplifying exp (#174078)
Commit: 96df108ea18a4a97e741924c1ee441f1a1ae9dc9
https://github.com/llvm/llvm-project/commit/96df108ea18a4a97e741924c1ee441f1a1ae9dc9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
A llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-extractelement.ll
Log Message:
-----------
InstCombine: Handle extractelement in SimplifyDemandedFPClass (#174081)
A lot of boilerplate changes are necessary to do proper elementwise
tracking like SimplifyDemandedBits
Commit: 3dbfd13acd113c14d0cde5ccb9c77d9e2fec33fc
https://github.com/llvm/llvm-project/commit/3dbfd13acd113c14d0cde5ccb9c77d9e2fec33fc
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/xor-with-zero-and-incompat.ll
Log Message:
-----------
[SLP][NFC]Add a test with the incorrect xor to and transformation
Commit: 3e93d9aeed17636e1b074e70419dc6f6fa819222
https://github.com/llvm/llvm-project/commit/3e93d9aeed17636e1b074e70419dc6f6fa819222
Author: Amina Chabane <amina.chabane at arm.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
R llvm/test/tools/llvm-mca/AArch64/mcpu-help.test
M llvm/tools/llvm-mca/llvm-mca.cpp
Log Message:
-----------
Revert -mcpu fix (#174093)
Reverts #173399 and #174004.
#173399 moved MemoryBuffer::getFileOrSTDIN below the -mcpu validation to
fix the `-mcpu=help` flag , but on cross builds the first CPU is
rejected before the “file not found” diagnostic is printed. This failed
lit tests. #174004 introduced a host CPU fallback to fix the cross
compilation issue, but this still fails on NVPTX builders.
This can be revisited when a fix is found that works with the NVPTX
builders.
Commit: a53dbe29d74dcab17078f9699e4a8c9f02ece0c3
https://github.com/llvm/llvm-project/commit/a53dbe29d74dcab17078f9699e4a8c9f02ece0c3
Author: kdmitry1 <21355508+kdmitry1 at users.noreply.github.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/canonicalize.mlir
Log Message:
-----------
[mlir] Fold memref.cast static-to-dynamic to memref.expand_shape (#170037)
memref.expand_shape didn't have memref.cast op folder. Added
canonicalization pattern to allow folding of memref.cast from static to
dynamic.
Example:
```mlir
%0 = memref.cast %arg0 : memref<8x4xf32> to memref<?x4xf32>
%c0 = arith.constant 0 : index
%dim0 = memref.dim %0, %c0 : memref<?x4xf32>
%1 = memref.expand_shape %0 [[0, 1], [2]] output_shape [%dim0, 1, 4] : memref<?x4xf32> into memref<?x1x4xf32>
```
is converted to:
```mlir
%expand_shape = memref.expand_shape %arg0 [[0, 1], [2]] output_shape [8, 1, 4] : memref<8x4xf32> into memref<8x1x4xf32>
%cast = memref.cast %expand_shape : memref<8x1x4xf32> to memref<?x1x4xf32>
```
Commit: 2541b1870e7c90236b4010eec9a020c048f8beea
https://github.com/llvm/llvm-project/commit/2541b1870e7c90236b4010eec9a020c048f8beea
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/xor-with-zero-and-incompat.ll
Log Message:
-----------
[SLP]Mark and incompatible for 'xor %a, 0' operations
Xor with 0 is incompatible with and, which resulst in all zero instead
of %a
https://alive2.llvm.org/ce/z/oEVETS
Fixes #174041
Commit: 775251a8074ca9f7e924a2705c9d407437e9df5b
https://github.com/llvm/llvm-project/commit/775251a8074ca9f7e924a2705c9d407437e9df5b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/test/TableGen/dag-isel-regclass-emit-enum.td
M llvm/test/TableGen/dag-isel-subregs.td
M llvm/utils/TableGen/Common/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
Log Message:
-----------
[SelectionDAG] Remove OPC_EmitStringInteger from isel. (#173936)
Instead emit this as an OPC_EmitInteger, but print the string
when the value is known to be 0..63 (when we don't need a VBR).
Also print the string into a comment when comments are not omitted
so it isn't lost when a VBR is needed.
Commit: 3eef4f52c405ccdd83069d3156b48c0371f4657f
https://github.com/llvm/llvm-project/commit/3eef4f52c405ccdd83069d3156b48c0371f4657f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
Log Message:
-----------
[TableGen] Remove unused pattern rewriting functionality from CodeGenDAGPatterns. NFC (#174032)
This was originally added for GlobalISel and has been unused since
f84bc3793e9d1ba170a35b1909dd1057b63c2f15, 7.5 years ago.
Commit: 23bf786e6870c6a042b02e668e8f81f1be88ab62
https://github.com/llvm/llvm-project/commit/23bf786e6870c6a042b02e668e8f81f1be88ab62
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M flang/test/Driver/pass-plugin-not-found.f90
M flang/test/Driver/pass-plugin.f90
M flang/test/Driver/plugin-invalid-name.f90
M flang/test/Examples/feature-list-class.f90
M flang/test/Examples/feature-list-functions.f90
M flang/test/Examples/omp-atomic.f90
M flang/test/Examples/omp-declarative-directive.f90
M flang/test/Examples/omp-device-constructs.f90
M flang/test/Examples/omp-in-reduction-clause.f90
M flang/test/Examples/omp-nowait.f90
M flang/test/Examples/omp-order-clause.f90
M flang/test/Examples/omp-sections.f90
M flang/test/Examples/print-fns-calls.f90
M flang/test/Examples/print-fns-definitions.f90
M flang/test/Examples/print-fns-interfaces.f90
Log Message:
-----------
[flang] Remove REQUIRES: shell lines form tests (#173339)
The shell feature only implies that we are not running on Windows now
that the internal shell feature is available everywhere. Replace it with
UNSUPPORTED: system-windows on non-portable tests so we can eventually
get rid of the feature.
Commit: f0408c72ec35b55d76a2fc94002430da9e3ab2a9
https://github.com/llvm/llvm-project/commit/f0408c72ec35b55d76a2fc94002430da9e3ab2a9
Author: Mend Renovate <bot at renovateapp.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M .github/actions/build-container/action.yml
M .github/actions/push-container/action.yml
M .github/workflows/build-ci-container-windows.yml
M .github/workflows/ci-post-commit-analyzer.yml
M .github/workflows/commit-access-review.yml
M .github/workflows/docs.yml
M .github/workflows/email-check.yaml
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/libcxx-build-containers.yml
M .github/workflows/llvm-abi-tests.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/pr-code-lint.yml
M .github/workflows/premerge.yaml
M .github/workflows/release-binaries.yml
M .github/workflows/release-documentation.yml
M .github/workflows/release-sources.yml
M .github/workflows/scorecard.yml
M .github/workflows/test-unprivileged-download-artifact.yml
M .github/workflows/upload-release-artifact/action.yml
Log Message:
-----------
[Github] Update GitHub Artifact Actions (major) (#173805)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
|
[actions/download-artifact](https://redirect.github.com/actions/download-artifact)
| action | major | `v6.0.0` → `v7.0.0` |
|
[actions/upload-artifact](https://redirect.github.com/actions/upload-artifact)
| action | major | `v5.0.0` → `v6.0.0` |
|
[actions/upload-artifact](https://redirect.github.com/actions/upload-artifact)
| action | major | `5.0.0` → `6.0.0` |
Commit: fe0f366f6ea0bd2a9bac7c88677dd862bbe52966
https://github.com/llvm/llvm-project/commit/fe0f366f6ea0bd2a9bac7c88677dd862bbe52966
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
M flang/test/Transforms/do_concurrent-to-do_loop-unodered.fir
Log Message:
-----------
[flang] Fixed hoisting order in fir.do_concurrent simplification. (#174044)
The order has to be fixed after #173502. This results in
reversing the order of `fir.alloca`, but that should be
insignificant.
Commit: cb6c195de75a7a532129173df44a0ee8dda00a62
https://github.com/llvm/llvm-project/commit/cb6c195de75a7a532129173df44a0ee8dda00a62
Author: neildhar <neildhar at users.noreply.github.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M mlir/lib/Pass/PassCrashRecovery.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
M mlir/test/Pass/crashless-reproducer.mlir
Log Message:
-----------
[mlir][Pass] Fix textual pipeline specification when generating a crashless reproducer (#173750)
Crashless reproducers currently emit an extra anchor op in the pipeline
they print out, because one gets added by `appendReproducer`. Fix this
by always adding the anchor op in the caller of `appendReproducer`.
In addition, `mlir-opt` always uses `any` as the anchor op, instead of
getting the anchor op from the `PassManager`, fix that as well so we can
test that the pipeline is reproduced as it was passed in.
Commit: 1415e2bf70f5a9ee5868c777ed4d1bc42660c6fe
https://github.com/llvm/llvm-project/commit/1415e2bf70f5a9ee5868c777ed4d1bc42660c6fe
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/utils/TableGen/Common/DAGISelMatcher.cpp
M llvm/utils/TableGen/Common/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
Log Message:
-----------
[TableGen] Merge EmitIntegerMatcher and EmitStringIntegerMatcher. NFC (#173940)
Allow an EmitIntegerMatcher to have an optional string value to make
it equivalent to EmitStringIntegerMatcher.
Commit: 818814d89b36094924e624cee485b0f853f9f707
https://github.com/llvm/llvm-project/commit/818814d89b36094924e624cee485b0f853f9f707
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/lib/Target/X86/X86PassRegistry.def
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/test/CodeGen/X86/apx/flags-copy-lowering.mir
M llvm/test/CodeGen/X86/flags-copy-lowering.mir
M llvm/test/CodeGen/X86/pr51903.mir
Log Message:
-----------
[X86][NewPM] Port X86FlagsCopyLowering to NPM
As the title says. Take a couple of existing tests that run solely this
pass and use them for test coverage.
Reviewers: topperc, RKSimon, arsenm, phoebewang, paperchalice, aengelke
Pull Request: https://github.com/llvm/llvm-project/pull/173752
Commit: 93248b53276e24a9c9fd1b6db896e1c66804f0d8
https://github.com/llvm/llvm-project/commit/93248b53276e24a9c9fd1b6db896e1c66804f0d8
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M flang/include/flang/Runtime/freestanding-tools.h
Log Message:
-----------
[flang] Unify return value of memcpy and memmove (#174048)
memcpy and memmove functions are not all returning a void*. Unify this
so it doesn't make other errors like in #172568
Commit: e6206d567b1d2d324d26465547348fd8a59e2f4e
https://github.com/llvm/llvm-project/commit/e6206d567b1d2d324d26465547348fd8a59e2f4e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86FixupLEAs.cpp
M llvm/lib/Target/X86/X86PassRegistry.def
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/test/CodeGen/X86/lea-fixup-blockaddress.mir
M llvm/test/CodeGen/X86/leaFixup32.mir
M llvm/test/CodeGen/X86/leaFixup64.mir
M llvm/test/DebugInfo/MIR/InstrRef/x86-lea-fixup-2.mir
M llvm/test/DebugInfo/MIR/InstrRef/x86-lea-fixup.mir
Log Message:
-----------
[X86][NewPM] Port X86FixupLEAs to NPM
This patch ports X86FixupLEAs to the new pass manager and adds some test
coverage.
Reviewers: paperchalice, arsenm, RKSimon, phoebewang
Pull Request: https://github.com/llvm/llvm-project/pull/173744
Commit: b05b86b3a0d1271cf236d8b7113e29c40c9e2585
https://github.com/llvm/llvm-project/commit/b05b86b3a0d1271cf236d8b7113e29c40c9e2585
Author: Mend Renovate <bot at renovateapp.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M .github/workflows/docs.yml
M .github/workflows/gha-codeql.yml
M .github/workflows/hlsl-test-all.yaml
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/llvm-abi-tests.yml
M .github/workflows/new-issues.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/pr-code-lint.yml
M .github/workflows/scorecard.yml
M .github/workflows/upload-release-artifact/action.yml
Log Message:
-----------
[Github] Update GHA Dependencies (#173804)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
|
[EnricoMi/publish-unit-test-result-action](https://redirect.github.com/EnricoMi/publish-unit-test-result-action)
| action | minor | `v2.21.0` → `v2.22.0` |
|
[actions/attest-build-provenance](https://redirect.github.com/actions/attest-build-provenance)
| action | minor | `v3.0.0` → `v3.1.0` |
| ghcr.io/llvm/ci-ubuntu-24.04-abi-tests | container | digest |
`9138b6a` → `ef869c1` |
|
[github/codeql-action](https://redirect.github.com/github/codeql-action)
| action | patch | `v4.31.6` → `v4.31.9` |
| llvm/actions | action | digest | `5dd9550` → `89a8cf8` |
|
[tj-actions/changed-files](https://redirect.github.com/tj-actions/changed-files)
| action | patch | `v47.0.0` → `v47.0.1` |
Commit: 9553f119b051c5d7e6cd05729a057e6799cbd1ce
https://github.com/llvm/llvm-project/commit/9553f119b051c5d7e6cd05729a057e6799cbd1ce
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M compiler-rt/test/lit.common.cfg.py
M llvm/utils/lit/lit/llvm/config.py
Log Message:
-----------
[lit] Drop shell feature from all upstream projects (#173341)
Now that no tests actually use the shell feature to conditionally run,
drop the feature altogether to prevent backslide.
Commit: a0dfe4503654ad8e6c83f197ae3f73c81b271110
https://github.com/llvm/llvm-project/commit/a0dfe4503654ad8e6c83f197ae3f73c81b271110
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/derived.h
M flang-rt/include/flang-rt/runtime/work-queue.h
M flang-rt/lib/cuda/allocatable.cpp
M flang-rt/lib/cuda/memmove-function.cpp
M flang-rt/lib/cuda/pointer.cpp
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/memmove-function.h
M flang/include/flang/Runtime/CUDA/pointer.h
M flang/include/flang/Runtime/allocatable.h
M flang/include/flang/Runtime/freestanding-tools.h
M flang/include/flang/Runtime/pointer.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFAllocationConversion.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
R flang/test/Lower/CUDA/TODO/cuda-allocate-default-init.cuf
M flang/test/Lower/Intrinsics/c_loc.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/assign-statement.f90
M flang/test/Lower/nullify-polymorphic.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/volatile-allocatable.f90
M flang/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
Reland "[flang][cuda] Add support for derived-type initialization on device #172568" (#174107)
The build bots failure have been address in #174048
Commit: 5fc77c166639afbc980c9ad19a7486af7b7604b8
https://github.com/llvm/llvm-project/commit/5fc77c166639afbc980c9ad19a7486af7b7604b8
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Parser/tools.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Evaluate/tools.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Semantics/check-allocate.cpp
M flang/lib/Semantics/check-omp-atomic.cpp
M flang/lib/Semantics/definable.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/test/Driver/disable-diagnostic.f90
M flang/test/Semantics/OpenMP/copying.f90
M flang/test/Semantics/bindings03.f90
M flang/test/Semantics/kinds05b.f90
M flang/test/Semantics/long-name.f90
A flang/test/Semantics/unused.f90
Log Message:
-----------
[flang] Add new warnings for unused & undefined locals (#173504)
Add a requested warning for completely unused local variables. The
implementation runs a scan over typed expressions during the existing
expression semantics pass to detect variable uses, and a routine at the
end of semantics to take a pass over the symbol tables to find unused
locals.
The new infrastructure needed to detect variable uses, and the existing
infrastructure that detects potential variable definitions, then makes
it easy to detect variables that are used without any possible
initialization or definition, so I did that too.
The warning for unused locals is off by default -- they might indicate a
misspelling (that IMPLICIT NONE would have caught), but seem otherwise
generally benign. The warning for uses of completely uninitialized and
undefined variables, however, is enabled by default, since that's likely
to indicate a program bug that should be investigated.
This patch touches a lot of files lightly. Many of these files are tests
that would have produced needless warning noise; one new test was added.
Fixes https://github.com/llvm/llvm-project/issues/173276.
Commit: 061d52ba440bb4bd345316a173b8ca968c8c2c49
https://github.com/llvm/llvm-project/commit/061d52ba440bb4bd345316a173b8ca968c8c2c49
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/entry01.f90
Log Message:
-----------
[flang] No ENTRY in interfaces (#173577)
The ISO Fortran standard syntactically allows an ENTRY statement in an
interface body, but doesn't define what it would mean, and no other
compiler accepts it.
Fixes https://github.com/llvm/llvm-project/issues/173523.
Commit: 2631303610c5b70db4bf4df414538bdcd69cd1bc
https://github.com/llvm/llvm-project/commit/2631303610c5b70db4bf4df414538bdcd69cd1bc
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M flang/lib/Semantics/runtime-type-info.cpp
A flang/test/Lower/bug173766.f90
Log Message:
-----------
[flang] Fix crash in defined I/O table creation (#173783)
The code that handles non-type-bound defined I/O for sequence types
didn't allow for the type to be shadowed in its scope by a homonymous
generic procedure interface.
Fixes https://github.com/llvm/llvm-project/issues/173766.
Commit: 1a60e53b2d6200ec8ea728fb638f502da93ad304
https://github.com/llvm/llvm-project/commit/1a60e53b2d6200ec8ea728fb638f502da93ad304
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/bug173593.f90
Log Message:
-----------
[flang] Catch misuse of assumed-rank dummy argument (#173786)
Assumed-rank dummy arguments can't be parenthesized.
Fixes https://github.com/llvm/llvm-project/issues/173593.
Commit: 16ecf40aea105c3cf908b9653d6556e31bbc480a
https://github.com/llvm/llvm-project/commit/16ecf40aea105c3cf908b9653d6556e31bbc480a
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M flang/include/flang/Parser/parse-state.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/IO.cpp
M flang/lib/Parser/basic-parsers.h
M flang/lib/Parser/io-parsers.cpp
M flang/lib/Parser/unparse.cpp
A flang/test/Parser/bug173522.f90
Log Message:
-----------
[flang] Improve parser error recovery (#173803)
A bad I/O control specification ("NML=123" in this case) triggers an
assertion when parsing fails but emits no error message. The message was
lost when combining failed alternative parse states. Make
CombineFailedParses() take more care to not discard messages; then also
strengthen I/O control specification error recovery so that the original
test case doesn't just elicit a confusing complaint about a missing
expected "*" at the site of the "NML" keyword.
Fixes https://github.com/llvm/llvm-project/issues/173522.
Commit: 55e0b928b5f48678f742ea9a026774e41b484f13
https://github.com/llvm/llvm-project/commit/55e0b928b5f48678f742ea9a026774e41b484f13
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/deleted-instructions-clear.ll
Log Message:
-----------
[SLP]Consider deleted/gathered nodes, when deciding to erase extractelement
If any user of the extractelement instruction is part of the node to be
deleted/gathered, such extractelements instructions should not be
considered for deletion.
Fixes #174020
Commit: 1c1310d02231eff75c96203eefe9145e5cabdd20
https://github.com/llvm/llvm-project/commit/1c1310d02231eff75c96203eefe9145e5cabdd20
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[SelectionDAG] Use a simpler version of decodeSLEB128 in GetSignedVBR to improve compile time. NFC
This reduces a compile time regression after 7f780046e2 seen here
https://llvm-compile-time-tracker.com/compare.php?from=01e75e2eafcea00c448e289154d8adeecc1c6c3a&to=7f780046e2ae79218dd6abc2d008c1a9eeddedc7&stat=instructions:u
decodeSLEB128 has some code to check for errors that we don't need.
Writing a simpler version seems to recover most of the regression.
Commit: 420437e33fbdd361f4b8bd4cbaac5cc8787a3eed
https://github.com/llvm/llvm-project/commit/420437e33fbdd361f4b8bd4cbaac5cc8787a3eed
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Parser/message.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Parser/message.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Support/Fortran-features.cpp
A flang/test/Semantics/bug171844.f90
Log Message:
-----------
[flang] Emit warnings, not errors, for bad subscripts in dead code (#174040)
When semantics is checking expressions in known dead branches of IF
constructs, errors should not be fatal; emit warnings instead, and allow
them to be disabled.
Fixes https://github.com/llvm/llvm-project/issues/171844.
Commit: 02bf27080d5076adbd87d3e3b5d3fd0a7eb886a8
https://github.com/llvm/llvm-project/commit/02bf27080d5076adbd87d3e3b5d3fd0a7eb886a8
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRVPass.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
A mlir/test/Conversion/SCFToSPIRV/func-signature.mlir
Log Message:
-----------
[mlir][spirv] Allow unrealized casts in scf-to-spirv (#174111)
This is required for signature conversion to work.
Fixes: https://github.com/llvm/llvm-project/issues/173564
Commit: 7cd93cbe1f770b3f977dbb57a75dcf7fed62d877
https://github.com/llvm/llvm-project/commit/7cd93cbe1f770b3f977dbb57a75dcf7fed62d877
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
A mlir/test/Dialect/SPIRV/IR/return-ops.mlir
Log Message:
-----------
[mlir][spirv] Mark `spirv.ReturnValue` as `ReturnLike` (#174114)
This makes the dead value analysis consider it live.
Fixes: https://github.com/llvm/llvm-project/issues/173563
Commit: 9f0d5cd0c2280a3bf9237c6ad8f7fe17be36e7e6
https://github.com/llvm/llvm-project/commit/9f0d5cd0c2280a3bf9237c6ad8f7fe17be36e7e6
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/lib/Dialect/SPIRV/IR/AtomicOps.cpp
M mlir/lib/Dialect/SPIRV/IR/CastOps.cpp
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/SPIRV/IR/DotProductOps.cpp
M mlir/lib/Dialect/SPIRV/IR/GroupOps.cpp
M mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp
M mlir/lib/Dialect/SPIRV/IR/MemoryOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVAttributes.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOpDefinition.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVParsingUtils.h
M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
Log Message:
-----------
[mlir][spirv] Clean up casts. NFC. (#174115)
Drop the `llvm::` namespace prefix where needlessly used. These were
introduced by clang-tidy when we migrated from cast member functions to
free functions.
Commit: 27cf32dafdcf08095540d825a2c7ab9e43bdaa69
https://github.com/llvm/llvm-project/commit/27cf32dafdcf08095540d825a2c7ab9e43bdaa69
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/split-vectorize-gathered-def-after-use.ll
Log Message:
-----------
[SLP]Fix def-after-use crash for gathered split nodes
If the split node is marked as a gather node after non-profitable
analysis, need to exclude it from the list of split nodes and include
into the list of gather/buildvector nodes
Fixes report from https://github.com/llvm/llvm-project/pull/162018#issuecomment-3701928745
Commit: 0db04963d34be5867379ed47271730d456913e7e
https://github.com/llvm/llvm-project/commit/0db04963d34be5867379ed47271730d456913e7e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/test/Transforms/LoopVectorize/constantfolder.ll
Log Message:
-----------
[VPlan] Fix use-after-free when iterating over live-ins directly.
getLiveIns returns an iterator to members of a dense map. The loop may
create new live-ins, which can trigger re-allocation of the underlying
dense map, causing use-after-free accesses for the iterator.
Make sure we iterate over a copy of the live-ins to avoid
use-after-free.
Fixes https://github.com/llvm/llvm-project/issues/173222.
Commit: 6f0d05f7c96a6c5eff716ee820c49aed18e091ad
https://github.com/llvm/llvm-project/commit/6f0d05f7c96a6c5eff716ee820c49aed18e091ad
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-12-31 (Wed, 31 Dec 2025)
Changed paths:
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[TableGen] Remove space after comma EmitSignedVBRValue. NFC
This removes trailing whitespace from the final output.
Commit: c2c787c16f5d0b78decc46b963214283465b6342
https://github.com/llvm/llvm-project/commit/c2c787c16f5d0b78decc46b963214283465b6342
Author: Narayan <nsreekumar6 at gmail.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
A llvm/include/llvm/ABI/Types.h
A llvm/lib/ABI/CMakeLists.txt
A llvm/lib/ABI/Types.cpp
M llvm/lib/CMakeLists.txt
Log Message:
-----------
[LLVMABI] Implement the ABI Typesystem (#158329)
This PR implements the first part of the LLVM ABI lowering library,
proposed in [this
RFC](https://discourse.llvm.org/t/rfc-an-abi-lowering-library-for-llvm/84495).
It is split out of https://github.com/llvm/llvm-project/pull/140112,
which demonstrates how this is going to be used.
The ABI type system is intended to represent all the type information
that is necessary to make call lowering decisions. As such, it contains
less information than Clang QualTypes, but more information than LLVM IR
types. The current type system has enough information to implement the
x86_64 SysV ABI, but some extensions will likely be needed in the future
for other targets (e.g. unadjusted alignment).
The type system expects layout information (like size, offset and
alignment) to already be computed by the frontend.
The types are constructed using TypeBuilder, which uses a
BumpPtrAllocator. The types themselves are not uniqued -- instead we
cache the QualType -> ABI type translation (in future patches).
Commit: 1e8f1749aa2717c9370da02a86779c52b4a2af16
https://github.com/llvm/llvm-project/commit/1e8f1749aa2717c9370da02a86779c52b4a2af16
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck] Exclude test from e4722c6
This adds in a select that we should probably just mark with unknown
profdata. Exclude for now to get the bot back to green.
Commit: 14b1d770db7f9ee49693063ad851215dede0766e
https://github.com/llvm/llvm-project/commit/14b1d770db7f9ee49693063ad851215dede0766e
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/NVVMIntrinsicUtils.h
M llvm/lib/IR/NVVMIntrinsicUtils.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
A llvm/test/CodeGen/NVPTX/tensormap_replace.ll
A llvm/test/CodeGen/NVPTX/tensormap_replace_invalid.ll
A llvm/test/CodeGen/NVPTX/tensormap_replace_sm_100a.ll
A llvm/test/CodeGen/NVPTX/tensormap_replace_sm_103a.ll
Log Message:
-----------
[NVPTX] Add intrinsics and codegen for tensormap.replace (#172458)
This change adds NVVM intrinsics and NVPTX codegen for the
`tensormap.replace` PTX instructions.
Tests are added in `tensormap_replace.ll`,
`tensormap_replace_sm_100a.ll`,
and `tensormap_replace_sm_103a.ll` and tested through `ptxas-13.0`.
PTX Spec Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-tensormap-replace
Commit: d0076c9254af40efd42fba6e8d177714eaf4d7e2
https://github.com/llvm/llvm-project/commit/d0076c9254af40efd42fba6e8d177714eaf4d7e2
Author: Vikram Hegde <Vikram.Hegde at amd.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
[NPM] Update OptimizedRegAlloc and MachineLateOptimization pipelines (#172795)
1. add the StackSlotColoringPass to default pipeline
2. Introduce MachineLateInstrsCleanupPass at the beginning of
addMachineLateOptimization (matches the legacy default pipeline)
Commit: ebb1c27198bab15fc87ef1652f6dbc9b23b2754b
https://github.com/llvm/llvm-project/commit/ebb1c27198bab15fc87ef1652f6dbc9b23b2754b
Author: Akimasa Watanuki <mencotton0410 at gmail.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/python/mlir/dialects/linalg/opdsl/lang/emitter.py
M mlir/test/Dialect/Linalg/convolution/roundtrip-convolution.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/Linalg/named-ops-fail.mlir
M mlir/test/Dialect/Linalg/named-ops.mlir
M mlir/test/Dialect/Linalg/transform-op-decompose.mlir
M mlir/test/python/dialects/linalg/opdsl/emit_pooling.py
Log Message:
-----------
[mlir][linalg] Reject unsigned pooling on non-integer element types (#166070)
Fixes: #164800
Ensures unsigned pooling ops in Linalg stay in the integer domain: the
lowering now rejects floating/bool inputs with a clear diagnostic, new
regression tests lock in both the error path and a valid integer
example, and transform decompositions are updated to reflect the integer
typing.
Signed-off-by: Akimasa Watanuki <mencotton0410 at gmail.com>
Commit: e2e2c50bebc03d2e70eb1b33827cf6258496ed2c
https://github.com/llvm/llvm-project/commit/e2e2c50bebc03d2e70eb1b33827cf6258496ed2c
Author: Vikram Hegde <Vikram.Hegde at amd.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
[AMDGPU][NPM] Disable few non useful passes (#172796)
Matches the legacy pipeline
Commit: 92f16356340d230f04e67d9d7b8f3d91b9f0513b
https://github.com/llvm/llvm-project/commit/92f16356340d230f04e67d9d7b8f3d91b9f0513b
Author: Manthan Singla <manthan02426 at gmail.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/fuchsia/FuchsiaTidyModule.cpp
M clang-tools-extra/clang-tidy/google/CMakeLists.txt
M clang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp
R clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.cpp
R clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.h
A clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.cpp
A clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.h
M clang-tools-extra/clang-tidy/misc/CMakeLists.txt
M clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/dcl59-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/fuchsia/header-anon-namespaces.rst
M clang-tools-extra/docs/clang-tidy/checks/google/build-namespaces.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/misc/anonymous-namespace-in-header.rst
R clang-tools-extra/test/clang-tidy/checkers/google/namespaces.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/anonymous-namespace.h
A clang-tools-extra/test/clang-tidy/checkers/misc/anonymous-namespace-in-header.cpp
Log Message:
-----------
[clang-tidy] Rename google-build-namespaces to misc-anonymous-namespace-in-header (#173484)
This PR renames the check `google-build-namespaces` to
`misc-anonymous-namespace-in-header` and adds documentation on why
anonymous namespaces in headers are problematic.
Closes #170979
Commit: 33ddbfd37132ef64bd5e9a6db0eb7cbd9549a3d7
https://github.com/llvm/llvm-project/commit/33ddbfd37132ef64bd5e9a6db0eb7cbd9549a3d7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
Log Message:
-----------
InstCombine: Fix another wrong interested mask computeKnownFPClass call (#174135)
Follow up from c436551d5283a8fc00ae880a5b76660b6f08e37b, this is another
instance of the same problem.
Commit: 5ee82dffc633b41d4dbce03b795752dc69f13fd8
https://github.com/llvm/llvm-project/commit/5ee82dffc633b41d4dbce03b795752dc69f13fd8
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
A llvm/test/Transforms/LoopVectorize/X86/cast-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
Log Message:
-----------
[VPlan] Handle addrspacecast/ptrtoaddr in VPlan-based cost model.
Also handle missing PtrToAddrs and AddrSpaceCast in
getCostForRecipeWithOpcode.
This makes sure all cast opcodes are handled, fixing a crash on loops
replicating addrspacecast and ptrtoaddrs.
Commit: 0b24580a26644c8a44abc6fba97609552ba41d42
https://github.com/llvm/llvm-project/commit/0b24580a26644c8a44abc6fba97609552ba41d42
Author: Matthias Springer <me at m-sp.org>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.h
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
M mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferViewFlowAnalysis.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
Log Message:
-----------
[mlir][Interfaces][NFC] Add `RegionBranchOpInterface` helper for forwarded values (#173981)
Add a helper function to compute a mapping of successor operands to
successor inputs. This mapping is computed in various places. Also add a
helper function to gather all region branch points.
This commit is in preparation of a bug fix / partial redesign of
`-remove-dead-values`. This commit also removes some duplicate code in
various places.
Commit: 07adecfef4ad00726eda67fa2828771101487363
https://github.com/llvm/llvm-project/commit/07adecfef4ad00726eda67fa2828771101487363
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/optional
A libcxx/test/std/utilities/optional/optional.relops/relops.compile.pass.cpp
Log Message:
-----------
[libc++] Resolve LWG4370 (#174062)
Resolves #171364
- Implement [proposed resolution of LWG4370](https://wg21.link/LWG4370)
- Add corresponding compile test
Commit: 765b64bd801306ca8ee42f4304bfe4d856beae44
https://github.com/llvm/llvm-project/commit/765b64bd801306ca8ee42f4304bfe4d856beae44
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
Log Message:
-----------
[bazel] Port 92f16356340d230f04e67d9d7b8f3d91b9f0513b
Commit: 6561f39868b4a816f27e00642377b13d2dcbb287
https://github.com/llvm/llvm-project/commit/6561f39868b4a816f27e00642377b13d2dcbb287
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
Log Message:
-----------
InstCombine: Fix defining undef constant vector elts in SimplifyDemandedFPClass (#174074)
Fold constants of known single class to the original constant instead of
a new constant. This avoids overdefining vector elements that were
originally undefined with the splat constant.
Commit: c94ddeafc74765769f1afcdc63bf42828a51416a
https://github.com/llvm/llvm-project/commit/c94ddeafc74765769f1afcdc63bf42828a51416a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
A llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-insertelement.ll
Log Message:
-----------
InstCombine: Basic insertelement support for SimplifyDemandedFPClass (#174100)
Eventually this should pull up the known elements logic from
computeKnownFPClass.
Commit: 831bb12a30dbbbf69930c11846a7b62b33e0f0db
https://github.com/llvm/llvm-project/commit/831bb12a30dbbbf69930c11846a7b62b33e0f0db
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/PhaseOrdering/AArch64/scalarize-load-ext-extract.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr48223.ll
M llvm/test/Transforms/PhaseOrdering/X86/scalarization-inseltpoison.ll
M llvm/test/Transforms/PhaseOrdering/X86/scalarization.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reduced-value-repeated-and-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR39774.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-tracked-reduced-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-extracted-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/revec-reduced-value-vectorized-later.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-pair-path.ll
M llvm/test/Transforms/SLPVectorizer/operand-is-reduced-val.ll
M llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
Log Message:
-----------
[SLP] Support for copyables in the reduced values (#153589)
Currently reductions can handles only same/alternate instructions,
skipping potential support for copyables. Patch adds support for
copyables in the reduced values.
Commit: 1febc3f088ef444af378c0a90aaba2195c30472b
https://github.com/llvm/llvm-project/commit/1febc3f088ef444af378c0a90aaba2195c30472b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/PhaseOrdering/AArch64/scalarize-load-ext-extract.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr48223.ll
M llvm/test/Transforms/PhaseOrdering/X86/scalarization-inseltpoison.ll
M llvm/test/Transforms/PhaseOrdering/X86/scalarization.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reduced-value-repeated-and-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR39774.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-tracked-reduced-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-extracted-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/revec-reduced-value-vectorized-later.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-pair-path.ll
M llvm/test/Transforms/SLPVectorizer/operand-is-reduced-val.ll
M llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
Log Message:
-----------
Revert "[SLP] Support for copyables in the reduced values (#153589)"
This reverts commit 831bb12a30dbbbf69930c11846a7b62b33e0f0db to fix
buildbot https://lab.llvm.org/buildbot/#/builders/224/builds/1205
Commit: 025d74df70c59cc4861c920dfab783453ac5718b
https://github.com/llvm/llvm-project/commit/025d74df70c59cc4861c920dfab783453ac5718b
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M llvm/test/CodeGen/NVPTX/tensormap_replace_sm_103a.ll
Log Message:
-----------
[NVPTX] Add proper precondition in tensormap_replace_sm_103a test (#174144)
Fixes 14b1d770db7f9ee49693063ad851215dede0766e.
Commit: 410ec6d42bc451e12db99b89a1b5225c51e9f141
https://github.com/llvm/llvm-project/commit/410ec6d42bc451e12db99b89a1b5225c51e9f141
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M flang/lib/Support/Fortran-features.cpp
Log Message:
-----------
[flang] Disable new -Wused-undefined-variable warning by default (#174151)
The new warning about local variables that are used without possible
being defined or initialized may be generating some false positives;
disable it by default for now.
Commit: 72022abd90b4a293fca2b5dd5a160c0d0575b7b9
https://github.com/llvm/llvm-project/commit/72022abd90b4a293fca2b5dd5a160c0d0575b7b9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
A llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-shufflevector.ll
Log Message:
-----------
InstCombine: Rudimentary support of shufflevector in SimplifyDemandedFPClass (#174101)
This should look more like the computeKnownFPClass handling, with
knowledge of demanded vector elements.
Commit: dca074a1c71cd381400db7bf509663008ca6acb4
https://github.com/llvm/llvm-project/commit/dca074a1c71cd381400db7bf509663008ca6acb4
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGenBuiltins/builtin_bit.cpp
Log Message:
-----------
[CIR] Match codegen change on __builtin_clrsb expansion
- 0bc6491da0c827ce94bd8fa852422eaafe6c39e7 adds the `nuw` flag during
__builtin_clrsb expansion. Match that change in CIR.
Commit: 182d9a3cf03f1a7255573a5b7aa5a7064d01aeb7
https://github.com/llvm/llvm-project/commit/182d9a3cf03f1a7255573a5b7aa5a7064d01aeb7
Author: keinflue <keinflue at posteo.de>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/SemaRISCV.h
M clang/include/clang/Sema/SemaX86.h
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaX86.cpp
M clang/test/Sema/attr-target-clones.c
M clang/test/SemaCXX/attr-target-clones-riscv.cpp
Log Message:
-----------
[Clang] Use valid source loc for empty target_clones diagnostic (#173747)
For X86 and RISCV checking of target_clones attribute arguments
attempted to use the location of the first argument for diagnosing a
missing default argument.
However, if the argument list is empty, then this location doesn't exist
and causes an assertion.
This commit passes the location of the attribute itself to the
target-specific validation function in the case of X86 and RISCV in
order to provide a usable location for this diagnostic.
Fixes #173684
---
I am not sure whether this is intentional, but for AArch64 the
validation does not emit a diagnostic for missing `"default"` argument.
Therefore the issue did not appear there and I did not make any changes
to it. This is the only other target besides X86 and RISCV that supports
`target_clones`.
Commit: 2b432dc53f52ace2e59a3c66105035fd6d26dd78
https://github.com/llvm/llvm-project/commit/2b432dc53f52ace2e59a3c66105035fd6d26dd78
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M flang/include/flang/Parser/message.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Parser/message.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/bug171844.f90
Log Message:
-----------
[flang] Fix two bugs with new warnings (#174153)
The new Severity::ErrorUnlessDeadCode message severity isn't always
considered to be fatal. Consolidate the "is this severity fatal?" logic
into one place.
Some instances in semantics that note variable definitions were
conditional on the symbol being a function result, since only the
"function result was never defined" warning needed to know about them.
Make them note all defined symbols.
Commit: cd470dd817b56445c808058e3426ea550eb17f9a
https://github.com/llvm/llvm-project/commit/cd470dd817b56445c808058e3426ea550eb17f9a
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
Log Message:
-----------
[LV] Add test selecting negated IVs (NFC).
Extend test coverage for selecting inductions.
Commit: d1b88ca8d4c5d849ae93111ae9e24d88dad4b762
https://github.com/llvm/llvm-project/commit/d1b88ca8d4c5d849ae93111ae9e24d88dad4b762
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/tools/llvm-config/CMakeLists.txt
Log Message:
-----------
[CMake] Re-add -fno-rtti to llvm-config --cxxflags (#174084)
Fix for https://github.com/llvm/llvm-project/pull/173869.
If there's no strong reason, we should get rid of per-target RTTI later.
Commit: a0be4724a9b9eff70372fc8f3e024f3a21f876ab
https://github.com/llvm/llvm-project/commit/a0be4724a9b9eff70372fc8f3e024f3a21f876ab
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/PhaseOrdering/AArch64/scalarize-load-ext-extract.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr48223.ll
M llvm/test/Transforms/PhaseOrdering/X86/scalarization-inseltpoison.ll
M llvm/test/Transforms/PhaseOrdering/X86/scalarization.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reduced-value-repeated-and-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR39774.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-tracked-reduced-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-extracted-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/revec-reduced-value-vectorized-later.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-pair-path.ll
M llvm/test/Transforms/SLPVectorizer/operand-is-reduced-val.ll
M llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
Log Message:
-----------
[SLP] Support for copyables in the reduced values (#153589)
Currently reductions can handles only same/alternate instructions,
skipping potential support for copyables. Patch adds support for
copyables in the reduced values.
Recommit after revert in 1febc3f088ef444af378c0a90aaba2195c30472b
Commit: c163e7a72249cbc8105fbc5cc6a772e5dc90c94d
https://github.com/llvm/llvm-project/commit/c163e7a72249cbc8105fbc5cc6a772e5dc90c94d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-exp.ll
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[InstCombine] Explicitly mark select weights from e4722c6 as unknown (#174134)
We are trying to ensure that we explicitly annotate branch/select
weights as unknown when creating a select if we cannot reasonably infer
them to ensure branch weights are propagated as much as possible. (See
https://discourse.llvm.org/t/rfc-profile-information-propagation-unittesting/73595
for the original proposal).
e4772c6 introduced a new select that sometimes might be missing this
annotation. Mark the weights as unknown given we cannot reasonably infer
whether the value distribution here.
Commit: 62709a1111fdcbc4ae68a412f5dc42dd96a93c66
https://github.com/llvm/llvm-project/commit/62709a1111fdcbc4ae68a412f5dc42dd96a93c66
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/test/Dialect/GPU/canonicalize.mlir
Log Message:
-----------
[mlir][gpu] Fold `subgroup_broadcast(subgroup_broadcast(%val))` chains (#174159)
Commit: d3960db444eddb410dfcf61b900aedba38e6c5ad
https://github.com/llvm/llvm-project/commit/d3960db444eddb410dfcf61b900aedba38e6c5ad
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineSelect - pull out repeated getOperand() calls. NFC. (#174164)
Commit: be7edecb7abb9509328122159c8a053615c4ab34
https://github.com/llvm/llvm-project/commit/be7edecb7abb9509328122159c8a053615c4ab34
Author: Jianjian Guan <jacquesguan at me.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/rvv/vsetvli-intrinsics.ll
Log Message:
-----------
[RISCV][GISel] Support select vsetvli intrinsics (#174076)
Commit: 998e8f48655fac704d66c030f42dc57d072e98be
https://github.com/llvm/llvm-project/commit/998e8f48655fac704d66c030f42dc57d072e98be
Author: Friedrich Schöller <friedrich at users.noreply.github.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M mlir/lib/CAPI/IR/IR.cpp
Log Message:
-----------
[MLIR][CAPI] Fix duplicate output from mlirOperationPrintWithState (#174047)
Fixes an issue where, when supplied with an `MlirAsmState`,
`mlirOperationPrintWithState` prints the output twice, once with and
once without using the state.
Commit: 654b3e844f21d3f64521e9cb028efdfebbf99bb4
https://github.com/llvm/llvm-project/commit/654b3e844f21d3f64521e9cb028efdfebbf99bb4
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M mlir/include/mlir-c/Rewrite.h
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/lib/CAPI/Transforms/Rewrite.cpp
M mlir/test/CAPI/rewrite.c
M mlir/test/python/rewrite.py
Log Message:
-----------
[mlir][c] Enable creating and setting greedy rewrite confing. (#162429)
Done very mechanically.
This changes that one cannot just pass null config to C API for config.
Commit: dbc402513715b15deadd389045bcf066572b2f87
https://github.com/llvm/llvm-project/commit/dbc402513715b15deadd389045bcf066572b2f87
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
[AMDGPU][NewPM] Format llc-pipeline-npm.ll better (#174161)
This patch makes it so that we print the passes on separate lines which
makes it much easier to read the piepline and look at diffs with most
tooling.
Commit: 6055f87d20ce97700c665dfc993a3bf35ca51df6
https://github.com/llvm/llvm-project/commit/6055f87d20ce97700c665dfc993a3bf35ca51df6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-01 (Thu, 01 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86CallFrameOptimization.cpp
M llvm/lib/Target/X86/X86PassRegistry.def
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/test/CodeGen/X86/cf-opt-memops.mir
M llvm/test/CodeGen/X86/movtopush.mir
Log Message:
-----------
[X86][NewPM] Port x86-cf-opt to the New Pass Manager (#174168)
Refactors the pass, adds a NewPM wrapper, and adds test coverage,
similar to previous pass portings.
Commit: ab56c9bfbc6832f66abe13417b5804c5f1b1a02d
https://github.com/llvm/llvm-project/commit/ab56c9bfbc6832f66abe13417b5804c5f1b1a02d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/test/AST/ByteCode/builtin-constant-p.cpp
Log Message:
-----------
[clang][bytecode] Check isActive() in EvalEmitter::speculate() (#174183)
If this opcode is being jumped-over, we have to ignore it.
Fixes #172191
Commit: ed6698e28ccb266d6a9079d39f6c042aab80379f
https://github.com/llvm/llvm-project/commit/ed6698e28ccb266d6a9079d39f6c042aab80379f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtins.c
Log Message:
-----------
[clang][bytecode] Check builtin_memcpy() for non-block pointers (#174184)
This pretty hard to produce in C++ but easy in C.
Fixes #171609
Commit: 3c844212f2326b030608722978db4459cd60e041
https://github.com/llvm/llvm-project/commit/3c844212f2326b030608722978db4459cd60e041
Author: David Green <david.green at arm.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-rotr-rotl.mir
M llvm/test/CodeGen/AArch64/fsh.ll
M llvm/test/CodeGen/AArch64/rax1.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-rotl-rotr.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rotate-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rotate-rv64.mir
Log Message:
-----------
[AArch64][GlobalISel] Add disjoint to the G_OR when lowering G_ROTR/L (#172317)
It looks like this is already handled for funnel shifts, we can do the
same for the or created when lowering G_ROTR and G_ROTL. This allows
some more add-like-ors to match.
Commit: 0394ad1bfab2e15d2b687167a6da9c1b32112d04
https://github.com/llvm/llvm-project/commit/0394ad1bfab2e15d2b687167a6da9c1b32112d04
Author: lonely eagle <2020382038 at qq.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M mlir/include/mlir/Analysis/DataFlow/LivenessAnalysis.h
M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
M mlir/lib/Analysis/DataFlow/LivenessAnalysis.cpp
M mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/test/Analysis/DataFlow/test-liveness-analysis.mlir
M mlir/test/Transforms/remove-dead-values.mlir
M mlir/test/lib/Analysis/DataFlow/TestSparseBackwardDataFlowAnalysis.cpp
Log Message:
-----------
[mlir][dataflow] Add new visitNonControlFlowArgumentst API to SparseBackwardDataFlowAnalysis and apply it in LivenessAnalysis/RemoveDeadValues (#169816)
Add visitNonControlFlowArgumentst API to SparseBackwardDataFlowAnalysis,
current SparseBackwardDataflowAnalysis cannot access all SSA values,
such as, the loop's IV. Now we can use visitNonControlFlowArgumentst to
visit it. Apply it in LivenessAnalysis/RemoveDeadValues, solved the
issue of IV liveness in the loop.
https://discourse.llvm.org/t/rfc-add-visitbranchregionargument-interface-to-sparsedataflowanalysis/89061
Commit: db9549c4c0af41c990783a76f8a841d1499022e1
https://github.com/llvm/llvm-project/commit/db9549c4c0af41c990783a76f8a841d1499022e1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Check builtin_memchr() for one-past-end pointers (#174187)
We can't read from them and this fails later.
Fixes https://github.com/llvm/llvm-project/issues/173942
Commit: 14c98bc5a2c1d0b05a3cc27cf40c9c2a89503893
https://github.com/llvm/llvm-project/commit/14c98bc5a2c1d0b05a3cc27cf40c9c2a89503893
Author: Peter Waller <peter.waller at arm.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
A llvm/test/Transforms/PGOProfile/chr-unknown-profdata-crash.ll
Log Message:
-----------
[CHR] Fix crash when marking merged condition unknown (#173902)
CHR builds the merged hot-path predicate with
IRBuilder::CreateLogicalAnd. That helper is implemented as a select and
can constant-fold to a non- Instruction (e.g. i1 true). The pass then
attempted to mark the merged condition as having explicitly unknown
branch weights when profile data is present, but it unconditionally did
cast<Instruction>(MergedCondition), which can crash in release builds.
Guard the metadata update with dyn_cast<Instruction> and pass the
containing Function explicitly to avoid calling Instruction::getFunction
when the value is not attached yet.
Add a regression test that exercises the constant-folding case.
Crashing stack:
```
2. Running pass "chr" on function "repro_crash"
#0 0x0000000003be00a4 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (bin/opt+0x3be00a4)
#1 0x0000000003bdd9e8 llvm::sys::RunSignalHandlers() (bin/opt+0x3bdd9e8)
#2 0x0000000003be1300 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
#3 0x0000ffffa8e1d840 (linux-vdso.so.1+0x840)
#4 0x0000000003c815e0 llvm::Instruction::getFunction() const (bin/opt+0x3c815e0)
#5 0x0000000003dcd35c llvm::setExplicitlyUnknownBranchWeightsIfProfiled(llvm::Instruction&, llvm::StringRef, llvm::Function const*) (bin/opt+0x3dcd35c)
#6 0x0000000004fb3670 (anonymous namespace)::CHR::addToMergedCondition(bool, llvm::Value*, llvm::Instruction*, (anonymous namespace)::CHRScope*, llvm::IRBuilder<llvm::ConstantFolder, llvm::IRBuilderDefaultInserter>&, llvm::Value*&) ControlHeightReduction.cpp:0:0
#7 0x0000000004fa7d88 (anonymous namespace)::CHR::run() ControlHeightReduction.cpp:0:0
#8 0x0000000004fa3618 llvm::ControlHeightReductionPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (bin/opt+0x4fa3618)
```
Tests: opt <
llvm/test/Transforms/PGOProfile/chr-unknown-profdata-crash.ll
-passes='require<profile-summary>,function(chr)' -force-chr
-chr-merge-threshold=1 -disable-output
Commit: 2b903df797f858ed5626bbb5aebd92872322298f
https://github.com/llvm/llvm-project/commit/2b903df797f858ed5626bbb5aebd92872322298f
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[CMake] Fix variable name mistake
Fixup of d1b88ca8d4c5d849ae93111ae9e24d88dad4b762, was an overly eager
find-replace..
Commit: 508e3cb7e75654a4ea0f4aaed2afa78b5b865342
https://github.com/llvm/llvm-project/commit/508e3cb7e75654a4ea0f4aaed2afa78b5b865342
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/cxx03.cpp
Log Message:
-----------
[clang][bytecode] Check for null Record (#174193)
This is an error case that results in a null Record, so don't crash
later in that case.
Fixes #173941
Commit: da5845d0330eee8c2ef5a0f14476d4c2f82492d9
https://github.com/llvm/llvm-project/commit/da5845d0330eee8c2ef5a0f14476d4c2f82492d9
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtins.c
Log Message:
-----------
[clang][bytecode] Check builtin_memchr for non-block pointers earlier (#174192)
The getType() call might fail. We can't pull the isReadable() check up
though because that creates different diagnostic output compared to the
current interpreter.
Fixes #172202
Commit: af806885d176480c31e13086a88fbddc87a45c6f
https://github.com/llvm/llvm-project/commit/af806885d176480c31e13086a88fbddc87a45c6f
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/test/CodeGen/NVPTX/tensormap_replace.ll
M llvm/test/CodeGen/NVPTX/tensormap_replace_sm_100a.ll
Log Message:
-----------
[NVPTX] Add missing preconditions to tensormap replace tests (#174190)
This change adds preconditions for the ISA and SM versions to the
`ptxas` RUN lines for the tests added in
14b1d770db7f9ee49693063ad851215dede0766e which were accidentally
omitted.
Commit: 420da86a443e020b6e454518783f08268b0d4dce
https://github.com/llvm/llvm-project/commit/420da86a443e020b6e454518783f08268b0d4dce
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M clang/test/AST/ByteCode/cxx03.cpp
Log Message:
-----------
[clang][bytecode] Disable test on 32 bit systems
The array we create is too big for those.
See https://lab.llvm.org/buildbot/#/builders/154/builds/25860
Commit: c646d1bd7dbde5151faec239dcd9530a94b5d7f6
https://github.com/llvm/llvm-project/commit/c646d1bd7dbde5151faec239dcd9530a94b5d7f6
Author: Krish Gupta <krishom70 at gmail.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[MLIR][OpenMP] Fix type mismatch in linear clause for INTEGER(8) variables (#173982)
Fixes #173332
The compiler was crashing when compiling OpenMP `parallel do simd` with
a `linear` clause on `INTEGER(8)` variables. The assertion failure
occurred during MLIR-to-LLVM translation:
Cannot create binary operator with two operands of differing type!
**Root Cause:**
The bug was in `LinearClauseProcessor::updateLinearVar()` where the step
value (i32) and induction variable were multiplied without normalizing
to the linear variable's type (i64), causing type mismatches in LLVM IR
generation.
**Solution:**
Updated the translation logic to cast both the induction variable and
step value to `linearVarTypes[index]` before performing arithmetic
operations. This ensures type consistency for both integer and
floating-point linear variables.
**Testing:**
- Added integration test verifying successful compilation to LLVM IR
- Added lowering test for MLIR generation with various linear clause
forms
- Verified the exact reproducer from the issue now compiles without
errors
Commit: cf9b3bbb0986ebd1898dc5e6c5d56de1fc7a98a8
https://github.com/llvm/llvm-project/commit/cf9b3bbb0986ebd1898dc5e6c5d56de1fc7a98a8
Author: Matthias Springer <me at m-sp.org>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M mlir/include/mlir/IR/PatternMatch.h
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/Transforms/RemoveDeadValues.cpp
Log Message:
-----------
[mlir][IR][NFC] Add `RewriterBase::eraseOpResults` convenience helper (#174152)
There are various places in the code base where op results are removed.
E.g., some canonicalization patterns remove op results. This commit adds
a new helper function to `RewriterBase` to reduce code duplication and
simplify patterns. The existing implementation from
`RemoveDeadValues.cpp` is moved into the rewriter API.
There is now a uniform API for removing operands and values:
* `Block::eraseArguments(BitVector)`
* `Operation::eraseOperands(BitVector)`
* NEW: `RewriterBase::eraseOpResults(Operation *, BitVector)`
This commit is preparation of adding new canonicalizations for
region-based ops, which will add yet another place where op results must
be erased.
Commit: 6d01058d9ebc85c95b5c37bd8b3535a9da390eaa
https://github.com/llvm/llvm-project/commit/6d01058d9ebc85c95b5c37bd8b3535a9da390eaa
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/ctlo.ll
M llvm/test/CodeGen/AArch64/logical-op-with-not.ll
Log Message:
-----------
[AArch64] Combine (not (shift X, C)) into MVN (#174180)
Closes #119921
Commit: fc9e6e13fd4bb7365e4b9659c08c3440688217ce
https://github.com/llvm/llvm-project/commit/fc9e6e13fd4bb7365e4b9659c08c3440688217ce
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Lower/PFTBuilder.h
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Semantics/scope.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/ParserActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Lower/debug-use-stmt.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang] Represent use statement in fir. (#168106)
We have a longstanding issue in debug info that use statement is not
fully respected. The problem has been described in
https://github.com/llvm/llvm-project/issues/160923. This is first part
of the effort to address this issue. This PR adds infrastructure to emit
`use` statement information in FIR, which will be used by subsequent
patches to generate DWARF debug information.
The information about use statement is collected during semantic
analysis and stored in `PreservedUseStmt` objects. During lowering,
`fir.use_stmt` operations are emitted for each `PreservedUseStmt`
object. The `fir.use_stmt` operation captures the module name, `only`
list symbols, and any renames specified in the use statement. The
`fir.use_stmt` is removed during `CodeGen`.
Commit: adea4d56ff5ed15a3e4d73812efc9645ac5b5e77
https://github.com/llvm/llvm-project/commit/adea4d56ff5ed15a3e4d73812efc9645ac5b5e77
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
Log Message:
-----------
[CodeGen] Add assertion to MachineBasicBlock::addLiveIn and friends (#140527)
Assert that the MCRegister passed into addLiveIn, removeLiveIn, isLiveIn
and computeRegisterLiveness is physical.
Commit: 56686315f28d7386f01ddefae45849bb80b78b5c
https://github.com/llvm/llvm-project/commit/56686315f28d7386f01ddefae45849bb80b78b5c
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/include/llvm/ADT/TypeSwitch.h
M llvm/unittests/ADT/TypeSwitchTest.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMIRToLLVMTranslation.cpp
Log Message:
-----------
[ADT] Allow `TypeSwitch::Default` for `FailureOr<T>` (#174119)
Support specifying the default value without having to write a lambda,
e.g.: `.Default(failure());`.
Commit: 2b25e92948403c15d1adf07daa09defcd0b38caf
https://github.com/llvm/llvm-project/commit/2b25e92948403c15d1adf07daa09defcd0b38caf
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M libunwind/src/AddressSpace.hpp
M libunwind/src/DwarfInstructions.hpp
M libunwind/src/DwarfParser.hpp
M libunwind/src/EHHeaderParser.hpp
M libunwind/src/Registers.hpp
M libunwind/src/UnwindCursor.hpp
Log Message:
-----------
[PAC][libunwind] Pass ptrauth-qualified values as const references (#173765)
For Apple's arm64e or Linux's pauthtest, `Registers_arm64::link_reg_t`
type is `__ptrauth`-qualified. When passing a value of such a type to a
function accepting non-`__ptrauth`-qualified parameter with `pint_t`
type, an authentication is performed. So, the corresponding callee
argument does not contain an embedded signature, making it prone to
substitution if spilled to the stack.
This patch prevents early authentication of signed values of
`link_reg_t` type by passing them as const l-value references instead of
passing by value with type `pint_t`. This way, the callee would operate
with a `__ptrauth`-qualified value containing a signature, allowing to
detect a substitution if the value is spilled to the stack.
Note that this approach was introduced previously in #143230 for some
other functions. In this patch, we apply the approach to the functions
which were not considered previously.
Commit: 3b85a631dfc3be28d70a0fc46b288f4a02e76a2d
https://github.com/llvm/llvm-project/commit/3b85a631dfc3be28d70a0fc46b288f4a02e76a2d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] scalarizeExtExtract - create bitmasks with APInt::getLowBitsSet to avoid UB (#174202)
If we're dealing with uint64 elements or larger, the existing `(1ull <<
SrcEltSizeInBits) - 1` mask can cause UB.
Fixes #174046
Commit: 33442ee4801248e72726d233c3bc806968bb298b
https://github.com/llvm/llvm-project/commit/33442ee4801248e72726d233c3bc806968bb298b
Author: David Green <david.green at arm.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/aarch64-isel-csinc.ll
M llvm/test/CodeGen/AArch64/arm64-csel.ll
Log Message:
-----------
[AArch64][GlobalISel] Add extra csel test coverage. NFC
Commit: 7de3fb53ceeb2d4fe681949c85ec30254d6d2845
https://github.com/llvm/llvm-project/commit/7de3fb53ceeb2d4fe681949c85ec30254d6d2845
Author: Matthias Springer <me at m-sp.org>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M mlir/lib/Transforms/RemoveDeadValues.cpp
Log Message:
-----------
[mlir][Transforms][NFC] `remove-dead-values`: Erase ops at the end (#174208)
`remove-dead-values` performs various cleanups:
1. Erasing block arguments
2. Erasing successor operands
3. Erasing operations
4. Erasing function arguments / results
5. Erasing operands
6. Erasing results
This commit moves Step 3 (erasing operations) to the end. While that
does not fix any bugs by itself, it is potentially safer. If an
operation is erased, we must be careful that the operation is not
accessed in the following steps. That can no longer happen if IR is
erased only in the final step and not before.
This commit is prefetching a change from #173505 (to keep that PR
shorter). With #173505, it will become necessary to erase IR in the
final step.
Commit: 6271978c7b4d75086c0fb3efed9f4c3958ff719c
https://github.com/llvm/llvm-project/commit/6271978c7b4d75086c0fb3efed9f4c3958ff719c
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/lib/TableGen/Main.cpp
Log Message:
-----------
[TableGen] Remove unused parameter Parser from WriteOutput. NFC. (#174210)
Commit: 8cf9691e4e7878e3337f1851ed92d4b4d24903b9
https://github.com/llvm/llvm-project/commit/8cf9691e4e7878e3337f1851ed92d4b4d24903b9
Author: Nick Kreeger <nick.kreeger at gmail.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/lib/Conversion/SPIRVCommon/Pattern.h
M mlir/lib/Conversion/SPIRVToLLVM/ConvertLaunchFuncToLLVMCalls.cpp
Log Message:
-----------
[mlir][SPIRV] Move getDecorationString to common utilities. (#174145)
Moved getDecorationString() utility function from ArithToSPIRV.cpp to
the common SPIRVCommon/Pattern.h header to make it reusable across
SPIR-V conversion passes.
Commit: 8d75f9766235adfb59f803d7f5a4d4c9ec63577f
https://github.com/llvm/llvm-project/commit/8d75f9766235adfb59f803d7f5a4d4c9ec63577f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/split-node-reduce-root.ll
Log Message:
-----------
[SLP]Consider split node as potential reduction root
Need to check the first split node as a potential reduction root to
prevent compiler crash
Commit: a2cd2dc3908057c51c838507641644e739fdb79b
https://github.com/llvm/llvm-project/commit/a2cd2dc3908057c51c838507641644e739fdb79b
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/io/TestDAP_io.py
M lldb/test/API/tools/lldb-dap/server/TestDAP_server.py
Log Message:
-----------
[lldb-dap][NFC] change the dap log file extension (#173994)
Commit: 351f933d03b7a54911cd51e7102d096f707b327d
https://github.com/llvm/llvm-project/commit/351f933d03b7a54911cd51e7102d096f707b327d
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
Log Message:
-----------
[LV] Add FindFirstIV test with IV truncated to i1 (NFC).
Adds test case for https://github.com/llvm/llvm-project/issues/173459.
Commit: 8913900e3527f3ea9074ba03b2cfb95d65518439
https://github.com/llvm/llvm-project/commit/8913900e3527f3ea9074ba03b2cfb95d65518439
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
[NFC][AMDGPU] Add comments for literal arguments of WMMA profiles (#174175)
Otherwise it is really hard to understand what those 0s and 1s correpond
to what.
Commit: ea9cbd8df81a23300b0da65fdada5804fb92f1af
https://github.com/llvm/llvm-project/commit/ea9cbd8df81a23300b0da65fdada5804fb92f1af
Author: Nico Weber <thakis at chromium.org>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
Log Message:
-----------
[gn] port 29f35ec01e8f53f4e (Hexagon SDNodeInfo)
Commit: c370591c871563e70c668e9f7c3eb8d7768fc02d
https://github.com/llvm/llvm-project/commit/c370591c871563e70c668e9f7c3eb8d7768fc02d
Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix Bazel build for 8cf9691 (#174213)
Co-authored-by: Pranav Kant <prka at google.com>
Commit: 40155458d7660cf4d28894e2ec40010743172e44
https://github.com/llvm/llvm-project/commit/40155458d7660cf4d28894e2ec40010743172e44
Author: Nico Weber <thakis at chromium.org>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
Log Message:
-----------
[gn] port 05a34dde7008f4139 (X86 Pre Legalizer Combiner)
Commit: 75d4812532b0bb471b2d55d76c68a619d58e8f46
https://github.com/llvm/llvm-project/commit/75d4812532b0bb471b2d55d76c68a619d58e8f46
Author: David Green <david.green at arm.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
Log Message:
-----------
[AArch64] Turn MaxInterleaveFactor into a subtarget feature (#171088)
The default value for MaxInterleaveFactor is 2, but some CPUs prefer a
wider factor of 4. This adds a subtarget feature so that cpus can
override the default in their tuning features, keeping more of the
options together in one place.
Commit: 7976ac990000a58a7474269a3ca95e16aed8c35b
https://github.com/llvm/llvm-project/commit/7976ac990000a58a7474269a3ca95e16aed8c35b
Author: nataliakokoromyti <126305457+nataliakokoromyti at users.noreply.github.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/typeid.cpp
Log Message:
-----------
[clang][bytecode] Check if block is initialized before invoking destructor (#174082)
Fixes #173950.
The bytecode interpreter was crashing when evaluating typeid() on
references to dynamically allocated objects. For example, this would
cause an assertion failure:
static A &a = *new A;
const std::type_info &a_ti = typeid(a);
The problem was that when initialization failed, the code tried to call
invokeDtor() on blocks that were never marked as initialized. This
caused the assertion "IsInitialized" to fail. With this fix, we first
check if the block is actually initialized before trying to invoke its
destructor.
The test case I added reproduces the original crash and with the fix, it
now passes.
Commit: c777c60419080c09d76385568dd00101a76b7c10
https://github.com/llvm/llvm-project/commit/c777c60419080c09d76385568dd00101a76b7c10
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M compiler-rt/lib/asan/asan_interceptors.cpp
Log Message:
-----------
[asan][NFC] Fix formatting of asan_interceptors.cpp (#173088)
To prepare for changes in
https://github.com/llvm/llvm-project/pull/131870.
Commit: bb98de9349fbb860017a19c77d843ee84b786467
https://github.com/llvm/llvm-project/commit/bb98de9349fbb860017a19c77d843ee84b786467
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/InfoByHwMode.cpp
M llvm/utils/TableGen/Common/InfoByHwMode.h
Log Message:
-----------
[TableGen] Fix TypeSetByHwMode::getValueTypeByHwMode. (#174182)
This should convert the type set for each HwMode to an MVT for that
HwMode. Instead, if a single type existed for the DefaultMode, that was
used for the MVT of every other mode.
This didn't cause an issue because there is only one place this function
is used before HwModes are expanded. That's just verifying that
constants are small enough for the MVT for each mode. So you would need
a large constant and a HwMode with a smaller VT than the default mode.
Commit: af79967021b25a7d1fbadf40aa5837c3d10a5cfe
https://github.com/llvm/llvm-project/commit/af79967021b25a7d1fbadf40aa5837c3d10a5cfe
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-devptr.cuf
M flang/test/Semantics/cuf23.cuf
Log Message:
-----------
[flang][cuda] Emit error when a device actual argument is used in host intrinsic (#174025)
This can lead to segfault if a device variable is used in a host
intrinsic. Emit an error in semantic.
Reland #172914 with the addition of `__builtin_c_devloc `, `loc` and
`present` as skipped intrinsic
Commit: 3c9d46ae338ea39f638342ac0e6f09d1cd8d10fa
https://github.com/llvm/llvm-project/commit/3c9d46ae338ea39f638342ac0e6f09d1cd8d10fa
Author: Stefan Weigl-Bosker <stefan at s00.xyz>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
Log Message:
-----------
[InstCombine] Support DemandElts in SimplifyDemandedFPClass (#174176)
Fixes #174143
NFC
Commit: 1746af5b2e149a613c31f6aeac8a21955265fbdd
https://github.com/llvm/llvm-project/commit/1746af5b2e149a613c31f6aeac8a21955265fbdd
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.h
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/assets/comment-template.mustache
M clang-tools-extra/clang-doc/assets/namespace-template.mustache
M clang-tools-extra/test/clang-doc/json/compound-constraints.cpp
M clang-tools-extra/test/clang-doc/json/concept.cpp
Log Message:
-----------
[clang-doc] Add concepts to namespace template (#173956)
This patch serializes concepts in HTML. This patch also includes changes
to bitcode reading/writing and JSON to serialize the concept's location,
which was missing.
Commit: e2ee738b6d8441f9fcdd31004fa99035c4c95714
https://github.com/llvm/llvm-project/commit/e2ee738b6d8441f9fcdd31004fa99035c4c95714
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M clang/lib/Analysis/RetainSummaryManager.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M llvm/include/llvm/ADT/StringExtras.h
M llvm/lib/Support/StringExtras.cpp
Log Message:
-----------
Retire StrInStrNoCase. NFC.
Commit: b4d833135a2f1d1e19aaa583e71dcdd41e2ebd68
https://github.com/llvm/llvm-project/commit/b4d833135a2f1d1e19aaa583e71dcdd41e2ebd68
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/X86/cast-costs.ll
Log Message:
-----------
[VPlan] Handle non-free bitcasts in getCostForRecipeWithOpcode.
Update bitcast cost handling to match the legacy cost model.
Commit: aa34f24d62a1305fc84b4255a83fc189eb2cf4ef
https://github.com/llvm/llvm-project/commit/aa34f24d62a1305fc84b4255a83fc189eb2cf4ef
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
Log Message:
-----------
[lldb][ClangExpressionDeclMap][NFC] Remove redundant std::string cast
`getName` is an `llvm::StringRef`, which we can safely compare against a `const char*`. So there's no need to go via `std::string`.
Commit: 2d45a910959e45242c0e12e81781033c87923919
https://github.com/llvm/llvm-project/commit/2d45a910959e45242c0e12e81781033c87923919
Author: keinflue <keinflue at posteo.de>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/cxx26.cpp
Log Message:
-----------
[clang][bytecode] Fix void*-to-ptr casts originating from new/new[] (#174132)
In void*-to-ptr casts, the type of the pointed-to object in the source
operand needs to be compared to the target pointee type.
If a block was created for a `new`/`new[]`/`std::allocator` expression,
then a pointer needs to be stripped from the type of the expression
(which points to the single-object allocation or first element of the
allocation) to get the former.
`Descriptor::getType` did not do this and `Descriptor::getDataType`
returns an array type for array allocations. Therefore this introduces a
new function `Descriptor::getDataElemType` with the same behavior as
`Descriptor::getDataType`, except that it always produces the element
type in the array case and avoids the need for an `ASTContext`
reference. Make `Pointer::getType` use this function instead.
Fixes #174131
Commit: c8119c28488342b3661431adfc708196852dd778
https://github.com/llvm/llvm-project/commit/c8119c28488342b3661431adfc708196852dd778
Author: Nico Weber <thakis at chromium.org>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/utils/gn/secondary/lld/COFF/BUILD.gn
M llvm/utils/gn/secondary/lld/ELF/BUILD.gn
A llvm/utils/gn/secondary/llvm/lib/DTLTO/BUILD.gn
Log Message:
-----------
[gn] port b66557d8f852 and 24fb00dd2f439 (DTLTO)
Commit: 20ef8b02855ab3bf71d4be1b2423834e507dfe3b
https://github.com/llvm/llvm-project/commit/20ef8b02855ab3bf71d4be1b2423834e507dfe3b
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/Headers/__clang_hip_math.hip
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-min-agpr-alloc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-indirect-access-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-lds-test-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-indirect-access-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-lds-test-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-function-param-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-no-heap-ptr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-atomic-cmpxchg-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-atomicrmw-asan.ll
M llvm/test/Instrumentation/AddressSanitizer/asan-pass-second-run.ll
M llvm/test/tools/llvm-reduce/remove-attributes-convergent-uncontrolled.ll
Log Message:
-----------
[AMDGPU] Add `nocreateundeforpoison` annotations (#166450)
This commit goes through IntrinsicsAMDGPU.td and adds
`nocreateundeforpoison` to intrinsics that (to my knowledge) perform
arithmetic operations that are defined everywhere (so no bitfield
extracts and such since those can have invalid inputs, and similarly for permutations).
Commit: 003b28d0310dcb89e9c537a5d431c1d7b0d492f3
https://github.com/llvm/llvm-project/commit/003b28d0310dcb89e9c537a5d431c1d7b0d492f3
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Passes.h
M mlir/include/mlir/Dialect/Affine/Passes.td
M mlir/include/mlir/Dialect/MemRef/Transforms/Passes.td
M mlir/include/mlir/Dialect/MemRef/Utils/MemRefUtils.h
M mlir/lib/Dialect/AMDGPU/Transforms/FoldMemRefsOps.cpp
M mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Affine/Transforms/FoldMemRefAliasOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
A mlir/test/Dialect/Affine/fold-memref-alias-ops.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
Log Message:
-----------
[mlir] Move affine's FoldMemRefAliasOps into its own pass (#172548)
I'm planning to introduce an interface that'll allow FoldMemRefAliasOps
to not know about dialects like NVVM or GPU. To do this, however, I need
to get the `affine` ops (which need special handling in order to handle
their implicit affine maps) into a separate pass, analogously to how
`amdgpu` ops have these patterns under their dialect and ton under
`memref`.
This commit also changes the expand/collapse_shape index resolvers to
return `void`, since they never actually failed and to make it clearer
that they modify IR.
(Note: An LLM did the initial refactoring and test movement, I've
reviewed the results and edited them some.)
Commit: 5a9f34f16b90c29f3dd11914aef9f027edd51f83
https://github.com/llvm/llvm-project/commit/5a9f34f16b90c29f3dd11914aef9f027edd51f83
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
A clang-tools-extra/clang-doc/assets/alias-template.mustache
M clang-tools-extra/clang-doc/assets/class-template.mustache
M clang-tools-extra/clang-doc/assets/namespace-template.mustache
M clang-tools-extra/clang-doc/support/Utils.cpp
M clang-tools-extra/clang-doc/tool/CMakeLists.txt
M clang-tools-extra/test/clang-doc/json/class.cpp
M clang-tools-extra/test/clang-doc/json/namespace.cpp
A clang-tools-extra/test/clang-doc/typedef-alias.cpp
Log Message:
-----------
[clang-doc] Add typedefs and aliases to templates (#173957)
This patch also adds optional template information to the typedef info
struct.
Commit: 77149b3b824eafa1878a04e52ae41f907818c2c8
https://github.com/llvm/llvm-project/commit/77149b3b824eafa1878a04e52ae41f907818c2c8
Author: Nico Weber <thakis at chromium.org>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/tool/BUILD.gn
Log Message:
-----------
[gn] port 5a9f34f16b90c29
Commit: b45c20df3c613c6e7b9c4b26670de30313695258
https://github.com/llvm/llvm-project/commit/b45c20df3c613c6e7b9c4b26670de30313695258
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
Log Message:
-----------
[IRBuilder] Introduce CreateSelectFMFWithUnknownProfile (#174162)
This came up in review feedback in
c163e7a72249cbc8105fbc5cc6a772e5dc90c94d. This function makes it easier
to create select instructions that propagate fast math flags with
unknown profile info, which is a common case. This mirrors the already
existing CreateSelectWithUknownProfile helper.
Commit: 725abb3f17795b46454259ecc1ec54f262e641d1
https://github.com/llvm/llvm-project/commit/725abb3f17795b46454259ecc1ec54f262e641d1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
Log Message:
-----------
[Bazel] Fix buildifier failures
502c34250420eff47318568ab154f0a66c4a2324 fixed the build, but did not
order the dependencies correctly, so this broke buildifier.
Commit: 501aa3740fb71eab759bbe86f982bc027d569a72
https://github.com/llvm/llvm-project/commit/501aa3740fb71eab759bbe86f982bc027d569a72
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Fix return type of JUMP_TABLE_DEBUG_INFO node (#174228)
The node has a chain result, not a glue.
Extracted from #168421.
Commit: 1140957661cae625f3c5fe7bd06f1b117004edcd
https://github.com/llvm/llvm-project/commit/1140957661cae625f3c5fe7bd06f1b117004edcd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
A llvm/test/CodeGen/X86/vector-smax-range.ll
A llvm/test/CodeGen/X86/vector-smin-range.ll
A llvm/test/CodeGen/X86/vector-umax-range.ll
A llvm/test/CodeGen/X86/vector-umin-range.ll
Log Message:
-----------
[X86] Add basic test coverage for #174169 (#174226)
Commit: c77f0c1bc575fc63600cd19c488da145228db2b4
https://github.com/llvm/llvm-project/commit/c77f0c1bc575fc63600cd19c488da145228db2b4
Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix Bazel build for 003b28d (#174232)
Co-authored-by: Pranav Kant <prka at google.com>
Commit: e4af5b102b4de999ba43837ee580db0de3432331
https://github.com/llvm/llvm-project/commit/e4af5b102b4de999ba43837ee580db0de3432331
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/docs/Bindings/Python.md
M mlir/examples/standalone/CMakeLists.txt
M mlir/examples/standalone/pyproject.toml
M mlir/examples/standalone/test/lit.cfg.py
M mlir/examples/standalone/test/python/smoketest.py
M mlir/test/Examples/standalone/test.toy
M mlir/test/Examples/standalone/test.wheel.toy
Log Message:
-----------
[mlir][python] fix symbol resolution on MacOS with multiple packages (#174057)
# Problem:
There are two build system bugs on MacOS in the case where one intends
to use multiple bindings packages simultaneously (same Python
interpreter session):
1. The nanobind modules are built with
[`-Wl,-flat_namespace`](https://github.com/llvm/llvm-project/blob/8518d2c4057d9aa4249b8466a4d77771e4f1bf4f/llvm/cmake/modules/HandleLLVMOptions.cmake#L268)
thereby leading to ambiguous symbols across multiple whatever dylibs;
2. Intra-library symbol resolution (within the C API aggregate dylib)
fails to resolve symbols correctly unless things are built with
`-DCMAKE_C_VISIBILITY_PRESET=hidden -DCMAKE_CXX_VISIBILITY_PRESET=hidden
-DCMAKE_VISIBILITY_INLINES_HIDDEN=ON`.
# Repro:
On a Mac (with this patch applied):
1. Build without `twolevel_namespace` and without hidden vis properties
and run `LIT_FILTER=test.toy ninja check-mlir` (assuming you have
`-DLLVM_BUILD_EXAMPLES=ON -DLLVM_INCLUDE_EXAMPLES=ON`) and you will see:
```
LLVM ERROR: can't create Attribute 'mlir::StringAttr' because storage
uniquer isn't initialized: the dialect was likely not loaded, or the
attribute wasn't added with addAttributes<...>() in the
Dialect::initialize() method.
```
2. Build with `twolevel_namespace` but not hidden vis and run the same
lit test and you will see:
```
LLVM ERROR: Attempting to attach an interface to an unregistered
operation builtin.unrealized_conversion_cast.
```
# Fix
We only do a partial fix here (adding `twolevel_namespace` to Python
bindings modules) because a full fix requires adding visibility
attributes to all object files. I added docs discussing this.
# Why is this not happening on Linux
Using `DYLD_PRINT_BINDINGS=1` I observe that for the checked-in/updated
test (without the fix) `libMLIRPythonCAPI` resolves many of its symbols
to `libStandalonePythonCAPI`:
```
dyld[98449]: looking for weak-def symbol '__ZN4mlir6TypeID3getINS_13AffineMapAttrEEES0_v':
dyld[98449]: found __ZN4mlir6TypeID3getINS_13AffineMapAttrEEES0_v in map, using impl from /Users/maksimlevental/dev_projects/llvm-project/cmake-build-debug/tools/mlir/test/Examples/standalone/python_packages/standalone/mlir_standalone/_mlir_libs/libStandalonePythonCAPI.dylib
dyld[98449]: <libMLIRPythonCAPI.dylib/bind#22> -> 0x11348fa9c <libStandalonePythonCAPI.dylib/__ZN4mlir6TypeID3getINS_13AffineMapAttrEEES0_v>)
dyld[98449]: looking for weak-def symbol '__ZN4mlir6TypeID3getINS_9ArrayAttrEEES0_v':
dyld[98449]: found __ZN4mlir6TypeID3getINS_9ArrayAttrEEES0_v in map, using impl from /Users/maksimlevental/dev_projects/llvm-project/cmake-build-debug/tools/mlir/test/Examples/standalone/python_packages/standalone/mlir_standalone/_mlir_libs/libStandalonePythonCAPI.dylib
dyld[98449]: <libMLIRPythonCAPI.dylib/bind#23> -> 0x11348f990 <libStandalonePythonCAPI.dylib/__ZN4mlir6TypeID3getINS_9ArrayAttrEEES0_v>)
dyld[98449]: looking for weak-def symbol '__ZN4mlir6TypeID3getINS_14DictionaryAttrEEES0_v':
dyld[98449]: found __ZN4mlir6TypeID3getINS_14DictionaryAttrEEES0_v in map, using impl from /Users/maksimlevental/dev_projects/llvm-project/cmake-build-debug/tools/mlir/test/Examples/standalone/python_packages/standalone/mlir_standalone/_mlir_libs/libStandalonePythonCAPI.dylib
dyld[98449]: <libMLIRPythonCAPI.dylib/bind#24> -> 0x11348eec0 <libStandalonePythonCAPI.dylib/__ZN4mlir6TypeID3getINS_14DictionaryAttrEEES0_v>)
```
Turns out this is "expected" behavior:
> It appears on macOS, when a static library is compiled without
-fvisibility=hidden, its C++ template instantiations could lead to
leftover weak symbols that are resolved and bound at runtime
https://joyeecheung.github.io/blog/2025/01/11/executable-loading-and-startup-performance-on-macos/
🤷
Commit: 83ae1449a6f0a731a85077824b157d9dbaaeb6fc
https://github.com/llvm/llvm-project/commit/83ae1449a6f0a731a85077824b157d9dbaaeb6fc
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M clang-tools-extra/clang-doc/assets/class-template.mustache
M clang-tools-extra/clang-doc/assets/enum-template.mustache
M clang-tools-extra/test/clang-doc/enum.cpp
Log Message:
-----------
[clang-doc] Add class member enums to template (#173958)
Some Mustache tags for member enums already existed in the class
template, but they weren't compatible with the current JSON scheme.
Commit: 7eed4d2c2fe709ac3e36a0f6875cefd1d7d46cd5
https://github.com/llvm/llvm-project/commit/7eed4d2c2fe709ac3e36a0f6875cefd1d7d46cd5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
M llvm/utils/TableGen/FastISelEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen] Use TreePatternNode::getSimpleType instead of getType. NFC (#174231)
These were the only uses of getType. Both of these calls are after
HwMode has been expanded so we can use getSimpleType like other code.
Remove getType since it is now unused.
While there, simplify the hasBFloatType to use getScalarType for the
scalar and vector case.
Commit: 4534edb3f71236f4d74edc75a86baa32a8bd8525
https://github.com/llvm/llvm-project/commit/4534edb3f71236f4d74edc75a86baa32a8bd8525
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[SelectionDAG] Fix operand of BRCOND in visitSPDescriptorParent (#174230)
The first operand should be a chain, but `GuardVal.getOperand(0)` isn't
always a chain (i.e. if `TLI.emitStackGuardXorFP()` is called). Use
`getControlRoot()` instead like in other places when creating terminator
nodes.
Extracted from #168421.
Commit: 81b46646fb5eb34559ef1e31d0ee83a69c18a301
https://github.com/llvm/llvm-project/commit/81b46646fb5eb34559ef1e31d0ee83a69c18a301
Author: Ziqing Luo <ziqing_luo at apple.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Add check for custom printf/scanf functions (#173096)
This commit adds support for functions annotated with
`__attribute__((__format__(__printf__, ...)))` (or `__scanf__`). These
functions will be treated the same way as printf/scanf functions in the
standard C library by `-Wunsafe-buffer-usage`
rdar://143233737
Commit: 5f0ec8720b7f5229ed9bd1f9ae56d21403299e01
https://github.com/llvm/llvm-project/commit/5f0ec8720b7f5229ed9bd1f9ae56d21403299e01
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
Log Message:
-----------
[gn build] Port 7c0420dc8484
Commit: 16d6ecc19b5cc4346ceae73bd869966339cc3e9f
https://github.com/llvm/llvm-project/commit/16d6ecc19b5cc4346ceae73bd869966339cc3e9f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/google/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/misc/BUILD.gn
Log Message:
-----------
[gn build] Port 92f16356340d
Commit: c5fd49f775220d9fa37eabfe81a2b489b9f080ff
https://github.com/llvm/llvm-project/commit/c5fd49f775220d9fa37eabfe81a2b489b9f080ff
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/assets/class-template.mustache
M clang-tools-extra/test/clang-doc/json/class.cpp
Log Message:
-----------
[clang-doc] Add nested records to class template (#173959)
Nested records already had some tags, but they weren't
compatible with the current JSON scheme.
Commit: 8593437825e89bc259968e25cb48735573c8bb1a
https://github.com/llvm/llvm-project/commit/8593437825e89bc259968e25cb48735573c8bb1a
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanValue.h
Log Message:
-----------
[VPlan] Simplify ~VPDef (NFCI).
Slightly simplify ~VPDef to avoid setting Def to nullptr, which is done
when remove the VPValue from VPDef, via VPValue's destructor.
Also use to_vector() instead of make_early_inc_range; as this is a
vector that may get modified, to_vector is appropriate.
Commit: 7b73ba51625507ce2c02e616dcac24158c559297
https://github.com/llvm/llvm-project/commit/7b73ba51625507ce2c02e616dcac24158c559297
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/assets/class-template.mustache
M clang-tools-extra/test/clang-doc/json/class.cpp
Log Message:
-----------
[clang-doc] Add friends to class template (#173960)
This patch also allows comments to be associated with friend
declarations. Currently, it seems like the comments for friend `RecordDecl`
are taken from the actual class declaration, while a friend
function's comments are taken from the actual `friend` declaration.
Commit: a052b578ad6172249b9eef0e50fdc7d0c6170eee
https://github.com/llvm/llvm-project/commit/a052b578ad6172249b9eef0e50fdc7d0c6170eee
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
Log Message:
-----------
[TableGen] Remove TypeInfer::isConcrete/getConcrete. NFC (#174235)
These don't use any state from TypeInfer and only wrap methods in
TypeSetByHwMode. We can use the TypeSetByHwMode methods directly.
Commit: 8ac911b90d97dea662e6394f119deeb6f432ef4b
https://github.com/llvm/llvm-project/commit/8ac911b90d97dea662e6394f119deeb6f432ef4b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/copyable-non-inst-in-stores.ll
Log Message:
-----------
[SLP][NFC]Add a test with the leading non-instruction in sores, which cannot be handled as copyable
Commit: 050c447e301d3bcfd276132ce2454448fb5094f8
https://github.com/llvm/llvm-project/commit/050c447e301d3bcfd276132ce2454448fb5094f8
Author: Kewen Meng <Kewen.Meng at amd.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
Log Message:
-----------
Revert "[InstCombine] Support DemandElts in SimplifyDemandedFPClass" (#174242)
Reverts llvm/llvm-project#174176
Revert to unblock bots.
https://lab.llvm.org/buildbot/#/builders/123/builds/32907
Commit: 3572e62991f4936ab8be305480a992cde8117c47
https://github.com/llvm/llvm-project/commit/3572e62991f4936ab8be305480a992cde8117c47
Author: Mikhail Gudim <mgudim at gmail.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/x264-satd-8x4.ll
Log Message:
-----------
[SLPVectorizer] Widen rt stride loads (#162336)
Suppose we are given pointers of the form: `%b + x * %s + y * %c_i`
where `%c_i`s are constants and %s is a run-time fixed value.
If the pointers can be rearranged as follows:
```
%b + 0 * %s + 0
%b + 0 * %s + 1
%b + 0 * %s + 2
...
%b + 0 * %s + w
%b + 1 * %s + 0
%b + 1 * %s + 1
%b + 1 * %s + 2
...
%b + 1 * %s + w
...
```
It means that the memory can be accessed with a strided loads of width `w`
and stride `%s`.
This is motivated by x264 benchmark.
Commit: 5ec319119f52aa7a8ab384bf58d341e7b69cdd59
https://github.com/llvm/llvm-project/commit/5ec319119f52aa7a8ab384bf58d341e7b69cdd59
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_interceptors.h
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/interception/interception_aix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_libc.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_libc.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
Log Message:
-----------
[asan] Adjust interception compatibility for AIX (#131870)
Adjust asan interceptor compatbility for AIX. AIX uses dlsym to retrieve
addresses of exported functions. However, some functions in libc.a, such
as memcpy, are not exported, so we currently have a limitation in
retrieving these addresses.
Issue: https://github.com/llvm/llvm-project/issues/138916
Commit: 7178bc64202b6e0533b0ba1e04d5b352595ccedf
https://github.com/llvm/llvm-project/commit/7178bc64202b6e0533b0ba1e04d5b352595ccedf
Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/region-branchop-interface.mlir
Log Message:
-----------
[acc] add RegionBranchTerminatorOpInterface to acc.terminator (#174165)
This further helps with propagation in data flow analysis through acc
regions. Also cleaned up some comments in the unit test.
Commit: e9b2b21f746d363dc15107b0828400309804eb70
https://github.com/llvm/llvm-project/commit/e9b2b21f746d363dc15107b0828400309804eb70
Author: Ziqing Luo <ziqing_luo at apple.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Fix a false negative introduced in #173096 (#174253)
A downstream test recovers a false negative introduced in #173096, where
it changed the use of variable `FmtArgIdx` to `FmtArgStartingIdx`. The
two variables are different in that `FmtArgIdx` refers to the index of
the format string and `FmtArgStartingIdx` refers to the index of the
first format argument. The consequence is that the analysis will miss
reporting an unsafe format string.
This fix also upstreams the test catching the FN.
Commit: ec7b63771ca7ee74566156a075a5388a3b6fc7c2
https://github.com/llvm/llvm-project/commit/ec7b63771ca7ee74566156a075a5388a3b6fc7c2
Author: Rafail Shakhin ogly <rafa.saddatimov at gmail.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__chrono/day.h
M libcxx/include/__chrono/duration.h
M libcxx/include/__chrono/leap_second.h
M libcxx/include/__chrono/month.h
M libcxx/include/__chrono/month_weekday.h
M libcxx/include/__chrono/monthday.h
M libcxx/include/__chrono/time_point.h
M libcxx/include/__chrono/weekday.h
M libcxx/include/__chrono/year.h
M libcxx/include/__chrono/year_month.h
M libcxx/include/__chrono/year_month_day.h
M libcxx/include/__chrono/year_month_weekday.h
M libcxx/include/__chrono/zoned_time.h
M libcxx/include/chrono
M libcxx/modules/std/chrono.inc
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
A libcxx/test/std/time/time.hash/time.hash_enabled.pass.cpp
Log Message:
-----------
[libc++][chrono] P2592R3: Hashing for chrono (#165132)
Commit: 376bedd1d0a62d074d743eabfeacfddb5051bab8
https://github.com/llvm/llvm-project/commit/376bedd1d0a62d074d743eabfeacfddb5051bab8
Author: A. Jiang <de34 at live.cn>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M libcxx/include/optional
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp
M libcxx/test/std/utilities/optional/optional.specalg/make_optional_explicit.pass.cpp
M libcxx/test/std/utilities/optional/optional.specalg/make_optional_explicit_initializer_list.pass.cpp
Log Message:
-----------
[libc++] Fix constraints for `optional`'s constructors taking `in_place_t` and related `make_optional` overloads (#173467)
Some constraints are incorrect for constructors of `optional<T&>`:
- for the `(in_place_t, Arg&&)` constructor, it should be more
constrained to reject dangling references;
- for the `(in_place_t, initializer_list<U>, Args&&...)` constructor, it
shouldn't be available for `optional<T&>` at all.
For `make_optional` overloads, the standard wording already required
them to propagate SFINAE constraints before LWG3627 (via "_Effects_:
Equivalent to", see also [structure.specifications]/4). So they need to
be constrained.
Drive-by: Refactor test files to run more cases during constant
evaluation.
Commit: c4387734322b9c050861454f799438346807c7b0
https://github.com/llvm/llvm-project/commit/c4387734322b9c050861454f799438346807c7b0
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/Diagnostics.cpp
M clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
M clang-tools-extra/clangd/TUScheduler.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
M clang-tools-extra/clangd/support/FileCache.cpp
M clang-tools-extra/clangd/support/Threading.cpp
M clang-tools-extra/clangd/support/Trace.cpp
M clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
M clang-tools-extra/clangd/unittests/TUSchedulerTests.cpp
M clang-tools-extra/clangd/unittests/TestTU.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Index/IndexTypeSourceInfo.cpp
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/StaticAnalyzer/Core/ConstraintManager.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/lib/Testing/TestAST.cpp
M clang/unittests/StaticAnalyzer/UnsignedStatDemo.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Host/common/MemoryMonitor.cpp
M lldb/source/Host/macosx/objcxx/Host.mm
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
M lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/Target.cpp
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
M lldb/tools/lldb-mcp/lldb-mcp.cpp
M lldb/tools/lldb-test/lldb-test.cpp
M lldb/unittests/Host/HostTest.cpp
M llvm/include/llvm/Transforms/Utils/SSAUpdaterImpl.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/LazyCallGraph.cpp
M llvm/lib/Analysis/LoopInfo.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/CAS/OnDiskGraphDB.cpp
M llvm/lib/CAS/UnifiedOnDiskCache.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
M llvm/lib/CodeGen/IfConversion.cpp
M llvm/lib/CodeGen/ResetMachineFunctionPass.cpp
M llvm/lib/ExecutionEngine/Orc/LoadLinkableFile.cpp
M llvm/lib/ExecutionEngine/Orc/MachO.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorMemoryManager.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
M llvm/lib/Remarks/BitstreamRemarkSerializer.cpp
M llvm/lib/Support/Parallel.cpp
M llvm/lib/Support/Path.cpp
M llvm/lib/Support/ThreadPool.cpp
M llvm/lib/Support/Unix/Threading.inc
M llvm/lib/Support/VirtualOutputBackends.cpp
M llvm/lib/Support/Windows/Path.inc
M llvm/lib/Support/Z3Solver.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/M68k/M68kInstrInfo.cpp
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
M llvm/lib/Transforms/IPO/Inliner.cpp
M llvm/lib/Transforms/IPO/ModuleInliner.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/tools/gold/gold-plugin.cpp
M llvm/tools/llc/llc.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/tools/llvm-mc/llvm-mc.cpp
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/unittests/ADT/ScopeExitTest.cpp
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
M llvm/unittests/Support/MemoryBufferTest.cpp
M llvm/unittests/Support/Path.cpp
M llvm/unittests/Support/SignalsTest.cpp
M llvm/unittests/Support/ThreadPool.cpp
M llvm/unittests/Support/VirtualFileSystemTest.cpp
M mlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp
M mlir/lib/Analysis/DataFlowFramework.cpp
M mlir/lib/AsmParser/Parser.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
M mlir/lib/CAPI/Interfaces/Interfaces.cpp
M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Debug/ExecutionContext.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Interchange.cpp
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
M mlir/lib/Dialect/Transform/PDLExtension/PDLExtensionOps.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/Pass/Pass.cpp
M mlir/lib/Pass/PassRegistry.cpp
M mlir/lib/Rewrite/PatternApplicator.cpp
M mlir/lib/Target/LLVM/NVVM/Target.cpp
M mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[LLVM][ADT] Migrate users of `make_scope_exit` to CTAD (#174030)
This is a followup to #173131, which introduced the CTAD functionality.
Commit: 4ff264dd3523f4eb0d0f056f9950bc477a826e66
https://github.com/llvm/llvm-project/commit/4ff264dd3523f4eb0d0f056f9950bc477a826e66
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-01-02 (Fri, 02 Jan 2026)
Changed paths:
M llvm/include/llvm/ADT/ScopeExit.h
Log Message:
-----------
[LLVM][ADT] Deprecate `make_scope_exit` in favour of CTAD (#174109)
Commit: 573c0be730e28966ec31ee8992708415aadc82da
https://github.com/llvm/llvm-project/commit/573c0be730e28966ec31ee8992708415aadc82da
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M clang/include/clang/Tooling/Inclusions/HeaderIncludes.h
M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
M clang/unittests/Tooling/HeaderIncludesTest.cpp
Log Message:
-----------
[clang][Tooling] Insert global module fragment during header insertion (#173724)
This patch makes `HeaderIncludes` to also insert a global module
fragment declaration (`module;`) when inserting a header when all of the
following conditions are met:
- The source file is a module unit;
- No tokens excluding comments and whitespaces exist before the module
declaration.
This patch detects the conditions by checking whether the first
declaration in the source file is a module declaration.
Commit: 48a986839bc81c27afac2599ca057b7a5b1b5d1c
https://github.com/llvm/llvm-project/commit/48a986839bc81c27afac2599ca057b7a5b1b5d1c
Author: Henry <33919933+sfu2 at users.noreply.github.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M lldb/include/lldb/Utility/StringList.h
M lldb/source/Utility/StringList.cpp
Log Message:
-----------
[lldb] Avoid unnecessary vector copy for StringList::AppendList (#173779)
Commit: c3b1a1e50ed13b506e037c718e304fcf4327421d
https://github.com/llvm/llvm-project/commit/c3b1a1e50ed13b506e037c718e304fcf4327421d
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/test/CodeGen/X86/AMX/amx-combine.ll
M llvm/test/CodeGen/X86/AMX/lat-transform-amx-bitcast.ll
Log Message:
-----------
[X86][AMX] Move Stride close to its use (#174095)
Fixes: #174066
Commit: e1d77359b8e0893104a53f7ccc09d1ad7b46cf9b
https://github.com/llvm/llvm-project/commit/e1d77359b8e0893104a53f7ccc09d1ad7b46cf9b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-ptest-256.ll
Log Message:
-----------
[X86] combinePTESTCC - always prefer TESTPS/D to PTEST on AVX (#174097)
If the elements are sign-bit splats AVX targets can always use TESTPS/D directly, potentially allowing further simplification.
Many Intel targets have slightly lower tp/uops requirements for TESTPS/D vs PTEST - AMD is neutral.
Fixes the AVX1 `testz(ashr(X,bw-1),-1)` codegen for the `okD` testcase from #156233
Commit: 3d3093e4e313da35b6e86238ef171bf6a18c7ead
https://github.com/llvm/llvm-project/commit/3d3093e4e313da35b6e86238ef171bf6a18c7ead
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/test/Transforms/Attributor/nofpclass.ll
Log Message:
-----------
ValueTracking: Add more baseline tests for computeKnownPPClass of fadd (#174122)
Test cases with fadd x, x. Also test cases where both inputs are known
negative.
Commit: 0aa519b1ea89ec50c154cd89915f70573f1a1244
https://github.com/llvm/llvm-project/commit/0aa519b1ea89ec50c154cd89915f70573f1a1244
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
R llvm/test/Verifier/token1-with-asserts.ll
R llvm/test/Verifier/token1-without-asserts.ll
A llvm/test/Verifier/token1.ll
M llvm/test/Verifier/tokenlike1-without-asserts.ll
Log Message:
-----------
Verifier: Fix duplicated test with asserts and !asserts (#174271)
The same test content was duplicated for asserts and !asserts
builds, but the behavior is the same either way.
Commit: f72716397a810f4802390940ade7762acfca521b
https://github.com/llvm/llvm-project/commit/f72716397a810f4802390940ade7762acfca521b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fmaxnum.ll
M llvm/test/CodeGen/AMDGPU/fminnum.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
M llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
Log Message:
-----------
AMDGPU: Remove some unnecessary callsite attributes from tests (#174270)
Commit: 5cbc6a63a19955b5f6fd3f62da8673893abaef9d
https://github.com/llvm/llvm-project/commit/5cbc6a63a19955b5f6fd3f62da8673893abaef9d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass.ll
Log Message:
-----------
ValueTracking: Improve handling of fadd in computeKnownFPClass. (#174123)
This already recognized that if both inputs are positive, the
result is positive. Extend this to the mirror situation with
negative inputs.
Also special case fadd x, x. Canonically, fmul x, 2 is fadd x, x.
We can tell the sign bit won't change, and 0 will propagate.
Commit: 00fdb29752a033e38ff52bcb14ab6878e525c4c6
https://github.com/llvm/llvm-project/commit/00fdb29752a033e38ff52bcb14ab6878e525c4c6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
ValueTracking: Avoid unnecessary denormal mode lookup for fadd (#174272)
The mode was already queried, so don't do it again.
Commit: e4414a4b568ef43ac0741e516d6400f9c029ad42
https://github.com/llvm/llvm-project/commit/e4414a4b568ef43ac0741e516d6400f9c029ad42
Author: Tibor Győri <tibor.gyori at chem.u-szeged.hu>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/docs/Vectorizers.rst
Log Message:
-----------
[LV][doc] Update and extend the docs on floating-point reduction vectorization (#172809)
The docs for reduction vectorization currently say that
> We support floating point reduction operations when -ffast-math is
used.
This is outdated, as there are now cases where floating-point reductions
are vectorized even without -ffast-math, through ordered reduction.
This PR updates the documentation for reduction vectorization, noting
that that AArch64 and RISC-V default to ordered FP reductions being
permitted. Furthermore, an explanation of why the vectorization of FP
reduction is such a special case is added to the docs.
---------
Co-authored-by: GYT <tiborgyri at gmail.com>
Co-authored-by: Florian Hahn <flo at fhahn.com>
Commit: 56905bee6e534fe1b5da9d4a7b00155a47c31f60
https://github.com/llvm/llvm-project/commit/56905bee6e534fe1b5da9d4a7b00155a47c31f60
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-exp.ll
Log Message:
-----------
InstCombine: Positive normal exp results imply possible negative normal inputs (#174273)
Fix mishandling exp where the result is known to only be a negative
normal.
Commit: 465d11e1ce217e3ff6f4602a1ed64a0cdb62d59e
https://github.com/llvm/llvm-project/commit/465d11e1ce217e3ff6f4602a1ed64a0cdb62d59e
Author: A. Jiang <de34 at live.cn>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/optional
M libcxx/test/std/utilities/optional/optional.specalg/make_optional.pass.cpp
Log Message:
-----------
[libc++] LWG3627: Inconsistent specifications for `std::make_optional` overloads (#173466)
It should be sufficient to use `is_constructible_v<decay_t<T>, T>` in
the constraints, because the `const optional<U>&`/`optional<U>&&`
constructors are sufficiently constrained.
Drive-by: Refactor
`libcxx/test/std/utilities/optional/optional.specalg/make_optional.pass.cpp`
to run more cases during constant evaluation.
Commit: 9b8addffa70cee5b2acc5454712d9cf78ce45710
https://github.com/llvm/llvm-project/commit/9b8addffa70cee5b2acc5454712d9cf78ce45710
Author: Mingjie Xu <xumingjie.enna1 at bytedance.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[CloneFunction] Fix non-deterministic PHI cleanup using PHINode::removeIncomingValueIf() (#173975)
Previously, we use `std::map<BasicBlock *, unsigned> PredCount` to track
excess incoming blocks and removed them one by one using
`removeIncomingValue`.
Since `PredCount` use `BasicBlock *` as key, the iteration order depends
on the memory addresses of the blocks. With
`PHINode::removeIncomingValue()` changed to use the swapping strategy,
the order in which operands are removed affects the final order of the
remaining operands in the PHI node. This will cause non-determinism in
compiles.
This patch uses `PHINode::removeIncomingValueIf()` to remove invalid
incoming blocks that no longer go to `NewBB` block, fixes the
non-determinism.
Commit: 8663c306e9b0e8492db66db62df61fac9694908a
https://github.com/llvm/llvm-project/commit/8663c306e9b0e8492db66db62df61fac9694908a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Cleanup uses of "(BW-1) - LOG2(C)" --> "CLZ(C)" instead. NFC. (#174167)
We know in both cases that the value `C` is a power-of-2 constant, so we
know the "(BW-1) - LOG2(C)" can be more obviously represented as
"CLZ(C)".
In both places it occurs it also makes it much easier to understand
what's being done: shift the single masked bit up to the MSB and then
use SRA to splat it to all bits.
Commit: 19358ca38ca1b92022ceafaf552ec892c09d9e43
https://github.com/llvm/llvm-project/commit/19358ca38ca1b92022ceafaf552ec892c09d9e43
Author: Hewill Kang <hewillk at gmail.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M libcxx/include/__flat_set/flat_set.h
A libcxx/test/std/containers/container.adaptors/flat.multiset/robust_against_nonbool.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/robust_against_nonbool.compile.pass.cpp
Log Message:
-----------
[libc++] Make sure `flat_set::key_compare` handle `boolean-testable` correctly (#132622)
Also add test for `flat_multiset` to avoid regression.
---------
Co-authored-by: Hui Xie <hui.xie1990 at gmail.com>
Co-authored-by: A. Jiang <de34 at live.cn>
Commit: 8d879edb0b630614d6bc00fe14ab2388cdbc09fd
https://github.com/llvm/llvm-project/commit/8d879edb0b630614d6bc00fe14ab2388cdbc09fd
Author: Hewill Kang <hewillk at gmail.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/__flat_map/flat_multimap.h
A libcxx/test/std/containers/container.adaptors/flat.map/robust_against_nonbool.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multimap/robust_against_nonbool.compile.pass.cpp
Log Message:
-----------
[libc++] Make sure `flat_{multi}map::key_compare` handle `boolean-testable` correctly (#132621)
This is sibling of
[#69378](https://github.com/llvm/llvm-project/pull/69378).
---------
Co-authored-by: Hui Xie <hui.xie1990 at gmail.com>
Co-authored-by: A. Jiang <de34 at live.cn>
Commit: d953c3604eb6f0e1db5353ba085dba781f5c84d9
https://github.com/llvm/llvm-project/commit/d953c3604eb6f0e1db5353ba085dba781f5c84d9
Author: Kevin Per <kevin.per at protonmail.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstCombine/select-cmp.ll
Log Message:
-----------
[Instcombine] Fold select of ucmp/scmp (#168505)
Folds `select(icmp(eq, X, Y), 0, llvm.cmp(X, Y))` -> `llvm.cmp(X, Y)`
for `llvm.ucmp` and `llvm.scmp`.
Alive Proof: https://alive2.llvm.org/ce/z/sPJhgr
Closes https://github.com/llvm/llvm-project/issues/166579
Commit: 75432ce3c9c0b9467e06077226ecce0aa2e327dd
https://github.com/llvm/llvm-project/commit/75432ce3c9c0b9467e06077226ecce0aa2e327dd
Author: Marco Elver <elver at google.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/Transforms/Instrumentation/LowerAllowCheckPass.h
M llvm/lib/Transforms/Instrumentation/LowerAllowCheckPass.cpp
A llvm/test/Transforms/LowerAllowCheck/sanitize-check.ll
Log Message:
-----------
[LowerAllowCheck] Add llvm.allow.sanitize.* intrinsics (#172029)
Add new intrinsics:
- llvm.allow.sanitize.address
- llvm.allow.sanitize.thread
- llvm.allow.sanitize.memory
- llvm.allow.sanitize.hwaddress
These intrinsics return true if the corresponding sanitizer is enabled
for the function, and false otherwise. They are lowered by
LowerAllowCheckPass to constant booleans based on the corresponding
sanitize_* function attributes. LowerAllowCheckPass is now "required" to
run on functions with optnone to ensure correct lowering at O0.
The LowerAllowCheckPass already performs similar duties for
@llvm.allow.runtime.check and @llvm.allow.ubsan.check, although with
subtly different semantics (based on profiles and/or sampling). In this
case, we want to make the true/false decision based on if any one of
address/memory/thread sanitization is enabled.
Commit: 7bc05a8829d2e0da88ce54aebaad6a349d922624
https://github.com/llvm/llvm-project/commit/7bc05a8829d2e0da88ce54aebaad6a349d922624
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/test/std/utilities/optional/optional.specalg/swap.pass.cpp
Log Message:
-----------
[libc++] Resolve LWG4439 and LWG4300 (#174257)
Resolves #171340 implemented in #155202
Resolves #171402 implemented in #155202
- Add `swap` test for `optional<T&>` to ensure an ADL-found swap isn't
selected.
- Drive-by: Update documentation for LWG4300 since it's already
completed
Commit: a0c3628fa9af68c221248888936db720a77d602d
https://github.com/llvm/llvm-project/commit/a0c3628fa9af68c221248888936db720a77d602d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f32.ll
Log Message:
-----------
AMDGPU: Remove dead check prefixes from test (#174280)
Commit: e46b4e3e9db5e2b6eda24aeef248bbbc5d90e401
https://github.com/llvm/llvm-project/commit/e46b4e3e9db5e2b6eda24aeef248bbbc5d90e401
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/dynamic-static-initializers.hpp
Log Message:
-----------
[clang-tidy] Fix false positive in bugprone-dynamic-static-initializers (#174275)
Closes #145680
Commit: 990883a6908202f5bbd8ada9d1d106d3db271622
https://github.com/llvm/llvm-project/commit/990883a6908202f5bbd8ada9d1d106d3db271622
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Handle Alloca in VPReplicateRecipe::computeCost. (NFCI)
Handle Alloca in the VPlan-based cost mode. This also updates the cost
in the legacy cost model to clarify that we always compute the scalar
cost.
Commit: 6d8dd3da4beb50566c1dc1c2db51e75cc827a491
https://github.com/llvm/llvm-project/commit/6d8dd3da4beb50566c1dc1c2db51e75cc827a491
Author: MaPePeR <MaPePeR at users.noreply.github.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M mlir/python/mlir/_mlir_libs/__init__.py
M mlir/test/python/ir/blocks.py
M mlir/test/python/ir/operation.py
Log Message:
-----------
[MLIR][Python] Register Containers as Sequences for `match` compatibility (#174091)
This allows these containers to be used in `match` statements, which
allows extracting properties and asserting a shape at the same time.
It seems to be only possible, to match as _either_ a `Mapping` _or_ a
`Sequence`, so the `OpAttributeMap` is only a `Mapping`.
I couldn't find a way to make these C++ based types properly inherit
from `Sequence` or `Mapping`, so the Mixins are not provided (nanobind
only allows C++ parent classes, modifying `__base__` complains about
differing destructors).
`OpAttributeMap` was lacking the `get` method, so I simply copied it
from `collections.abc.Mapping`.
When writing the tests i ran into the error, that I wrote
`func.FuncOp(body=[Block(...)])` instead of
`func.FuncOp(body=Region(blocks=[Block(...)]))`. So maybe also turning
`Region` itself into a Sequence would be a good addition as well? Would
extend the Scope of this PR, though.
makslevental You suggested I make the PR, so i'm tagging you here as a
potential reviewer. I hope that is ok with you. :)
---------
Co-authored-by: Maksim Levental <maksim.levental at gmail.com>
Commit: 05349a9b43805d3c0b424da99f3a1fa362cd3419
https://github.com/llvm/llvm-project/commit/05349a9b43805d3c0b424da99f3a1fa362cd3419
Author: Michał Górny <mgorny at gentoo.org>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M offload/test/offloading/bug51781.c
Log Message:
-----------
[offload] [test] Mark bug 51781 test as requiring GPU (#174284)
While the main problem with the test is that it requires LLD, given that
it is unlikely to be testing anything meaningful for a CPU-only build,
just mark it as requiring GPU.
Fixes #100780
Signed-off-by: Michał Górny <mgorny at gentoo.org>
Commit: f270256b4393bd2406a503f1fa5d7a8f9a51f91b
https://github.com/llvm/llvm-project/commit/f270256b4393bd2406a503f1fa5d7a8f9a51f91b
Author: Thurston Dang <thurston at google.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TileShapeInfo.h
M llvm/lib/Target/X86/X86TileConfig.cpp
Log Message:
-----------
[X86] Avoid assertion failure with implicit immediates for AMX tile dimensions (#174128)
https://github.com/llvm/llvm-project/pull/165556 removed support for
implicit immediates in
`llvm/include/llvm/CodeGen/TileShapeInfo.h/.cpp`. Although implicit
immediates are generally not valid tile dimensions, it is undesirable to
have assertion failures in syntactically valid code; moreover, implicit
immediates (especially zero) are commonly encountered when reducing test
cases.
This patch restores the support for implicit immediates.
Fixes: https://github.com/llvm/llvm-project/issues/174127
Commit: f985e1a113ab95639665be44cf466fa37e45c62f
https://github.com/llvm/llvm-project/commit/f985e1a113ab95639665be44cf466fa37e45c62f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/copyable-non-inst-in-stores.ll
Log Message:
-----------
[SLP]Better copyable vectorization for stores with non-instructions (#174249)
Commit: 108a22ed5fa1836b4cfcd05e9d96f98a533068d5
https://github.com/llvm/llvm-project/commit/108a22ed5fa1836b4cfcd05e9d96f98a533068d5
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass.ll
Log Message:
-----------
Revert "ValueTracking: Improve handling of fadd in computeKnownFPClass." (#174290)
Reverts llvm/llvm-project#174123
This caused test failures within LLVM libc. They can be reproduced by
doing a libc build against a clang with this commit included and running
`ninja -k 0 libc.test.src.math.smoke.log1p_test.__unit__
libc.test.src.math.smoke.log1p_test.__unit__.__NO_FMA_OPT`.
Commit: 3f5ee8aa76e7b97847d70c3b97117f3b6057bcd3
https://github.com/llvm/llvm-project/commit/3f5ee8aa76e7b97847d70c3b97117f3b6057bcd3
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
Log Message:
-----------
[VPlan] Handle VPInstruction::Not in getSCEVExprForVPValue (NFC).
https://alive2.llvm.org/ce/z/jpLaJX
Commit: d22ba4e5f0934f4dbbd6228f700bef65d3e4a699
https://github.com/llvm/llvm-project/commit/d22ba4e5f0934f4dbbd6228f700bef65d3e4a699
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
R llvm/test/Verifier/tokenlike1-without-asserts.ll
A llvm/test/Verifier/tokenlike1.ll
Log Message:
-----------
[Verifier] Rename test
This test has nothing to do with/without assertions after
0aa519b1ea89ec50c154cd89915f70573f1a1244.
Commit: 715716f15395b47bc1b895264607095263ba6e69
https://github.com/llvm/llvm-project/commit/715716f15395b47bc1b895264607095263ba6e69
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
[SimplifyCFG] Use nullptr instead of 0 in a comment. NFC (#174262)
Commit: 610aeb668b6a07806d77884f05df54d4288ede00
https://github.com/llvm/llvm-project/commit/610aeb668b6a07806d77884f05df54d4288ede00
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
M llvm/lib/Target/X86/X86PassRegistry.def
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/test/CodeGen/X86/avoid-sfb-g-no-change.mir
M llvm/test/CodeGen/X86/avoid-sfb-g-no-change2.mir
M llvm/test/CodeGen/X86/avoid-sfb-g-no-change3.mir
M llvm/test/CodeGen/X86/avoid-sfb-kill-flags.mir
M llvm/test/CodeGen/X86/avoid-sfb-offset.mir
Log Message:
-----------
[X86][NewPM] Port x86-avoid-sfb to the New Pass Manager (#174166)
Similar refactoring, wire up, and test adjustments to other X86 pass
ports.
Commit: ce69dd3b1fa1272069f869875ffb155996d7dcee
https://github.com/llvm/llvm-project/commit/ce69dd3b1fa1272069f869875ffb155996d7dcee
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/cuf23.cuf
Log Message:
-----------
[flang][cuda] Fix false positive in host intrinsic with device var (#174300)
#174025 was too strict and make couple of downstream testing fail. Relax
the check to skip allowed intrinsics.
Commit: 5ef3456e0af541b67cbb810e26f4f2be779808e1
https://github.com/llvm/llvm-project/commit/5ef3456e0af541b67cbb810e26f4f2be779808e1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rv32p.ll
Log Message:
-----------
[RISCV] Support i32 SSHLAT for rv32ip. (#173687)
The rv32ip ssha instruction treats the lower byte of rs2 as a signed shift
amount. If the byte is positive, it is a saturating shift left. If the
byte is negative, it is an arithmetic shift right.
Because out of bounds shift amounts are poison in LLVM semantics, we
can assume the shift amount is a positive number and use ssha to
implement sshlsat.
Commit: fac9472593fa6d0fbc44cdcb49b59a01252d815e
https://github.com/llvm/llvm-project/commit/fac9472593fa6d0fbc44cdcb49b59a01252d815e
Author: Mingjie Xu <xumingjie.enna1 at bytedance.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M clang/test/Headers/__clang_hip_math.hip
M llvm/include/llvm/IR/Instructions.h
M llvm/lib/IR/Instructions.cpp
M llvm/lib/SandboxIR/Tracker.cpp
M llvm/test/CodeGen/WinEH/wineh-no-demotion.ll
M llvm/test/Examples/IRTransforms/SimplifyCFG/tut-simplify-cfg5-del-phis-for-dead-block.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-base.ll
M llvm/test/Transforms/Coroutines/coro-catchswitch.ll
M llvm/test/Transforms/DFAJumpThreading/dfa-jump-threading-transform.ll
M llvm/test/Transforms/DFAJumpThreading/dfa-unfold-select.ll
M llvm/test/Transforms/DFAJumpThreading/equivalent-states.ll
M llvm/test/Transforms/IndVarSimplify/eliminate-backedge.ll
M llvm/test/Transforms/Inline/inline_invoke.ll
M llvm/test/Transforms/JumpThreading/ddt-crash.ll
M llvm/test/Transforms/JumpThreading/fold-not-thread.ll
M llvm/test/Transforms/JumpThreading/invalidate-lvi.ll
M llvm/test/Transforms/LoopSimplifyCFG/phi_with_duplicating_inputs.ll
M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling-multi-exit.ll
M llvm/test/Transforms/LoopUnroll/AArch64/unrolling-multi-exit.ll
M llvm/test/Transforms/LoopUnroll/full-unroll-one-unpredictable-exit.ll
M llvm/test/Transforms/LoopUnroll/partial-unroll-non-latch-exit.ll
M llvm/test/Transforms/LoopUnroll/peel-loop.ll
M llvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
M llvm/test/Transforms/LoopUnroll/scevunroll.ll
M llvm/test/Transforms/LoopUnroll/unroll-header-exiting-with-phis-multiple-exiting-blocks.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/trip-count-expansion-may-introduce-ub.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/LowerSwitch/2014-06-23-PHIlowering.ll
M llvm/test/Transforms/LowerSwitch/do-not-handle-impossible-values.ll
M llvm/test/Transforms/MergeICmps/X86/alias-merge-blocks.ll
M llvm/test/Transforms/MergeICmps/X86/entry-block-shuffled-2.ll
M llvm/test/Transforms/MergeICmps/X86/entry-block-shuffled.ll
M llvm/test/Transforms/MergeICmps/X86/pr59740.ll
M llvm/test/Transforms/PGOProfile/chr.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
M llvm/test/Transforms/PhaseOrdering/switch-sext.ll
M llvm/test/Transforms/SimpleLoopUnswitch/inject-invariant-conditions.ll
M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch-freeze.ll
M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch.ll
M llvm/test/Transforms/SimplifyCFG/EqualPHIEdgeBlockMerge.ll
M llvm/test/Transforms/SimplifyCFG/ForwardSwitchConditionToPHI.ll
M llvm/test/Transforms/SimplifyCFG/Hexagon/switch-to-lookup-table.ll
M llvm/test/Transforms/SimplifyCFG/HoistCode.ll
M llvm/test/Transforms/SimplifyCFG/RISCV/switch-of-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
M llvm/test/Transforms/SimplifyCFG/X86/debugloc-switch-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/X86/empty-cleanuppad.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-of-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-gep.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-globals.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table_big.ll
M llvm/test/Transforms/SimplifyCFG/avoid-complex-phi.ll
M llvm/test/Transforms/SimplifyCFG/branch-fold-threshold.ll
M llvm/test/Transforms/SimplifyCFG/branch-fold.ll
M llvm/test/Transforms/SimplifyCFG/merge-phis-in-switch.ll
M llvm/test/Transforms/SimplifyCFG/multiple-phis.ll
M llvm/test/Transforms/SimplifyCFG/rangereduce.ll
M llvm/test/Transforms/SimplifyCFG/switch-dup-bbs.ll
M llvm/test/Transforms/SimplifyCFG/switch-on-const.ll
M llvm/test/Transforms/SimplifyCFG/switch-simplify-crash2.ll
M llvm/test/Transforms/SimplifyCFG/switch-to-select-two-case.ll
M llvm/test/Transforms/SimplifyCFG/switch-transformations-no-lut.ll
M llvm/test/Transforms/SimplifyCFG/switch_create-custom-dl.ll
M llvm/test/Transforms/SimplifyCFG/switch_create.ll
M llvm/test/Transforms/Util/lowerswitch.ll
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[IR] Reland Optimize PHINode::removeIncomingValue() and PHINode::removeIncomingValueIf() to use the swapping strategy. (#174274)
Reland #171963, #172639 and #173444, they are reverted in
86b9f90b9574b3a7d15d28a91f6316459dcfa046 because of introducing
non-determinism in compiles.
The non-determinism has been fixed in
9b8addffa70cee5b2acc5454712d9cf78ce45710.
Commit: c97de4387b076176d3dbd428229a03b8909941af
https://github.com/llvm/llvm-project/commit/c97de4387b076176d3dbd428229a03b8909941af
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-wmma-w32-param.cl
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
R llvm/test/Bitcode/amdgpu-wmma-iu8-clamp-upgrade.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imm.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imod.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/wmma-coececution-valu-hazards.mir
M llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx1250-w32.mir
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32.s
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_wmma_w32.txt
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
Revert "[AMDGPU] add clamp immediate operand to WMMA iu8 intrinsic (#171069)" (#174303)
This reverts commit 2c376ffeca490a5732e4fd6e98e5351fcf6d692a because it
breaks assembler.
```
$ llvm-mc -triple=amdgcn -mcpu=gfx1250 -show-encoding <<< "v_wmma_i32_16x16x64_iu8 v[16:23], v[0:7], v[8:15], v[16:23] matrix_b_reuse"
v_wmma_i32_16x16x64_iu8 v[16:23], v[0:7], v[8:15], v[16:23] clamp ; encoding: [0x10,0x80,0x72,0xcc,0x00,0x11,0x42,0x1c]
```
We have a fundamental issue in the clamp support in VOP3P instructions,
which will need more changes.
Commit: bac39f833aed47085be9fdd8026a069d3ee7bb59
https://github.com/llvm/llvm-project/commit/bac39f833aed47085be9fdd8026a069d3ee7bb59
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/rv32p.ll
M llvm/test/CodeGen/RISCV/rv64p.ll
Log Message:
-----------
[RISCV] Add +zbb to scalar P extension tests. NFC
It's likely P will end up being dependent on Zbb and this improves
generated code.
Commit: 11d9694b757b2e2c9f5169967fcc85f25f9a5645
https://github.com/llvm/llvm-project/commit/11d9694b757b2e2c9f5169967fcc85f25f9a5645
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M flang/docs/OpenMPSupport.md
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/simd-linear.f90
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[flang][mlir] Add support for implicit linearization in omp.simd (#150386)
Up till OpenMP version 4.5, the loop iteration variable in the
associated do-construct of simd is linear with a linear step equal to
the increment of the loop. This PR implements this functionality. For
versions > 4.5, such an implicit linear clause is not assumed for the
loop iteration variable.
Fixes https://github.com/llvm/llvm-project/issues/171006
Commit: 7fa36e67431fafe461d5f3724d07b7f40fbe6174
https://github.com/llvm/llvm-project/commit/7fa36e67431fafe461d5f3724d07b7f40fbe6174
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-03 (Sat, 03 Jan 2026)
Changed paths:
M llvm/test/CodeGen/SPIRV/ga-interp-func-interp.ll
M llvm/test/CodeGen/SPIRV/ga-interp-func-noninterp.ll
M llvm/test/CodeGen/SPIRV/ga-inttoptr.ll
M llvm/test/CodeGen/SPIRV/ga-noninterp-func-interp.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UniqueImplicitBindingNumber.ll
Log Message:
-----------
[LLVM] Make crashing tests with not use --crash
This makes them compliant with the behavior from prior to the internal
shell. A future PR will fix the behavior with the internal shell so that
it behaves properly.
Reviewers: nikic, petrhosek, arichardson, ilovepi
Pull Request: https://github.com/llvm/llvm-project/pull/174297
Commit: 60bf38180bb94397907f45ae00fc21082a5704ca
https://github.com/llvm/llvm-project/commit/60bf38180bb94397907f45ae00fc21082a5704ca
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M libcxx/include/fstream
M libcxx/include/sstream
M libcxx/include/strstream
M libcxx/include/syncstream
A libcxx/test/libcxx/depr/depr.strstream/nodiscard.verify.cpp
A libcxx/test/libcxx/input.output/file.streams/fstreams/nodiscard.verify.cpp
A libcxx/test/libcxx/input.output/string.streams/nodiscard.verify.cpp
A libcxx/test/libcxx/input.output/synchstream/nodiscard.verify.cpp
Log Message:
-----------
[libc++] Applied `[[nodiscard]]` to `<fstream>`, `<sstream>`, `<strstream>`, `<synchstream>` (#173842)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/input.output
Towards #172124
Commit: 2528224ab93ad3e4021a899ecaa3c84bb96a1871
https://github.com/llvm/llvm-project/commit/2528224ab93ad3e4021a899ecaa3c84bb96a1871
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M .gitignore
Log Message:
-----------
[.gitignore] Ignore .clangd config file (#174287)
If anyone wants to use a custom `.clangd` config in the repo, they will
need to manually "git ignore it". Since clangd is a popular tool and
`.clangd` config is usually set up per-person, it's beneficial to add it
to gitignore.
As a matter of fact, I wanted to enable diagnostics from all clang-tidy
checks in IDE, with such config:
```
Diagnostics:
ClangTidy:
FastCheckFilter: None
```
(By default, clangd will skip some "expensive" checks like
const-correctness)
Commit: 22390cd7410f093528b95141d1d4d93ccf3573d9
https://github.com/llvm/llvm-project/commit/22390cd7410f093528b95141d1d4d93ccf3573d9
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/typeid.cpp
Log Message:
-----------
Revert "[clang][bytecode] Check if block is initialized before invoking destructor (#174082)"
This reverts commit 7976ac990000a58a7474269a3ca95e16aed8c35b.
This is causing msan failures. msan-track-origins stack trace:
==9441==WARNING: MemorySanitizer: use-of-uninitialized-value
#0 0x55c20df74ad3 in clang::interp::Pointer::operator=(clang::interp::Pointer&&) llvm-project/clang/lib/AST/ByteCode/Pointer.cpp:137:7
#1 0x55c20db81010 in bool clang::interp::InitGlobal<(clang::interp::PrimType)13, clang::interp::Pointer>(clang::interp::InterpState&, clang::interp::CodePtr, unsigned int) llvm-project/clang/lib/AST/ByteCode/Interp.h:1478:16
#2 0x55c20db7ec56 in emitInitGlobalPtr blaze-out/k8-fastbuild-msan/bin/llvm-project/clang/_virtual_includes/ast_bytecode_opcodes_gen/Opcodes.inc:26162:10
#3 0x55c20db7ec56 in clang::interp::EvalEmitter::emitInitGlobal(clang::interp::PrimType, unsigned int, clang::interp::SourceInfo) blaze-out/k8-fastbuild-msan/bin/llvm-project/clang/_virtual_includes/ast_bytecode_opcodes_gen/Opcodes.inc:26042:12
#4 0x55c20da58b87 in clang::interp::Compiler<clang::interp::EvalEmitter>::visitVarDecl(clang::VarDecl const*, clang::Expr const*, bool, bool) llvm-project/clang/lib/AST/ByteCode/Compiler.cpp:4924:20
#5 0x55c20da64a61 in clang::interp::Compiler<clang::interp::EvalEmitter>::visitDeclAndReturn(clang::VarDecl const*, clang::Expr const*, bool) llvm-project/clang/lib/AST/ByteCode/Compiler.cpp:4831:14
#6 0x55c20da7f290 in clang::interp::EvalEmitter::interpretDecl(clang::VarDecl const*, clang::Expr const*, bool) llvm-project/clang/lib/AST/ByteCode/EvalEmitter.cpp:66:14
#7 0x55c20d970d23 in clang::interp::Context::evaluateAsInitializer(clang::interp::State&, clang::VarDecl const*, clang::Expr const*, clang::APValue&) llvm-project/clang/lib/AST/ByteCode/Context.cpp:141:16
#8 0x55c20e25b8de in clang::Expr::EvaluateAsInitializer(clang::APValue&, clang::ASTContext const&, clang::VarDecl const*, llvm::SmallVectorImpl<std::__msan::pair<clang::SourceLocation, clang::PartialDiagnostic>>&, bool) const llvm-project/clang/lib/AST/ExprConstant.cpp:20754:20
#9 0x55c20da368d5 in clang::interp::Compiler<clang::interp::EvalEmitter>::visitDeclRef(clang::ValueDecl const*, clang::Expr const*) llvm-project/clang/lib/AST/ByteCode/Compiler.cpp:7162:19
#10 0x55c20da34986 in clang::interp::Compiler<clang::interp::EvalEmitter>::VisitDeclRefExpr(clang::DeclRefExpr const*) llvm-project/clang/lib/AST/ByteCode/Compiler.cpp:7192:16
#11 0x55c20da66666 in clang::StmtVisitorBase<llvm::make_const_ptr, clang::interp::Compiler<clang::interp::EvalEmitter>, bool>::Visit(clang::Stmt const*) blaze-out/k8-fastbuild-msan/bin/llvm-project/clang/include/clang/AST/StmtNodes.inc:474:1
#12 0x55c20da65d3f in clang::interp::Compiler<clang::interp::EvalEmitter>::visit(clang::Expr const*) llvm-project/clang/lib/AST/ByteCode/Compiler.cpp:4293:16
#13 0x55c20da57348 in clang::interp::Compiler<clang::interp::EvalEmitter>::VisitCXXTypeidExpr(clang::CXXTypeidExpr const*) llvm-project/clang/lib/AST/ByteCode/Compiler.cpp:3893:14
#14 0x55c20da66760 in clang::StmtVisitorBase<llvm::make_const_ptr, clang::interp::Compiler<clang::interp::EvalEmitter>, bool>::Visit(clang::Stmt const*) blaze-out/k8-fastbuild-msan/bin/llvm-project/clang/include/clang/AST/StmtNodes.inc:658:1
#15 0x55c20da65d3f in clang::interp::Compiler<clang::interp::EvalEmitter>::visit(clang::Expr const*) llvm-project/clang/lib/AST/ByteCode/Compiler.cpp:4293:16
#16 0x55c20da58afc in clang::interp::Compiler<clang::interp::EvalEmitter>::visitVarDecl(clang::VarDecl const*, clang::Expr const*, bool, bool) llvm-project/clang/lib/AST/ByteCode/Compiler.cpp:4921:18
#17 0x55c20da64a61 in clang::interp::Compiler<clang::interp::EvalEmitter>::visitDeclAndReturn(clang::VarDecl const*, clang::Expr const*, bool) llvm-project/clang/lib/AST/ByteCode/Compiler.cpp:4831:14
#18 0x55c20da7f290 in clang::interp::EvalEmitter::interpretDecl(clang::VarDecl const*, clang::Expr const*, bool) llvm-project/clang/lib/AST/ByteCode/EvalEmitter.cpp:66:14
#19 0x55c20d970d23 in clang::interp::Context::evaluateAsInitializer(clang::interp::State&, clang::VarDecl const*, clang::Expr const*, clang::APValue&) llvm-project/clang/lib/AST/ByteCode/Context.cpp:141:16
#20 0x55c20e25b8de in clang::Expr::EvaluateAsInitializer(clang::APValue&, clang::ASTContext const&, clang::VarDecl const*, llvm::SmallVectorImpl<std::__msan::pair<clang::SourceLocation, clang::PartialDiagnostic>>&, bool) const llvm-project/clang/lib/AST/ExprConstant.cpp:20754:20
#21 0x55c20dfdcc38 in clang::VarDecl::evaluateValueImpl(llvm::SmallVectorImpl<std::__msan::pair<clang::SourceLocation, clang::PartialDiagnostic>>&, bool) const llvm-project/clang/lib/AST/Decl.cpp:2608:23
#22 0x55c20dfdd1a2 in clang::VarDecl::checkForConstantInitialization(llvm::SmallVectorImpl<std::__msan::pair<clang::SourceLocation, clang::PartialDiagnostic>>&) const llvm-project/clang/lib/AST/Decl.cpp:2687:7
#23 0x55c20b9154da in clang::Sema::CheckCompleteVariableDeclaration(clang::VarDecl*) llvm-project/clang/lib/Sema/SemaDecl.cpp:14941:27
#24 0x55c20b910f36 in clang::Sema::AddInitializerToDecl(clang::Decl*, clang::Expr*, bool) llvm-project/clang/lib/Sema/SemaDecl.cpp:14280:3
#25 0x55c20ad044ee in clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) llvm-project/clang/lib/Parse/ParseDecl.cpp:2639:17
#26 0x55c20acfe9f8 in clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) llvm-project/clang/lib/Parse/ParseDecl.cpp:2356:7
#27 0x55c20abd8a43 in clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) llvm-project/clang/lib/Parse/Parser.cpp:1181:10
#28 0x55c20abd7654 in clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) llvm-project/clang/lib/Parse/Parser.cpp:1203:12
#29 0x55c20abd4d9c in clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) llvm-project/clang/lib/Parse/Parser.cpp:1031:14
#30 0x55c20ac96f31 in clang::Parser::ParseInnerNamespace(llvm::SmallVector<clang::Parser::InnerNamespaceInfo, 4u> const&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:240:7
#31 0x55c20ac950c7 in clang::Parser::ParseNamespace(clang::DeclaratorContext, clang::SourceLocation&, clang::SourceLocation) llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:218:3
#32 0x55c20acfb09b in clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) llvm-project/clang/lib/Parse/ParseDecl.cpp:1909:12
#33 0x55c20abd3f88 in clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) llvm-project/clang/lib/Parse/Parser.cpp
#34 0x55c20abcfe33 in clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) llvm-project/clang/lib/Parse/Parser.cpp:744:12
#35 0x55c20abb214e in clang::ParseAST(clang::Sema&, bool, bool) llvm-project/clang/lib/Parse/ParseAST.cpp:170:20
#36 0x55c20a90adaa in clang::ASTFrontendAction::ExecuteAction() llvm-project/clang/lib/Frontend/FrontendAction.cpp:1432:3
#37 0x55c20a9095bf in clang::FrontendAction::Execute() llvm-project/clang/lib/Frontend/FrontendAction.cpp:1312:3
#38 0x55c20a76cdc7 in clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) llvm-project/clang/lib/Frontend/CompilerInstance.cpp:1004:33
#39 0x55c20805aab0 in clang::ExecuteCompilerInvocation(clang::CompilerInstance*) llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:310:25
#40 0x55c20802e823 in cc1_main(llvm::ArrayRef<char const*>, char const*, void*) llvm-project/clang/tools/driver/cc1_main.cpp:304:15
#41 0x55c2080218ec in ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>) llvm-project/clang/tools/driver/driver.cpp:225:12
#42 0x55c20801ea91 in clang_main(int, char**, llvm::ToolContext const&) llvm-project/clang/tools/driver/driver.cpp:268:12
#43 0x55c20801a6af in main blaze-out/k8-fastbuild-msan/bin/llvm-project/clang/clang-driver.cpp:17:10
#44 0x7f79c4214351 in __libc_start_main (/usr/libc/lib64/libc.so.6+0x61351) (BuildId: ca23ec6d935352118622ce674a8bb52d)
#45 0x55c207f8c2e9 in _start /usr/libc/debug-src/src/csu/../sysdeps/x86_64/start.S:120
Member fields were destroyed
#0 0x55c207f9f5fd in __sanitizer_dtor_callback_fields llvm-project/compiler-rt/lib/msan/msan_interceptors.cpp:1074:5
#1 0x55c20df74380 in ~Pointer llvm-project/clang/lib/AST/ByteCode/Pointer.h:826:12
#2 0x55c20df74380 in clang::interp::Pointer::~Pointer() llvm-project/clang/lib/AST/ByteCode/Pointer.cpp:93:1
#3 0x55c20da7c5ab in void dtorTy<clang::interp::Pointer>(clang::interp::Block*, std::byte*, clang::interp::Descriptor const*) llvm-project/clang/lib/AST/ByteCode/Descriptor.cpp:49:32
#4 0x55c20d976b91 in clang::interp::Block::invokeDtor() llvm-project/clang/lib/AST/ByteCode/InterpBlock.h:149:7
#5 0x55c20da651a1 in clang::interp::Compiler<clang::interp::EvalEmitter>::visitDeclAndReturn(clang::VarDecl const*, clang::Expr const*, bool) llvm-project/clang/lib/AST/ByteCode/Compiler.cpp:4869:22
#6 0x55c20da7f290 in clang::interp::EvalEmitter::interpretDecl(clang::VarDecl const*, clang::Expr const*, bool) llvm-project/clang/lib/AST/ByteCode/EvalEmitter.cpp:66:14
#7 0x55c20d970d23 in clang::interp::Context::evaluateAsInitializer(clang::interp::State&, clang::VarDecl const*, clang::Expr const*, clang::APValue&) llvm-project/clang/lib/AST/ByteCode/Context.cpp:141:16
#8 0x55c20e25b8de in clang::Expr::EvaluateAsInitializer(clang::APValue&, clang::ASTContext const&, clang::VarDecl const*, llvm::SmallVectorImpl<std::__msan::pair<clang::SourceLocation, clang::PartialDiagnostic>>&, bool) const llvm-project/clang/lib/AST/ExprConstant.cpp:20754:20
#9 0x55c20dfdcc38 in clang::VarDecl::evaluateValueImpl(llvm::SmallVectorImpl<std::__msan::pair<clang::SourceLocation, clang::PartialDiagnostic>>&, bool) const llvm-project/clang/lib/AST/Decl.cpp:2608:23
#10 0x55c20dfdd1a2 in clang::VarDecl::checkForConstantInitialization(llvm::SmallVectorImpl<std::__msan::pair<clang::SourceLocation, clang::PartialDiagnostic>>&) const llvm-project/clang/lib/AST/Decl.cpp:2687:7
#11 0x55c20b9154da in clang::Sema::CheckCompleteVariableDeclaration(clang::VarDecl*) llvm-project/clang/lib/Sema/SemaDecl.cpp:14941:27
#12 0x55c20b910f36 in clang::Sema::AddInitializerToDecl(clang::Decl*, clang::Expr*, bool) llvm-project/clang/lib/Sema/SemaDecl.cpp:14280:3
#13 0x55c20ad044ee in clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) llvm-project/clang/lib/Parse/ParseDecl.cpp:2639:17
#14 0x55c20acfe9f8 in clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) llvm-project/clang/lib/Parse/ParseDecl.cpp:2356:7
#15 0x55c20abd8a43 in clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) llvm-project/clang/lib/Parse/Parser.cpp:1181:10
#16 0x55c20abd7654 in clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) llvm-project/clang/lib/Parse/Parser.cpp:1203:12
#17 0x55c20abd4d9c in clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) llvm-project/clang/lib/Parse/Parser.cpp:1031:14
#18 0x55c20ac96f31 in clang::Parser::ParseInnerNamespace(llvm::SmallVector<clang::Parser::InnerNamespaceInfo, 4u> const&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:240:7
#19 0x55c20ac950c7 in clang::Parser::ParseNamespace(clang::DeclaratorContext, clang::SourceLocation&, clang::SourceLocation) llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:218:3
#20 0x55c20acfb09b in clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) llvm-project/clang/lib/Parse/ParseDecl.cpp:1909:12
Commit: 653ce99360114c9626279390ae6a62a612beaecd
https://github.com/llvm/llvm-project/commit/653ce99360114c9626279390ae6a62a612beaecd
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86PassRegistry.def
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/test/CodeGen/X86/evex-to-vex-compress.mir
Log Message:
-----------
[X86][NewPM] Port x86-compress-evex (#174312)
Similar to other ports. This one ends up being simpler as we do not need
an implemntation class as all of the logic is implemented as static
functions.
Commit: 55367f2238522bff642a73730d43332d7bae30ed
https://github.com/llvm/llvm-project/commit/55367f2238522bff642a73730d43332d7bae30ed
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.h
Log Message:
-----------
[clang-tidy][NFC] Simplify 'utils::lexer::findNextTokenSkippingComments' (#174295)
Will later refactor checks to use
`findNextTokenSkippingComments`/`findNextTokenIncludingComments` because
the 4th argument of `Lexer::findNextToken` is pain to remember every
time (moreover it has default value of skipping comments that is also
hard to remember).
The cool part is that in the 22nd release (which will happen in a few
weeks) we will be able to use `CustomQueryChecks` and I think we can
prohibit usage of `Lexer::findNextToken` in favor of "safer api"
alternatives
---------
Co-authored-by: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Commit: a6d2f24176165eaf290c7d781cb4ab95e06c9c1d
https://github.com/llvm/llvm-project/commit/a6d2f24176165eaf290c7d781cb4ab95e06c9c1d
Author: SahilPatidar <sahilpatidar60 at gmail.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/LibraryResolver.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/LibraryScanner.h
M llvm/lib/ExecutionEngine/Orc/TargetProcess/LibraryResolver.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/LibraryScanner.cpp
M llvm/unittests/ExecutionEngine/Orc/LibraryResolverTest.cpp
Log Message:
-----------
[Orc][LibResolver] Refactor resolver internals and simplify symbol resolution. (#169161)
- Replace getLibraries() with cursor-based iteration.
- Simplify search logic and handle new libraries during scanning.
- Make symbol resolution faster with single enumeration and early exit.
Commit: b6d6e9113f27eb5b8c14b688bb1ba0744227bc99
https://github.com/llvm/llvm-project/commit/b6d6e9113f27eb5b8c14b688bb1ba0744227bc99
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86CmovConversion.cpp
M llvm/lib/Target/X86/X86PassRegistry.def
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/test/DebugInfo/MIR/InstrRef/x86-cmov-converter.mir
Log Message:
-----------
[X86][NewPM] Port x86-cmov-conversion to NewPM (#174311)
Standard port. Refactor into an implementation class, call it from the
legacy and new PMs, and add test coverage.
Commit: 1f14ed948d5c5f7d47e37294ad2568ddb90730c0
https://github.com/llvm/llvm-project/commit/1f14ed948d5c5f7d47e37294ad2568ddb90730c0
Author: Wenju He <wenju.he at intel.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/CodeGenOpenCL/builtin-store-half-rounding-constrained.cl
Log Message:
-----------
[Clang] Honor '#pragma STDC FENV_ROUND' in __builtin_store_half/halff (#173821)
Before this change, constrained fptrunc for __builtin_store_half/halff
always used round.tonearest, ignoring the active pragma STDC FENV_ROUND.
This PR guards builtin emission with CGFPOptionsRAII so the current
rounding mode is propagated to the generated constrained intrinsic.
Commit: 77be03dbdfc397ee408fc68ef4ab44f13f244666
https://github.com/llvm/llvm-project/commit/77be03dbdfc397ee408fc68ef4ab44f13f244666
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86DomainReassignment.cpp
M llvm/lib/Target/X86/X86PassRegistry.def
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/test/CodeGen/X86/apx/domain-reassignment.mir
M llvm/test/CodeGen/X86/domain-reassignment.mir
Log Message:
-----------
[X86][NewPM] Port x86-domain-reassignment (#174321)
Standard porting. Rename the old pass, add in the new one, and add test
coverage.
Commit: a9fee3127a6159ec6ca3ba1c7d1c329322985e20
https://github.com/llvm/llvm-project/commit/a9fee3127a6159ec6ca3ba1c7d1c329322985e20
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
A llvm/test/CodeGen/AArch64/pr161289.ll
Log Message:
-----------
[SDAG] Avoid crash when creating debug fragments for scalable vectors (#165233)
Previously, we would crash in the SelectionDAGBuilder when attempting to
create debug fragments for scalable vectors split across multiple
registers.
It does not seem like DW_OP_LLVM_fragment supports any notion of
scalable type sizes. It takes both an offset and typesize as literals,
with no indication of scalability (and it also does not seem to be
considered in any of the places that handle DW_OP_LLVM_fragment). So the
workaround here is to drop the debug info.
Note: This is not usually an issue for IR that comes from the SVE ACLE,
as we generally stick to using legal types there (that don't end up
getting split).
Workaround for: #161289
Commit: 7ada89276fd0492a06b02f345f76f43efb588806
https://github.com/llvm/llvm-project/commit/7ada89276fd0492a06b02f345f76f43efb588806
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pr162812.ll
Log Message:
-----------
[X86] LowerShift - if a vXi8 shift amount is small enough skip additional incremental shift stages (#174207)
We expand vXi8 shifts into shift-by-4/2/1 stages and use the shift
amount MSBs to select when to apply each stage.
However, to move the 3-bit shift amount MSBs into position we first
shift up by 5 using PSLLW (no need for a mask), and then use PADDB for
each additional stage increment (PADDBW being quicker than PSLLW on many
targets).
The problem however is when an earlier stage is completely unused - the
PADDBs can't be easily merged back into the PSLLW resulting in a costly
set of dependent instructions.
This patch uses computeKnownBits to determine the upper bound of the
shift amount (via count leading zeros), and adds these into the initial
PSLLW shift, and skips the empty stages entirely.
Fixes #162812
Commit: 2eeb3e10656f4b236c252e6135261f95cf69ce2e
https://github.com/llvm/llvm-project/commit/2eeb3e10656f4b236c252e6135261f95cf69ce2e
Author: Thibault Monnier <97551402+Thibault-Monnier at users.noreply.github.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
Log Message:
-----------
[NFC][CIR] Fix unused variable warning (#174246)
This fixes the clang warning when compiling with CIR enabled and
assertions ignored:
```cpp
llvm-project/clang/lib/CIR/CodeGen/CIRGenTypes.cpp:713:19: warning: variable 'ed' set but not used [-Wunused-but-set-variable]
713 | if (const auto *ed = dyn_cast<EnumDecl>(td)) {
| ^
```
Commit: 2eb8ee137f28e46a1711a28b6575083dafba7c8e
https://github.com/llvm/llvm-project/commit/2eb8ee137f28e46a1711a28b6575083dafba7c8e
Author: willmafh <willmafh at hotmail.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/Analysis/stack-capture-leak-no-arc.mm
M libcxxabi/src/cxa_exception.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.td
M llvm/test/Transforms/CodeGenPrepare/Mips/pr35209.ll
Log Message:
-----------
[NFC] Delete unnecessary apostrophe at the end of its (#173974)
Commit: 4d66cccffe179d0d2bbec833ace041349cf872a4
https://github.com/llvm/llvm-project/commit/4d66cccffe179d0d2bbec833ace041349cf872a4
Author: Sebastian Neubauer <flakebi at t-online.de>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
A llvm/test/Transforms/MergeFunc/merge-calling-conv.ll
Log Message:
-----------
[MergeFunc] Do not merge kernel functions (#174254)
Kernels cannot be called, so we cannot introduce calls to them in
MergeFunctions.
The test uses a `--implicit-check-not=call` to make sure that only the
function with C calling convention gets merged.
Fixes #39579. Fixes #173355.
Commit: 188507e54218c91832714fc50b24bd2fc2fd9383
https://github.com/llvm/llvm-project/commit/188507e54218c91832714fc50b24bd2fc2fd9383
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Inline createFindLastIVReduction into its only caller. (NFC)
createFindLastIVReduction is only used for generating code for
ComputeFindIVResult. Inline the code there, in preparation for
https://github.com/llvm/llvm-project/pull/172569.
Commit: c03b6f3d2ac4989899538addbf23714e1992af26
https://github.com/llvm/llvm-project/commit/c03b6f3d2ac4989899538addbf23714e1992af26
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass.ll
Log Message:
-----------
Partially reapply "ValueTracking: Improve handling of fadd in computeKnownFPClass." (#174290) (#174332)
This partially reverts commit 108a22ed5fa1836b4cfcd05e9d96f98a533068d5.
Restore the sign-bit tracking for both inputs known-negative case,
and leave the 0 handling for later. There is a libc test improperly
relying on running code compiled for IEEE behavior that changed
the output denormal mode.
Commit: 2ea6c186b29ad483f68e49fef59d0798e15c581d
https://github.com/llvm/llvm-project/commit/2ea6c186b29ad483f68e49fef59d0798e15c581d
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.h
Log Message:
-----------
[CIR][NFC] Fix incorrect function names in assert messages (#174334)
Commit: a2f31396a1749f4b164e33ade9589c8574e230b3
https://github.com/llvm/llvm-project/commit/a2f31396a1749f4b164e33ade9589c8574e230b3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/CodeGen/CommandFlags.cpp
Log Message:
-----------
CodeGen: Remove denormal mode from TargetOptions (#174285)
This doesn't appear to be used anywhere, and is a
per-function property.
Commit: 19a1c407f981b080102f387526e9ede61fb79e77
https://github.com/llvm/llvm-project/commit/19a1c407f981b080102f387526e9ede61fb79e77
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-pcmp.ll
M llvm/test/CodeGen/X86/vector-smax-range.ll
M llvm/test/CodeGen/X86/vector-smin-range.ll
M llvm/test/CodeGen/X86/vector-umax-range.ll
M llvm/test/CodeGen/X86/vector-umin-range.ll
Log Message:
-----------
[X86] LowerMINMAX - use valuetracking to attempt to find a smaller type that can efficiently lower min/max ops (#174294)
We currently use the generic expansions to custom lower integer min/max
instructions, but if we have sufficient leading bits, SSE/AVX is always
better off handling it directly with smaller types.
vXi64 cmp/min/max is particularly weak, and as we narrow the types the
better legality we have - this approach seems to work well for x86, but
I'm not sure if its valid enough to try generically in this manner.
However, I added the signed/unsigned generic flip fold to
expandIntMINMAX to further improve SSE2 codegen, similar to what we
already attempt in DAGCombiner (which with a bit more work we might be
able to remove now).
All thats missing is better ComputeNumSignBits handling for vXi64 ashr
expansion, which still misses a lot of cases when split across vXi32
types and shuffles.
Fixes #174169
Commit: 76b00fc75e942ca1554809288d68f63fac0382eb
https://github.com/llvm/llvm-project/commit/76b00fc75e942ca1554809288d68f63fac0382eb
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/cuf23.cuf
Log Message:
-----------
[flang][cuda] Skip sizeof intrinsic in check (#174339)
#174025 introduced a new semantic check for host intrinsic with device
variable.`sizeof` intrinsic extension should be skipped for this check.
Commit: bd784b62223aa98d20b0ba8eccc9df9377b79388
https://github.com/llvm/llvm-project/commit/bd784b62223aa98d20b0ba8eccc9df9377b79388
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/typeid.cpp
Log Message:
-----------
[clang][bytecode] Fix typeid test under msan (#174317)
The original problem description sounded sane but it was lacking a bit.
What happens where is that the global block is ultimately not
initialized simply because it was already created before and its
initializer failed, causing us to call invokeDtor() in a previous
evaluation.
Check for the initialion state earlier and abort there instead of
accessing the (now uninitialized) data of the block, causing msan
failures.
See the failed msan build at
https://lab.llvm.org/buildbot/#/builders/164/builds/17206
Commit: 58822a6933fe4df8c55fec7a0d2f370c291c08df
https://github.com/llvm/llvm-project/commit/58822a6933fe4df8c55fec7a0d2f370c291c08df
Author: Gábor Spaits <gaborspaits1 at gmail.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/binop-select.ll
Log Message:
-----------
[InstCombine] Fold `(select C, (x bin_op a), x) bin_op b` into `x bin_op select C, (a bin_op b), b` (#173511)
Fixes #154246.
The original pattern in the issue was the following:
```llvm
define i8 @src(i8 %arg0, i8 %arg1) {
%v0 = icmp eq i8 %arg1, -1
%v1 = or i8 %arg0, 4
%v2 = select i1 %v0, i8 %v1, i8 %arg0
%v3 = or i8 %v2, 1
ret i8 %v3
}
```
to
```llvm
define i8 @tgt(i8 %arg0, i8 %arg1) {
%v0 = icmp eq i8 %arg1, -1
%v3.v = select i1 %v0, i8 5, i8 1
%v3 = or i8 %arg0, %v3.v
ret i8 %v3
}
```
(Alive2: https://alive2.llvm.org/ce/z/Nq6b4)
This PR works with other binary operators too like `add` and `mul`.
Commit: a73de982a95b7bcb3a918987743136bd38c76e7a
https://github.com/llvm/llvm-project/commit/a73de982a95b7bcb3a918987743136bd38c76e7a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M lldb/source/Core/SourceManager.cpp
Log Message:
-----------
[lldb] Handle not being able to read a file in the SourceManager (#174346)
Even if a file has a valid modification time, it's possible that reading
the data fails. The SourceManager wasn't accounting for that, which
would result in a crash due to an unchecked read from a null `data_sp`.
We were seeing the issue when trying to read from a buggy virtual file
system, but presumably the same thing can happen with a poorly timed
unmount of a drive.
rdar://166414707
Commit: 39ae1cac397a7ae4b484b944c1065ced6e1d7dda
https://github.com/llvm/llvm-project/commit/39ae1cac397a7ae4b484b944c1065ced6e1d7dda
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86FastPreTileConfig.cpp
M llvm/lib/Target/X86/X86PassRegistry.def
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/test/CodeGen/X86/AMX/amx-fastconfig-phi.mir
M llvm/test/CodeGen/X86/AMX/amx-fastconfig-phi2.mir
M llvm/test/CodeGen/X86/AMX/amx-fastconfig-phi4.mir
M llvm/test/CodeGen/X86/AMX/amx-fastconfig-spill.mir
M llvm/test/CodeGen/X86/AMX/amx-fastconfig.mir
M llvm/test/CodeGen/X86/AMX/amx-fastpreconfig.mir
M llvm/test/CodeGen/X86/AMX/amx-sink-config-after-calls.mir
Log Message:
-----------
[X86][NewPM] Port x86-fast-pre-tile-config (#174323)
Commit: fd0bf4addec3ac2716dcc6869bcff6bd8bb342c7
https://github.com/llvm/llvm-project/commit/fd0bf4addec3ac2716dcc6869bcff6bd8bb342c7
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
Log Message:
-----------
[clang-tidy] Speed up deduplicating warnings from alias checks (#174237)
Right now, the deduplication algorithm runs in O(n²) time, because it
goes warning-by-warning (an O(n) operation), removing duplicates using
`std::vector::erase` (another O(n) operation). This starts taking up a
noticeable amount of time as you start getting a lot of warnings. For
example, running all checks over `clang/lib/Sema/Sema.cpp` and the
headers it includes:
```sh
time ./build/release/bin/clang-tidy -p build/debug --checks=* clang/lib/Sema/Sema.cpp -header-filter=.* > /dev/null
```
...takes 2m9s on my system before this change and 1m52s after. Now, this
scenario *is* a bit artificial; I imagine runs with so many warnings are
uncommon in practice. On the other hand, the change is quite small,
so we're not really going out of our way to improve it.
Commit: dc43062638852201464b7b3e8a7e716c4f23e47e
https://github.com/llvm/llvm-project/commit/dc43062638852201464b7b3e8a7e716c4f23e47e
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/multiple-early-exits.ll
Log Message:
-----------
[LV] Add tests with multiple early exits. (NFC)
Adds test coverage with vectorizable loops with early exits.
Commit: bada5817d6649530ea16ed26c1be3001de41deea
https://github.com/llvm/llvm-project/commit/bada5817d6649530ea16ed26c1be3001de41deea
Author: Jim Lin <jim at andestech.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedAndes45.td
M llvm/test/tools/llvm-mca/RISCV/Andes45/rvv-vle-vse-vlm.s
M llvm/test/tools/llvm-mca/RISCV/Andes45/rvv-vlse-vsse.s
M llvm/test/tools/llvm-mca/RISCV/Andes45/rvv-vlseg-vsseg.s
M llvm/test/tools/llvm-mca/RISCV/Andes45/rvv-vlxe-vsxe.s
Log Message:
-----------
[RISCV] Update Andes45 vector load/stores scheduling info (#173806)
This PR adds latency/throughput for all RVV load/stores to the Andes45
series scheduling model.
Commit: 112df6ab846a12a54a2e680a25349050d7541176
https://github.com/llvm/llvm-project/commit/112df6ab846a12a54a2e680a25349050d7541176
Author: Yujin <78896558+Yujinmon at users.noreply.github.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M llvm/bindings/ocaml/llvm/llvm.ml
M llvm/bindings/ocaml/llvm/llvm.mli
M llvm/test/Bindings/OCaml/core.ml
Log Message:
-----------
[ocaml] Fixed typo error about set_module_identifier in llvm ocaml binding (#77479)
Commit: f5dab90875c4435890a19410fcb4bcd8a96357b2
https://github.com/llvm/llvm-project/commit/f5dab90875c4435890a19410fcb4bcd8a96357b2
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
Log Message:
-----------
[mlir][Python] Bump MLIR Python minimum version to 3.10 (#163499)
This PR bumps the minimum Python version required for MLIR to be Python
3.10. See
https://discourse.llvm.org/t/rfc-adopt-regularly-scheduled-python-minimum-version-bumps/88841
for a discussion about the expected bump schedule going forward.
Commit: 1b43f5cec6a78c9d2822c8b9822bad550e59c1c8
https://github.com/llvm/llvm-project/commit/1b43f5cec6a78c9d2822c8b9822bad550e59c1c8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-04 (Sun, 04 Jan 2026)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rv32p.ll
M llvm/test/CodeGen/RISCV/rv64p.ll
Log Message:
-----------
[RISCV][SelectionDAG] Add a ISD::CTLS node for count leading redundant sign bits. Use it to select CLS(W). (#173417)
The RISC-V P extension adds an instruction equivalent to
__builtin_clrsb. AArch64 has a similar instruction that we currently fail to
select when using the builtin.
This patch adds a combine based on the canonical version of the pattern
emitted by clang for the builtin, (add (ctlz (xor x, (sra x, bw-1)))),
-1). I'm starting the combine at the ctlz because the outer add can
easily be combined into other nodes obscuring the full pattern. So we
generate (add (ctls x), 1) and hope the add will be combined away.
I've also added a combine for the pattern AArch64 recognizes
(ctlz_zero_undef (or (shl (xor x, (sra x, bw-1)), 1), 1)).
I've only enabled the combines when the target has a Legal or Custom
action for the operation, taking into account type promotion. We
can relax this in the future by adding a default expansion to
LegalizeDAG and adding more type legalization rules.
Commit: 05b8a36f1b542ae903cac11de1bbb26695b7fdac
https://github.com/llvm/llvm-project/commit/05b8a36f1b542ae903cac11de1bbb26695b7fdac
Author: Yuki <wangchengfeng at flywheels.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExprCXX.cpp
A clang/test/SemaCXX/typeid-requires-typeinfo.cpp
Log Message:
-----------
[Clang][Diagnostics] Mention 'import std' in typeid diagnostic (#173236)
Previously, the diagnostic only suggested including `<typeinfo>`. Since
C++20,the standard library may also be made available via `import std;`.
This change updates the diagnostic to mention `import std` as an
alternative and adds a test to cover the new wording.
Commit: 993054d96fdf148cc7b4c96f37295ef9d7f9891d
https://github.com/llvm/llvm-project/commit/993054d96fdf148cc7b4c96f37295ef9d7f9891d
Author: Wenju He <wenju.he at intel.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/fcmp-select.ll
Log Message:
-----------
[InstCombine] Fold redundant FP clamp selects; relax min-max-pattern bailout in visitFCmp (#173452)
visitFCmp() previously bailed out when a following select matched a
clamp pattern. This blocks simplifications when the clamp is provably
redundant.
This PR allows simplification for clamp selects of flavor SPF_FMAXNUM/
SPF_FMINNUM when one arm is a constant and the other is a sitofp/uitofp
of an integer value, and the constant equals the exact min/max of that
integer domain:
* SPF_FMAXNUM (pattern max(X,C)): redundant if C is the minimum integer
mapped exactly to FP (e.g. X = sitofp i8, C = -128.0f).
* SPF_FMINNUM (pattern min(X,C)): redundant if C is the maximum integer
mapped exactly to FP (e.g. X = uitofp i8, C = 255.0f).
This fixes a regression in #173454
---------
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Co-authored-by: Yingwei Zheng <dtcxzyw at qq.com>
Commit: 80b62cb9b979bf560ea17c127b1e85749376a6a2
https://github.com/llvm/llvm-project/commit/80b62cb9b979bf560ea17c127b1e85749376a6a2
Author: ruki <waruqi at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
Log Message:
-----------
Enable c++20 modules support for c++23preview in clang-cl (#173663)
Fixes https://github.com/llvm/llvm-project/issues/173544
Co-authored-by: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Commit: ccb47d0fb9d01d44764fa4ca5c6dcf239ab76ed2
https://github.com/llvm/llvm-project/commit/ccb47d0fb9d01d44764fa4ca5c6dcf239ab76ed2
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
A mlir/test/Target/LLVMIR/openmp-private-allloca-hoisting.mlir
Log Message:
-----------
[OpenMP][MLIR] Hoist static `alloca`s emitted by private `init` regions to the allocation IP of the construct (#171597)
Having more than 1 descritpr (allocatable or array) on the same
`private` clause triggers a runtime crash on GPUs at the moment.
For SPMD kernels, the issue happens because the initialization logic
includes:
* Allocating a number of temporary structs (these are emitted by flang
when `fir` is lowered to `mlir.llvm`).
* There is a conditional branch that determines whether we will allocate
storage for the descriptor and initialize array bounds from the original
descriptor or whether we will initialize the private descriptor to null.
Because of these 2 things, temp allocations needed for descriptors
beyond the 1st one are preceded by branching which causes the observed
the runtime crash.
This PR solves this issue by hoisting these static `alloca`s
instructions to the suitable allca IP of the parent construct.
Commit: dae453ac2a35fcda94da8ebe26efad234f6ae356
https://github.com/llvm/llvm-project/commit/dae453ac2a35fcda94da8ebe26efad234f6ae356
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M flang/test/Integration/OpenMP/copyprivate.f90
M flang/test/Integration/OpenMP/private-global.f90
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-parallel-reduction-init.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
Log Message:
-----------
[OpenMP][OMPIRBuilder] Hoist static parallel region allocas to the entry block on the CPU (#174314)
Follow-up on #171597, this PR hoists allocas in a parallel region to the
entry block of its corresponding outlined function. This PR does this
for the CPU while #171597 introduced the main mechanism to do so and did
it for the GPU.
Commit: 50351218b3a4687079fe79f932aac0e00d5d990f
https://github.com/llvm/llvm-project/commit/50351218b3a4687079fe79f932aac0e00d5d990f
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
A clang/test/Modules/pr158321.cppm
Log Message:
-----------
[C++20] [Modules] Fix incorrect read of TULocalOffset for delayed namespace (#174365)
Close https://github.com/llvm/llvm-project/issues/158321
The root cause of the problem is a mismatch in an initializer.
Commit: 212527c00ba60aa5677a1b1acdd0f15b32b8fd01
https://github.com/llvm/llvm-project/commit/212527c00ba60aa5677a1b1acdd0f15b32b8fd01
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
A flang/test/Fir/prefetch.fir
A flang/test/Integration/prefetch.f90
A flang/test/Lower/HLFIR/prefetch.f90
Log Message:
-----------
[Flang] Add FIR and LLVM lowering support for prefetch directive (#167272)
Implementation details:
* Add PrefetchOp in FirOps
* Handle PrefetchOp in FIR Lowering and also pass required default
values
* Handle PrefetchOp in CodeGen.cpp
* Add required tests
Commit: aa13ebc44fd8710c46b40b0f21ae926ac3f1f920
https://github.com/llvm/llvm-project/commit/aa13ebc44fd8710c46b40b0f21ae926ac3f1f920
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmadd-sdnode.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmsub-sdnode.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmadd-sdnode.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmacc-sdnode.ll
Log Message:
-----------
[llvm][RISCV] Support fma codegen for zvfbfa (#172949)
This patch supports codegen for both widen and non-widen fma.
Commit: e65317acbb5cdd2207d87e44731121f35f5250e5
https://github.com/llvm/llvm-project/commit/e65317acbb5cdd2207d87e44731121f35f5250e5
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ScalarEvolution/ptrtoaddr-i32-index-width.ll
M llvm/test/Analysis/ScalarEvolution/ptrtoaddr.ll
M llvm/test/Transforms/InstCombine/ptrtoaddr.ll
Log Message:
-----------
[ValueTracking] Support ptrtoaddr in computeKnownBits() (#173358)
ptrtoaddr can be handled the same as ptrtoint here. The pointer known
bits cover the full pointer width, and ptrtoaddr either passes those
through directly or truncates to the address size.
Commit: 30a1ffb7ab2e283cc258e30f72c786e286fc4384
https://github.com/llvm/llvm-project/commit/30a1ffb7ab2e283cc258e30f72c786e286fc4384
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/ptrtoaddr.ll
Log Message:
-----------
[ValueTracking] Support ptrtoaddr in inequality implication (#173362)
`ptrtoaddr(p1) - ptrtoaddr(p2) == non-zero` implies `p1 != p2`, same as
for ptrtoint.
Commit: 8fd85ba9e6f4caeaf377cb61414489607e65ff48
https://github.com/llvm/llvm-project/commit/8fd85ba9e6f4caeaf377cb61414489607e65ff48
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
Log Message:
-----------
[LLVM] Temporarily allow implicit truncation in some places
Split out from https://github.com/llvm/llvm-project/pull/171456.
This explicitly allows implicit truncation in a number of places,
prior to switching the default. This limits the scope of the
initial change.
Commit: bb1f220d534b0f6d80bea36662f5188ff11c2e54
https://github.com/llvm/llvm-project/commit/bb1f220d534b0f6d80bea36662f5188ff11c2e54
Author: Vitalii Shutov <vitalii.shutov at arm.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
[mlir][tosa] Fix negate lowering to skip no-op casts (#173299)
Fix TOSA negate lowering to avoid emitting same-width
`ExtSIOp`/`TruncIOp`, which the arith verifier now rejects. Behavior is
unchanged. We only skip no-op casts when operand and intermediate widths
already match. Adds a regression test ensuring the lowering for integer
negates doesn't produce verifier-invalid casts.
Commit: 47fc1dd90ed4fa7c806795fada77e8c7cdfd6760
https://github.com/llvm/llvm-project/commit/47fc1dd90ed4fa7c806795fada77e8c7cdfd6760
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/include/llvm/IR/Constants.h
Log Message:
-----------
[ConstantInt] Disable implicit truncation in ConstantInt::get() (#171456)
Disable implicit truncation in the ConstantInt constructor by default.
This means that it needs to be passed a signed/unsigned (depending on
the IsSigned flag) value matching the bit width.
The intention is to prevent the recurring bug where people write
something like `ConstantInt::get(Ty, -1)`, and this "works" until `Ty`
is larger than 64-bit and then the value is incorrect due to missing
type extension.
This is the continuation of
https://github.com/llvm/llvm-project/pull/112670, which originally
allowed implicit truncation in this constructor to reduce initial scope
of the change.
Commit: 49f28961484580cd4a3f27aeba8bfc2e30a449b1
https://github.com/llvm/llvm-project/commit/49f28961484580cd4a3f27aeba8bfc2e30a449b1
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization/linalg-ops.mlir
Log Message:
-----------
[MLIR] Enable scalable vectorization for linalg.batch_matmul (#172333)
Also add a missing testcase for fixed size `linalg.batch_matmul`
vectorization.
Commit: e16860be5e1cd39df072aca805b38a6e2c2668a5
https://github.com/llvm/llvm-project/commit/e16860be5e1cd39df072aca805b38a6e2c2668a5
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.cpp
Log Message:
-----------
[clang][bytecode] Remove unnecessary null check (#174368)
A null Pointee shouldn't happen anymore.
Commit: d4d48f6d7933413e5a1542f744ef0c70dde3da06
https://github.com/llvm/llvm-project/commit/d4d48f6d7933413e5a1542f744ef0c70dde3da06
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
A llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-sve-instructions.s
Log Message:
-----------
[llvm-mca][AArch64] Refactor Neoverse SVE tests to split out common inputs (NFC) (#173023)
The assembly for Neoverse V2/V3/V3AE/N2/N3 SVE llvm-mca tests are
identical except for a few rev/sel instructions not in the N2/N3 tests,
refactor to share common input.
V1 has a pretty big diff primarily because it has less features, SVE2
being the most significant, so I've left that is as for now to make this
trivial to review, but the features could be split out further so this
could also be combined, as was done for the other tests recently.
Commit: 24f0c26dd05da17a809b4c48d8ee2e9448ed7af8
https://github.com/llvm/llvm-project/commit/24f0c26dd05da17a809b4c48d8ee2e9448ed7af8
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/literals.cpp
Log Message:
-----------
[clang][bytecode] Check inc/dec operations for constness (#174276)
Commit: c377d11ee53dfefd685a1b6a4cc0804f9d4026af
https://github.com/llvm/llvm-project/commit/c377d11ee53dfefd685a1b6a4cc0804f9d4026af
Author: dyung <douglas.yung at sony.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/test/SemaCXX/typeid.cpp
Log Message:
-----------
Update test for C++20 defaulting compilers after #173236 changed the expected diagnostic message. (#174377)
Change #173236 changed the emitted error message which caused the test
`clang/test/SemaCXX/typeid.cpp` to fail if tested with a compiler that
defaults to C++20 because the error message has changed. This change
updates the test to expect the correct error message depending on
whether the compiler defaults to C++20 or earlier.
Commit: e47f40ace603d2f13ce0e985a8980d966d60427a
https://github.com/llvm/llvm-project/commit/e47f40ace603d2f13ce0e985a8980d966d60427a
Author: Hemang Gadhavi <hemang.gadhavi at ibm.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
Log Message:
-----------
[lldb][DWARF] Use actual DWARF format when computing header size (#173600)
The list table header size was always computed assuming `DWARF32`, even
when parsing `DWARF64` units. This results in an incorrect header size
for `DWARF64` and can cause mis-parsing of list tables.
Fix this by using the Dwarf Format from the form parameters instead of
always assuming `DWARF32` when computing the `DWARF` header size.
Commit: a82e6eeff793d2facda43a951c003cb6ff284ef4
https://github.com/llvm/llvm-project/commit/a82e6eeff793d2facda43a951c003cb6ff284ef4
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/include/llvm/IR/Constants.h
Log Message:
-----------
Revert "[ConstantInt] Disable implicit truncation in ConstantInt::get() (#171456)"
This reverts commit 47fc1dd90ed4fa7c806795fada77e8c7cdfd6760.
Causes assertion failures while building sanitizer libraries on
some buildbots.
Commit: fe3b4f0e0d569162aa26dd6e4cbe6d5b051e7b7b
https://github.com/llvm/llvm-project/commit/fe3b4f0e0d569162aa26dd6e4cbe6d5b051e7b7b
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[SDAG] Use reference type in loop (NFC) (#174379)
Fixes a -Wrange-loop-construct warning.
Commit: b7e471903ab597f12ea3f940700f228413307870
https://github.com/llvm/llvm-project/commit/b7e471903ab597f12ea3f940700f228413307870
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Add dim operation (#169368)
This commit adds the ext-shape operation `DIM`. This includes the
definition, verifier and validation. It does not currently include
support for folding or shape inference. This will be added in a later
commit.
See
https://github.com/arm/tosa-specification/commit/efc88a100e2db06c2d6bc479fa63b26daab899ce
for the specification change.
Based on work originally implemented by @Tai78641.
~Note: this change is dependent on
https://github.com/llvm/llvm-project/pull/169321 so also contains its
contents.~
Commit: 5698d05565228c3fd923d9c7bceed0d7840445da
https://github.com/llvm/llvm-project/commit/5698d05565228c3fd923d9c7bceed0d7840445da
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/VirtualClassDestructorCheck.cpp
M clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ConcatNestedNamespacesCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ReplaceDisallowCopyAndAssignMacroCheck.cpp
M clang-tools-extra/clang-tidy/readability/AvoidUnconditionalPreprocessorIfCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
Log Message:
-----------
[clang-tidy][NFC] use findNextTokenSkippingComments instead of Lexer::findNextToken (#174299)
Follow up to https://github.com/llvm/llvm-project/pull/174295.
Commit: 191b9cd003e9fe0dfb7d57ade9a0cd03d657eab2
https://github.com/llvm/llvm-project/commit/191b9cd003e9fe0dfb7d57ade9a0cd03d657eab2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/test/CodeGen/X86/combine-fsqrt.ll
Log Message:
-----------
[X86] Add test showing failure to make use of existing concatenated operands for profitable fadd concatenation (#174383)
Since we've already concatenated the fsqrt operands, we only need to concatenate the other fadd operand
Commit: 984c57794f9e8253ababfebe84303bda33e8f388
https://github.com/llvm/llvm-project/commit/984c57794f9e8253ababfebe84303bda33e8f388
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/test/Analysis/builtin_overflow.c
Log Message:
-----------
[analyzer] Fix BuiltingFunctionChecker crash on large types (#174335)
Previously, if the result type was 'large' (at least 65 bits), then the
ASTContext::getIntTypeForBitwidth would return an empty QualType,
causing later a crash when we assume it's non-empty.
Instead of using this API, we could piggyback on the BigInt type to
formulate a "large enough" type for calculating the mathematically
correct result for the operation to check against.
Crash: https://godbolt.org/z/dGY3vh39a
```c++
void bigint(_BitInt(63) a, _BitInt(63) b) {
_BitInt(63) result = 0;
(void)__builtin_add_overflow(a, b, &result); // crashes here
}
```
Fixes #173795
rdar://166709144
Commit: 0dd03598dca91c93c74b94a714c38a4ffad0ed1c
https://github.com/llvm/llvm-project/commit/0dd03598dca91c93c74b94a714c38a4ffad0ed1c
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
Revert "[AMDGPU] Fix excessive stack usage in SIInsertWaitcnts::run (#134835)" (#174215)
This reverts commit 008c875be85732f72c4df4671167f5be79f449eb.
PR #162077 / #171779 shrunk the WaitcntBrackets class by using DenseMaps
instead of large arrays, so the size of a temporary WaitcntBrackets
allocated on the stack is no longer a concern.
With this patch on Linux I measured the stack size of
SIInsertWaitcnts::run increasing from 456 bytes to 632 bytes.
Commit: c36690cf05205f477955c5368f71e2922e3945fb
https://github.com/llvm/llvm-project/commit/c36690cf05205f477955c5368f71e2922e3945fb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineSelect - replace manual constant pow2 checks and ctlz constant fold with standard DAG methods (#174395)
Followup to #174167 - just let
isKnownToBeAPowerOfTwo/FoldConstantArithmetic handle the fold `vsel ((X
& C) == 0), LHS, RHS` --> `vsel ((shl X, ctlz C) < 0), RHS, LHS` iff C
is pow2
Commit: 12e2ede410aafa5443295e51ea9f274fd0c5dbeb
https://github.com/llvm/llvm-project/commit/12e2ede410aafa5443295e51ea9f274fd0c5dbeb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-fsqrt.ll
Log Message:
-----------
[X86] combineConcatVectorOps - check for an existing operands concatenation (#174397)
If the requested operand concatenation already exists, then always use it.
This isn't always going to work as CONCAT_VECTORS() is usually lowered to an INSERT_SUBVECTOR() chain, but it still helps.
Commit: dec176242b61e8ee716a6323406574323ac6c0eb
https://github.com/llvm/llvm-project/commit/dec176242b61e8ee716a6323406574323ac6c0eb
Author: Andrew Ng <andrew.ng at sony.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M lld/COFF/LTO.cpp
A lld/test/COFF/lto-slp-vectorize-pm.ll
Log Message:
-----------
[ThinLTO][COFF] Pass loop and slp vectorize options to LTO backend (#173041)
Commit 21a4710c67 added this for ELF, this patch does the same for COFF.
The differences in codegen were noticed whilst testing DTLTO for COFF.
Commit: 5cfd02f44a43a2e2a085a633b022a62f64ba2b93
https://github.com/llvm/llvm-project/commit/5cfd02f44a43a2e2a085a633b022a62f64ba2b93
Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
M flang/test/Fir/FirToSCF/do-loop.fir
Log Message:
-----------
[flang] change yielded iv value to be `iv + step` (#174124)
In cases where induction variables are used after the loop, like
```
write(*,*) (a(j),j=1,10)
print *, j
```
the incremented value should be used. Updating the FIRToSCF pass to
support this.
Commit: b5614ce13ff26f9f8ad90f3dfbce123f21265e03
https://github.com/llvm/llvm-project/commit/b5614ce13ff26f9f8ad90f3dfbce123f21265e03
Author: Jacenty Andruszkiewicz <jacenty.andruszkiewicz at intel.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M mlir/docs/DefiningDialects/AttributesAndTypes.md
M mlir/include/mlir/IR/OpImplementation.h
M mlir/lib/IR/AsmPrinter.cpp
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
M mlir/test/mlir-tblgen/testdialect-attrdefs.mlir
M mlir/test/mlir-tblgen/testdialect-typedefs.mlir
M mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
Log Message:
-----------
Enable printing newlines and indents in attribute and type printers (#87948)
This commit moves the code responsible for adding newlines and tracking
indent, so that it can be used not only for operation printers, but also
for attribute and type printers.
It could be useful for nested attributes, where proper formatting with
newlines and indents would benefit the readability of the IR. Currently,
everything is printed on one line, which makes it difficult to read if
the attribute is more verbose and there are multiple levels of nesting.
Co-authored-by: Andruszkiewicz, Jacenty <andruszkiewicz.jacenty at intel.com>
Commit: 7aa6dcf6fe836709488c547d341dfa636b13ebba
https://github.com/llvm/llvm-project/commit/7aa6dcf6fe836709488c547d341dfa636b13ebba
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-fma-concat.ll
Log Message:
-----------
[X86] combineConcatVectorOps - concat fma chains which share concatenated operands (#174401)
We often have fma chains that reuse operands down the chain (e.g mathlib
taylor series expansion) - FMA(FMA(X,Y,Z),X,W) etc.
This patch attempts to at least see if there is an inner FMA node with
repeated operands that could share the cost of concatenation (but not if
they are free already)
Commit: b3c3e5fd99f6bcc5ea92706c792f27e54462b745
https://github.com/llvm/llvm-project/commit/b3c3e5fd99f6bcc5ea92706c792f27e54462b745
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] Simplify and document waitcnt handling on call and return (#172453)
Start documenting the ABI conventions for dependency counters on
function call and return.
Stop pretending that SIInsertWaitcnts can handle anything other than the
default documented behavior.
Commit: 0494abbea0fa423d14080d31448bfc6393869dab
https://github.com/llvm/llvm-project/commit/0494abbea0fa423d14080d31448bfc6393869dab
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] Make WaitcntBrackets::simplifyWaitcnt const again (#173390)
The original design was:
- WaitcntBrackets::simplifyWaitcnt(Wait) updates Wait based on the
current state of WaitcntBrackets, removing unnecesary waits.
- WaitcntBrackets::applyWaitcnt(Wait) updates WaitBrackets based on
Wait, updating the state by applying the specified waits.
This was changed by #164357 which started calling applyWaitcnt from
simplifyWaitcnt.
This patch restores the original design without any significant
functional changes. There is some code duplication because both
simplifyWaitcnt and applyWaitcnt need to understand how XCNT interacts
with other counters like LOADCNT and KMCNT.
Commit: 3c32360c83b98850733801f45dd6cef472fda6cf
https://github.com/llvm/llvm-project/commit/3c32360c83b98850733801f45dd6cef472fda6cf
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
A lldb/test/API/functionalities/data-formatter/stringprinter/Makefile
M lldb/test/API/functionalities/data-formatter/stringprinter/TestStringPrinter.py
M lldb/test/API/functionalities/data-formatter/stringprinter/main.cpp
Log Message:
-----------
[lldb][test] Rewrite TestStringPrinter.py in a non-inline API test style (#174385)
Motivation here is that I'm planning to add more test cases to this and
it's easier to read/maintain as an API test.
Drive-by:
* I also removed the `std::string` checks since those belong in the STL
formatter tests.
Commit: 7a37545c25bbc6521378132efc83db132d9a218f
https://github.com/llvm/llvm-project/commit/7a37545c25bbc6521378132efc83db132d9a218f
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
Log Message:
-----------
[OpenMP] Fix member type name in LooprangeT, NFC (#174241)
The second parameter to the `looprange` clause is "count", not "end".
Commit: 125948a058dcd89b7fe377872a5fc1a7f9d34e70
https://github.com/llvm/llvm-project/commit/125948a058dcd89b7fe377872a5fc1a7f9d34e70
Author: Manuel Carrasco <Manuel.Carrasco at amd.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/spirv-amd-toolchain.c
Log Message:
-----------
[Driver][SPIRV] Fix regular C/C++ compilation to AMD SPIRV. (#173867)
Commit 4c6f398 introduced a non-working compilation path for regular
C/C++ to AMD SPIRV; this commit fixes it. For example, 4c6f398 was
expecting an assembler phase but it was never supported since there is
no assembler available for it. Thus, the compilation starting from
source code failed.
The compilation path is fixed by taking into account that we cannot rely
on external dependencies such as `spirv-link` or `spirv-as`. Thus, the
backend emits bitcode and the SPIRVAMDToolChain's linker takes care of
generating the final SPIRV as we already do for HIP (same intent as in
4c6f398).
Commit: 5a33f99811d29cdf7469104583a30ed854444151
https://github.com/llvm/llvm-project/commit/5a33f99811d29cdf7469104583a30ed854444151
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/Target/SPIRV/decorations.mlir
Log Message:
-----------
[mlir][spirv] (De)serialize Index decoration (#174396)
Commit: 316a9c52f022024978775c9af40ba829d0564888
https://github.com/llvm/llvm-project/commit/316a9c52f022024978775c9af40ba829d0564888
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M flang/lib/Lower/Bridge.cpp
A flang/test/Lower/debug-use-stmt-ambiguous.f90
Log Message:
-----------
[flang] Ignore ambiguous use statement in use_stmt generation. (#174387)
The https://github.com/llvm/llvm-project/pull/168106 caused build
failures in testcases which have ambiguous use statements. This PR fixes
that by properly ignoring them in `emitUseStatementsFromFunit`.
Commit: d33cb522a64d44f992002cf024c4411b0325a421
https://github.com/llvm/llvm-project/commit/d33cb522a64d44f992002cf024c4411b0325a421
Author: higher-performance <higher.performance.github at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
Log Message:
-----------
[clang-tidy] Update the documentation of bugprone-use-after-move to clarify patterns are regexes (#174238)
Commit: 78b9fd258741bf81642a15060e35183a751c76e5
https://github.com/llvm/llvm-project/commit/78b9fd258741bf81642a15060e35183a751c76e5
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
[AMDGPU] Remove UTC line from file that does not use it
The NPM pipeline test for AMDGPU never used UTC but had the line
anyways. Remove it to prevent confusion.
Commit: e982b4f411490846095f62f4edf610652cb4ba65
https://github.com/llvm/llvm-project/commit/e982b4f411490846095f62f4edf610652cb4ba65
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M lldb/test/API/functionalities/data-formatter/stringprinter/TestStringPrinter.py
M lldb/test/API/functionalities/data-formatter/stringprinter/main.cpp
Log Message:
-----------
[lldb][test] Add tests for printing references to C-strings
Printing references to C-strings doesn't work properly at the moment. This patch provides coverage for those cases and should fail once the underlying issue gets fixed (see https://github.com/llvm/llvm-project/pull/174398).
Commit: 3534b7744a440e0df29420ac714104cf97d91680
https://github.com/llvm/llvm-project/commit/3534b7744a440e0df29420ac714104cf97d91680
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/test/CodeGen/X86/combine-rndscale.ll
Log Message:
-----------
[X86] Add tests showing failure to concat comparisons due to the delayed expansion of intrinsics (#174408)
By the time the roundps intrinsic calls expand to X86ISD::VRNDSCALE nodes its too late.
Commit: 7e2b79b049cb79a376e1f3112b08a32fbb28d641
https://github.com/llvm/llvm-project/commit/7e2b79b049cb79a376e1f3112b08a32fbb28d641
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/test/CodeGen/AMDGPU/hazard-shift64.mir
Log Message:
-----------
[AMDGPU] Generate more efficient code to avoid shift64 hazard (#171871)
Generate more efficient code to avoid shift64 hazard when dst!=src1.
Transform:
dst = shiftrev64 amt, src1
to:
dst.sub0 =amt
dst = shiftrev64 dst.sub0, src1
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: dbc9feb35fc4cf090fedb72f649bc90ebcdbd2e8
https://github.com/llvm/llvm-project/commit/dbc9feb35fc4cf090fedb72f649bc90ebcdbd2e8
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck] Exclude new MergeFunc Test
This test was added in 4d66cccffe179d0d2bbec833ace041349cf872a4. We have
not gotten to fixing any MergeFunc profile propagation yet, so also mark
this test as excluded for now.
Commit: e2fa8dcb0d508cdf9d8a4b18a12838b5adfd8194
https://github.com/llvm/llvm-project/commit/e2fa8dcb0d508cdf9d8a4b18a12838b5adfd8194
Author: Gabriele Mondada <gab at ijk.ch>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M lldb/tools/lldb-dap/LLDBUtils.cpp
Log Message:
-----------
[lldb][lldb-dap] Do not expose internal breakpoints to DAP clients (#173848)
**This commit fixes the following problem:**
When debugging an APK running on Android, and the Android process stops
due to a user breakpoint, sometimes a second breakpoint is hit at the
same time, and the corresponding thread is marked as stopped for reason
`jit-debug-register`.
This second breakpoint is used by lldb internally, to track code
generated by the JIT compiler (JVM).
Instead of displaying the code corresponding to the user breakpoint, the
debugger displays the disassembled code corresponding to this internal
breakpoint.
**Solution:**
Internal breakpoints must stay internal, not visible by VS Code or any
other DAP-based debugger.
**Notes:**
* This is part on an effort to get lldb working for debugging Swift on
Android: https://github.com/swiftlang/llvm-project/issues/10831
* Reproducing the problems is not simple because you need an environment
allowing to run lldb-server in the Android emulator. See
https://github.com/gmondada/swift-on-android/blob/main/Docs/exploring-apk-debugging.md
* The problem has been seen on Android, but `jit-debug-register` is not
Android specific and there are probably other scenarios where internal
breakpoints are used.
Commit: 71507f02088e7e9b22616926af00ed3da433b2df
https://github.com/llvm/llvm-project/commit/71507f02088e7e9b22616926af00ed3da433b2df
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
Add merge-calling-conv.ll to profcheck-xfail.txt (#174418)
Introduced in #174254
Commit: 319a1f0a6a7eab6d70240a0defe6eba83bc7d9e2
https://github.com/llvm/llvm-project/commit/319a1f0a6a7eab6d70240a0defe6eba83bc7d9e2
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M libcxx/include/__algorithm/pstl.h
M libcxx/test/libcxx/diagnostics/pstl.nodiscard.verify.cpp
Log Message:
-----------
[libc++][pstl] Applied `[[nodiscard]]` (#174015)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
Towards #172124
Commit: 787a476c922e13cf6a575c55e053c55041ad3a31
https://github.com/llvm/llvm-project/commit/787a476c922e13cf6a575c55e053c55041ad3a31
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/cxx23.cpp
Log Message:
-----------
[clang][bytecode] Mark volatile composite locals as such (#174407)
We were forgetting to pass the volatile-ness along.
Commit: c58803562a8bc4825f80f5dea6a9eb68cfe3c00f
https://github.com/llvm/llvm-project/commit/c58803562a8bc4825f80f5dea6a9eb68cfe3c00f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-exp.ll
Log Message:
-----------
InstCombine: Reorder exp's known-nan source handling (#174417)
In SimplifyDemandedFPClass, reorder the known-nan source
handling above The known-zero-or-nan handling. The more
specific cases need to be handled first. Avoids spurious
diff in an upcoming patch for fadd support; this would introduce
a simplifiable fadd when we can just go directly to the end
result.
Commit: 4cba804249b38234cf74ab523c86795c0d2e4478
https://github.com/llvm/llvm-project/commit/4cba804249b38234cf74ab523c86795c0d2e4478
Author: Wael Yehia <wyehia at ca.ibm.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M compiler-rt/test/builtins/Unit/fixunstfdi_test.c
M compiler-rt/test/builtins/Unit/multc3_test.c
Log Message:
-----------
[unrelated][upstream-separately] XFAIL multc3_test.c fixunstfdi_test.c on AIX 64-bit
Commit: d1aca4b1471353a126db0954c8f998fca7ba3752
https://github.com/llvm/llvm-project/commit/d1aca4b1471353a126db0954c8f998fca7ba3752
Author: Andrew Haberlandt <ahaberlandt at apple.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/builtins/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
Reland check-builtins target for LLVM_ENABLE_RUNTIMES (#171941)
Reland https://github.com/llvm/llvm-project/pull/166837 and
https://github.com/llvm/llvm-project/pull/171741
(Reverts the revert in #171940)
---------
Co-authored-by: Petr Hosek <phosek at google.com>
Commit: 9d8889bf37604dfa5ae237ac0bf639589506387b
https://github.com/llvm/llvm-project/commit/9d8889bf37604dfa5ae237ac0bf639589506387b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-rndscale.ll
Log Message:
-----------
[X86] combineConcatVectorOps - add missing X86ISD::CMPM handling (#174420)
Commit: fc8f81e3d0a34ea56b4f76a03e2e5f4dc0435309
https://github.com/llvm/llvm-project/commit/fc8f81e3d0a34ea56b4f76a03e2e5f4dc0435309
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/include/clang/Basic/riscv_vector_common.td
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
[RISCV][clang] Support f8e4m3 and f8e5m2 suffix type for intrinsics (#172626)
This commit support OFP8 type suffix for C intrinsic in tablegen.
It also support AltFmt flag which append _alt suffix in builtin name
for the purpose of codegen where the intrinsic requires vtype.altfmt = 1
at the moment that we don't have fe4m3 and fe5m2 llvm type yet, this
can be removed in the future.
stack on: https://github.com/llvm/llvm-project/pull/172585
Commit: 86b0acd35f75afacec84ebaf3304a3e96063940d
https://github.com/llvm/llvm-project/commit/86b0acd35f75afacec84ebaf3304a3e96063940d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/test/Instrumentation/InstrProfiling/profiling.ll
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[InstrProf] Mark __llvm_profile_runtime_user cold (#174174)
This function is only created to use a global so that it does not get
pruned by the compiler. We could probably get rid of it
(https://reviews.llvm.org/D98325), but there are some complications
around certain platforms. Given that it will never be called, mark it as
cold.
Commit: 75d8654c67a4bf12187d0c85cfabfaac9a5d67e2
https://github.com/llvm/llvm-project/commit/75d8654c67a4bf12187d0c85cfabfaac9a5d67e2
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M flang-rt/test/CMakeLists.txt
Log Message:
-----------
[Flang-RT] Add test dependency (#174427)
When building with `FLANG_RUNTIME_F128_MATH_LIB=libquadmath`, the tests
```
flang-rt :: Driver/ctofortran.f90
flang-rt :: Driver/exec.f90
```
also depend on `libflang_rt.quadmath.a`. Add a dependency to ensure it
is built with `ninja check-flang-rt`.
Commit: 943ef706befcf678cb3564713d9a5d596dd07e91
https://github.com/llvm/llvm-project/commit/943ef706befcf678cb3564713d9a5d596dd07e91
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/vfncvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/vfwcvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/vfncvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/vfwcvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/policy/non-overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/policy/non-overloaded/vfncvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/policy/non-overloaded/vfwcvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/policy/overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/policy/overloaded/vfncvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/policy/overloaded/vfwcvtbf16.c
Log Message:
-----------
[clang][RISCV] Support Zvfofp8min C intrinsic (#172630)
intrinsic spec:
https://github.com/riscv-non-isa/rvv-intrinsic-doc/pull/417
stack on: https://github.com/llvm/llvm-project/pull/172626
Commit: 3f2c5987907bea6889d9dad621551ea5db5d8ace
https://github.com/llvm/llvm-project/commit/3f2c5987907bea6889d9dad621551ea5db5d8ace
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Suppress AMDGCN code object version for library code (#174412)
Summary:
The code object version defines the ABI the HSA executables follow. This
prevents it from hard-coding it in the OpenCL libraries and preventing
users from overriding it when using them.
Commit: 2b6055a5628ebd75c1a8f6b023720997c95997b4
https://github.com/llvm/llvm-project/commit/2b6055a5628ebd75c1a8f6b023720997c95997b4
Author: Alexander Weinrauch <alexander.weinrauch at amd.com>
Date: 2026-01-05 (Mon, 05 Jan 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] Fix cluster.load.async.to.lds mask parameter to be SSA value (#174411)
The (broadcast) `mask` parameter in `rocdl.cluster.load.async.to.lds.*`
operations was incorrectly defined as an `I32Attr` when it should be an
`I32` as defined by the intrinsic.
Commit: 10a245bd02749fd7ec757a90b9fda83f51cd138c
https://github.com/llvm/llvm-project/commit/10a245bd02749fd7ec757a90b9fda83f51cd138c
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[clang][docs] Move irrelevant points from CSA release section to the Clang section (#174399)
Commit: 089919ee7501ebf4e98f1dfd84d01db14e33c53e
https://github.com/llvm/llvm-project/commit/089919ee7501ebf4e98f1dfd84d01db14e33c53e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
Revert "Add merge-calling-conv.ll to profcheck-xfail.txt" (#174422)
Reverts llvm/llvm-project#174418
Already excluded in dbc9feb35fc4cf090fedb72f649bc90ebcdbd2e8 (with the
correct sorting).
Commit: f0ef5dba6d12df95683ac0b6bfd4a00ff9e4849f
https://github.com/llvm/llvm-project/commit/f0ef5dba6d12df95683ac0b6bfd4a00ff9e4849f
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/docs/Bindings/Python.md
M mlir/examples/standalone/include/Standalone-c/Dialects.h
M mlir/examples/standalone/lib/CAPI/Dialects.cpp
M mlir/examples/standalone/python/StandaloneExtensionNanobind.cpp
M mlir/examples/standalone/test/python/smoketest.py
M mlir/include/mlir-c/Support.h
A mlir/include/mlir/Bindings/Python/Globals.h
A mlir/include/mlir/Bindings/Python/IRCore.h
M mlir/include/mlir/Bindings/Python/IRTypes.h
A mlir/include/mlir/Bindings/Python/NanobindUtils.h
M mlir/lib/Bindings/Python/DialectSMT.cpp
A mlir/lib/Bindings/Python/Globals.cpp
R mlir/lib/Bindings/Python/Globals.h
M mlir/lib/Bindings/Python/IRAffine.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRInterfaces.cpp
R mlir/lib/Bindings/Python/IRModule.cpp
R mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/lib/Bindings/Python/MainModule.cpp
R mlir/lib/Bindings/Python/NanobindUtils.h
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/lib/Bindings/Python/Pass.h
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/lib/Bindings/Python/Rewrite.h
M mlir/python/CMakeLists.txt
M mlir/test/Examples/standalone/test.wheel.toy
M mlir/test/python/dialects/python_test.py
M mlir/test/python/lib/PythonTestModuleNanobind.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][Python] create MLIRPythonSupport (#171775)
# What
This PR adds a shared library `MLIRPythonSupport` which contains all of
the CRTP classes ike `PyConcreteValue`, `PyConcreteType`,
`PyConcreteAttribute`, as well as other useful code like `Defaulting*`
and etc enabling their reuse in downstream projects. Downstream projects
can now do
```c++
struct PyTestType : mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConcreteType<PyTestType> {
...
};
class PyTestAttr : public mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConcreteAttribute<PyTestAttr> {
...
}
NB_MODULE(_mlirPythonTestNanobind, m) {
PyTestType::bind(m);
PyTestAttr::bind(m);
}
```
instead of using the discordant alternative
`mlir_type_subclass`/`mlir_attr_subclass` (same goes for
`PyConcreteValue`/`mlir_value_subclass`).
# Why
This PR is mostly code motion (along with CMake) but before I describe
the changes I want to state the goals/benefits:
1. Currently upstream "core" extensions and "dialect" extensions ([all
of the `Dialect*` extensions
here](https://github.com/llvm/llvm-project/tree/d7c734b5a14bd91e1c76e2ce0014c19f9deef487/mlir/lib/Bindings/Python))
are a two-tier system;
**a**. [core
extensions](https://github.com/llvm/llvm-project/blob/main/mlir/lib/Bindings/Python/IRTypes.cpp#L361)
enjoy first class support as far as type inference[^3], type stub
generation, and ease of implementation, while dialect extensions [have
poorer support](https://reviews.llvm.org/D150927), incorrect type stub
generation much more tedious (boilerplate) implementation;
**b**. Crucially, this two-tiered system is reflected in the fact that
**the two sets of types/attributes are not in the same Python object
hierarchy**. To wit: `isinstance(..., Type)` and `isinstance(...,
Attribute)` are not supported for the dialect extensions[^2];
**c**. Since these types are not exposed in public headers, downstream
users (dialect extensions or not) cannot write functions that overload
on e.g. `PyFloat8*Type` - that's quite a [useful
feature](https://github.com/nod-ai/PI/blob/fdbee98df8376f47818e6b47e1cf089528c9d48d/cpp_ext/TorchOps.cpp#L29-L69)!
2. The dialect extensions incur a sizeable performance penalty relative
to the core extensions in that every single trip across the wire (either
`python->cpp` or `cpp->python`) requires work in addition to nanobind's
own casting/construction pipeline;
**a**. When going from `python->cpp`, [we extract the capsule object
from the Python
object](https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/Bindings/Python/NanobindAdaptors.h#L219C24-L219C46)
and then extract from the capsule the `Mlir*` opaque struct/ptr. This
side isn't so onerous;
**b**. When going from `cpp->python` we call long-hand call Python
`import` APIs and construct the Python object using `_CAPICreate`. Note,
there at least 2 `attr` calls incurred in addition to `_CAPICreate`;
this is already much more [efficiently handled by nanobind
itself](https://github.com/wjakob/nanobind/blob/4ba51fcf795971c5d603d875ae4184bc0c9bd8e6/src/nb_internals.h#L381-L382)!
3. This division blocks various features: in some configurations[^1] we
trigger a circular import bug because "dialect" types and attributes
perform an [import of the root `_mlir`
module](https://github.com/llvm/llvm-project/blob/bd9651bf78f2b1713a8203e0bd5b97f7ff199924/mlir/include/mlir/Bindings/Python/NanobindAdaptors.h#L585)
when they are created (the types themselves, not even instances of those
types). This blocks type stub generation for dialect extensions (i.e.,
the reason we currently only generate type stubs for `_mlir`).
# How
Prior this was not done/possible because of "ODR" issues but I have
resolved those issues; the basic idea for how we solve this is "move
things we want to share into shared libraries":
1. Move IRCore (stuff like `PyConcreteValue`, `PyConcreteType`,
`PyConcreteAttribute`) into `MLIRPythonSupport`;
- Note, we move the rest of the things in `IRModule.h` (renamed to
`IRCore.h`) because `PyConcreteValue`, `PyConcreteType`,
`PyConcreteAttribute` depend on them. This makes for a bigger PR than
one would hope for but ultimately I think we should give people access
to these classes to use as they see fit (specifically inherit from, but
also liberally use in bindings signatures instead of the opaque `Mlir*`
struct wrappers).
2. Put all of this code into a nested namespace
`MLIR_BINDINGS_PYTHON_DOMAIN` which is determined by a compile time
define (and tied to `MLIR_BINDINGS_PYTHON_NB_DOMAIN`). This is necessary
in order to prevent conflicts on both symbol name **and** typeid
(necessary for nanobind to not double register binded types) between
multiple bindings libraries (e.g., `torch-mlir`, and `jax`). Note
[nanobind doesn't support `module_local` like
pybind11](https://nanobind.readthedocs.io/en/latest/porting.html#removed-features).
It does support `NB_DOMAIN` but that is not sufficient for
disambiguating typeids across projects (to wit: we currently define
`NB_DOMAIN` and it was still necessary to move everything to a nested
namespace);
3. Build the [nanobind library itself as a shared
object](https://github.com/wjakob/nanobind/blob/master/cmake/nanobind-config.cmake#L127)
(and link it to both the extensions and `MLIRPythonSupport`).
4. CMake to make this work, in-tree, out-of-tree, downstream, upstream,
etc.
# Testing
Three tests are added here
1. `PythonTestModuleNanobind` is ported to use
`PyConcreteType<PyTestType>` instead of `mlir_type_subclass` and
`PyConcreteAttribute<PyTestAttr>` instead of `mlir_atrr_subclass`,
verifying this works for non-core extensions in-tree;
2. `StandaloneExtensionNanobind` is ported to use `struct PyCustomType :
mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConcreteType<PyCustomType>`
instead of `mlir_type_subclass` verifying this works for non-core
extensions out-of-tree;
3. `StandaloneExtensionNanobind`'s `smoketest` is extended to also load
another bindings package (namely `mlir`) verifying
`MLIR_BINDINGS_PYTHON_DOMAIN` successfully disambiguates symbols and
typeids.
I have also tested this downstream:
https://github.com/llvm/eudsl/pull/287 as well run the following builder
bots:
mlir-nvidia-gcc7:
https://lab.llvm.org/buildbot/#/buildrequests/6654424?redirect_to_build=true
I have also tested against IREE:
https://github.com/iree-org/iree/pull/21916
# Integration
It is highly recommended to set the CMake var
`MLIR_BINDINGS_PYTHON_NB_DOMAIN` (which will also determine
`MLIR_BINDINGS_PYTHON_DOMAIN`) to something unique for each downstream.
This can also be passed explicitly to `add_mlir_python_modules` if your
project builds multiple bindings packages. I added a `WARNING` to this
effect in `AddMLIRPython.cmake`.
[^3]: Python values being typed correctly when exiting from cpp;
[^1]: Specifically when the modules are imported using `importlib`,
which occurs with nanobind's
[stubgen](https://github.com/wjakob/nanobind/blob/master/src/stubgen.py#L965);
[^2]: The workaround we implemented was a class method for the dialect
bindings called `Class.isinstance(...)`;
Commit: e25eacf10c0d6718bad4e18e63757f97be9f9596
https://github.com/llvm/llvm-project/commit/e25eacf10c0d6718bad4e18e63757f97be9f9596
Author: lntue <lntue at google.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M libc/src/math/generic/log1p.cpp
Log Message:
-----------
[libc][math] Fix the FTZ/DAZ checks for log1p. (#174424)
The previous checks will fail with
https://github.com/llvm/llvm-project/pull/174123.
See
https://github.com/llvm/llvm-project/pull/174290#issuecomment-3708052716
for the discussion.
Commit: 152234e9fffb5a9a0a8650ab5c0f31247874510c
https://github.com/llvm/llvm-project/commit/152234e9fffb5a9a0a8650ab5c0f31247874510c
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M libcxx/include/__ranges/view_interface.h
A libcxx/test/libcxx/ranges/range.utility/view.interface/nodiscard.verify.cpp
Log Message:
-----------
[libc++][ranges] Applied `[[nodiscard]]` to `view_interface` (#174360)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/view.interface
Towards #172124
Commit: 18fc908566ae40ee91bb82d84f00056891aa7ae8
https://github.com/llvm/llvm-project/commit/18fc908566ae40ee91bb82d84f00056891aa7ae8
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M mlir/examples/standalone/python/StandaloneExtensionNanobind.cpp
M mlir/examples/standalone/test/python/smoketest.py
A mlir/include/mlir/Bindings/Python/IRAttributes.h
M mlir/include/mlir/Bindings/Python/IRCore.h
M mlir/include/mlir/Bindings/Python/IRTypes.h
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/lib/Bindings/Python/MainModule.cpp
M mlir/python/CMakeLists.txt
M mlir/test/Examples/standalone/test.wheel.toy
M mlir/test/python/lib/PythonTestModuleNanobind.cpp
Log Message:
-----------
[mlir][Python] move IRTypes and IRAttributes to MLIRPythonSupport (#174118)
This PR continues the work of
https://github.com/llvm/llvm-project/pull/171775 by moving more useful
types/attributes into MLIRPythonSupport.
You can now do
```c++
struct PyTestIntegerRankedTensorType
: mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConcreteType<
PyTestIntegerRankedTensorType,
mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRankedTensorType>
struct PyTestTensorValue
: mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConcreteValue<
PyTestTensorValue>
```
instead of `mlir_type_subclass` and `mlir_value_subclass`;
**specifically manual registration of the "value caster" via indirection
through the Python interpreter is no longer necessary** . You can also
now freely use all such types at the nanobind API level (e.g., overload
based on `FP*`):
```c++
using mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN;
standaloneM.def("print_fp_type", [](PyF16Type &) { nb::print("this is a fp16 type"); });
standaloneM.def("print_fp_type", [](PyF32Type &) { nb::print("this is a fp32 type"); });
standaloneM.def("print_fp_type", [](PyF64Type &) { nb::print("this is a fp64 type"); });
```
Note, here we only port `PythonTestModuleNanobind` but there is a
follow-up PR that ports **all** in-tree dialect extensions
https://github.com/llvm/llvm-project/pull/174156 to use these. After
that one we can soft deprecate `mlir_pure_subclass`.
Note, depends on https://github.com/llvm/llvm-project/pull/171775
Commit: 3dd53783578a0552372e8b14b557b36b7e30a1ed
https://github.com/llvm/llvm-project/commit/3dd53783578a0552372e8b14b557b36b7e30a1ed
Author: Steven Wu <stevenwu at apple.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/unittests/Support/VirtualFileSystemTest.cpp
Log Message:
-----------
[RedirectingFileSystem] Don't update error result value (#172900)
Fix an error when trying to update the parent of lookup result when look
up returns an error code.
Commit: 32d46c9033ce5129906e4d164535271637b3aaa5
https://github.com/llvm/llvm-project/commit/32d46c9033ce5129906e4d164535271637b3aaa5
Author: Prathamesh Tagore <63031630+meshtag at users.noreply.github.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateMaskedLoadStore.cpp
M mlir/test/Dialect/Vector/vector-emulate-masked-load-store.mlir
Log Message:
-----------
[mlir][vector] Fix masked load/store emulation for rank-0 memrefs (#173325)
Added rank‑0 handling to masked load/store emulation by reinterpreting
rank‑0 memrefs as 1‑D buffers with a synthetic index, preventing
empty‑indices crashes.
Fixes https://github.com/llvm/llvm-project/issues/131243
Commit: c9ca86a9f2f26464fc50ba9487944cbf985dbbbe
https://github.com/llvm/llvm-project/commit/c9ca86a9f2f26464fc50ba9487944cbf985dbbbe
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86FastTileConfig.cpp
M llvm/lib/Target/X86/X86PassRegistry.def
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/test/CodeGen/X86/AMX/amx-sink-config-after-calls.mir
Log Message:
-----------
[X86][NewPM] Port x86-fast-tile-config to NewPM (#174446)
Standard porting. Refactor the current implementation, rename the legacy
pass, and call the wrapper from the new pass manager.
Commit: dffd72d8540e1bcac11639894cf52e6113104339
https://github.com/llvm/llvm-project/commit/dffd72d8540e1bcac11639894cf52e6113104339
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/include/llvm/IR/Instructions.h
Log Message:
-----------
[IR] Do not assert and verify that phi nodes do not have a token type (#174449)
We were asserting and checking in the IR verifier (
https://github.com/llvm/llvm-project/blob/984c57794f9e8253ababfebe84303bda33e8f388/llvm/lib/IR/Verifier.cpp#L3793,
https://github.com/llvm/llvm-project/blob/984c57794f9e8253ababfebe84303bda33e8f388/llvm/include/llvm/IR/Instructions.h#L2653)
that phi nodes do not have a token type. This caused behavior
differences between asserts and non-asserts builds (assert if we feed
incorrect IR in an assertions enabled build while just erroring normally
in a release build).
Commit: 5b8baf51a94faafb1f4983cd59dcf065f6b4dcc8
https://github.com/llvm/llvm-project/commit/5b8baf51a94faafb1f4983cd59dcf065f6b4dcc8
Author: HighW4y2H3ll <zhenghaohuu at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/include/llvm/DWP/DWP.h
Log Message:
-----------
[DWP] Fix writeStringsAndOffsets declaration (#173298)
The definition of `writeStringsAndOffsets` is changed since:
https://github.com/llvm/llvm-project/pull/167457
Update its declaration in the header accordingly.
Commit: adc8619aafafa097de7c0540dabff19aded199bc
https://github.com/llvm/llvm-project/commit/adc8619aafafa097de7c0540dabff19aded199bc
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
R flang/docs/_static/llvm.css
R flang/docs/_templates/indexsidebar.html
R flang/docs/_templates/layout.html
R flang/docs/_themes/llvm-theme/layout.html
R flang/docs/_themes/llvm-theme/static/contents.png
R flang/docs/_themes/llvm-theme/static/llvm-theme.css
R flang/docs/_themes/llvm-theme/static/logo.png
R flang/docs/_themes/llvm-theme/static/navigation.png
R flang/docs/_themes/llvm-theme/theme.conf
Log Message:
-----------
[flang][NFC] Remove unused files from flang documentation (#173369)
Remove the _static/, _templates/, and _themes/ directories from
flang/docs.
_static/ contains llvm.css that was never referenced.
_templates/ contains a custom HTML layout that is not used. Flang uses
the
layout provided by the builtin haiku theme from sphinx.
_themes/ contains a custom LLVM theme for sphinx. Flang does not use
this;
it uses the builtin haiku theme from sphinx.
Commit: 5dfd277c38df91454860ada62020d021f768cd82
https://github.com/llvm/llvm-project/commit/5dfd277c38df91454860ada62020d021f768cd82
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/CUDA/CUFPredefinedVarToGPU.cpp
A flang/test/Fir/CUDA/predefined-variables.mlir
Log Message:
-----------
[flang][cuda] Add pass to transform predefined variables (#174451)
Change the predefined variables injected in the device function to their
corresponding NVVM dialect operations.
Commit: ee3338d135adc183fbd2fc7dc28af6a34bdaa60a
https://github.com/llvm/llvm-project/commit/ee3338d135adc183fbd2fc7dc28af6a34bdaa60a
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M mlir/include/mlir/Bindings/Python/IRCore.h
M mlir/lib/Bindings/Python/DialectAMDGPU.cpp
M mlir/lib/Bindings/Python/DialectGPU.cpp
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/Bindings/Python/DialectNVGPU.cpp
M mlir/lib/Bindings/Python/DialectPDL.cpp
M mlir/lib/Bindings/Python/DialectQuant.cpp
M mlir/lib/Bindings/Python/DialectSMT.cpp
M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
M mlir/lib/Bindings/Python/DialectTransform.cpp
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/python/mlir/dialects/transform/extras/__init__.py
M mlir/test/python/dialects/pdl_types.py
Log Message:
-----------
[mlir][Python] port in-tree dialect extensions to use MLIRPythonSupport (#174156)
This PR ports all in-tree dialect extensions to use the
`PyConcreteType`, `PyConcreteAttribute` CRTPs instead of
`mlir_pure_subclass`. After this PR we can soft deprecate
`mlir_pure_subclass`. Also API signatures are updated to use `Py*`
instead of `Mlir*` so that type "inference" and hints are improved.
Commit: 7a174c91f3c7630ad5cd75622846a59dee2fc1b9
https://github.com/llvm/llvm-project/commit/7a174c91f3c7630ad5cd75622846a59dee2fc1b9
Author: Jason-VanBeusekom <jason.van-beusekom at hpe.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CGVTables.h
A clang/test/OpenMP/target_vtable_codegen_container.cpp
A clang/test/OpenMP/target_vtable_codegen_explicit.cpp
A clang/test/OpenMP/target_vtable_codegen_implicit_namespace.cpp
A clang/test/OpenMP/target_vtable_codegen_memberexpr_codegen.cpp
A clang/test/OpenMP/target_vtable_codegen_mult_inherritence.cpp
A clang/test/OpenMP/target_vtable_codegen_nested.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OpenMP][clang] Register Vtables on device for indirect calls (#159856)
Commit: f31e8e930bbb58ebd13992641f74775f0a0808a2
https://github.com/llvm/llvm-project/commit/f31e8e930bbb58ebd13992641f74775f0a0808a2
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M lldb/tools/lldb-dap/ClientLauncher.cpp
M lldb/tools/lldb-dap/ClientLauncher.h
Log Message:
-----------
[lldb-dap][NFC] Add missed references (#174455)
Pass `args` as const reference to methods.
Commit: 49381c3000a6cc94db9195907270d3f73f63d0b7
https://github.com/llvm/llvm-project/commit/49381c3000a6cc94db9195907270d3f73f63d0b7
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/R600MachineCFGStructurizer.cpp
M llvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
Log Message:
-----------
[NFC][AMDGPU] Declare variables initialized with getDebugLoc as const ref (#174434)
Declare variables initialized with getDebugLoc as a const reference.
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 0e2b16217e10fe7368443ae26647e5cc3ec66410
https://github.com/llvm/llvm-project/commit/0e2b16217e10fe7368443ae26647e5cc3ec66410
Author: Marco Elver <elver at google.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/docs/AddressSanitizer.rst
M clang/docs/MemorySanitizer.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/ThreadSanitizer.rst
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGen/builtin-allow-sanitize-check-lower.c
A clang/test/CodeGen/builtin-allow-sanitize-check.c
A clang/test/Sema/builtin-allow-sanitize-check.c
Log Message:
-----------
[Clang] Add __builtin_allow_sanitize_check() (#172030)
Introduce `__builtin_allow_sanitize_check("name")` which returns true if
the specified sanitizer is enabled for the function (after inlining).
Supported sanitizers are "address", "thread", "memory", "hwaddress", and
their "kernel-" variants, matching the names of the
`no_sanitize("name")`
usage.
This builtin enables conditional execution of explicit checks only when
the sanitizer is enabled, respecting `no_sanitize` attributes, even when
used from `always_inline` functions that may be used in sanitized or
no_sanitize functions.
Since we must defer until after inlining and cannot determine the result
statically, Clang must lower to the `llvm.allow.sanitize.*` intrinsics,
which are then resolved by the `LowerAllowCheckPass`.
*Original Motivation:* The Linux kernel has a number of low-level
primitives that use inline assembly not visible to the sanitizers, but
use explicitly inserted checks to avoid coverage loss. Many of those
low-level helpers, however, are also used from so-called `noinstr`
functions, which use `no_sanitize(..)` to prohibit instrumentation;
these are used for very brittle code (such as when the kernel sets up a
task context *before* normal memory is accessible), and any
instrumentation, incl. from explicit instrumentation, is prohibited.
Many such helpers themselves are macros or `always_inline`, however, are
unable to be used from such brittle contexts because they contain
explicit instrumentation. This requires awkward workarounds to avoid the
instrumentation.
The ideal solution is this new builtin, that can be used to determine if
instrumentation is enabled in a given function or not, which the helper
can then use to insert instrumentation only where instrumentation is
allowed.
A recent such case came up in [1], where file-level instrumentation had
already been disabled for KASAN and KCSAN, which had not been necessary
if the new builtin were available.
[1] https://lore.kernel.org/all/20251208-gcov-inline-noinstr-v1-0-623c48ca5714@google.com/
Commit: 4ef68008b61b5d8d3297836c328cc72ee29efbdb
https://github.com/llvm/llvm-project/commit/4ef68008b61b5d8d3297836c328cc72ee29efbdb
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add some more C API headers to fix f0ef5dba6d12 (#174459)
Commit: 8ed35e6eda4e4be3d0dc76145dfb090f1529510a
https://github.com/llvm/llvm-project/commit/8ed35e6eda4e4be3d0dc76145dfb090f1529510a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-clrsb.ll
Log Message:
-----------
[AArch64] Make ISD::CTLS Legal for i32 and i64. (#174367)
This makes __builtin_clrsb select the CLS instruction.
Commit: 8f5b067dc321b977353b2342aa8fcfbbbd09d04b
https://github.com/llvm/llvm-project/commit/8f5b067dc321b977353b2342aa8fcfbbbd09d04b
Author: Fateme Hosseini <quic_fhossein at quicinc.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
A llvm/test/CodeGen/Hexagon/hvx-align-mstore.ll
A llvm/test/CodeGen/Hexagon/hvx-align-mstore_1.ll
Log Message:
-----------
Honor alignment for HVX masked loads/stores (incl. loops) (#174419)
Teach VectorCombine to recognize HVX masked load/store patterns and
recover base-pointer alignment, including through PHIs in loops. Compute
effective alignment for vector types and attach it to masked intrinsics
so the selector chooses aligned HVX memory operations when alignment is
known. The patch also replace the AddrGroups map with MapVector to
preserve insertion order and deterministic iteration, avoiding
run-to-run codegen differences, and add concise debug logging to aid
tracing.
Patch By: Fateme Hosseini
Co-authored-by: Sergei Larin <slarin at codeaurora.org>
Co-authored-by: Sergei Larin <slarin at qti.qualcomm.com>
Co-authored-by: Santanu Das <santdas at qti.qualcomm.com>
Commit: 3625d2d51575f984803e44b04e2ddf6f5d1fd21d
https://github.com/llvm/llvm-project/commit/3625d2d51575f984803e44b04e2ddf6f5d1fd21d
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/tools/driver/cc1as_main.cpp
Log Message:
-----------
[clang] Use VFS to get CWD in `-cc1as` (#173289)
This PR uses the VFS to get the current working directory in `-cc1as`
invocations, preventing sandbox violations.
Commit: b962254bb1f9b8a9386e5eaae9f9b2fc0d80f8e7
https://github.com/llvm/llvm-project/commit/b962254bb1f9b8a9386e5eaae9f9b2fc0d80f8e7
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Properly fix f0ef5db
I did this improperly in
4ef68008b61b5d8d3297836c328cc72ee29efbdb not realizing those headers
already had libraries setup with the correct deps.
Commit: 1e932277e1c3f93ef4f1ed1694bbebca2b119f1f
https://github.com/llvm/llvm-project/commit/1e932277e1c3f93ef4f1ed1694bbebca2b119f1f
Author: Snehasish Kumar <1888435+snehasish at users.noreply.github.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
A llvm/docs/MemProf.rst
M llvm/docs/UserGuides.rst
Log Message:
-----------
Add documentation for MemProf. (#172238)
Generated with the help of Gemini CLI, commands validated with local builds of LLVM and tcmalloc.
Commit: 2fcbd6ba04b172bb9008c827e6def4714c24989e
https://github.com/llvm/llvm-project/commit/2fcbd6ba04b172bb9008c827e6def4714c24989e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M mlir/lib/Bindings/Python/DialectLLVM.cpp
Log Message:
-----------
[MLIR] Use correct namespace for registering MLIR dialects (#174463)
This seems to match how everything else was updated in the commit. This
was failing in the bazel build, and possibly elsewhere.
Fixes
https://github.com/llvm/llvm-project/commit/ee3338d135adc183fbd2fc7dc28af6a34bdaa60a.
Commit: 75621835ea1c9afc262ce72c23389f17719c9eaf
https://github.com/llvm/llvm-project/commit/75621835ea1c9afc262ce72c23389f17719c9eaf
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
Log Message:
-----------
[NFC][Hexagon] Fix unused variable warning (#174466)
8f5b067dc321b977353b2342aa8fcfbbbd09d04b introduced this. The variable
is not used in non-asserts configurations, which throws a compiler
warning.
Commit: 5014fcc1592f67a47ae9ecfd976083e97aafd42a
https://github.com/llvm/llvm-project/commit/5014fcc1592f67a47ae9ecfd976083e97aafd42a
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/tools/driver/cc1gen_reproducer_main.cpp
Log Message:
-----------
[clang] Use VFS in `-cc1gen-reproducer` (#173293)
This VFS bypasses the FS sandbox in `cc1gen_reproducer_main()` to get
the initial VFS and then propagates it where necessary to prevent
sandbox violations.
Commit: 9c39a7d84523f61627a5d45fccfca5f8a6015ad3
https://github.com/llvm/llvm-project/commit/9c39a7d84523f61627a5d45fccfca5f8a6015ad3
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M mlir/lib/Bindings/Python/DialectSMT.cpp
Log Message:
-----------
[MLIR][Python] Use correct namespace for registering SMT dialect (#174468)
use `python::MLIR_BINDINGS_PYTHON_DOMAIN` namespace for registering SMT
dialect.
Commit: cee65d3ce019f4c59a13ff6f68b975d83fc6119b
https://github.com/llvm/llvm-project/commit/cee65d3ce019f4c59a13ff6f68b975d83fc6119b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/test/TableGen/RegClassByHwMode.td
Log Message:
-----------
[TableGen] Fix what looks like a mistake in RegClassByHwMode.td test. NFC (#174252)
The $src operand for the MY_STORE instruction had a different operand
type in the input and output patterns which looks unusual.
Fixing this makes more isel patterns appear in the generated tables.
Commit: bb471b26c02679ae6907b1be1ed3c1f61361f2bb
https://github.com/llvm/llvm-project/commit/bb471b26c02679ae6907b1be1ed3c1f61361f2bb
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Fix incorrect argument format
Commit: afb9883c70663f273a7a785100e3edf1b769d511
https://github.com/llvm/llvm-project/commit/afb9883c70663f273a7a785100e3edf1b769d511
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/lib/Driver/Driver.cpp
Log Message:
-----------
[clang] Pass VFS to driver's `ExpansionContext` (#173292)
The `ExpansionContext` constructor calls `vfs::getRealFileSystem()` when
not given VFS explicitly, leading to sandbox violations. This PR passes
the VFS into the constructor instead of calling `setVFS()` later.
Commit: b22bbe445f4d432c45f67103475da55839381809
https://github.com/llvm/llvm-project/commit/b22bbe445f4d432c45f67103475da55839381809
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/test/CodeGen/builtins-nvptx.c
Log Message:
-----------
[NVPTX][clang] Fixup support for bar0 reduction builtins (#173312)
Commit: ec719db95b1c8e2a6d4ce68a220c86b69159bbd8
https://github.com/llvm/llvm-project/commit/ec719db95b1c8e2a6d4ce68a220c86b69159bbd8
Author: Ian Anderson <iana at apple.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/test/Driver/lld-repro.c
Log Message:
-----------
[clang][test][darwin] disable lld-repro for macOS (#173425)
lld doesn't support macOS, disable its driver test on macOS.
Commit: c371721586ac9cd217eab812125cddeea2943b94
https://github.com/llvm/llvm-project/commit/c371721586ac9cd217eab812125cddeea2943b94
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
Log Message:
-----------
[llvm] Propagate the VFS to `SampleProfileLoaderPass` (#173121)
This PR propagates the VFS from the `PassBuilder` to
`SampleProfileLoaderPass`, making the VFS used more consistent across
the compiler.
Commit: 7f9a00e59c569110ac2bdaa5f21d26eff9c1de65
https://github.com/llvm/llvm-project/commit/7f9a00e59c569110ac2bdaa5f21d26eff9c1de65
Author: Yonah Goldberg <ygoldberg at nvidia.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/include/llvm/IR/OptBisect.h
M llvm/include/llvm/Support/DebugCounter.h
A llvm/include/llvm/Support/IntegerInclusiveInterval.h
M llvm/lib/IR/OptBisect.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/DebugCounter.cpp
A llvm/lib/Support/IntegerInclusiveInterval.cpp
A llvm/test/Other/debugcounter-multi-intervals.ll
A llvm/test/Other/opt-bisect-ranges.ll
M llvm/tools/reduce-chunk-list/reduce-chunk-list.cpp
M llvm/unittests/Support/CMakeLists.txt
A llvm/unittests/Support/IntegerInclusiveIntervalTest.cpp
Log Message:
-----------
[OptBisect][ADT] Add support for running ranges of passes and introduce IntegerInclusiveInterval ADT (#152393)
This PR does two things:
1. Introduce `-opt-bisect=<inclusive_integer_interval>` for running
ranges of passes, where `inclusive_integer_interval` could be:
- `-1` to run all pases
- `0` to run no passes
- `10-12` to run passes 10 through 12
- `10-12,15-18 `to run passes 10 through 10 and 15 through 18
`-opt-bisect-limit=N` now maps to `-opt-bisect=1-N`
2. Introduces `IntegerInclusiveInterval` in ADT to represent these
intervals and the ability to parse string ranges (from the command
line). The motivation to move this into ADT is that both `opt-bisect`
and `debug-counter` need to parse intervals from the command line.
`reduce-chunk-list` also relied on a interval object, so I refactored
that to use `IntegerInclusiveInterval` as well.
Commit: 5089f634609aab7bec747c731ecdb572ac4d9d40
https://github.com/llvm/llvm-project/commit/5089f634609aab7bec747c731ecdb572ac4d9d40
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/test/Modules/ignored_macros.m
M clang/test/Modules/mismatch-diagnostics.cpp
A clang/test/Modules/precompiled-config-mismatch-diagnostics.c
M clang/test/PCH/module-hash-difference.m
Log Message:
-----------
[clang][modules] Diagnose config mismatches more generally from precompiled files (#174260)
PCHs (but also modules generated from several implicit invocations like
swiftc) previously reported a confusing diagnostic about module caches
being mismatched by subdir. This is an implementation detail of the
module machinery, and not very useful to the end user. Instead, report
this case as a configuration mismatch when the compiler can confirm the
module cache was passed the same between the current TU & previously
compiled products.
Ideally, each argument that could result in this error would be uniquely
reported (e.g., O3), but as a starting point, providing something more
general is strictly better than pointing the user to the module cache.
This patch also includes NFCs for renaming variable names from Module to
AST and formatting cleanup in related areas.
resolves: rdar://167453135
Commit: 735b1c284d6a3e838c08699944707ae8c303fa8f
https://github.com/llvm/llvm-project/commit/735b1c284d6a3e838c08699944707ae8c303fa8f
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.h
M flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOpsInterfaces.td
Log Message:
-----------
[flang][acc] Introduce interface for rematerializable ops (#174467)
During the outlining process when offloading acc regions, the body of
the compute kernel is separated from its original location and live-in
values are handled in various ways including becoming function
arguments.
However, some operations are purely synthetic and only make sense when
included with another operation (usually such operations exist to
simplify IR design). Bounds and shapes are examples where during
outlining they should be recreated inside to capture the full
information.
Therefore, introduce a new operation interface named
OutlineRematerializationOpInterface meant to be attached to such
operations. It is currently expected that all such operations are memory
effect free to ensure there are no considerations needed when moving or
cloning them into outlined regions.
The interface is attached to the following operations:
- acc.bounds (directly in TableGen)
- fir.shape (via external model)
- fir.shape_shift (via external model)
- fir.shift (via external model)
- fir.field_index (via external model)
The pass that will use this interface and associated testing will follow
in another pull request.
Commit: c8a62d84b94e9ea9d6a2b0d31ef75a4430dad762
https://github.com/llvm/llvm-project/commit/c8a62d84b94e9ea9d6a2b0d31ef75a4430dad762
Author: Rose Hudson <rose.hudson at sony.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
Log Message:
-----------
[Clang][NFC] remove getUnqualifiedType() when it's already unqualified (#172504)
Since 8c4950951269ec58296afbeba14e99aef467f84d,
getCanonicalTypeUnqualified() calls getUnqualifiedType(), so there's no
point in calling that again on its return value.
Commit: 2d050f01438999df63f07c562879a2d765052a49
https://github.com/llvm/llvm-project/commit/2d050f01438999df63f07c562879a2d765052a49
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/narrow-switch.ll
A llvm/test/Transforms/InstCombine/switch-xor.ll
Log Message:
-----------
[InstCombine] Canonicalize `switch(X^C)` expressions to `switch(X)`
`switch(X^C)` expressions can be folded to `switch(X)`. Minor
opportunity to generalize simplifications in `visitSwitchInst`
via an inverse function helper as well.
Proof: https://alive2.llvm.org/ce/z/TMRy_3.
Fixes: https://github.com/llvm/llvm-project/issues/174255.
Fixes: https://github.com/llvm/llvm-project/issues/143368.
Commit: 9e5e267a03984de730aa6e8741c4b3bddfc88728
https://github.com/llvm/llvm-project/commit/9e5e267a03984de730aa6e8741c4b3bddfc88728
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
A llvm/test/CodeGen/RISCV/clmul.ll
A llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-clmul.ll
Log Message:
-----------
[ISel] Introduce llvm.clmul intrinsic (#168731)
In line with a std proposal to introduce the llvm.clmul family of
intrinsics corresponding to carry-less multiply operations. This work
builds upon 727ee7e ([APInt] Introduce carry-less multiply primitives),
and follow-up patches will introduce custom-lowering on supported
targets, replacing target-specific clmul intrinsics.
Testing is done on the RISC-V target, which should be sufficient to
prove that the intrinsics work, since no RISC-V specific lowering has
been added.
Ref: https://isocpp.org/files/papers/P3642R3.html
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: c7fe2f7a301b217ff6cfda70df06a6fc283c932e
https://github.com/llvm/llvm-project/commit/c7fe2f7a301b217ff6cfda70df06a6fc283c932e
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/lib/Frontend/ChainedIncludesSource.cpp
Log Message:
-----------
[clang] Reuse configured VFS for chained includes (#173288)
This PR propagates the already-configured VFS when handling chained
includes, preventing unexpected use of the real FS and sandbox
violations.
Commit: 0ff011f0a1e02577ef46e7bb4ec3ad3d86687dba
https://github.com/llvm/llvm-project/commit/0ff011f0a1e02577ef46e7bb4ec3ad3d86687dba
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/lib/Frontend/SARIFDiagnostic.cpp
M clang/lib/Frontend/TextDiagnostic.cpp
Log Message:
-----------
[clang] Fix IO sandbox violations in diagnostic filenames (#173107)
Update TextDiagnostic and SARIFDiagnostic emitFilename to use the
FileManager's makeAbsolutePath instead of directly calling
make_absolute. This fixes IO sandbox violation errors.
Commit: 5de2c7519c5d151bffe51359b179753d7f479523
https://github.com/llvm/llvm-project/commit/5de2c7519c5d151bffe51359b179753d7f479523
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Port 735b1c284d6a3e838c08699944707ae8c303fa8f (#174476)
Commit: e826168a24479c7613f098daa19248d4b494ee96
https://github.com/llvm/llvm-project/commit/e826168a24479c7613f098daa19248d4b494ee96
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/CUDA/CUFLaunchAttachAttr.cpp
A flang/test/Fir/CUDA/cuda-launch-attach-attr.mlir
Log Message:
-----------
[flang][cuda] Add CUFLaunchAttachAttr pass (#174465)
CUF kernel are generated via gpu.launch and then outlined. The resulting
launch operation needs to hava a CUDA attribute attached so it will
be distinguishable from other launch.
Commit: fb8bbd4ed89e4b929c6fb96384e3ad3b6f3da8d9
https://github.com/llvm/llvm-project/commit/fb8bbd4ed89e4b929c6fb96384e3ad3b6f3da8d9
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M mlir/include/mlir-c/Dialect/PDL.h
M mlir/include/mlir-c/Dialect/Quant.h
M mlir/include/mlir/Bindings/Python/IRCore.h
M mlir/lib/Bindings/Python/DialectPDL.cpp
M mlir/lib/Bindings/Python/DialectQuant.cpp
M mlir/lib/Bindings/Python/IRAffine.cpp
M mlir/lib/CAPI/Dialect/PDL.cpp
M mlir/lib/CAPI/Dialect/Quant.cpp
M mlir/python/mlir/dialects/arith.py
M mlir/python/mlir/dialects/linalg/opdsl/lang/emitter.py
M mlir/python/mlir/dialects/memref.py
M mlir/test/mlir-tblgen/op-python-bindings.td
M mlir/test/python/dialects/arith_dialect.py
M mlir/test/python/dialects/pdl_types.py
M mlir/test/python/dialects/quant.py
M mlir/test/python/ir/affine_expr.py
M mlir/test/python/ir/attributes.py
M mlir/test/python/ir/auto_location.py
M mlir/test/python/ir/builtin_types.py
M mlir/test/python/ir/value.py
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
Log Message:
-----------
[mlir][Python] use canonical Python `isinstance` instead of `Type.isinstance` (#172892)
We've been able to do `isinstance(x, Type)` for a quite a while now
(since
https://github.com/llvm/llvm-project/commit/bfb1ba752655bf09b35c486f6cc9817dbedfb1bb)
so remove `Type.isinstance` and the the special-casing
(`_is_integer_type`, `_is_floating_point_type`, `_is_index_type`) in
some places (and therefore support various `fp8`, `fp6`, `fp4` types).
Commit: 7071c469f64bc494882852d1de38f3f241b391a3
https://github.com/llvm/llvm-project/commit/7071c469f64bc494882852d1de38f3f241b391a3
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M utils/bazel/configure.bzl
Log Message:
-----------
[bazel] Add comment about DEFAULT_TARGETS (#174479)
This should not include targets that aren't enabled in cmake.
6ccf97674b2deaa03e271725306b18a712a56113
Commit: 65dbee00898417b09d6bd40d67c129ee7b0de2fc
https://github.com/llvm/llvm-project/commit/65dbee00898417b09d6bd40d67c129ee7b0de2fc
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/utils/lit/lit/TestRunner.py
A llvm/utils/lit/tests/Inputs/shtest-not-posix/fail-signal.py
A llvm/utils/lit/tests/Inputs/shtest-not-posix/lit.cfg
A llvm/utils/lit/tests/Inputs/shtest-not-posix/not-signal-crash.txt
A llvm/utils/lit/tests/Inputs/shtest-not-posix/not-signal.txt
A llvm/utils/lit/tests/shtest-not-posix.py
Log Message:
-----------
[lit] Make not still fail if the called process returns a signal
This is the behavior of the main not binary that was not preserved in
the internal shell. Make it so that the builtin not command does
actually fail if we end up with a signal rather than just a non-zero
exit code.
Reviewers: petrhosek, ilovepi, jdenny-ornl, arichardson
Pull Request: https://github.com/llvm/llvm-project/pull/174298
Commit: ad5be31c30525b70eb0ccea6d0309856417dc7e6
https://github.com/llvm/llvm-project/commit/ad5be31c30525b70eb0ccea6d0309856417dc7e6
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M mlir/docs/Bindings/Python.md
M mlir/test/Examples/NVGPU/tools/nvdsl.py
M mlir/test/Integration/GPU/CUDA/sm90/python/tools/matmulBuilder.py
Log Message:
-----------
[mlir][Python] fix NV examples after #172892 (#174481)
Commit: 44d4a64a8bf8e7af47865f0c32cc189e95b2338b
https://github.com/llvm/llvm-project/commit/44d4a64a8bf8e7af47865f0c32cc189e95b2338b
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M libunwind/src/Unwind-wasm.c
Log Message:
-----------
[libunwind][WebAssembly] Fix typos (NFC) (#173745)
Commit: 4a11e7af8e19bfb5aa64a13228e6369f9f783fe5
https://github.com/llvm/llvm-project/commit/4a11e7af8e19bfb5aa64a13228e6369f9f783fe5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/include/clang/Driver/RocmInstallationDetector.h
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/rocm-device-libs.cl
M flang/test/Driver/omp-driver-offload.f90
Log Message:
-----------
Reapply "clang/AMDGPU: Stop looking for oclc_daz_opt_* control libraries (#134805)" (#174483)
This reverts commit ccfb97b42174eab118a4e4222c25e986db876563.
This was reverted due to the unfortunate reliance on external device
library installations, which ship the last rocm released bitcode. The
last attempt was 8 months ago, so hopefully the buildbots are now caught
up to a more recent build that no longer needs the old control library.
Commit: b9fbc19017acf140383e03a5a88e3e99ee4ec8d8
https://github.com/llvm/llvm-project/commit/b9fbc19017acf140383e03a5a88e3e99ee4ec8d8
Author: saxlungs <152745038+saxlungs at users.noreply.github.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.shuffle.ll
Log Message:
-----------
[AMDGPU] Add new llvm.amdgcn.wave.shuffle intrinsic (#167372)
This intrinsic will be useful for implementing the
OpGroupNonUniformShuffle operation in the SPIR-V reference
---------
Signed-off-by: Domenic Nutile <domenic.nutile at gmail.com>
Co-authored-by: Jay Foad <jay.foad at gmail.com>
Commit: 15da3108373597bcb4c03887731f31b3e19145e8
https://github.com/llvm/llvm-project/commit/15da3108373597bcb4c03887731f31b3e19145e8
Author: Teresa Johnson <tejohnson at google.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/memprof-icp.ll
Log Message:
-----------
[MemProf] Include matching calls in the dot graph node label (#174247)
After initially matching stack nodes to summary we may have multiple
calls per node, e.g. in the case of indirect calls with multiple
profiled callee targets. It is useful to see all of these calls, which
will show up in the poststackupdate dot graph.
Commit: 5dc6deafef47a7f38cf736c1c97ceb786353a82b
https://github.com/llvm/llvm-project/commit/5dc6deafef47a7f38cf736c1c97ceb786353a82b
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
Log Message:
-----------
[Fuchsia] Set libcxx baremetal options (#173825)
Setting LIBCXX_HAS_RT_LIB and LIBCXX_HAS_PTHREAD_LIB to OFF
to prevent POSIX dependencies creeping in.
Commit: f180d4bb466f38fa67862b2d84815c4788d4c8d4
https://github.com/llvm/llvm-project/commit/f180d4bb466f38fa67862b2d84815c4788d4c8d4
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/unique_values.ll
Log Message:
-----------
[SLP] Report the correct operand to getArithmeticInstrCost() when duplicated scalars (#174442)
Before, we were selecting the wrong operand in cases when Scalars
contained duplicate values. Stems from #135797.
Using:
`opt -passes=slp-vectorizer -mtriple=riscv64 -mattr=+v t.ll`
```
target datalayout = "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128"
target triple = "riscv64"
define void @foo(ptr noalias %A, ptr noalias %B) {
entry:
%0 = load i32, ptr %B
%add = add nsw i32 %0, 1
store i32 %add, ptr %A
%arrayidx.1 = getelementptr inbounds nuw i8, ptr %B, i64 4
%1 = load i32, ptr %arrayidx.1
%add.1 = add nsw i32 %1, 1
%arrayidx2.1 = getelementptr inbounds nuw i8, ptr %A, i64 4
store i32 %add.1, ptr %arrayidx2.1
%arrayidx.2 = getelementptr inbounds nuw i8, ptr %B, i64 8
%2 = load i32, ptr %arrayidx.2
%add.2 = add nsw i32 %2, 1
%arrayidx2.2 = getelementptr inbounds nuw i8, ptr %A, i64 8
store i32 %add.2, ptr %arrayidx2.2
%arrayidx.3 = getelementptr inbounds nuw i8, ptr %B, i64 12
%arrayidx2.3 = getelementptr inbounds nuw i8, ptr %A, i64 12
store i32 %add, ptr %arrayidx2.3
%arrayidx.4 = getelementptr inbounds nuw i8, ptr %B, i64 16
%4 = load i32, ptr %arrayidx.4
%add.4 = add nsw i32 %4, 1
%arrayidx2.4 = getelementptr inbounds nuw i8, ptr %A, i64 16
store i32 %add.4, ptr %arrayidx2.4
%arrayidx.5 = getelementptr inbounds nuw i8, ptr %B, i64 20
%5 = load i32, ptr %arrayidx.5
%add.5 = add nsw i32 %5, 1
%arrayidx2.5 = getelementptr inbounds nuw i8, ptr %A, i64 20
store i32 %add.5, ptr %arrayidx2.5
%arrayidx.6 = getelementptr inbounds nuw i8, ptr %B, i64 24
%6 = load i32, ptr %arrayidx.6
%add.6 = add nsw i32 %6, 1
%arrayidx2.6 = getelementptr inbounds nuw i8, ptr %A, i64 24
store i32 %add.6, ptr %arrayidx2.6
%arrayidx.7 = getelementptr inbounds nuw i8, ptr %B, i64 28
%7 = load i32, ptr %arrayidx.7
%add.7 = add nsw i32 %7, 1
%arrayidx2.7 = getelementptr inbounds nuw i8, ptr %A, i64 28
store i32 %add.7, ptr %arrayidx2.7
ret void
}
```
The following trace is produced, note the wrong operand is used for `Idx
> 2`
Before:
```
GetScalarCost(), Idx=0
UniqueValues[Idx]: %add = add nsw i32 %0, 1
Op1: %0 = load i32, ptr %B, align 4
GetScalarCost(), Idx=1
UniqueValues[Idx]: %add.1 = add nsw i32 %1, 1
Op1: %1 = load i32, ptr %arrayidx.1, align 4
GetScalarCost(), Idx=2
UniqueValues[Idx]: %add.2 = add nsw i32 %2, 1
Op1: %2 = load i32, ptr %arrayidx.2, align 4
GetScalarCost(), Idx=3
UniqueValues[Idx]: %add.4 = add nsw i32 %3, 1
Op1: %0 = load i32, ptr %B, align 4
GetScalarCost(), Idx=4
UniqueValues[Idx]: %add.5 = add nsw i32 %4, 1
Op1: %3 = load i32, ptr %arrayidx.4, align 4
GetScalarCost(), Idx=5
UniqueValues[Idx]: %add.6 = add nsw i32 %5, 1
Op1: %4 = load i32, ptr %arrayidx.5, align 4
GetScalarCost(), Idx=6
UniqueValues[Idx]: %add.7 = add nsw i32 %6, 1
Op1: %5 = load i32, ptr %arrayidx.6, align 4
```
After:
```
GetScalarCost(), Idx=0
UniqueValues[Idx]: %add = add nsw i32 %0, 1
Op1: %0 = load i32, ptr %B, align 4
GetScalarCost(), Idx=1
UniqueValues[Idx]: %add.1 = add nsw i32 %1, 1
Op1: %1 = load i32, ptr %arrayidx.1, align 4
GetScalarCost(), Idx=2
UniqueValues[Idx]: %add.2 = add nsw i32 %2, 1
Op1: %2 = load i32, ptr %arrayidx.2, align 4
GetScalarCost(), Idx=3
UniqueValues[Idx]: %add.4 = add nsw i32 %3, 1
Op1: %3 = load i32, ptr %arrayidx.4, align 4
GetScalarCost(), Idx=4
UniqueValues[Idx]: %add.5 = add nsw i32 %4, 1
Op1: %4 = load i32, ptr %arrayidx.5, align 4
GetScalarCost(), Idx=5
UniqueValues[Idx]: %add.6 = add nsw i32 %5, 1
Op1: %5 = load i32, ptr %arrayidx.6, align 4
GetScalarCost(), Idx=6
UniqueValues[Idx]: %add.7 = add nsw i32 %6, 1
Op1: %6 = load i32, ptr %arrayidx.7, align 4
```
Commit: 16830b21649b9d6edfb97fcfa4df0bf683848876
https://github.com/llvm/llvm-project/commit/16830b21649b9d6edfb97fcfa4df0bf683848876
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/select-costs.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
M llvm/test/Transforms/LoopVectorize/X86/vector-scalar-select-cost.ll
M llvm/test/Transforms/LoopVectorize/icmp-uniforms.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Remove VPWidenSelectRecipe, use VPWidenRecipe instead (NFCI). (#174234)
All extra state has been removed from VPWidenSelectRecipe at this point.
There's no benefit of having a separate recipe and Select can easily be
handled by the existing VPWidenRecipe.
PR: https://github.com/llvm/llvm-project/pull/174234
Commit: 6021ed572f3c0435d0d76d9e2b4b5412553f357e
https://github.com/llvm/llvm-project/commit/6021ed572f3c0435d0d76d9e2b4b5412553f357e
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M mlir/include/mlir/Bindings/Python/IRCore.h
M mlir/lib/Bindings/Python/DialectGPU.cpp
M mlir/lib/Bindings/Python/DialectPDL.cpp
M mlir/lib/Bindings/Python/DialectQuant.cpp
M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
M mlir/lib/Bindings/Python/DialectTransform.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/test/python/dialects/quant.py
Log Message:
-----------
[mlir][Python] use maybeDowncast for PyType/PyAttribute returns after #174156 (#174489)
#174156 made all gettors return `Py*` but skipped downcasting where
possible. So restore it by calling `.maybeDowncast`.
Commit: 71925cbdf80d4fc88ef844e726f89aa71c64bceb
https://github.com/llvm/llvm-project/commit/71925cbdf80d4fc88ef844e726f89aa71c64bceb
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
A clang/test/Modules/Inputs/pch-config-macros/include/Mod1.h
A clang/test/Modules/Inputs/pch-config-macros/include/module.modulemap
A clang/test/Modules/pch-config-macros.c
Log Message:
-----------
[clang][Modules] Fix unexpected warnings triggered by a PCH and a module with config macros (#174034)
When a PCH is compiled with macro definitions on the command line, such
as `-DCONFIG1`, an unexpected warning can occur if the macro definitions
happen to belong to an imported module's config macros. The warning may
look like the following:
```
definition of configuration macro 'CONFIG1' has no effect on the import of 'Mod1'; pass '-DCONFIG1=...' on the command line to configure the module
```
while `-DCONFIG1` is clearly on the command line when `clang` compiles
the source that uses the PCH and the module.
The reason this can happen is a combination of two things:
1. The logic that checks for config macros is not aware of any command
line macros passed through the PCH
([here](https://github.com/llvm/llvm-project/blob/7976ac990000a58a7474269a3ca95e16aed8c35b/clang/lib/Frontend/CompilerInstance.cpp#L1562)).
2. `clang` _replaces_ the predefined macros on the command line with the
predefined macros from the PCH, which does not include any builtins
([here](https://github.com/llvm/llvm-project/blob/7976ac990000a58a7474269a3ca95e16aed8c35b/clang/lib/Frontend/CompilerInstance.cpp#L679)).
This PR teaches the preprocessor to recognize the command line macro
definitions passed transitively through the PCH, so that the error check
does not miss these definitions by mistake. The config macro itself
works fine, and it is only the error check that needs fixing.
rdar://95261458
Commit: 3023c1069e7029cbf13d23746273b7a04d4e0d1a
https://github.com/llvm/llvm-project/commit/3023c1069e7029cbf13d23746273b7a04d4e0d1a
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Options/Options.td
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/CodeGen/CGObjCRuntime.h
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/clang_f_opts.c
Log Message:
-----------
[ObjCDirectPreconditionThunk] Adding a flag to with objc_direct symbols' prefix (#170616)
## TL;DR
This is a stack of PRs implementing features to expose direct methods
ABI.
You can see the RFC, design, and discussion
[here](https://discourse.llvm.org/t/rfc-optimizing-code-size-of-objc-direct-by-exposing-function-symbols-and-moving-nil-checks-to-thunks/88866).
The stack of the following four PRs completes the whole feature.
https://github.com/llvm/llvm-project/pull/170616 **Flag
`-fobjc-direct-precondition-thunk` set up**
https://github.com/llvm/llvm-project/pull/170617 Code refactoring to
ease later reviews
https://github.com/llvm/llvm-project/pull/170618 Thunk generation
https://github.com/llvm/llvm-project/pull/170619 Optimizations, some
class objects can be known to be realized
## Implementation details
1. Add a flag. I used `-fobjc-direct-precondition-thunk` instead of
`-fobjc-direct-caller-thunks` as discussed in this PR.
2. Clean up and set up helper functions to implement later
a. `canMessageReceiverBeNull` / `canClassObjectBeUnrealized` these two
functions will be helpful later to determine which function (true
implementation or nil check thunk) we should dispatch a call to.
Formatting.
b. `getSymbolNameForMethod` has a new argument `includePrefixByte`,
which allows us to erase the prefixing `\01` when the flag is enabled
c. `usePreconditionThunk` is the single source of truth of what we
should do. It not only checks for the flag, but also whether the method
is qualified and we are in the right runtime. A method that
`usePreconditionThunk` is either `shouldHavePreconditionThunk` or
`shouldHavePreconditionInline`.
## Tests
Driver tests
---------
Signed-off-by: Peter Rong <PeterRong at meta.com>
Co-authored-by: Kyungwoo Lee <kyulee at meta.com>
Commit: 39de76220c7a3aeb75d5a8b8da08ddefac677394
https://github.com/llvm/llvm-project/commit/39de76220c7a3aeb75d5a8b8da08ddefac677394
Author: Ian Anderson <iana at apple.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/test/Driver/lld-repro.c
Log Message:
-----------
Revert "[clang][test][darwin] disable lld-repro for macOS (#173425)" (#174493)
Oddly this test has started working even though it was failing for me
for months...
This reverts commit ec719db95b1c8e2a6d4ce68a220c86b69159bbd8.
Commit: 4bbc1f6cb526b31b1c9128bcb7a1d2212f098846
https://github.com/llvm/llvm-project/commit/4bbc1f6cb526b31b1c9128bcb7a1d2212f098846
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
Log Message:
-----------
[LV] Add test case for costs of load of pointer inductions (NFC).
Commit: 2f06623953d9071de51b23c67b77ff8c388593bc
https://github.com/llvm/llvm-project/commit/2f06623953d9071de51b23c67b77ff8c388593bc
Author: Zequan Wu <zequanwu at google.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M compiler-rt/test/builtins/CMakeLists.txt
Log Message:
-----------
[compiler-rt] fix crt target dependency. (#174475)
This fixes cmake error from
https://github.com/llvm/llvm-project/pull/171941 in chrome's llvm build
where we have `COMPILER_RT_BUILD_BUILTINS=OFF` and have
`COMPILER_RT_TEST_BUILTINS_DIR` set. That change makes it to depend on
`crt` even if we don't have it in the prebuilt dir.
Log:
```
CMake Error at CMakeLists.txt:349 (add_dependencies):
The dependency target "crt" of target "runtimes-test-depends" does not
exist.
CMake Error at /b/s/w/ir/cache/builder/src/third_party/llvm/llvm/cmake/modules/AddLLVM.cmake:2104 (add_dependencies):
The dependency target "crt" of target "check-runtimes" does not exist.
Call Stack (most recent call first):
/b/s/w/ir/cache/builder/src/third_party/llvm/llvm/cmake/modules/AddLLVM.cmake:2145 (add_lit_target)
CMakeLists.txt:353 (umbrella_lit_testsuite_end)
CMake Error at /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/test/CMakeLists.txt:127 (add_dependencies):
The dependency target "crt" of target "compiler-rt-test-depends" does not
exist.
CMake Error at /b/s/w/ir/cache/builder/src/third_party/llvm/llvm/cmake/modules/AddLLVM.cmake:2104 (add_dependencies):
The dependency target "crt" of target "check-compiler-rt" does not exist.
Call Stack (most recent call first):
/b/s/w/ir/cache/builder/src/third_party/llvm/llvm/cmake/modules/AddLLVM.cmake:2145 (add_lit_target)
/b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/test/CMakeLists.txt:129 (umbrella_lit_testsuite_end)
CMake Error at /b/s/w/ir/cache/builder/src/third_party/llvm/llvm/cmake/modules/AddLLVM.cmake:2104 (add_dependencies):
The dependency target "crt" of target "check-builtins" does not exist.
Call Stack (most recent call first):
/b/s/w/ir/cache/builder/src/third_party/llvm/llvm/cmake/modules/AddLLVM.cmake:2171 (add_lit_target)
/b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/test/builtins/CMakeLists.txt:137 (add_lit_testsuite)
```
Commit: 4bca00d56b28cf88051045cd4dc15716b88f5484
https://github.com/llvm/llvm-project/commit/4bca00d56b28cf88051045cd4dc15716b88f5484
Author: Joe Nash <joseph.nash at amd.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
R llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.shuffle.ll
Log Message:
-----------
Revert "[AMDGPU] Add new llvm.amdgcn.wave.shuffle intrinsic" (#174501)
Reverts llvm/llvm-project#167372
Commit: 02451f54d642aec6af656f4b9df9535cd2aa2bcd
https://github.com/llvm/llvm-project/commit/02451f54d642aec6af656f4b9df9535cd2aa2bcd
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/include/clang/DependencyScanning/DependencyScannerImpl.h
M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
M clang/include/clang/Tooling/DependencyScanningTool.h
M clang/lib/DependencyScanning/CMakeLists.txt
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
M clang/unittests/DependencyScanning/DependencyScanningWorkerTest.cpp
Log Message:
-----------
[clang][DependencyScanning] Remove dependency on clangDriver from clangDependencyScanning (#172347)
This is the final patch in a series that removes the dependency of
`clangDependencyScanning` on `clangDriver`, splitting the work from
#169964 into smaller changes (see comment linked below).
This patch updates the remaining parts of the scanning interface in
`DependencyScanningWorker` to only operate on `-cc1` / driver job
command lines.
This follows #171238, which applied this change to the by-name scanning
API.
This is part of a broader effort to support driver-managed builds for
compilations using C++ named modules and/or Clang modules. It is
required for linking the dependency scanning tooling against the driver
without introducing cyclic dependencies, which would otherwise cause
build failures when dynamic linking is enabled.
---------
Co-authored-by: Jan Svoboda <jan at svoboda.ai>
Commit: e9ba0e6bf0931bb48af427ac3fecf0139022884f
https://github.com/llvm/llvm-project/commit/e9ba0e6bf0931bb48af427ac3fecf0139022884f
Author: Andrew Haberlandt <ahaberlandt at apple.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/builtins/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[compiler-rt] Fix check-builtins buildbot failures (#174443)
After #171941, there are two issues:
First, some buildbots that use the old-style build are failing at:
```
Target ${BUILTIN_LIB_TARGET_NAME} does not exist"
```
Example failure:
https://lab.llvm.org/buildbot/#/builders/139/builds/25097
...during CMake configure. This appears to be caused by mismatch between
the builtin library's _target_ name and the output name from
set_output_name. This reverts the change to BUILTIN_LIB_TARGET_NAME made
by #171941, but still use the output name for naming the .sources.txt
file used for configuring builtins tests.
Second, this speculatively fixes an issue caused by two builtins
libraries that are produced with the same name in different directories
because of `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` (e.g.
`lib/clang/22/lib/i386-unknown-linux-gnu/libclang_rt.builtins.a` and
`lib/clang/22/lib/x86_64-unknown-linux-gnu/libclang_rt.builtins.a`), and
thus the `.sources.txt` paths alias. This causes us to run the wrong
tests against one of the builtins libraries. The chosen fix is to store
the .sources.txt files in `get_compiler_rt_output_dir` (which takes
`LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` into account) rather than
`CMAKE_BINARY_DIR`.
As a side-effect, this allows for the replacement of
`COMPILER_RT_TEST_BUILTINS_DIR` with a simpler boolean option
`COMPILER_RT_TEST_EXTERNAL_BUILTINS`.
Example failure:
https://lab.llvm.org/buildbot/#/builders/66/builds/24433
Commit: fbbd2e319cb850b049ef2d93e3e5ccb188249596
https://github.com/llvm/llvm-project/commit/fbbd2e319cb850b049ef2d93e3e5ccb188249596
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
ValueTracking: Rephrase fmul sign bit checks (#174498)
Consistently use isKnownNever instead of isKnownAlways
Commit: a42bb08e4474c797fb3bd6d0b041871407c9cbde
https://github.com/llvm/llvm-project/commit/a42bb08e4474c797fb3bd6d0b041871407c9cbde
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
A flang/test/Fir/CUDA/cuda-device-func-transform-cc90.mlir
A flang/test/Fir/CUDA/cuda-device-func-transform.mlir
Log Message:
-----------
[flang][cuda] Add CUFDeviceFuncTransform pass (#174487)
This pass transform CUDA Fortran func.func to gpu.func and put them in
the gpu.module.
Commit: 13e352741243062d94605c9d0b8d14be7bc2058e
https://github.com/llvm/llvm-project/commit/13e352741243062d94605c9d0b8d14be7bc2058e
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M offload/test/offloading/requires.c
Log Message:
-----------
[offload][lit] Fix requires.c after 'not' behavior change (#174499)
`not` behavior change in
https://github.com/llvm/llvm-project/pull/174298 requires `--crash`
passed now.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: c655a9fff7d773cf9914d4f539f94e613cfab07b
https://github.com/llvm/llvm-project/commit/c655a9fff7d773cf9914d4f539f94e613cfab07b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/unittests/Analysis/MemoryProfileInfoTest.cpp
M llvm/unittests/Analysis/MemorySSATest.cpp
M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
Log Message:
-----------
unittests: Convert a few tests to opaque pointers (#174492)
Commit: 75d025124aa346a41b60584db3a534920ffee8f5
https://github.com/llvm/llvm-project/commit/75d025124aa346a41b60584db3a534920ffee8f5
Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/BinaryFormat/MachO.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.h
A llvm/lib/Target/RISCV/MCTargetDesc/RISCVMachObjectWriter.cpp
M llvm/lib/TargetParser/TargetDataLayout.cpp
A llvm/test/CodeGen/RISCV/riscv-macho.ll
A llvm/test/MC/RISCV/macho-local-symbol.s
A llvm/test/MC/RISCV/macho.s
Log Message:
-----------
[RISCV] Add basic Mach-O triple support. (#141682)
Based on a patch written by Tim Northover (https://github.com/TNorthover).
Commit: 6f0be668c1f674a15d6cbbd7a2b09703930a104e
https://github.com/llvm/llvm-project/commit/6f0be668c1f674a15d6cbbd7a2b09703930a104e
Author: neildhar <neildhar at users.noreply.github.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M mlir/lib/Analysis/DataFlow/LivenessAnalysis.cpp
Log Message:
-----------
[mlir] Simplify LivenessAnalysis::visitBranchOperand (#174356)
Simplify each of the three cases we need to handle.
**BranchOpInterface**
We always assume that the operand is live, so just mark it as live and
move on, there is no need to then call `visitOperation` on it.
**RegionBranchOpInterface**
Instead of separately checking for live results, collecting the blocks,
looking for memory effects, and then calling `visitOperation`, skip
directly to calling `visitOperation`. It already checks for live
results, and recursively checks for memory side effects.
Note that we already implicitly rely on the `visitOperation` call to
catch these cases, because if an operation has a non-zero number of
results, but they are all dead, we rely on `visitOperation` to check if
the operation has memory side effects. (since we don't collect the
blocks if an operation has non-zero results)
**RegionBranchTerminatorOpInterface**
We just need to check if the enclosing `RegionBranchOp` is live.
Commit: af50f9c4d80a38c96198ca6d98af5e0d41302c02
https://github.com/llvm/llvm-project/commit/af50f9c4d80a38c96198ca6d98af5e0d41302c02
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/test/TableGen/RegClassByHwMode.td
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
Log Message:
-----------
[TableGen] Return unknown type for RegClassByHwMode when NotRegister is set in getImplicitType. (#174488)
This matches what is done for regular RegisterClass. This flag is used
by DAGISelMatcherGen when it is deciding which type checks are needed.
Commit: 08a43f854c6afe94637f6a4a10a9cb2ba9a2731d
https://github.com/llvm/llvm-project/commit/08a43f854c6afe94637f6a4a10a9cb2ba9a2731d
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M offload/test/offloading/requires.c
Log Message:
-----------
[offload][lit] Use '%not' instead of 'not' in requires.c (#174506)
Typo exposed by recent `not` behavior change, we need to make sure we're
using the LLVM one.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 07b02807aaec641976a5b155b4fd6d944e6afd3b
https://github.com/llvm/llvm-project/commit/07b02807aaec641976a5b155b4fd6d944e6afd3b
Author: Lane0218 <laneljc at qq.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
Log Message:
-----------
[CIR] Add ClangIR tests for AVX512VL rotate builtins (prord/prorq) (#173822)
This PR adds missing ClangIR (CIR) test coverage for the 128/256-bit x86
rotate-right builtins used by prord/prorq.
Background
- CIR support for x86 rotate builtins was implemented in
271e99daf0ff860d0ab50c688ba5e0480de78847 ("[CIR] Support x86 builtin
rotate (#169566)").
- Existing CIR tests cover the 512-bit forms
(_mm512_ror_epi32/_mm512_ror_epi64) in
clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c, but there was no
equivalent coverage for the 128/256-bit AVX512VL forms.
What this adds
- Extends clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c with
unmasked rotate-right tests:
- _mm_ror_epi32 -> llvm.fshr.v4i32
- _mm256_ror_epi32 -> llvm.fshr.v8i32
- _mm_ror_epi64 -> llvm.fshr.v2i64
- _mm256_ror_epi64 -> llvm.fshr.v4i64
- Each test checks:
- CIR emission uses the "fshr" intrinsic with the expected vector
shapes.
- CIR->LLVM lowering and OGCG lowering both produce the expected
@llvm.fshr.* call.
- The first two operands to @llvm.fshr.* are bound and verified to be
the same value (to avoid false positives).
Testing
- build-cir/bin/llvm-lit -sv
clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
Refs
- Tracking issue: llvm/llvm-project#167765
Commit: 6ffd8b12323e9d8a9c601e62d8eb365fbd4040e4
https://github.com/llvm/llvm-project/commit/6ffd8b12323e9d8a9c601e62d8eb365fbd4040e4
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
A clang/test/CIR/CodeGen/pointer-to-member-func.cpp
Log Message:
-----------
[CIR] Upstream support for C++ method pointers (#171742)
This adds CIR support for C++ pointer-to-member types. This only adds
support for the type. Using the type in a non-trivial way requires a new
CIR constant attribute which will be added in a follow-up PR.
Commit: ba6c5f8e4ed33c19004a03ed7a9a82476fc99b71
https://github.com/llvm/llvm-project/commit/ba6c5f8e4ed33c19004a03ed7a9a82476fc99b71
Author: Rahman Lavaee <rahmanl at google.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/include/llvm/CodeGen/BasicBlockSectionsProfileReader.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/InitializePasses.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
M llvm/lib/CodeGen/CMakeLists.txt
A llvm/lib/CodeGen/InsertCodePrefetch.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
A llvm/test/CodeGen/X86/basic-block-sections-code-prefetch-call-terminates-block.ll
A llvm/test/CodeGen/X86/basic-block-sections-code-prefetch.ll
Log Message:
-----------
Insert symbols for prefetch targets read from basic blocks section profile. (#168439)
This is the first PR to enable the prefetch optimization via Propeller
based on our
[RFC](https://discourse.llvm.org/t/rfc-code-prefetch-insertion/88668/22).
It enables emitting special symbols prefixed with
`__llvm_prefetch_target` to point to the prefetch targets as specified
via directives in the profile. A prefetch target is uniquely identified
by its function name, basic block ID, and the subblock index (used when
the target is after a call instruction).
A new pass is added which sets a field in basic blocks which have
prefetch targets. The next PR will add the prefetch insertion logic into
the same pass.
Commit: 33275d0a084fa00db1cf47531b804cce91ef6442
https://github.com/llvm/llvm-project/commit/33275d0a084fa00db1cf47531b804cce91ef6442
Author: Ian Anderson <iana at apple.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
A clang/test/Driver/Inputs/DriverKit21.0.1.sdk/SDKSettings.json
M clang/test/Driver/Inputs/DriverKit23.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX10.15.versioned.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.1.sdk/SDKSettings.json
M clang/test/Driver/Inputs/WatchOS6.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/iPhoneOS13.0.sdk/SDKSettings.json
M clang/test/Driver/darwin-invalid-version-range.c
M clang/test/Driver/driverkit-path.c
M clang/test/Driver/modulemap-allow-subdirectory-search.c
M clang/test/InstallAPI/Inputs/MacOSX13.0.sdk/SDKSettings.json
M clang/test/Modules/sdk-settings-json-dep.m
M clang/test/Sema/Inputs/AppleTVOS15.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/MacOSX11.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/WatchOS7.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/XROS.sdk/SDKSettings.json
M clang/unittests/Basic/DarwinSDKInfoTest.cpp
Log Message:
-----------
[clang][driver][darwin] Base the platform prefix on the SDK, not the target (#171970)
The search path prefix is really a property of the SDK, and not the
target triple. The target is just being used as a proxy for the SDK.
That's problematic when the SDK being used doesn't match the target
assumption, and the prefix should be taken from the SDK rather than hard
coded.
Parse the SupportedTargets, which is what holds the platform prefix, in
DarwinSDKInfo. SupportedTargets contains an entry for the SDK's
canonical name, and that entry holds a valid OS value so use that
instead of the hard coded map. Include the environment which is also
relevant in some situations, and the vendor and object format in case
they're useful later. Skip architectures because they typically aren't
used for doing platform matching.
Commit: 84494cd8beb69cdd7959d6adf78a94accc9c5d40
https://github.com/llvm/llvm-project/commit/84494cd8beb69cdd7959d6adf78a94accc9c5d40
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
Log Message:
-----------
[clang][csa] Bypass sandbox in `ExprEngine::DumpGraph()` (#174497)
Clang static analyzer violates the sandbox in `ExprEngine::DumpGraph()`.
This PR bypasses the sandbox and leaves a FIXME behind.
Commit: f9181a82fd00699ef2f840f2b7f8e9d54b2b270d
https://github.com/llvm/llvm-project/commit/f9181a82fd00699ef2f840f2b7f8e9d54b2b270d
Author: Stefan Weigl-Bosker <stefan at s00.xyz>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M mlir/lib/Interfaces/IndexingMapOpInterface.cpp
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/Linalg/named-ops-fail.mlir
Log Message:
-----------
[MLIR][IndexingMapOpInterface]: Validate maps and operands before composing loop ranges (#173434)
Fixes https://github.com/llvm/llvm-project/issues/173374, Fixes
https://github.com/llvm/llvm-project/issues/173568
After d31ba5256327d30f264c2f671bf197877b242cde, we only checked the
operand and result ranks after building `endLoopRangeValues`, which
leads to crashes in a couple of cases (see tests).
Commit: 8516e7e5b10e556b4420d2cb7c5b7dc3e546f12f
https://github.com/llvm/llvm-project/commit/8516e7e5b10e556b4420d2cb7c5b7dc3e546f12f
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
A llvm/test/tools/llvm-mca/RISCV/Inputs/atomic.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/floating-point.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/integer.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/mul-div.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/arithmetic.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/bitwise.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/comparison.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/conversion.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/fma.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/fp.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/mask.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/minmax.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/mul-div.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/permutation.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/reduction.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/vle-vse-vlm.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/vlse-vsse.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/vlseg-vsseg.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/vlxe-vsxe.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/zvbc.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/zba.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/zbb.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/zbc.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/zbs.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/zfh.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/zfhmin.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/zicond.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/atomic.test
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/div.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/floating-point.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/integer.test
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/load.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/mul-cpop.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/mul-div.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/arithmetic.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/bitwise.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/comparison.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/conversion.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/fma.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/fp.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/mask.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/minmax.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/mul-div.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/permutation.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/reduction.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/vle-vse-vlm.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/vlse-vsse.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/vlseg-vsseg.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/vlxe-vsxe.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvbb.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvbc.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvkg.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvkned.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvknhb.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvksed.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvksh.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vislide-vx.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vle-vse-vlm.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vlse-vsse.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vlseg-vsseg.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vlxe-vsxe.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vmv.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vreduce.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vrgather.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vshift-vmul.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zba.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zbb.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zbs.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zfhmin.test
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvbb.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvbc.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvkg.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvkned.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvknhb.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvksed.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvksh.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/atomic.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/atomic.test
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/floating-point.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/floating-point.test
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/integer.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/integer.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/mul-div.test
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-arithmetic.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-bitwise.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-comparison.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-conversion.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fma.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fp.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-mask.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-minmax.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-mul-div.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-permutation.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-reduction.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/arithmetic.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/bitwise.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/comparison.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/conversion.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/fma.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/fp.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/mask.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/minmax.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/mul-div.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/permutation.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/reduction.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/vle-vse-vlm.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/vlse-vsse.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/vlseg-vsseg.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/vlxe-vsxe.test
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vle-vse-vlm.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vlse-vsse.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vlseg-vsseg.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vlxe-vsxe.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/zba.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/zbb.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/zbc.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/zbs.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/zfh.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/zfhmin.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/zicond.test
Log Message:
-----------
[RISCV][MCA] Consolidate inputs for different SchedModel tests (#173926)
For a long time, we have been copying existing llvm-mca test files as a
mean to test new scheduling model changes. This approach doesn't scale
well primarily because we eventually have too many duplicated input
assembly lines spread across multiple files. Also, the files you copied
from might not have the best coverage.
To address this issue, I propose to consolidate the inputs for all
RISC-V scheduling model tests into a single place. More specifically,
all assembly input code will now be put in
`test/tools/llvm-mca/RISCV/Inputs`. Take
`test/tools/llvm-mca/RISCV/Inputs/zba.s` as an example, it contains --
and only contains -- Zba instructions. To use it as an input to test
`sifive-p470`'s scheduling model, we only need to create a
`test/tools/llvm-mca/RISCV/SiFiveP400/zba.test` with the following `RUN`
line:
```
# RUN: llvm-mca -mtriple=riscv64 -mcpu=sifive-p470 -iterations=1 -instruction-tables=full %p/../Inputs/zba.s | FileCheck %s
```
Before auto-generating its contents with the UTC script. The files in
`test/tools/llvm-mca/RISCV/Inputs` are roughly organized by extensions,
so scheduling models can take only the extensions they support.
This PR is a demonstration of such idea that applies it onto SiFiveP400
and SpacemitX60. If everyone thinks it's a good idea, we can do it to
more scheduling models.
Commit: 8475e5c5089f51bbb5479e60c2118ca8e5ed0357
https://github.com/llvm/llvm-project/commit/8475e5c5089f51bbb5479e60c2118ca8e5ed0357
Author: neildhar <neildhar at users.noreply.github.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M mlir/lib/Analysis/DataFlow/LivenessAnalysis.cpp
M mlir/test/Analysis/DataFlow/test-liveness-analysis.mlir
Log Message:
-----------
[mlir] Use wouldOpBeTriviallyDead in LivenessAnalysis (#174362)
Note: This is a "stacked PR" and depends on #174356. The intention is to
merge that PR first.
`wouldOpBeTriviallyDead` is closer to the intended purpose here, and
aligns the code with how the greedy pattern rewriter identifies dead
operations.
Importantly, it allows us to identify unused read-only memory
operations, which would previously have failed the `isMemoryEffectFree`
check.
Commit: 3da56a004df7ae638a96b692c28e3635edc91a45
https://github.com/llvm/llvm-project/commit/3da56a004df7ae638a96b692c28e3635edc91a45
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M flang/test/Lower/allocatable-return.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/allocate-source-allocatables.f90
M flang/test/Lower/allocated.f90
Log Message:
-----------
[flang][NFC] Convert old lowering tests to new lowering (part 2) (#174233)
Converted tests: allocatable-return.f90, allocatable-runtime.f90,
allocate-mold.f90, allocate-source-allocatables.f90, allocated.f90
Commit: ae67b88c0ac32cc0cc6f05ce5c27712aee4835a5
https://github.com/llvm/llvm-project/commit/ae67b88c0ac32cc0cc6f05ce5c27712aee4835a5
Author: Wenju He <wenju.he at intel.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M libclc/clc/lib/generic/SOURCES
M libclc/clc/lib/generic/conversion/clc_convert_integer.cl
Log Message:
-----------
[libclc] Compile clc_convert_float2int.cl and clc_convert_int2float.cl separately (#173454)
776f5933c9d4 merged into clc_convert_integer.cl to avoid many
regressions, e.g. in function _Z17convert_float_rtnc:
in block %1 / %1:
> ret float %2
< %.inv.i.i = fcmp ole float %2, -1.280000e+02
< %3 = select i1 %.inv.i.i, float -1.280000e+02, float %2
< %4 = fptosi float %3 to i8
< %.not.i = icmp eq i8 %0, 127
< %5 = icmp sge i8 %0, %4
< %.not2.i = select i1 %.not.i, i1 true, i1 %5
< %6 = bitcast float %2 to i32
< %7 = sub nsw i32 -2147483648, %6
< %8 = icmp slt i8 %0, 0
< %9 = select i1 %8, i32 %7, i32 %6
< %10 = icmp sgt i32 %9, -2139095041
< %11 = select i1 %10, i32 -1, i32 1
< %12 = add nsw i32 %11, %9
< %13 = sub i32 -2147483648, %12
< %14 = icmp slt i32 %12, 0
< %15 = icmp ne i32 %12, 0
< %16 = or i1 %10, %15
< %17 = select i1 %16, i32 %12, i32 -2147483648
< %18 = select i1 %14, i32 %13, i32 %17
< %19 = icmp eq i32 %6, -8388608
< %20 = bitcast i32 %18 to float
< %21 = select i1 %19, float 0xFFF0000000000000, float %20
< %22 = select i1 %.not2.i, float %2, float %21
< ret float %22
This regression is fixed by 993054d96fdf.
Commit: 25cfdaa4e9dcb4c6e2ef294763c3c4a635ccdd98
https://github.com/llvm/llvm-project/commit/25cfdaa4e9dcb4c6e2ef294763c3c4a635ccdd98
Author: Wenju He <wenju.he at intel.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/include/clang/Basic/OpenCLExtensions.def
M clang/test/SemaOpenCL/extension-version.cl
Log Message:
-----------
[OpenCL] Set cl_khr_gl_msaa_sharing minimum version to 1.0 (#174322)
cl_khr_gl_msaa_sharing spec doesn't specify a required OpenCL version.
Make the extension available in all OpenCL versions to avoid spurious
'unsupported extension' warnings when implementations advertise it
before 1.2 (e.g., intel compute-runtime 25.13.33276.16).
See also https://github.com/KhronosGroup/OpenCL-CTS/pull/2376.
Commit: 38952494263bb2dec6cdb82d32d7c97b45b11bac
https://github.com/llvm/llvm-project/commit/38952494263bb2dec6cdb82d32d7c97b45b11bac
Author: John Otken <john at otken.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M flang/docs/index.md
Log Message:
-----------
[flang][docs] Fix link to Getting Involved documentation
Add missing .md extention to flang docs link to Getting Involved page.
Fixes 404 error. This is a MyFirstTypoFix.
Co-authored-by: John Otken <john.otken at hpe.com>
Commit: f54dd47e1d2c32d028820cd54bcb04a5cb82962d
https://github.com/llvm/llvm-project/commit/f54dd47e1d2c32d028820cd54bcb04a5cb82962d
Author: Petr Hosek <phosek at google.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M libc/src/stdlib/atexit.cpp
M libc/src/stdlib/quick_exit.cpp
M libc/startup/gpu/amdgpu/start.cpp
M libc/startup/gpu/nvptx/start.cpp
M libc/startup/linux/do_start.cpp
Log Message:
-----------
[libc] Delete teardown_main_tls and all its uses (#174374)
teardown_main_tls is called right before the main process exit to unmap
the TLS but that's unnecesary since the process is terminating anyway,
this just introduces extra system call. This can be potentially harmful
in case one of the other threads tries the access the memory that has
been unmapped. Other C library implementations don't unmap TLS either so
this makes LLVM libc's behavior more consistent.
Fixes #173409
Commit: 912a68303ceb7ffdfca37758d6ac781536d0a77e
https://github.com/llvm/llvm-project/commit/912a68303ceb7ffdfca37758d6ac781536d0a77e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
Log Message:
-----------
[DependencyScanning] Do not use maybe null OverlayFS (#174515)
Commit: f9bc66e4a497cf3eb5e52ec25b74bd627a3dd8e9
https://github.com/llvm/llvm-project/commit/f9bc66e4a497cf3eb5e52ec25b74bd627a3dd8e9
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/assets/class-template.mustache
M clang-tools-extra/clang-doc/assets/function-template.mustache
M clang-tools-extra/test/clang-doc/json/class-template.cpp
M clang-tools-extra/test/clang-doc/json/class.cpp
M clang-tools-extra/test/clang-doc/json/function-requires.cpp
M clang-tools-extra/test/clang-doc/json/method-template.cpp
M clang-tools-extra/test/clang-doc/json/namespace.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
Log Message:
-----------
[clang-doc] Serialize type info for function parameters (#174268)
Only the type name of function parameters were serialized, which was
left over from the old Mustache generator. Without the type info, the
fully qualified name of templated parameters wouldn't serialized.
Commit: 2945e44750691f41812cbbabdfc836ba7d405af4
https://github.com/llvm/llvm-project/commit/2945e44750691f41812cbbabdfc836ba7d405af4
Author: Thomas Munro <thomas.munro at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/include/llvm-c/OrcEE.h
M llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
Log Message:
-----------
[C-API] Allow SectionMemoryManager's ReserveAlloc flag to be enabled (#174307)
Allow C programs to pass a ReserveAlloc flag to the constructor of
llvm::SessionMemoryManager, using a new variant of
LLVMOrcCreateRTDyldObjectLinkingLayerWithSectionMemoryManager that has
...ReserveAlloc() appended to its name.
Commit: a4eb9898bed0ffe40fb8474a31ac2e2fb3f6c182
https://github.com/llvm/llvm-project/commit/a4eb9898bed0ffe40fb8474a31ac2e2fb3f6c182
Author: Fangrui Song <i at maskray.me>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/CMakeLists.txt
Log Message:
-----------
[RISCV,CMake] Add BinaryFormat dependency after #141682
To fix -Wl,-z,defs linker failure when linking lld in
BUILD_SHARED_LIBS=on builds.
Commit: c1de1543bf3bd9c2840d7d79f6a37a22b8a3b99a
https://github.com/llvm/llvm-project/commit/c1de1543bf3bd9c2840d7d79f6a37a22b8a3b99a
Author: Twice <twice at apache.org>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M mlir/include/mlir/Bindings/Python/IRTypes.h
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/test/python/ir/builtin_types.py
Log Message:
-----------
[MLIR][Python] Add a `.get` method to `IntegerType` (#174406)
In this PR, I added a `.get` class method to `IntegerType`. The main
goal is to ensure that types from upstream dialects have a `.get` method
(at least for the builtin dialect). The benefit is that, for any MLIR
type, we can construct an instance directly without special-casing types
that don’t provide a `.get` method.
The design mirrors `mlir::IntegerType` in C++: it takes `width` and
`signedness` parameters, and `signedness` defaults to `signless`.
It is related to #169045.
Commit: bbbccf063ab9777f940eaf0e7db84f71a3df9cce
https://github.com/llvm/llvm-project/commit/bbbccf063ab9777f940eaf0e7db84f71a3df9cce
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Update default triple support for AMD and deprecate 32-bit PTX (#174415)
Summary:
The standard `nvptx` target is not supported and has been completely
removed following the CUDA 12 release. It should be safe to drop support
for it in the default build. Additionally we add the `amd` vendor to the
amdgcn triple as this is the more canonical form and builds the same IR.
Commit: f07988ff3ec8b8b838f5c6ce9e1ec519e16432a9
https://github.com/llvm/llvm-project/commit/f07988ff3ec8b8b838f5c6ce9e1ec519e16432a9
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
R libclc/utils/CMakeLists.txt
R libclc/utils/prepare-builtins.cpp
Log Message:
-----------
[libclc] Remove bitcode prepare utility from OpenCL library build (#174447)
Summary:
This utility is unnecessary with the current usage. Right now it sets
linkage to linkonce_odr and deduplicates metadata nodes. The former is
not required as `-mlink-builtin-bitcode` will internalize all functions
anyway. The deduplication is no longer necessary as `llvm-link` handles
that. Removing this simplifies complexity and make it easier to
cross-build this utility as it no longer depends on host LLVM utilities
to be built in the proejct itself.
Commit: b01c3d6682d2fa5d6ac22d5a964b739009e9db7b
https://github.com/llvm/llvm-project/commit/b01c3d6682d2fa5d6ac22d5a964b739009e9db7b
Author: Amir Ayupov <aaupov at fb.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M bolt/test/merge-fdata-bat-no-lbr.test
A bolt/test/merge-fdata-mem-prof.test
M bolt/test/merge-fdata-mixed-bat-no-lbr.test
M bolt/test/merge-fdata-mixed-mode.test
M bolt/test/merge-fdata-no-lbr-mode.test
M bolt/tools/merge-fdata/merge-fdata.cpp
Log Message:
-----------
[BOLT] Fix merge-fdata for memory events (#128108)
Don't attempt to parse mispredictions for memory entries in LBR profile.
Test Plan: added merge-fdata-mem-prof.test
Commit: 960506fcbc5f4ac31f120317e489fa747786d5c8
https://github.com/llvm/llvm-project/commit/960506fcbc5f4ac31f120317e489fa747786d5c8
Author: Ian Anderson <iana at apple.com>
Date: 2026-01-05 (Mon, 05 Jan 2026)
Changed paths:
M clang/unittests/Basic/CMakeLists.txt
Log Message:
-----------
[clang][unittest] BasicTests fail to link (#174513)
DarwinSDKInfo.PlatformPrefix adds use of Triple but failed to add a link
to LLVMTargetParser, add that.
Commit: b4c68cb224ca4b81e65ed0fd976dd7626b3297eb
https://github.com/llvm/llvm-project/commit/b4c68cb224ca4b81e65ed0fd976dd7626b3297eb
Author: Lang Hames <lhames at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/include/llvm-c/OrcEE.h
M llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
Log Message:
-----------
[ORC][C API] Replace 'bool' with 'LLVMBool'. (#174525)
The LLVM C APIs use LLVMBool rather than bool. This should fix the
failure in https://lab.llvm.org/buildbot/#/builders/29/builds/19955 and
similar builds.
Commit: 41c5830aabd5df865027e0812cd58a8ebae987d2
https://github.com/llvm/llvm-project/commit/41c5830aabd5df865027e0812cd58a8ebae987d2
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRedundantCopyElimination.cpp
A llvm/test/CodeGen/RISCV/xqcibi-redundant-copy-elim.ll
Log Message:
-----------
[RISCV] Add support for Xqcibi branch on immediate in RISCVRedundantCopyElimination (#174358)
This patch adds support for the `Xqcibi` branch on immediate
instructions in the `RISCVRedundantCopyElimination` pass. It removes
redundant copies of non-zero immediates where the register is implied to
have the same value as the immediate by a branch in the predecessor
basic block.
Commit: 354f412d32cb0e1330bec1a088f08138a4f29ca5
https://github.com/llvm/llvm-project/commit/354f412d32cb0e1330bec1a088f08138a4f29ca5
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/cxx23.cpp
Log Message:
-----------
[clang][bytecode] Allow operations on volatile objects in ctors (#174425)
Commit: b81c1bb1a1494e313ffc21f42020f04ae9fbf995
https://github.com/llvm/llvm-project/commit/b81c1bb1a1494e313ffc21f42020f04ae9fbf995
Author: A. Jiang <de34 at live.cn>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M libcxx/include/any
M libcxx/include/variant
Log Message:
-----------
[libc++][NFC] Replace tag dispatch with `if constexpr` in `<any>` and `<variant>` (#173538)
Also simplify `any_cast<FunctionType>(ptr)` to directly return
`nullptr`.
Commit: cf8d4d40698503bb20da4e5a576cc048524bc8eb
https://github.com/llvm/llvm-project/commit/cf8d4d40698503bb20da4e5a576cc048524bc8eb
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/typeid.cpp
Log Message:
-----------
[clang][bytecode] Fix a crash in `CheckExtern()` (#174428)
Check if the pointer field descriptor can be accessed at all before
calling `isInitialized()`, which relies on that.
Fixes https://github.com/llvm/llvm-project/issues/174382
Commit: ad4bfac73232fe9b5ec45ba880eeadee67aebf17
https://github.com/llvm/llvm-project/commit/ad4bfac73232fe9b5ec45ba880eeadee67aebf17
Author: Luke Lau <luke at igalia.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/Analysis/CostModel/AArch64/splice.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
M llvm/test/Analysis/CostModel/RISCV/splice.ll
M llvm/test/Assembler/auto_upgrade_intrinsics.ll
M llvm/test/Bitcode/upgrade-vector-splice-intrinsic.ll
M llvm/test/CodeGen/AArch64/named-vector-shuffles-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Verifier/invalid-splice.ll
Log Message:
-----------
[IR] Split vector.splice into vector.splice.left and vector.splice.right (#170796)
This PR implements the first change outlined in
https://discourse.llvm.org/t/rfc-allow-non-constant-offsets-in-llvm-vector-splice/88974?u=lukel
In order to allow non-immediate offsets in the llvm.vector.splice
intrinsic, we need to separate out the "shift left" and "shift right"
modes into two separate intrinsics, which were previously determined by
whether or not the offset is positive or negative.
The description in the LangRef has also been reworded in terms of
sliding elements left or right and extracting either the upper or lower
half as opposed to extracting from a certain index, which brings it
inline with the definition of `llvm.fshr.*`/`llvm.fshl.*`.
This patch teaches AutoUpgrade.cpp to upgrade the old intrinsics into
their new equivalent one based on their offset, so existing uses of
vector.splice should still work.
Uses of llvm.vector.splice in `llvm/test/CodeGen` haven't been replaced
in this PR to keep the diff small and kick the tyres on the AutoUpgrader
a bit. I planned to do this in a follow up NFC but can include it in
this PR if reviewers prefer.
Similarly the shuffle costing kind `SK_Splice` has just been kept the
same for now, to be split into `SK_SpliceLeft` and `SK_SpliceRight`
later.
Commit: 80cab521d0b8ec91e1b82b028215f2a6d07fe3aa
https://github.com/llvm/llvm-project/commit/80cab521d0b8ec91e1b82b028215f2a6d07fe3aa
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M libcxx/include/__chrono/duration.h
M libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
Log Message:
-----------
[libc++][chrono] Applied `[[nodiscard]]` to `duration` (#174121)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/time.duration
Towards #172124
Commit: c7ef733abae8a9a15435ba16ab40da136b1abd53
https://github.com/llvm/llvm-project/commit/c7ef733abae8a9a15435ba16ab40da136b1abd53
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_ref.h
M libcxx/test/libcxx/atomics/diagnose_invalid_memory_order.verify.cpp
A libcxx/test/libcxx/atomics/nodiscard.verify.cpp
Log Message:
-----------
[libc++][atomic] Applied `[[nodiscard]]` (#173962)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/atomics
Towards #172124
N.B. Annotated conservatively.
Commit: dfe2aaeae160a0b6a3355c03ebd8de7a7cb597e3
https://github.com/llvm/llvm-project/commit/dfe2aaeae160a0b6a3355c03ebd8de7a7cb597e3
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/istream
M libcxx/include/streambuf
A libcxx/test/libcxx/input.output/iostream.format/nodiscard.verify.cpp
A libcxx/test/libcxx/input.output/stream.buffers/nodiscard.verify.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/peek.pass.cpp
Log Message:
-----------
[libc++][iostream] Applied `[[nodiscard]]` (#173754)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- Applied to (if applicable):
- [x] `basic_streambuf`
- [x] `basic_istream`
- [x] `basic_ostream`
- [x] `basic_iostream` (none)
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/stream.buffers
- https://wg21.link/iostreamclass
- https://wg21.link/istream
- https://wg21.link/ostream
Towards #172124
Commit: 707d18c8e70f493272deb2b6212e075fcd9faece
https://github.com/llvm/llvm-project/commit/707d18c8e70f493272deb2b6212e075fcd9faece
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
A llvm/test/Transforms/LoopVectorize/X86/end-pointer-signed.ll
Log Message:
-----------
[VPlan] Use getSigned() for index in VectorEndPointer recipe (#174426)
The stride can be negative here, so we should use getSigned().
This avoids an assertion failure with
https://github.com/llvm/llvm-project/pull/171456. It also avoids a
miscompile if the index is >64-bit, but I don't think that can happen in
practice.
Commit: a87af1df24173b15ea2e37b86c8909163b17bf26
https://github.com/llvm/llvm-project/commit/a87af1df24173b15ea2e37b86c8909163b17bf26
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/test/CodeGenCXX/dynamic-cast-hint.cpp
Log Message:
-----------
[ItaniumCXXABI] Use getSigned() for offset hint (#174431)
The offset hint can be negative, so we should use getSigned() here. This
avoids an assertion failure with
https://github.com/llvm/llvm-project/pull/171456.
Extend the dynamic_cast tests to include a 32-bit target to cover this
case.
Commit: 4af552d69906e1eb978be9d6a53de9997cad7a1a
https://github.com/llvm/llvm-project/commit/4af552d69906e1eb978be9d6a53de9997cad7a1a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
A llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fmul.ll
Log Message:
-----------
InstCombine: Add baseline tests for fmul SimplifyDemandedFPClass handling (#173871)
Commit: 51bb529d03cef135a89b73a948dfee3759316dfe
https://github.com/llvm/llvm-project/commit/51bb529d03cef135a89b73a948dfee3759316dfe
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
[AMDGPU] Removing unwanted delta in llc-pipeline-npm.ll. (#174535)
Commit: a2db31b06f8b3f048c08135d778856c7b6c6e988
https://github.com/llvm/llvm-project/commit/a2db31b06f8b3f048c08135d778856c7b6c6e988
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/eliminate-tail-predication.ll
M llvm/test/Transforms/LoopVectorize/AArch64/gather-do-not-vectorize-addressing.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/interleaving-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/invalid-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/load-cast-context.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked_ldst_sme.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-constant-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-incomplete-chains.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vscale-fixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-predicated-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vscale-based-trip-counts.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-wide-lane-mask.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-zext-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-gep-all-indices-invariant.ll
M llvm/test/Transforms/LoopVectorize/AArch64/wider-VF-for-callinst.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-prune-vf.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/transform-narrow-interleave-to-widen-memory.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/scalar-steps-with-users-demanding-all-lanes-and-first-lane-only.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-constant-known-via-scev.ll
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
M llvm/test/Transforms/LoopVectorize/create-induction-resume.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/induction-step.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar-widen-gep-scalable.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/pr30654-phiscev-sext-trunc.ll
M llvm/test/Transforms/LoopVectorize/pr58811-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/scalable-lifetime.ll
M llvm/test/Transforms/LoopVectorize/scalable-loop-unpredicated-body-scalar-tail.ll
M llvm/test/Transforms/LoopVectorize/scalable-predication.ll
M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/scalable-trunc-min-bitwidth.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_div_urem.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction2.ll
M llvm/test/Transforms/LoopVectorize/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll
Log Message:
-----------
[VPlan] Simplify pow-of-2 (mul|udiv) -> (shl|lshr) (#172477)
Commit: 8a8447fd0fc00ca8c41cc7265f60ee9a2fb342a3
https://github.com/llvm/llvm-project/commit/8a8447fd0fc00ca8c41cc7265f60ee9a2fb342a3
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVLoadStoreOptimizer.cpp
M llvm/test/CodeGen/RISCV/xqcilsm-lwmi-swmi.mir
Log Message:
-----------
[RISCV] Don't generate QC.SWMI pair if the start reg is X0 (#174532)
The register containing the values stored by `QC.SWMI` need to be
`GPRNoX0`.
Commit: dca088023e2b126e67989070d8d47aeea44b414f
https://github.com/llvm/llvm-project/commit/dca088023e2b126e67989070d8d47aeea44b414f
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M lldb/source/DataFormatters/FormatManager.cpp
M lldb/test/API/functionalities/data-formatter/stringprinter/TestStringPrinter.py
Log Message:
-----------
[lldb][Format] Unwrap references to C-strings when printing C-string summaries (#174398)
Depends on:
* https://github.com/llvm/llvm-project/pull/174385
(only last commit is relevant for this review)
The `${var%s}` format isn't capable of formatting references to
C-strings. So the summary for those becomes `<no value available>`. This
patch prevents the system C-string formatter from applying to
references, which means the summary for such types will be empty. This
prompts LLDB to instead print the child, which is the referenced
C-string.
Before:
```
(lldb) v ref
(const char *&) ref = 0x000000016fdfe960 <no value available>
```
After:
```
(lldb) v ref
(const char *&) ref = 0x000000016fdfec40 (&ref = "hi")
```
An alternative would be to support references in the `ValueObject` dump
methods. We assume C-string are pointers/arrays in a lot of places, so
such a fix would be a more intrusive undertaking, and I'm not sure we
would want to support references there in the first place. So for now I
went with the fallback logic in this PR.
Commit: adc79c09dd77a84d5359793fafb3e0d44dcafb57
https://github.com/llvm/llvm-project/commit/adc79c09dd77a84d5359793fafb3e0d44dcafb57
Author: NohHyeon Kwon <96061253+swote-git at users.noreply.github.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/tosa-validation-valid.mlir
Log Message:
-----------
[mlir][tosa] Fix crash in validation pass when dialect is not loaded (#173449)
## Summary
This PR fixes #173370 in the `tosa-validate` pass that occurs when the
input IR does not contain any TOSA operations.
**Crash Message:**
```text
LLVM ERROR: can't create Attribute 'mlir::tosa::TargetEnvAttr' because storage uniquer isn't initialized: the dialect was likely not loaded, or the attribute wasn't added with addAttributes<...>() in the Dialect::initialize() method.
```
## Problem
When `mlir-opt` parses an input file without TOSA operations, the
`TosaDialect` is not lazily loaded. However, the `TosaValidation` pass
previously called `lookupTargetEnvOrDefault` (which attempts to create a
`TargetEnvAttr`) before checking if the dialect was loaded. This
resulted in an assertion failure because the attribute storage uniquer
was not initialized.
## Solution
I resolved the issue by placing the `TosaDialect` declaration at the
very top of `runOnOperation`.
This ensures that `lookupTargetEnvOrDefault` is not accessed when the
dialect is uninitialized, preventing the crash.
## Test
Added two test in `mlir/test/Dialect/Tosa/tosa_validation_init.mlir`.
First case is without TOSA operation.
```
// CHECK-LABEL: func.func @test_validation_pass_init
func.func @test_validation_pass_init(%arg0: tensor<1xf32>) -> tensor<1xf32> {
// CHECK: math.asin
%0 = math.asin %arg0 : tensor<1xf32>
return %0 : tensor<1xf32>
}
```
Second case is with TOSA Operation.
```
// CHECK-LABEL: func.func @test_tosa_ops
func.func @test_tosa_ops(%arg0: tensor<1x2x3x4xf32>, %arg1: tensor<1x2x3x4xf32>) -> tensor<1x2x3x4xf32> {
// CHECK: tosa.add
%0 = tosa.add %arg0, %arg1 : (tensor<1x2x3x4xf32>, tensor<1x2x3x4xf32>) -> tensor<1x2x3x4xf32>
return %0 : tensor<1x2x3x4xf32>
}
```
Commit: ff207475982222ac94119a043c8891aa0c27e52b
https://github.com/llvm/llvm-project/commit/ff207475982222ac94119a043c8891aa0c27e52b
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
Log Message:
-----------
[lldb-dap] Add skipIfWindowsWithoutConPTY decorator for clearer test requirements (#174509)
Replace version matching with the new decorator to prevent typos, and
make to it clear why we skipped the test.
Commit: d189b4966dc353145d645176dcb47d1269d33381
https://github.com/llvm/llvm-project/commit/d189b4966dc353145d645176dcb47d1269d33381
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/include/llvm/IR/Constants.h
Log Message:
-----------
Reapply [ConstantInt] Disable implicit truncation in ConstantInt::get() (#171456)
Reapply after additional fixes in #174426 and #174431.
-----
Disable implicit truncation in the ConstantInt constructor by default.
This means that it needs to be passed a signed/unsigned (depending on
the IsSigned flag) value matching the bit width.
The intention is to prevent the recurring bug where people write
something like `ConstantInt::get(Ty, -1)`, and this "works" until `Ty`
is larger than 64-bit and then the value is incorrect due to missing
type extension.
This is the continuation of
https://github.com/llvm/llvm-project/pull/112670, which originally
allowed implicit truncation in this constructor to reduce initial scope
of the change.
Commit: bac83c0fd01e6ee1236f60873c2515bdfb595c68
https://github.com/llvm/llvm-project/commit/bac83c0fd01e6ee1236f60873c2515bdfb595c68
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_mla.c
M clang/test/Sema/AArch64/arm_sme_streaming_only_sme_AND_sme-f8f16.c
M clang/test/Sema/AArch64/arm_sme_streaming_only_sme_AND_sme-f8f32.c
M clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mla.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-mla.ll
Log Message:
-----------
[Clang][AArch64]Remove _single from vg2x1 and vg4x1 svmla (#166799)
This patch follows the PR#421[1] from the ACLE
These 2 FP8 intrinsics had single removed from them: from
``svmla[_single]_za16[_mf8]_vg2x1_fpm`` to
``svmla_za16[_mf8]_vg2x1_fpm`` and from
``svmla[_single]_za32[_mf8]_vg4x1_fpm`` to
``svmla_za32[_mf8]_vg4x1_fpm``
[1]https://github.com/ARM-software/acle/pull/421
Commit: 3209195b458915fab4d3d86663e8078195d5f826
https://github.com/llvm/llvm-project/commit/3209195b458915fab4d3d86663e8078195d5f826
Author: David Spickett <david.spickett at linaro.org>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M libcxx/docs/VendorDocumentation.rst
Log Message:
-----------
[libcxx][docs] Note how to use just built libc++ with per-target runtimes layout (#172316)
Fixes #172024
This is something a lot of people can probably figure out themselves but
having this obvious wrong turn in the getting started document isn't a
good first impression.
So I've added a note to highlight how to deal with it.
I don't want to go into detail there about the layout itself, but it
should be enough that people know to check by listing the contents of
the lib/ folder.
Commit: 004c4201782d036f6599eaadb695d2928ed29787
https://github.com/llvm/llvm-project/commit/004c4201782d036f6599eaadb695d2928ed29787
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineOr - convert `OR(X,KSHIFTL(Y,Elts/2)) -> CONCAT_VECTORS(X,Y)` fold to SDPatternMatch. NFC. (#174554)
Merge the pair of commuted patterns.
Commit: 188d13db2040ac41485d95e3b16d25873ad77a91
https://github.com/llvm/llvm-project/commit/188d13db2040ac41485d95e3b16d25873ad77a91
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-private-barrier-single.mlir
Log Message:
-----------
[mlir][OpenMP] don't add compiler-generated barrier in single threaded code (#174105)
We add barriers to the firstprivate copy region when they are required
to avoid a race condition with the lastprivate clause.
The problem is that these barriers are added by the compiler not implied
by user code so it is the compiler's problem to avoid deadlock.
I came across a testcase whilst working on taskloop support that looks a
bit like this
```
!$omp parallel
!$omp single
!$omp taskloop firstprivate(a) lastprivate(a)
...
!$omp end single
!$omp end parallel
```
This is so that there are multiple threads for the generated tasks to be
distributed over, but we don't generate the tasks afresh in every
thread.
The problem comes when the taskloop requires a barrier to prevent the
datarace between firstprivate and lastprivate. This barrier will then be
generated inside of SINGLE and so only one thread will encounter the
barrier: leading to a deadlock.
This patch works around the problem by detecting this situation
statically and then not generating the barrier. There are cases where we
cannot detect this statically (e.g. if the TASKLOOP is inside a function
call inside of SINGLE). The program will still deadlock in this case
after my patch. I'm unsure what the solution would be for that case. I
want to fix this simple case in LLVM 22 before engaging in a longer
discussion as to whether there is a better way to handle the more
general case.
Testing using wsloop because I want to land this (or not) independently
of taskloop. Note that for wsloop it would be up to the programmer to
remember to use the nowait clause, but nowait cannot be used to control
generation of this barrier because it refers to the barrier after the
construct not after firstprivate copyin (before the construct
execution).
Commit: 5a456c17d919815961c7fea5a4705a580c9d4154
https://github.com/llvm/llvm-project/commit/5a456c17d919815961c7fea5a4705a580c9d4154
Author: Alex Bradbury <asb at igalia.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/eliminate-tail-predication.ll
M llvm/test/Transforms/LoopVectorize/AArch64/gather-do-not-vectorize-addressing.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/interleaving-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/invalid-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/load-cast-context.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked_ldst_sme.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-constant-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-incomplete-chains.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vscale-fixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-predicated-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vscale-based-trip-counts.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-wide-lane-mask.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-zext-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-gep-all-indices-invariant.ll
M llvm/test/Transforms/LoopVectorize/AArch64/wider-VF-for-callinst.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-prune-vf.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/transform-narrow-interleave-to-widen-memory.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/scalar-steps-with-users-demanding-all-lanes-and-first-lane-only.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-constant-known-via-scev.ll
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
M llvm/test/Transforms/LoopVectorize/create-induction-resume.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/induction-step.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar-widen-gep-scalable.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/pr30654-phiscev-sext-trunc.ll
M llvm/test/Transforms/LoopVectorize/pr58811-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/scalable-lifetime.ll
M llvm/test/Transforms/LoopVectorize/scalable-loop-unpredicated-body-scalar-tail.ll
M llvm/test/Transforms/LoopVectorize/scalable-predication.ll
M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/scalable-trunc-min-bitwidth.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_div_urem.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction2.ll
M llvm/test/Transforms/LoopVectorize/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll
Log Message:
-----------
Revert "[VPlan] Simplify pow-of-2 (mul|udiv) -> (shl|lshr)" (#174559)
Reverts llvm/llvm-project#172477
This is causing failures for RVA23 (including some tests running away in
their execution causing OOM, hence the builder dying). I will attempt to
follow up on the PR with a reproducer of some kind.
https://lab.llvm.org/buildbot/#/builders/210/builds/7243
Commit: ef86355945601c4349d669360365d22a0412d5c8
https://github.com/llvm/llvm-project/commit/ef86355945601c4349d669360365d22a0412d5c8
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_crypto.c
M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
M clang/utils/TableGen/SveEmitter.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-crypto.ll
Log Message:
-----------
[AArch64] Add intrinsics for 9.6 crypto instructions (#165545)
This patch add intrinsics for crpyto instructions defined in
https://github.com/ARM-software/acle/pull/411 ACLE proposal
Commit: d8c5e5398a9e71738dde2f9d4ec7cc720c8abc43
https://github.com/llvm/llvm-project/commit/d8c5e5398a9e71738dde2f9d4ec7cc720c8abc43
Author: Amina Chabane <amina.chabane at arm.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
A llvm/test/tools/llvm-mca/AArch64/mcpu-help.test
M llvm/tools/llvm-mca/llvm-mca.cpp
Log Message:
-----------
[MCA] Fix llvm-mca to skip input reading when -mcpu=help is specified (#174421)
llvm-mca currently attempts to read the input file (or stdin) even when
invoked with -mcpu=help. When the input is stdin, this causes the tool
to block unless an empty stdin is provided.
This patch now allows the available CPUs/features to be printed without
requiring stdin, while existing behaviour for all other invocations
still requires stdin.
- mcpu-help.test has been added
Follow-on from reverted
https://github.com/llvm/llvm-project/pull/173399.
Implements @mshockwave's suggestion.
Commit: 371903cc9ee625a3662dad6ea179350b09db3074
https://github.com/llvm/llvm-project/commit/371903cc9ee625a3662dad6ea179350b09db3074
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M lldb/source/API/SBCommandReturnObject.cpp
Log Message:
-----------
[lldb][NFC] use parenthesis constructor (#174556)
Follow the LLVM coding standard
Commit: d382b7ff6b0f26354bd86fc9f772bfe81de83028
https://github.com/llvm/llvm-project/commit/d382b7ff6b0f26354bd86fc9f772bfe81de83028
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M lldb/tools/lldb-dap/.prettierrc.json
M lldb/tools/lldb-dap/package-lock.json
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
M lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
M lldb/tools/lldb-dap/src-ts/debug-session-tracker.ts
M lldb/tools/lldb-dap/src-ts/extension.ts
M lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
M lldb/tools/lldb-dap/src-ts/logging.ts
M lldb/tools/lldb-dap/src-ts/ui/modules-data-provider.ts
M lldb/tools/lldb-dap/src-ts/ui/symbols-provider.ts
M lldb/tools/lldb-dap/src-ts/ui/symbols-webview-html.ts
M lldb/tools/lldb-dap/src-ts/webview/symbols-table-view.ts
M lldb/tools/lldb-dap/src-ts/webview/tsconfig.json
Log Message:
-----------
[lldb-dap][NFC] Format typescript files (#173862)
This patch was generated by following commands:
1. `npm install --save-dev prettier-plugin-organize-imports`
2. `npm run format`
3. `npm audit fix`
It partially addresses
[issue](https://github.com/llvm/llvm-project/issues/151598) and improves
quality of ts code (formatting and unused imports).
Commit: 4ef641916408521dee857ddd3a643248a6e0d22a
https://github.com/llvm/llvm-project/commit/4ef641916408521dee857ddd3a643248a6e0d22a
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/PrettyPrinter.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/test/AST/HLSL/cbuffer.hlsl
M clang/test/AST/ast-dump-decl-json.c
M clang/test/AST/ast-dump-records-json.cpp
M clang/test/AST/ast-dump-records.c
M clang/test/AST/ast-dump-records.cpp
M clang/test/ASTMerge/struct/test.c
M clang/test/Analysis/Inputs/expected-plists/lambda-notes.cpp.plist
M clang/test/Analysis/analyzer-note-analysis-entry-points.cpp
M clang/test/Analysis/bug_hash_test.cpp
M clang/test/Analysis/cfg.cpp
M clang/test/Analysis/debug-CallGraph.cpp
M clang/test/Analysis/inlining/Inputs/expected-plists/path-notes.cpp.plist
M clang/test/C/C23/n3006.c
M clang/test/C/C23/n3037.c
M clang/test/CodeGen/block-with-perdefinedexpr.cpp
M clang/test/CodeGenCXX/predefined-expr.cpp
M clang/test/Index/print-type.c
M clang/test/Layout/ms-x86-alias-avoidance-padding.cpp
M clang/test/Sema/assign.c
M clang/test/Sema/switch.c
M clang/test/SemaCXX/builtin-bswapg.cpp
M clang/test/SemaCXX/cxx0x-nontrivial-union.cpp
M clang/test/SemaCXX/cxx1z-decomposition.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
M clang/test/SemaCXX/predefined-expr.cpp
M clang/test/SemaCXX/undefined-internal.cpp
M clang/test/SemaObjCXX/arc-0x.mm
M clang/unittests/AST/NamedDeclPrinterTest.cpp
M clang/unittests/AST/TypePrinterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
M clang/unittests/Tooling/QualTypeNamesTest.cpp
Log Message:
-----------
[clang][TypePrinter] Unify printing of anonymous/unnamed tag types (#169445)
In https://github.com/llvm/llvm-project/pull/168534 we made the
`TypePrinter` re-use `printNestedNameSpecifier` for printing scopes.
However, the way that the names of anonymous/unnamed types get printed
by the two are slightly inconsistent with each other.
`printNestedNameSpecifier` calls all `TagType`s without an identifer
`(anonymous)`. On the other hand, `TypePrinter` prints them slightly
more accurate (it differentiates anonymous vs. unnamed decls) and allows
for some additional customization points. E.g., with `MSVCFormatting`,
it will print `` `unnamed struct'`` instead of `(unnamed struct)`.
`printNestedNameSpecifier` already accounts for `MSVCFormatting` for
namespaces, but doesn't for `TagType`s. This inconsistency means that if
an unnamed tag is printed as part of a scope then it's displayed as
`(anonymous struct)`, but if it's the entity whose scope is being
printed, then it shows as `(unnamed struct)`.
This patch moves the printing of anonymous/unnamed tags into
`TagDecl::printName`. All the callsites that previously printed
anonymous tag decls now call `printName` to handle it. To preserve the
behaviour of not printing the kind name (i.e., `struct`/`class`/`enum`)
when printing the inner type of an elaborated type (i.e., avoiding
`struct (unnamed struct)`), this patch adds a
`PrintingPolicy::SuppressTagKeywordInAnonNames` that is appropriately
set when we want to suppress the tag keyword inside the anonymous name.
I had to make sure we set this bit to `false` when printing
nested-name-specifiers because we always want the tag keyword there
(e.g., `foo::(anonymous struct)::bar`) and for a `clangd` special case
which is described in a comment in the source.
**Test changes**
Mostly we now more accurately print the kind name of anonymous entities.
So there's a lot of `anonymous` -> `unnamed` changes. There are a
handful of `clangd` tests where the name of the entity is now `(unnamed
struct)` instead of just `(unnamed)`. That should be consistent with how
we choose to omit the tag keyword elsewhere. Since we're just printing
the name of the entity here, we include the kind tag.
Commit: ba1b867cea3ed91d228b1468a8ba21213f57ea4a
https://github.com/llvm/llvm-project/commit/ba1b867cea3ed91d228b1468a8ba21213f57ea4a
Author: Rana Pratap Reddy <109514914+ranapratap55 at users.noreply.github.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
A clang/test/CodeGenHIP/builtins-amdgcn-dl-insts.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx11-dl-insts.hip
Log Message:
-----------
[AMDGPU] Modifies fdot2 builtin def to take _Float16 for HIP/C++ (#174527)
For dl `__builtin_amdgcn_fdot2` builtins, using 'x' in the def so that
it will take _Float16 for HIP/C++ and half for OpenCL.
Commit: 686ba67a1aef82d13e9368e1babaf6ce96ecf738
https://github.com/llvm/llvm-project/commit/686ba67a1aef82d13e9368e1babaf6ce96ecf738
Author: Simon Wallis <simon.wallis2 at arm.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h
M llvm/test/tools/llvm-exegesis/AArch64/all-opcodes.test
M llvm/test/tools/llvm-exegesis/AArch64/setReg_init_check.s
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
Log Message:
-----------
[llvm-exegesis] Add AArch64 operand initializers, SetRegTo (#169912)
Make llvm-exegesis more usable on AArch64 by doing the following:
Add some missing exegesis handling of register classes;
Add some missing LLVM AArch64 OperandTypes.
Llvm-exegesis can now handle many more AArch64 instructions.
AArch64 load/store instructions are not yet supported by llvm-exegesis,
until https://github.com/llvm/llvm-project/pull/144895 lands.
---------
Co-authored-by: Cullen Rhodes <cullen.rhodes at arm.com>
Commit: 2bfb984a7c81a94a987a0aa33bfc1cb278bc2b45
https://github.com/llvm/llvm-project/commit/2bfb984a7c81a94a987a0aa33bfc1cb278bc2b45
Author: Stefan Schmidt <thrimbor.github at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/fat-lto-objects.c
M clang/test/Driver/fat-lto-objects.c
Log Message:
-----------
[clang] Enable fat-lto-object support for COFF targets (#172936)
This change allows using clang's `-ffat-lto-objects` flag with COFF
targets such as `i386-pc-win32`.
Follow-up to 759fb0a224e85c01fffcd42b1e71a4bea6fc757e from which it was
split off. The added tests are adapted from the pre-existing ELF tests.
Commit: 9373dbdc000fcd85b70c7a39722bf774c9d6f5f9
https://github.com/llvm/llvm-project/commit/9373dbdc000fcd85b70c7a39722bf774c9d6f5f9
Author: Marcell Leleszi <mleleszi at google.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M libc/.gitignore
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/src/__support/CMakeLists.txt
A libc/src/__support/wctype/CMakeLists.txt
A libc/src/__support/wctype/wctype_classification_utils.h
M libc/test/src/__support/CMakeLists.txt
A libc/test/src/__support/wctype/CMakeLists.txt
A libc/test/src/__support/wctype/wctype_classification_utils_test.cpp
A libc/utils/wctype_utils/classification/__init__.py
A libc/utils/wctype_utils/classification/gen_classification_data.py
M libc/utils/wctype_utils/gen.py
Log Message:
-----------
[libc][wctype] Create generation script for classification lookup tables (#172042)
[#172040](https://github.com/llvm/llvm-project/issues/172040)
This patch implements the scripts for generating the lookup tables and
associated utils for wctype classification functions. Not all Unicode
properties are covered as not all need a lookup table, the rest will be
hardcoded. The size of the generated tables is 47,8KB.
Commit: 25becc3a854060c22b2a49568955a792a904d25a
https://github.com/llvm/llvm-project/commit/25becc3a854060c22b2a49568955a792a904d25a
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M libcxx/include/__configuration/availability.h
Log Message:
-----------
[libc++] Warn when users request a deployment target below the minimum supported version (#172664)
Commit: 56ce7ed72b8d17c7b55e74b58b35291f6c853f64
https://github.com/llvm/llvm-project/commit/56ce7ed72b8d17c7b55e74b58b35291f6c853f64
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/test/Analysis/DependenceAnalysis/FlipFlopBaseAddress.ll
M llvm/test/CodeGen/AArch64/aggressive-interleaving.ll
M llvm/test/CodeGen/AArch64/apply-terminal-rule.mir
M llvm/test/CodeGen/AArch64/speculation-hardening-sls-blr.mir
M llvm/test/CodeGen/AArch64/tail-dup-redundant-phi.mir
M llvm/test/CodeGen/AMDGPU/amdgpu-miscellaneous-uniform-intrinsic.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-uniform-intrinsic-combine.ll
M llvm/test/CodeGen/AMDGPU/merge-load-store.mir
M llvm/test/CodeGen/AMDGPU/wait-xcnt.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-looptest.ll
M llvm/test/CodeGen/AMDGPU/wqm.ll
M llvm/test/CodeGen/BPF/BTF/ptr-named-2.ll
M llvm/test/CodeGen/BPF/unaligned_load_store.ll
M llvm/test/CodeGen/Hexagon/and_mask_cmp0_sink.ll
M llvm/test/CodeGen/Hexagon/autohvx/addi-offset-opt-addr-mode.ll
M llvm/test/CodeGen/Hexagon/bittracker-regclass.ll
M llvm/test/CodeGen/Hexagon/isel-fold-shl-zext.ll
M llvm/test/CodeGen/Hexagon/mpy-operand-hoist.ll
M llvm/test/CodeGen/Hexagon/swp-pragma-disable.ii
M llvm/test/CodeGen/Hexagon/swp-pragma-initiation-interval.ii
M llvm/test/CodeGen/MLRegAlloc/Inputs/input.ll
M llvm/test/CodeGen/MLRegAlloc/Inputs/two-large-fcts.ll
M llvm/test/CodeGen/MLRegAlloc/default-eviction-advisor.ll
M llvm/test/CodeGen/MLRegAlloc/default-priority-advisor.ll
M llvm/test/CodeGen/MLRegAlloc/dev-mode-log-2-fcts.ll
M llvm/test/CodeGen/MLRegAlloc/empty-log.ll
M llvm/test/CodeGen/Mips/GlobalISel/legalizer/load_split_because_of_memsize_or_align
M llvm/test/CodeGen/RISCV/xandesbfhcvt.ll
M llvm/test/CodeGen/RISCV/xqcilo.ll
M llvm/test/CodeGen/RISCV/xqcisls.ll
M llvm/test/CodeGen/SystemZ/debuginstr-cgp.mir
M llvm/test/CodeGen/X86/conditional-tailcall-samedest.mir
M llvm/test/CodeGen/X86/isel-fabs-x87.ll
M llvm/test/CodeGen/X86/non-value-mem-operand.mir
M llvm/test/Feature/testalloca.ll
M llvm/test/Instrumentation/NumericalStabilitySanitizer/cfg.ll
M llvm/test/Instrumentation/NumericalStabilitySanitizer/memory.ll
M llvm/test/LTO/Resolution/X86/comdat.ll
M llvm/test/Linker/2003-08-23-GlobalVarLinking.ll
M llvm/test/Transforms/LoopVersioning/add-phi-update-users.ll
M llvm/test/Transforms/PGOProfile/Inputs/cspgo_bar_sample.ll
Log Message:
-----------
llvm: Convert some assorted lit tests to opaque pointers (#174564)
Some of the MIR test hit a bug where it errors if there is a
raw global reference as the referenced value. Worked around some
of those by just keeping a no-op bitcast constant expression.
Commit: 3d59a4da940c2f4a56be13ab8cc3984405df6226
https://github.com/llvm/llvm-project/commit/3d59a4da940c2f4a56be13ab8cc3984405df6226
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass.ll
Log Message:
-----------
ValueTracking: Reapply remainder of fadd handling from #174290 (#174569)
Reapply the zero handling, reverted in
108a22ed5fa1836b4cfcd05e9d96f98a533068d5
The failing libc test should have been fixed by
e25eacf10c0d6718bad4e18e63757f97be9f9596
Commit: b8f5cbba2abbe43e7b8475f7cd8cc1e9a7f463d7
https://github.com/llvm/llvm-project/commit/b8f5cbba2abbe43e7b8475f7cd8cc1e9a7f463d7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
Log Message:
-----------
AMDGPU: clang-format AMDGPULowerKernelAttributes (#174567)
Commit: 1caf2704dd6791baa4b958d6a666ea64ec24795d
https://github.com/llvm/llvm-project/commit/1caf2704dd6791baa4b958d6a666ea64ec24795d
Author: Qihan Cai <caiqihan021 at hotmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/test/CodeGen/X86/avx512-ext.ll
M llvm/test/CodeGen/X86/avx512-insert-extract.ll
M llvm/test/CodeGen/X86/avx512dqvl-intrinsics-upgrade.ll
M llvm/test/CodeGen/X86/masked_compressstore.ll
M llvm/test/CodeGen/X86/masked_expandload.ll
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
M llvm/test/CodeGen/X86/masked_gather_scatter_widen.ll
M llvm/test/CodeGen/X86/masked_load.ll
M llvm/test/CodeGen/X86/masked_store.ll
M llvm/test/CodeGen/X86/pr77459.ll
M llvm/test/CodeGen/X86/vector-reduce-and-bool.ll
M llvm/test/CodeGen/X86/vector-shuffle-v1.ll
Log Message:
-----------
[X86] Allow EVEX compression for mask registers (#171980)
This patch extends the X86CompressEVEX pass to recognize and compress multi-instruction masking patterns to MOVMSK instructions.
Fixes #171746
Commit: 0e789a8a9c8a24d5538050df29c8a728deb3c922
https://github.com/llvm/llvm-project/commit/0e789a8a9c8a24d5538050df29c8a728deb3c922
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/include/llvm/IR/Constants.h
Log Message:
-----------
Revert "Reapply [ConstantInt] Disable implicit truncation in ConstantInt::get() (#171456)"
This reverts commit d189b4966dc353145d645176dcb47d1269d33381.
Still causes assertion failures on some buildbots.
Commit: 9a9376985388493c438efb4f4ddfcfef0b4569ed
https://github.com/llvm/llvm-project/commit/9a9376985388493c438efb4f4ddfcfef0b4569ed
Author: Adam Paszke <adam.paszke at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUBase.td
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.h
M mlir/lib/Conversion/GPUCommon/IndexIntrinsicsOpLowering.h
M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/IR/InferIntRangeInterfaceImpls.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
A mlir/test/Dialect/GPU/int-range-interface-cluster.mlir
Log Message:
-----------
[MLIR] Propagate known cluster sizes from gpu.launch to gpu.func (#174404)
This lets us properly annotate ranges for gpu.cluster_block_id and
gpu.cluster_dim_blocks. It also allows us to fill in the
nvvm.cluster_dim attribute for use in the NVVM backend.
Commit: 047aaa5feac6c42707bdf2830982b575c066eca2
https://github.com/llvm/llvm-project/commit/047aaa5feac6c42707bdf2830982b575c066eca2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/Analysis/LoadsTest.cpp
M llvm/unittests/Analysis/LoopInfoTest.cpp
M llvm/unittests/Analysis/LoopNestTest.cpp
M llvm/unittests/Analysis/MemoryProfileInfoTest.cpp
M llvm/unittests/Analysis/MemorySSATest.cpp
M llvm/unittests/Analysis/PluginInlineAdvisorAnalysisTest.cpp
M llvm/unittests/Analysis/PluginInlineOrderAnalysisTest.cpp
M llvm/unittests/Analysis/SparsePropagation.cpp
M llvm/unittests/Bitcode/BitReaderTest.cpp
M llvm/unittests/CodeGen/SelectionDAGTestBase.h
M llvm/unittests/CodeGen/X86MCInstLowerTest.cpp
M llvm/unittests/FuzzMutate/StrategiesTest.cpp
M llvm/unittests/IR/AbstractCallSiteTest.cpp
M llvm/unittests/IR/AttributesTest.cpp
M llvm/unittests/IR/ConstantsTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/LegacyPassManagerTest.cpp
M llvm/unittests/IR/PatternMatch.cpp
M llvm/unittests/IR/VPIntrinsicTest.cpp
M llvm/unittests/IR/VerifierTest.cpp
M llvm/unittests/Linker/LinkModulesTest.cpp
M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
Log Message:
-----------
unittests: Convert some IR in unit tests to opaque pointers (#174562)
Commit: 6f01dea5e2879ac84baca92f0e2d5336b586b484
https://github.com/llvm/llvm-project/commit/6f01dea5e2879ac84baca92f0e2d5336b586b484
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512-skx-insert-subvec.ll
M llvm/test/CodeGen/X86/combine-rndscale.ll
Log Message:
-----------
[X86] combineOr - attempt to concat `OR(X,KSHIFTL(Y,Elts/2))` sub-16-element masks (#174570)
We can't convert these to CONCAT_VECTORS/KUNPCK, but we might be able to
concat the operands directly.
Commit: 1db53f1a6f8f9c7beb0d8d0919ea4e97abf0120d
https://github.com/llvm/llvm-project/commit/1db53f1a6f8f9c7beb0d8d0919ea4e97abf0120d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/test/CodeGen/SPIRV/AtomicBuiltinsFloat.ll
M llvm/test/CodeGen/SPIRV/ComparePointers.ll
M llvm/test/CodeGen/SPIRV/EnqueueEmptyKernel.ll
M llvm/test/CodeGen/SPIRV/ExecutionMode.ll
M llvm/test/CodeGen/SPIRV/FOrdGreaterThanEqual_int.ll
M llvm/test/CodeGen/SPIRV/SpecConstants/bool-spirv-specconstant.ll
M llvm/test/CodeGen/SPIRV/TruncToBool.ll
M llvm/test/CodeGen/SPIRV/atomicrmw.ll
M llvm/test/CodeGen/SPIRV/basic_int_types_spirvdis.ll
M llvm/test/CodeGen/SPIRV/branching/OpSwitch32.ll
M llvm/test/CodeGen/SPIRV/branching/OpSwitch64.ll
M llvm/test/CodeGen/SPIRV/branching/OpSwitchChar.ll
M llvm/test/CodeGen/SPIRV/builtin_intrinsics_32.ll
M llvm/test/CodeGen/SPIRV/builtin_intrinsics_64.ll
M llvm/test/CodeGen/SPIRV/builtin_vars-decorate.ll
M llvm/test/CodeGen/SPIRV/capability-Int64Atomics-store.ll
M llvm/test/CodeGen/SPIRV/capability-Int64Atomics.ll
M llvm/test/CodeGen/SPIRV/capability-kernel.ll
M llvm/test/CodeGen/SPIRV/constant/global-constants.ll
M llvm/test/CodeGen/SPIRV/debug-info/opname-filtering.ll
M llvm/test/CodeGen/SPIRV/empty.ll
M llvm/test/CodeGen/SPIRV/event_no_group_cap.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_float.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_fp_max_error/IntelFPMaxErrorFPMath.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_float_controls2/decoration.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_float_controls2/disabled-on-amd.ll
M llvm/test/CodeGen/SPIRV/function/alloca-load-store.ll
M llvm/test/CodeGen/SPIRV/half_extension.ll
M llvm/test/CodeGen/SPIRV/half_no_extension.ll
M llvm/test/CodeGen/SPIRV/image-unoptimized.ll
M llvm/test/CodeGen/SPIRV/instructions/atomic.ll
M llvm/test/CodeGen/SPIRV/instructions/atomic_acqrel.ll
M llvm/test/CodeGen/SPIRV/instructions/atomic_seq.ll
M llvm/test/CodeGen/SPIRV/instructions/bitwise-i1.ll
M llvm/test/CodeGen/SPIRV/instructions/ptrcmp.ll
M llvm/test/CodeGen/SPIRV/linkage/linkage-types.ll
M llvm/test/CodeGen/SPIRV/linked-list.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/abs.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/assume.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/bitreverse_small_type.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/bswap.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctpop.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/expect.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/fp-to-int-intrinsics.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/invariant.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/memcpy.align.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/memmove.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/memset.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/sqrt.ll
M llvm/test/CodeGen/SPIRV/lshr-constexpr.ll
M llvm/test/CodeGen/SPIRV/multi_md.ll
M llvm/test/CodeGen/SPIRV/opencl/basic/get_global_offset.ll
M llvm/test/CodeGen/SPIRV/opencl/basic/progvar_prog_scope_init.ll
M llvm/test/CodeGen/SPIRV/opencl/basic/progvar_prog_scope_uninit.ll
M llvm/test/CodeGen/SPIRV/opencl/device_execution/execute_block.ll
M llvm/test/CodeGen/SPIRV/opencl/image.ll
M llvm/test/CodeGen/SPIRV/pointers/two-bitcast-or-param-users.ll
M llvm/test/CodeGen/SPIRV/pointers/two-subsequent-bitcasts.ll
M llvm/test/CodeGen/SPIRV/scoped_atomicrmw.ll
M llvm/test/CodeGen/SPIRV/select-builtin.ll
M llvm/test/CodeGen/SPIRV/simple.ll
M llvm/test/CodeGen/SPIRV/sitofp-with-bool.ll
M llvm/test/CodeGen/SPIRV/spec_const_decoration.ll
M llvm/test/CodeGen/SPIRV/spirv-load-store.ll
M llvm/test/CodeGen/SPIRV/spirv-tools-dis.ll
M llvm/test/CodeGen/SPIRV/spirv_param_decorations_quals.ll
M llvm/test/CodeGen/SPIRV/store.ll
M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll
M llvm/test/CodeGen/SPIRV/transcoding/BitReversePref.ll
M llvm/test/CodeGen/SPIRV/transcoding/BuildNDRange.ll
M llvm/test/CodeGen/SPIRV/transcoding/BuildNDRange_2.ll
M llvm/test/CodeGen/SPIRV/transcoding/ConvertPtr.ll
M llvm/test/CodeGen/SPIRV/transcoding/DecorationAlignment.ll
M llvm/test/CodeGen/SPIRV/transcoding/DecorationMaxByteOffset.ll
M llvm/test/CodeGen/SPIRV/transcoding/DivRem.ll
M llvm/test/CodeGen/SPIRV/transcoding/GlobalFunAnnotate.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpAllAny.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpConstantBool.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpDot.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpGroupAllAny.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpGroupAsyncCopy.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpImageQuerySize.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpImageReadMS.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpImageSampleExplicitLod.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpPhi_ArgumentsPlaceholders.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpVectorExtractDynamic.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpVectorInsertDynamic_i16.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_cmpxchg.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_legacy.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/sub_group_mask.ll
M llvm/test/CodeGen/SPIRV/transcoding/RelationalOperators.ll
M llvm/test/CodeGen/SPIRV/transcoding/RelationalOperatorsFUnord.ll
M llvm/test/CodeGen/SPIRV/transcoding/SampledImage.ll
M llvm/test/CodeGen/SPIRV/transcoding/SpecConstantComposite.ll
M llvm/test/CodeGen/SPIRV/transcoding/TransFNeg.ll
M llvm/test/CodeGen/SPIRV/transcoding/atomic_load_store.ll
M llvm/test/CodeGen/SPIRV/transcoding/bitcast.ll
M llvm/test/CodeGen/SPIRV/transcoding/block_w_struct_return.ll
M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars.ll
M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars_arithmetics.ll
M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars_opt.ll
M llvm/test/CodeGen/SPIRV/transcoding/clk_event_t.ll
M llvm/test/CodeGen/SPIRV/transcoding/enqueue_kernel.ll
M llvm/test/CodeGen/SPIRV/transcoding/explicit-conversions.ll
M llvm/test/CodeGen/SPIRV/transcoding/extract_insert_value.ll
M llvm/test/CodeGen/SPIRV/transcoding/fadd.ll
M llvm/test/CodeGen/SPIRV/transcoding/fclamp.ll
M llvm/test/CodeGen/SPIRV/transcoding/fdiv.ll
M llvm/test/CodeGen/SPIRV/transcoding/fmul.ll
M llvm/test/CodeGen/SPIRV/transcoding/fneg.ll
M llvm/test/CodeGen/SPIRV/transcoding/fp_contract_reassoc_fast_mode.ll
M llvm/test/CodeGen/SPIRV/transcoding/frem.ll
M llvm/test/CodeGen/SPIRV/transcoding/fsub.ll
M llvm/test/CodeGen/SPIRV/transcoding/global_block.ll
M llvm/test/CodeGen/SPIRV/transcoding/group_ops.ll
M llvm/test/CodeGen/SPIRV/transcoding/isequal.ll
M llvm/test/CodeGen/SPIRV/transcoding/ldexp.ll
M llvm/test/CodeGen/SPIRV/transcoding/memory_access.ll
M llvm/test/CodeGen/SPIRV/transcoding/readonly.ll
M llvm/test/CodeGen/SPIRV/transcoding/relationals_double.ll
M llvm/test/CodeGen/SPIRV/transcoding/relationals_float.ll
M llvm/test/CodeGen/SPIRV/transcoding/relationals_half.ll
M llvm/test/CodeGen/SPIRV/transcoding/spec_const.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-private-array-initialization.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_ballot.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_clustered_reduce.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_extended_types.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_non_uniform_arithmetic.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_non_uniform_vote.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_shuffle.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_shuffle_relative.ll
M llvm/test/CodeGen/SPIRV/transcoding/vec8.ll
M llvm/test/CodeGen/SPIRV/uitofp-with-bool.ll
Log Message:
-----------
SPIRV: Convert tests to opaque pointers (#174563)
Commit: 6752fd7d1ff6e44f84b8ea564245370f9da3cf14
https://github.com/llvm/llvm-project/commit/6752fd7d1ff6e44f84b8ea564245370f9da3cf14
Author: nataliakokoromyti <126305457+nataliakokoromyti at users.noreply.github.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclAttr.cpp
A clang/test/Sema/sentinel-attribute-block.c
Log Message:
-----------
[Clang][Sema] Fix crash when applying sentinel to block variable (#173866)
This PR avoids the crash in Clang Sema when the sentinel attribute is
applied to a block variable, see https://github.com/llvm/llvm-project/issues/173820.
Basically, handleSentinelAttr always treated the type as a function with
a prototype which is not true for block variables like void (^a)() and
it caused Clang to crash. Now Clang will print a warning instead of
crashing.
Commit: a3569fac5360eb53ad0ce0e762d5bb616c7a56df
https://github.com/llvm/llvm-project/commit/a3569fac5360eb53ad0ce0e762d5bb616c7a56df
Author: Ties Stuij <ties.stuij at arm.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/test/CodeGen/AArch64/aarch64-mops.ll
Log Message:
-----------
[AArch64] Add command-line flag to disable MOPS for memory intrinsics (#172722)
Add -aarch64-use-mops flag (default true) to control whether the AArch64
backend uses Memory Copy and Set instructions (MOPS) introduced in
Armv8.8-A/Armv9.3-A for lowering memory intrinsics (memcpy, memset,
memmove).
When MOPS is disabled, we will either inline the operation or calls the
library function based on size thresholds.
Commit: f444467a3812ed98396be7c838c31ac0fa8d1218
https://github.com/llvm/llvm-project/commit/f444467a3812ed98396be7c838c31ac0fa8d1218
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
A llvm/test/CodeGen/X86/vector-extract-last-active.ll
Log Message:
-----------
[ISel] Handle TypeWidenVector in expandVectorFindLastActive. (#174384)
When widening extract.last.active, the element count changes. Create a
step vector with only the original elements valid and zeros for padding.
Also widen the mask accordingly. This fixes a hang when lowering on X86,
where widening is required in some cases.
Fixes https://github.com/llvm/llvm-project/issues/171831.
PR: https://github.com/llvm/llvm-project/pull/174384
Commit: 3a9718bc9cf207c114cdd23033ef2edb2260f5bc
https://github.com/llvm/llvm-project/commit/3a9718bc9cf207c114cdd23033ef2edb2260f5bc
Author: Henry <33919933+sfu2 at users.noreply.github.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/ConstantHoisting.h
Log Message:
-----------
[ConstantHoisting] Remove redundant cleanup (NFC) (#173823)
ConstGEPCandMap and ConstGEPInfoMap of type MapVector will free up the
inner vector/SmallVector when calling clear(). Existing for-loops
introduce redundant container copy and ineffective cleanup.
Fixes: f5297fb
Co-authored-by: sfu <afwbu8tp6 at mozmail.com>
Commit: 8f189940090375821bebbc8ae88c4dd5a6aea1ec
https://github.com/llvm/llvm-project/commit/8f189940090375821bebbc8ae88c4dd5a6aea1ec
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[analyzer][docs] CSA release notes for clang-22 (#174450)
The commits were gathered using:
```sh
git log --reverse --oneline llvmorg-22-init..llvm/main \
clang/{lib/StaticAnalyzer,include/clang/StaticAnalyzer} | grep -v NFC | \
grep -v OpenACC | grep -v -i revert | grep -v -i "webkit"
```
I used the `LLVM_ENABLE_SPHINX=ON` and `LLVM_ENABLE_DOXYGEN=ON` cmake
options to enable the `docs-clang-html` build target, which generates
the html into `build/tools/clang/docs/html/ReleaseNotes.html` of which I
attach the screenshots to let you judge if it looks all good or not.
Commit: bdc7681d6347822bb1ed20f63ccd7cfa2a1b3394
https://github.com/llvm/llvm-project/commit/bdc7681d6347822bb1ed20f63ccd7cfa2a1b3394
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/widen-gep-all-indices-invariant.ll
Log Message:
-----------
[VPlan] Restore all-operands-inv WidenGEP logic (#174416)
Restore the all-operands-invariant handling in WidenGEP::execute prior
to 37f7b31 (Reland [VPlan] Handle WidenGEP in narrowToSingleScalars), as
crashes have been reported.
Fixes #173761.
Commit: af3a0e61f4e08afb53d4efe815fcc6269c63f739
https://github.com/llvm/llvm-project/commit/af3a0e61f4e08afb53d4efe815fcc6269c63f739
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M polly/lib/Exchange/JSONExporter.cpp
A polly/test/JSONExporter/ImportAccesses/change-array-dims.ll
A polly/test/JSONExporter/ImportAccesses/change-array-dims___%outer.for---%return.jscop
A polly/test/JSONExporter/ImportAccesses/change-array-dims___%outer.for---%return.jscop.transformed
Log Message:
-----------
[Polly] Allow changing array dims when importing JScop (#174582)
This is in preparation to avoid relying on GEPs to derive dependency
information; Clang will eventually emit `ptradd` instead of
`getelementptr`.
Commit: 73c44217272f43f17764f911fe3580c16acc1f6d
https://github.com/llvm/llvm-project/commit/73c44217272f43f17764f911fe3580c16acc1f6d
Author: Manuel Carrasco <Manuel.Carrasco at amd.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
A llvm/test/CodeGen/SPIRV/lifetime-poison.ll
Log Message:
-----------
[SPIRV] Handle poison values in lifetime intrinsics (#174578)
The toSpvLifetimeIntrinsic function crashed when attempting to cast a
poison value to AllocaInst. This patch adds a check to detect poison
values in the first argument of lifetime intrinsics and erases the
intrinsic early, as lifetime intrinsics with poison arguments have no
effect per LLVM semantics.
Commit: 5ff486d08e97b0d63f9799381d407e69ec5b1e28
https://github.com/llvm/llvm-project/commit/5ff486d08e97b0d63f9799381d407e69ec5b1e28
Author: Jorn Tuyls <jorn.tuyls at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
Log Message:
-----------
[NFC][AMDGPU] Use getMixedSize in FatRawBufferCastOp dim reification (#174548)
After https://github.com/llvm/llvm-project/pull/174477, I found similar
logic that can be replaced by `memref::getMixedSize` in the
FatRawBufferCastOp dimension reification function.
Commit: 86f12c536f2d5821f5f23b7a1cec76d4cb2bad6b
https://github.com/llvm/llvm-project/commit/86f12c536f2d5821f5f23b7a1cec76d4cb2bad6b
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Target/SPIRV/gl-ops.mlir
Log Message:
-----------
[mlir][spirv] Add definition for GL Pack/UnpackSnorm4x8 (#174574)
Commit: 92da91f93ec7dc3ed9cadbe1e85c4caea506b17a
https://github.com/llvm/llvm-project/commit/92da91f93ec7dc3ed9cadbe1e85c4caea506b17a
Author: Muhammad Abdul <alilo.ghazali at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[DAG] SDPatternMatch - add a m_SpecificNeg() matcher (#173807)
Resolves #173770
Adds m_SpecificNeg(SDValue V) to match either m_Neg(m_Specific(V)) or
constant/build-vector where elements are the negation of V's constants
Has unit test coverage on SelectionDAGPatternMatchTest.cpp
Commit: 87be941768a48a4989f77c2d1cfe98aceeab76a6
https://github.com/llvm/llvm-project/commit/87be941768a48a4989f77c2d1cfe98aceeab76a6
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
A llvm/test/Transforms/LowerTypeTests/import-32bit.ll
Log Message:
-----------
[LowerTypeTests] Avoid implicit truncation for absolute_symbol (#174589)
Use the bit mask instead of ~0ull, same as WPD. This avoids an
assertion failure with https://github.com/llvm/llvm-project/pull/171456.
Commit: dff081c26f11e1679411e7c0b4012e6a740b6cc3
https://github.com/llvm/llvm-project/commit/dff081c26f11e1679411e7c0b4012e6a740b6cc3
Author: theRonShark <ron.lieberman at amd.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
R llvm/test/CodeGen/AMDGPU/amdgpu-attributor-intrinsic-missing-nocallback.ll
R llvm/test/CodeGen/AMDGPU/amdgpu-attributor-nocallback-intrinsics.ll
Log Message:
-----------
Revert "AMDGPU: Do not infer implicit inputs for !nocallback intrinsics" (#174224)
Reverts llvm/llvm-project#131759
seeing regressions in : Pytorch UT- 8 test cases failed in "test_ops"
test suite
Commit: 256ec23ebecd53b0fbb5cb0557c7cb34b80baa78
https://github.com/llvm/llvm-project/commit/256ec23ebecd53b0fbb5cb0557c7cb34b80baa78
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M flang/test/Lower/always-execute-loop-body.f90
M flang/test/Lower/arithmetic-goto.f90
M flang/test/Lower/array-constructor-1.f90
M flang/test/Lower/array-constructor-index.f90
M flang/test/Lower/array-derived.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 3) (#174345)
Tests converted: always-execute-loop-body.f90, arithmetic-goto.f90,
array-constructor-1.f90, array-constructor-index.f90, array-derived.f90
Commit: 7c5eb6ab0cbfeb29f980c8fa17c0ee3ca5270984
https://github.com/llvm/llvm-project/commit/7c5eb6ab0cbfeb29f980c8fa17c0ee3ca5270984
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Gnu.cpp
Log Message:
-----------
[Clang][Driver] Add gcc-13 toolset path on RHEL (#174464)
Adding this additional path to enable clang+offload to be easily
buildable in RHEL-based distros with GCC 13 toolset.
Commit: 0753286b8e27f995d25b33a4cbd8d07ca0346aa7
https://github.com/llvm/llvm-project/commit/0753286b8e27f995d25b33a4cbd8d07ca0346aa7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M openmp/device/src/Misc.cpp
Log Message:
-----------
[OpenMP] Add default stub for virtual methods (#174594)
Summary:
Recent OpenMP patches have added real support for virtual functions on
the device side. However, we don't provide some of the C++ ABI functions
that are emitted when using these. In practice these functions just call
`std::terminate` so we can just trap here. These are marked weak so they
will be overridden by a more correct implementation if not defined and
will also not extract on their own from a static library.
Commit: 8da47b51c36d77d3c946fcd1292a1dc5da5ba0f4
https://github.com/llvm/llvm-project/commit/8da47b51c36d77d3c946fcd1292a1dc5da5ba0f4
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/test/CIR/CodeGen/try-catch-tmp.cpp
Log Message:
-----------
[CIR] Implement support for ComplexType in CatchParam (#173736)
Implement support for ComplexType in CatchParam
Issue https://github.com/llvm/llvm-project/issues/154992
Commit: c958a7c66ec443a1f935f42f7bf15e23ef4bbb3d
https://github.com/llvm/llvm-project/commit/c958a7c66ec443a1f935f42f7bf15e23ef4bbb3d
Author: Folkert de Vries <folkert at folkertdev.nl>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-pmadd.ll
Log Message:
-----------
[X86] use `VPMADDWD` for widening adjacent addition (#174149)
The `_mm256_madd_epi16` intrinsic performs first a pointwise widening
multiplication, and then adds adjacent elements. In SIMD versions of the
adler32 checksum algorithm, a trivial multiplication by an all-ones
vector is used to get just the widening and addition behavior.
In the rust standard library, we like to implement intrinsics in terms
of simpler building blocks, so that all backends can implement a small
set of primitives instead of supporting all of LLVM's intrinsics. When
we try that for `_mm256_madd_epi16` in isolation it works, but when one
of the arguments is an all-ones vector, the multiplication is optimized
out long before the `vpmaddwd` instruction can be selected.
This PR recognizes the widening adjacent addition pattern that adler32
uses directly, and manually inserts a trivial multiplication by an
all-ones vector. Experimentally, performing this optimization increases
adler32 throughput from 41 gb/s to 67 gb/s
(https://github.com/rust-lang/rust/issues/150560#issue-3774170588)
cc https://github.com/rust-lang/stdarch/pull/1985
cc https://github.com/rust-lang/rust/issues/150560
Commit: 53f84636eb86e6c64c1ec405f70b3dd2b27f4ddc
https://github.com/llvm/llvm-project/commit/53f84636eb86e6c64c1ec405f70b3dd2b27f4ddc
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/include/clang/Driver/CommonArgs.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPAMD.h
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/SPIRV.h
M clang/test/Driver/hipspv-link-static-library.hip
M clang/test/Driver/hipspv-toolchain-rdc.hip
M clang/test/Driver/hipspv-toolchain.hip
A clang/test/Driver/spirv-llvm-link-emit-asm.c
A clang/test/Driver/spirv-llvm-link.c
Log Message:
-----------
[clang][Driver][SPIR-V] Allow linking IR using llvm-link (#169572)
SPIR-V does not have a production-grade linker so it is often necessary
to stay in LLVM-IR as long as possible and only convert to SPIR-V at the
very end.
As such, it is common that we want to create a BC library that is linked
into a user program (motivating example here is the OpenMP device RTL).
We only convert to SPIR-V at the very end when we have a fully linked
program.
Other targets can achieve a similar goal by using LTO to get a linked-BC
file, but the SPIR-V linker does not support LTO, so we have no way to
do it with `clang`. We can do it with `llvm-link` directly, but my
understanding is that it is not intended to be directly called in
production workflows and does not fit well into code that supports
multiple targets.
Extend the existing behavior for `HIP` that allows `-emit-llvm` without
`-c`.
---------
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 5f0bfc85d61ede15a5e0c182bab7fb112f4ea1ff
https://github.com/llvm/llvm-project/commit/5f0bfc85d61ede15a5e0c182bab7fb112f4ea1ff
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn build] Port 75d025124aa3
Commit: 187942dd03f78e75484155d5065d87ade069b294
https://github.com/llvm/llvm-project/commit/187942dd03f78e75484155d5065d87ade069b294
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Log Message:
-----------
[gn build] Port 7f9a00e59c56
Commit: a9bdc41beedcfc05acbba61183b8035b2bef5e85
https://github.com/llvm/llvm-project/commit/a9bdc41beedcfc05acbba61183b8035b2bef5e85
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port ba6c5f8e4ed3
Commit: b1ff9277f5b4dea96cb2abb57609508be9e73a87
https://github.com/llvm/llvm-project/commit/b1ff9277f5b4dea96cb2abb57609508be9e73a87
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
A clang/test/Driver/rocm-detect-lib-llvm.hip
Log Message:
-----------
[clang][Driver] Add ROCm lib/llvm/bin detection test (#169705)
Add a lit test that exercises RocmInstallationDetector when clang is
installed under /opt/rocm/lib/llvm/bin, using a synthetic sysroot so it
does not depend on any real /opt/rocm installation. The test copies the
built clang binary into the test tree so the driver observes the
expected InstalledDir and real path, following the precedent of other
driver tests that copy %clang into a temporary layout.
This is for testing https://github.com/llvm/llvm-project/pull/138928
Commit: 474c6ad61c73afc9238a9e067b2675841a5c804c
https://github.com/llvm/llvm-project/commit/474c6ad61c73afc9238a9e067b2675841a5c804c
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
Log Message:
-----------
[TwoAddressInstruction] Remove AA from twoaddressinstruction. NFC
- AA is not actually used.
Commit: d4f39b9bd64c17d1b0d8374159879b9c3a625bf2
https://github.com/llvm/llvm-project/commit/d4f39b9bd64c17d1b0d8374159879b9c3a625bf2
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/include/clang/Sema/Sema.h
Log Message:
-----------
[NFC][Clang][Sema] Apply Rule of Three to various classes (#174516)
Static analysis flagged a case where we had defined the destructor but
not copy ctor or copy assignment, which violates the Rule of Three. I
applied this to all the cases I found. With the exception to destructors
with empty bodies. These should be defaulted but that should be done
seperately.
Commit: eabd8a9af85fad659d7cc4f166b72d4481b641fe
https://github.com/llvm/llvm-project/commit/eabd8a9af85fad659d7cc4f166b72d4481b641fe
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M libcxx/include/__chrono/duration.h
M libcxx/include/__chrono/file_clock.h
M libcxx/include/__chrono/leap_second.h
M libcxx/include/__chrono/steady_clock.h
M libcxx/include/__chrono/system_clock.h
M libcxx/include/__chrono/time_point.h
M libcxx/include/__chrono/zoned_time.h
M libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
Log Message:
-----------
[libc++][chrono] Applied `[[nodiscard]]` to clocks, `time_point`, some `hash` specializations (#174120)
In this release:
- [x] `file_clock`
- [x] `steady_clock`
- [x] `system_clock`
- [x] `time_point`
- [x] some `hash` specializations
Any other existing clocks are already annotated. Annotated some `hash`
specializations for already annotated classes.
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/time.point
- https://wg21.link/time.clock.file
- https://wg21.link/time.clock.steady
- https://wg21.link/time.clock.system
Towards #172124
Commit: 7bf6ad5c808d5816424c902b9c98a4279b636ba5
https://github.com/llvm/llvm-project/commit/7bf6ad5c808d5816424c902b9c98a4279b636ba5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M libcxx/include/__algorithm/copy.h
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/move.h
Log Message:
-----------
[libc++][NFC] Use lambdas when calling a segmented iterator algorithm (#173345)
Clang provides lambdas as an extension in C++03 now, so we can use them
to simplify our code a bit.
Commit: 2b01e7cf2b7053dc350b658c96e3db8404cc2594
https://github.com/llvm/llvm-project/commit/2b01e7cf2b7053dc350b658c96e3db8404cc2594
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M libcxx/include/__new/allocate.h
M libcxx/include/__new/global_new_delete.h
Log Message:
-----------
[libc++] Remove _LIBCPP_HAS_SIZED_DEALLOCATION (#172285)
This macro provides relatively little value. Using the standard FTM
directly removes one level of indicretion, making it easier to
understand what is actually happening.
Commit: 67404745171125f1d68c629973b0e978986869f6
https://github.com/llvm/llvm-project/commit/67404745171125f1d68c629973b0e978986869f6
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M libcxx/include/__new/interference_size.h
M libcxx/include/version
M libcxx/modules/std/new.inc
M libcxx/src/atomic.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][NFC] Assume that __GCC_{CON,DE}STRUCTIVE_SIZE are available (#171625)
Clang provides these macros since LLVM 19, so we can assume they are
available.
Commit: 7f6afc499f1e07ad6c509362f2019f6375a9acc9
https://github.com/llvm/llvm-project/commit/7f6afc499f1e07ad6c509362f2019f6375a9acc9
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
A llvm/test/Transforms/CodeGenPrepare/ARM/sink-negative-scale.ll
Log Message:
-----------
[CGP] Use getSigned() for scale during address sinking
The scale is a signed quantity.
This avoids an assertion failure with github.com/llvm/llvm-project/pull/171456.
Commit: 448f5fe41b826fc42c4b6c1c5bc3e357cd0e367e
https://github.com/llvm/llvm-project/commit/448f5fe41b826fc42c4b6c1c5bc3e357cd0e367e
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/test/CodeGen/PowerPC/milicode32.ll
M llvm/test/CodeGen/PowerPC/milicode64.ll
Log Message:
-----------
[NFC][PowerPC] Pre-commit adding test case: use millicode for strcpy (#174243)
add test case to test lib call are used for the ___strcpy milicode.
Commit: 3f5d91bfbc17a487fc14ac2c7f2d866fb97e3906
https://github.com/llvm/llvm-project/commit/3f5d91bfbc17a487fc14ac2c7f2d866fb97e3906
Author: Chi-Chun, Chen <chichun.chen at hpe.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M flang/docs/OpenMPSupport.md
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/target.f90
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-device.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[Flang][OpenMP] Implement device clause lowering for target directive (#173509)
Add lowering support for the OpenMP `device` clause on the `target`
directive in Flang.
The device expression is propagated through MLIR OpenMP and passed to
the host-side `__tgt_target_kernel` call.
Commit: 305c413c92acfdd1df15b26080601bc66fb86dd1
https://github.com/llvm/llvm-project/commit/305c413c92acfdd1df15b26080601bc66fb86dd1
Author: Andrew Haberlandt <ahaberlandt at apple.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M compiler-rt/test/asan/CMakeLists.txt
M compiler-rt/test/asan/lit.site.cfg.py.in
M compiler-rt/test/asan_abi/CMakeLists.txt
M compiler-rt/test/asan_abi/lit.site.cfg.py.in
M compiler-rt/test/fuzzer/CMakeLists.txt
M compiler-rt/test/fuzzer/lit.site.cfg.py.in
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/test/sanitizer_common/CMakeLists.txt
M compiler-rt/test/sanitizer_common/lit.site.cfg.py.in
M compiler-rt/test/tsan/CMakeLists.txt
M compiler-rt/test/tsan/lit.site.cfg.py.in
M compiler-rt/test/ubsan/CMakeLists.txt
M compiler-rt/test/ubsan/lit.site.cfg.py.in
Log Message:
-----------
[NFCI] [Darwin] Add APPLE_TARGET_IS_HOST lit option to compiler-rt (#174522)
Darwin supports running tests on targets other than the host machine
e.g. simulators. In such configurations, tests are run via a wrapper
script (e.g. iossim_run.py).
This refactors the lit test config to use a dedicated option to
distinguish test suites that run on the host from those that run in any
other configuration. This will allow the test suites to distinguish a
local osx configuration from a "remote" one.
rdar://167591463
Commit: 99e8aa5ab4e88dad023140fff9e3657eec262dcf
https://github.com/llvm/llvm-project/commit/99e8aa5ab4e88dad023140fff9e3657eec262dcf
Author: Andrew Haberlandt <ahaberlandt at apple.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
A llvm/test/Instrumentation/ThreadSanitizer/tsan_address_space_attr_cast.ll
Log Message:
-----------
[TSan] Fix TSan instrumenting pointers from non-default address spaces (#174518)
Casting a pointer to a different address space is a nice trick to
prevent an access from being instrumented by sanitizers such as ASan.
However, this trick is currently broken, as the test demonstrates.
A minimal C PoC of the issue is:
```
void access(void *p) {
auto tmp = (unsigned long __attribute__((address_space(1))) volatile *)p;
*tmp = 0;
}
```
Under fsanitize=address, the access does not get instrumented, but under
fsanitize=thread, it does.
(Note: Before this patch, this test will actually hit a CallInst
assertion if you have them turned on, because the TSan runtime functions
are defined to take pointer arguments, and non-default address space
pointers are not compatible).
rdar://166743781
Commit: a165f8ccd892f215b21163e42071465aea41e907
https://github.com/llvm/llvm-project/commit/a165f8ccd892f215b21163e42071465aea41e907
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Support/Path.cpp
Log Message:
-----------
[llvm] Bypass sandbox in `sys::fs::createTemporaryFile()` (#174491)
Based on the name of the function, I think it's safe to assume
`sys::fs::createTemporaryFile()` is not to be used for formal compiler
outputs and should only be used for compiler-internal outputs (caches,
debugging output, etc.). Thus, it should be fine to disable the IO
sandbox and allow bypassing `vfs::OutputBackend` here.
Commit: 8a93a7aec806ff7c4bc8813386531dd3857f2737
https://github.com/llvm/llvm-project/commit/8a93a7aec806ff7c4bc8813386531dd3857f2737
Author: TMJ <tedmjohnson at protonmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M flang/docs/GettingInvolved.md
Log Message:
-----------
[flang] [documentation] Update the biweekly community call Google Docs link (#174616)
The old link is still dead/protected. Use the new link.
Commit: 4b31ad94e0da77692da577caf5b330bb599cd4bd
https://github.com/llvm/llvm-project/commit/4b31ad94e0da77692da577caf5b330bb599cd4bd
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
A llvm/test/DebugInfo/X86/uefi-no-codeview-crash.ll
Log Message:
-----------
[UEFI] Codeview do not crash when no llvm.dbg.cu (#174460)
PR #142970 Added for Windows targets to emit minimal codeview metadata
even when debug info is disabled. This crashes the backend for UEFI
x86_64-uefi triple as llvm.dbg.cu is expected unconditionally there.
Handling it correctly in AsmPrinter and adding a regression test.
Commit: ef55a0be4e67ff5bda8583fb90412b69d20040f4
https://github.com/llvm/llvm-project/commit/ef55a0be4e67ff5bda8583fb90412b69d20040f4
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
Log Message:
-----------
[NFC] Update `clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl`
Commit: e14c09f63069d182ff67898176dc8e60f87f0013
https://github.com/llvm/llvm-project/commit/e14c09f63069d182ff67898176dc8e60f87f0013
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M lldb/examples/python/crashlog.py
Log Message:
-----------
[lldb][crashlog] Account for alternate format of 'Triggered by Thread:' string (#174572)
When the crashing thread was submitted to a libdispatch queue, the
`Triggered by Thread:` string looks like:
```
Triggered by Thread: 0, Dispatch Queue: com.apple.main-thread
```
Trying to run the `crashlog` command on such crashlog file fails with:
```
(lldb) crashlog -i '/tmp/lldb.crash'
Traceback (most recent call last):
File "Git/llvm-worktrees/main/builds/release/lib/python3.13/site-packages/lldb/macosx/crashlog.py", line 1444, in __call__
SymbolicateCrashLogs(debugger, shlex.split(command), result, True)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "Git/llvm-worktrees/main/builds/release/lib/python3.13/site-packages/lldb/macosx/crashlog.py", line 1888, in SymbolicateCrashLogs
load_crashlog_in_scripted_process(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
debugger, crashlog_path, options, result
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "Git/llvm-worktrees/main/builds/release/lib/python3.13/site-packages/lldb/macosx/crashlog.py", line 1495, in load_crashlog_in_scripted_process
crashlog = CrashLogParser.create(debugger, crashlog_path, options).parse()
File "Git/llvm-worktrees/main/builds/release/lib/python3.13/site-packages/lldb/macosx/crashlog.py", line 1043, in parse
self.parsers[self.parse_mode](line)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "Git/llvm-worktrees/main/builds/release/lib/python3.13/site-packages/lldb/macosx/crashlog.py", line 1121, in parse_normal
self.crashlog.crashed_thread_idx = int(line[20:].strip().split()[0])
~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: invalid literal for int() with base 10: '0,'
```
This patch strips the possibly trailing comma in when parsing this
string.
Tested locally that this fixes the issue. LLDB test suggestions welcome
Commit: 2529fc4467cdaf58196c779a6234ebea7c047257
https://github.com/llvm/llvm-project/commit/2529fc4467cdaf58196c779a6234ebea7c047257
Author: DannyDaoBoYang <daobo.yang41 at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
Log Message:
-----------
[CIR] [Fix] W64 Compiler error for std::max (#174519)
In W64, size_t and ul are different sizes. So, std::max cannot correctly
deduce the operator type, resulting an error at compile time.
The fix was originally added in
https://github.com/llvm/llvm-project/pull/173802, but as suggested it's
best to keep unrelated changes separate.
Commit: aa5bcffa06aa5750121a0c4ff418fa66940deffe
https://github.com/llvm/llvm-project/commit/aa5bcffa06aa5750121a0c4ff418fa66940deffe
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/constant-expr.cpp
Log Message:
-----------
[CIR] Implement part of ConstantExpr support for ScalarExpr (#173009)
Implement part of the ConstantExpr support for the ScalarExpr
Commit: 27cbe6e8f6c7d50bd305a2f39e9e47e35c4ca997
https://github.com/llvm/llvm-project/commit/27cbe6e8f6c7d50bd305a2f39e9e47e35c4ca997
Author: Hui <hui.xie1990 at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__atomic/atomic_ref.h
M libcxx/include/__atomic/atomic_sync.h
A libcxx/include/__atomic/atomic_waitable_traits.h
M libcxx/include/atomic
M libcxx/include/module.modulemap.in
Log Message:
-----------
[libc++] Refactor atomic_waitable_traits into its own header and remove pre 20 support (#173157)
It makes sense to decouple traits from the things they describe, since
that's the purpose of traits. Furthermore, this will make it possible to
reuse these traits from other places in the library (e.g. <semaphore>)
outside of the synchronization library.
Pre-C++20 support is removed as a drive-by since the synchronization
library does not support pre-C++20 anymore. This makes it possible to
simplify a few constructs by using concepts.
Requested in https://github.com/llvm/llvm-project/pull/172214#discussion_r2635968291
Commit: 128cc16c2588472df1b20878fba5facb04da6157
https://github.com/llvm/llvm-project/commit/128cc16c2588472df1b20878fba5facb04da6157
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/lib/Rewrite/Rewriter.cpp
Log Message:
-----------
[clang] Bypass sandbox in the rewriter (#174496)
Clang's rewriter currently violates the IO sandbox due to a call to
`llvm::writeToOutput()`. Since the "blessed" `llvm::vfs::OutputBackend`
isn't easily available in that particular spot, this PR instead disables
the sandbox and leaves a FIXME behind.
Commit: 3eeec298e67877ab033bcdbc34240cf4ce925a9e
https://github.com/llvm/llvm-project/commit/3eeec298e67877ab033bcdbc34240cf4ce925a9e
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M cross-project-tests/CMakeLists.txt
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/arrayref.cpp
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/arrayref.test
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/lit.local.cfg
Log Message:
-----------
[cross-project] Add tests for LLDB data-formatters for llvm::ArrayRef (#173238)
This patch adds the bare-minimum tests for the LLDB `llvm::ArrayRef`
formatters. Since this would be the first LLVM data fromatter test for
LLDB, I wanted to keep the test itself minimal and mainly set up/agree
on the infrastructure (i.e., CMake machinery, etc.).
The setup mimicks that of GDB. The main differences are:
1. the GDB formatter tests put all the test cases in one monolithic test
file, whereas I'm planning on having one test-file per LLVM container.
2. the GDB formatter tests currently only get run if LLVM was built with
debug-info. Not sure we have any build-bots out there running this
configuration. In this patch we rely on just the debug-info from the
LLVM headers (see latest commit). That way the tests get more
consistently run (at least our public macOS buildbot runs the
cross-project-tests in Release+Asserts).
Commit: 5f0f0fcd62227fb864203acc1a57e3ebf7a254a3
https://github.com/llvm/llvm-project/commit/5f0f0fcd62227fb864203acc1a57e3ebf7a254a3
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M lldb/docs/resources/lldbdap.md
R lldb/tools/lldb-dap/.prettierrc.json
R lldb/tools/lldb-dap/.vscode/launch.json
R lldb/tools/lldb-dap/.vscode/tasks.json
R lldb/tools/lldb-dap/.vscodeignore
R lldb/tools/lldb-dap/LICENSE.TXT
A lldb/tools/lldb-dap/extension/.prettierrc.json
A lldb/tools/lldb-dap/extension/.vscode/launch.json
A lldb/tools/lldb-dap/extension/.vscode/tasks.json
A lldb/tools/lldb-dap/extension/.vscodeignore
A lldb/tools/lldb-dap/extension/LICENSE.TXT
A lldb/tools/lldb-dap/extension/llvm-logo.png
A lldb/tools/lldb-dap/extension/package-lock.json
A lldb/tools/lldb-dap/extension/package.json
A lldb/tools/lldb-dap/extension/src/debug-adapter-factory.ts
A lldb/tools/lldb-dap/extension/src/debug-configuration-provider.ts
A lldb/tools/lldb-dap/extension/src/debug-session-tracker.ts
A lldb/tools/lldb-dap/extension/src/disposable-context.ts
A lldb/tools/lldb-dap/extension/src/extension.ts
A lldb/tools/lldb-dap/extension/src/index.d.ts
A lldb/tools/lldb-dap/extension/src/lldb-dap-server.ts
A lldb/tools/lldb-dap/extension/src/logging.ts
A lldb/tools/lldb-dap/extension/src/ui/error-with-notification.ts
A lldb/tools/lldb-dap/extension/src/ui/modules-data-provider.ts
A lldb/tools/lldb-dap/extension/src/ui/show-error-message.ts
A lldb/tools/lldb-dap/extension/src/ui/symbols-provider.ts
A lldb/tools/lldb-dap/extension/src/ui/symbols-webview-html.ts
A lldb/tools/lldb-dap/extension/src/uri-launch-handler.ts
A lldb/tools/lldb-dap/extension/src/utils.ts
A lldb/tools/lldb-dap/extension/src/webview/symbols-table-view.ts
A lldb/tools/lldb-dap/extension/src/webview/tsconfig.json
A lldb/tools/lldb-dap/extension/syntaxes/arm.disasm
A lldb/tools/lldb-dap/extension/syntaxes/arm64.disasm
A lldb/tools/lldb-dap/extension/syntaxes/disassembly.json
A lldb/tools/lldb-dap/extension/syntaxes/x86.disasm
A lldb/tools/lldb-dap/extension/tsconfig.json
R lldb/tools/lldb-dap/llvm-logo.png
R lldb/tools/lldb-dap/package-lock.json
R lldb/tools/lldb-dap/package.json
R lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
R lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
R lldb/tools/lldb-dap/src-ts/debug-session-tracker.ts
R lldb/tools/lldb-dap/src-ts/disposable-context.ts
R lldb/tools/lldb-dap/src-ts/extension.ts
R lldb/tools/lldb-dap/src-ts/index.d.ts
R lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
R lldb/tools/lldb-dap/src-ts/logging.ts
R lldb/tools/lldb-dap/src-ts/ui/error-with-notification.ts
R lldb/tools/lldb-dap/src-ts/ui/modules-data-provider.ts
R lldb/tools/lldb-dap/src-ts/ui/show-error-message.ts
R lldb/tools/lldb-dap/src-ts/ui/symbols-provider.ts
R lldb/tools/lldb-dap/src-ts/ui/symbols-webview-html.ts
R lldb/tools/lldb-dap/src-ts/uri-launch-handler.ts
R lldb/tools/lldb-dap/src-ts/utils.ts
R lldb/tools/lldb-dap/src-ts/webview/symbols-table-view.ts
R lldb/tools/lldb-dap/src-ts/webview/tsconfig.json
R lldb/tools/lldb-dap/syntaxes/arm.disasm
R lldb/tools/lldb-dap/syntaxes/arm64.disasm
R lldb/tools/lldb-dap/syntaxes/disassembly.json
R lldb/tools/lldb-dap/syntaxes/x86.disasm
R lldb/tools/lldb-dap/tsconfig.json
Log Message:
-----------
[lldb-dap] Add lldb-dap extension directory. (#174219)
Move all lldb-dap vscode extension files to the extension directory.
Follow up from
https://github.com/llvm/llvm-project/pull/162635#discussion_r2482141750
Commit: a6cfca8b8e31b3179c89033a925a42b18d0aa749
https://github.com/llvm/llvm-project/commit/a6cfca8b8e31b3179c89033a925a42b18d0aa749
Author: Michael Jones <michaelrj at google.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M libc/docs/hand_in_hand.rst
Log Message:
-----------
[libc][docs] Fix typo (#174631)
There was a typo introduced in #168637, this PR fixes it. Thanks to
Nikolas for pointing it out.
Commit: 2dff018322e34e3d5bd75ee12620de9976ecbed9
https://github.com/llvm/llvm-project/commit/2dff018322e34e3d5bd75ee12620de9976ecbed9
Author: Bill Wendling <morbo at google.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/test/CodeGen/attr-counted-by.c
Log Message:
-----------
[Clang][counted-by][NFC] Add testcase for non-forward record decl (#153338)
This tests that we don't ICE if a struct hasn't been forward declared.
Originally fixed in 160fb11
Link: ClangBuiltLinux/linux#2114
Commit: 142a4053d7c0f834d7af90dbf21fee7bf1643100
https://github.com/llvm/llvm-project/commit/142a4053d7c0f834d7af90dbf21fee7bf1643100
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/test/TableGen/CPtrWildcard.td
Log Message:
-----------
[NFCI][CodeGen] Add more value types (#174533)
This PR adds more value types for future use.
Commit: 9937769cca7b89686c83bcaf85df975a9eb0914b
https://github.com/llvm/llvm-project/commit/9937769cca7b89686c83bcaf85df975a9eb0914b
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.h
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string_view/TestDataFormatterStdStringView.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/u8string_view/TestDataFormatterStdU8StringView.py
Log Message:
-----------
[lldb] Add libstdcpp string view summary provider (#171854)
This patch adds libstdcpp string view summary provider.
Commit: 01d34eb38fa0587cb95eedd3bada8257abc122f8
https://github.com/llvm/llvm-project/commit/01d34eb38fa0587cb95eedd3bada8257abc122f8
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
Log Message:
-----------
[VPlan] Only use isAddressSCEVForCost in legacy getAddressAccSCEV (NFCI)
Follow-up to https://github.com/llvm/llvm-project/pull/171204 and
1f331e453f to only rely on isAddressSCEVForCost in legacy isAddressSCEVForCost,
completely aligning the decisions of VPlan and legacy cost model.
Commit: 9c7b48e3adf5e96c98ffe71beb2d892ee0275e2c
https://github.com/llvm/llvm-project/commit/9c7b48e3adf5e96c98ffe71beb2d892ee0275e2c
Author: Kartik <agarwala.kartik at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaType.cpp
A clang/test/SemaCXX/crash-GH173943.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[Clang] Disallow explicit object parameters irrespective of whether return type is valid (#174603)
Fixes: #173943
Commit: 2d26a7b74e10a6ae1efd800d5b1e409dfe690d6f
https://github.com/llvm/llvm-project/commit/2d26a7b74e10a6ae1efd800d5b1e409dfe690d6f
Author: Petr Hosek <phosek at google.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M libc/src/stdlib/exit.cpp
Log Message:
-----------
[libc] Provide empty weak definition for __cxa_thread_finalize (#174373)
This avoids the GOT slot being generated which is undesirable when using
static linking. A better solution would be to reorganize the code to
avoid the use of weak symbols altogether.
Fixes #173409
Commit: dfc0abd325962bfef7b18fbc13db9776ee63647f
https://github.com/llvm/llvm-project/commit/dfc0abd325962bfef7b18fbc13db9776ee63647f
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseDecl.cpp
A clang/test/Parser/enableif-attr.cpp
Log Message:
-----------
[Clang] prevent crash in early parsing of enable_if for C function declarators with identifier-list parameters (#174017)
Fixes #173826
---
This patch resolves an issue where Clang could crash while parsing the
`enable_if` attribute on C function declarators with identifier-list
parameters.
In C, identifier-list function declarators use parameter identifiers
rather than full parameter declarations, as specified by the C spec.
Since `enable_if` is parsed early to participate in redeclaration checks
https://github.com/llvm/llvm-project/blob/0f3a9f658a7f459b9aa701ec42a999b645653862/clang/lib/Parse/ParseDecl.cpp#L674-L675
the parser could encounter such identifiers before their parameter
declarations exist and incorrectly assume they were already formed,
leading to an assertion failure.
This change makes the early `enable_if` parsing path handle parameters
that have not yet been declared, preventing the crash while preserving
existing behavior for well-formed function prototypes.
Commit: 1f5126dae135364b0df4127cf5cc62605b349ced
https://github.com/llvm/llvm-project/commit/1f5126dae135364b0df4127cf5cc62605b349ced
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M lldb/source/Expression/UserExpression.cpp
M lldb/test/Shell/Expr/TestExecProgress.test
Log Message:
-----------
[lldb] Don't trim expression in progress event (#174609)
Trimming the content of the progress event is the responsibility of the
consumer, not the producer. For example, when using the statusline,
there's plenty of space to show longer expressions.
rdar://166879951
Commit: c262893f4b40552fda320216e77d030c7979c4ac
https://github.com/llvm/llvm-project/commit/c262893f4b40552fda320216e77d030c7979c4ac
Author: saxlungs <152745038+saxlungs at users.noreply.github.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.shuffle.ll
Log Message:
-----------
Reland "[AMDGPU] Add new llvm.amdgcn.wave.shuffle intrinsic (#167372)" (#174614)
This change adds a new intrinsic for AMDGPU that implements a wave
shuffle, allowing arbitrary swizzling between lanes using an index. In
the initial version of this commit, there was an issue in one of the
tests added that returned a signal, causing testing to fail when
combined with another recent change to 'not'.
For context on the initial commit see #167372
---------
Signed-off-by: Domenic Nutile <domenic.nutile at gmail.com>
Co-authored-by: Jay Foad <jay.foad at gmail.com>
Commit: 38305944221fc18b5be3ddb4a7d169eacfb6ddc8
https://github.com/llvm/llvm-project/commit/38305944221fc18b5be3ddb4a7d169eacfb6ddc8
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
R lldb/tools/lldb-dap/.gitignore
A lldb/tools/lldb-dap/extension/.gitignore
Log Message:
-----------
[lldb-dap] Move .gitingore into extension subdir (#174643)
The files in the lldb-dap local .gitignore are only relevant to the
extension. Moving it into the extension dir also makes it easier to
mirror to the lldb-vscode repo.
Commit: 28368dc351c5b6b14dcf5ccc9076e34c2b132ec0
https://github.com/llvm/llvm-project/commit/28368dc351c5b6b14dcf5ccc9076e34c2b132ec0
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/test/CIR/CodeGen/try-catch-tmp.cpp
Log Message:
-----------
[CIR] Support Type with PointerRepresentation in CatchParam (#173774)
Support Type with PointerRepresentation in CatchParam
Issue https://github.com/llvm/llvm-project/issues/154992
Commit: 71219bd7c210616829a569c05b8ceb7fde907d98
https://github.com/llvm/llvm-project/commit/71219bd7c210616829a569c05b8ceb7fde907d98
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
Log Message:
-----------
[AArch64] Add ZCM/ZCZ lowering statistics (#172863)
Keeping them conservatively simple and coarse grained.
Commit: 8b907a3a2072fcf05b7c85cbb7ad46c379eafaee
https://github.com/llvm/llvm-project/commit/8b907a3a2072fcf05b7c85cbb7ad46c379eafaee
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
Log Message:
-----------
[mlir] GPUToROCDL: repack usupported types when lowering `subgroup_broadcast` (#174206)
Use the same repacking logic as for shuffle/swizzle.
Commit: 68141cb2fd105bce1a04d8ea7e0449827209a67e
https://github.com/llvm/llvm-project/commit/68141cb2fd105bce1a04d8ea7e0449827209a67e
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-platform-reg.ll
Log Message:
-----------
[AArch64][RegAlloc] Reserve LR reservation reserve W30 subreg (#173725)
This change fixes the reservation of LR by `-mlr-for-calls-only`, also
reserving its sub-register W30. Otherwise, the register allocator could
allocate W30. Adding a regression test for general sub-register
reservation, including LR.
Commit: d12e99376f973903eae65c998435b72643a140b0
https://github.com/llvm/llvm-project/commit/d12e99376f973903eae65c998435b72643a140b0
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/eliminate-tail-predication.ll
M llvm/test/Transforms/LoopVectorize/AArch64/gather-do-not-vectorize-addressing.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/interleaving-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/invalid-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/load-cast-context.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked_ldst_sme.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-constant-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-incomplete-chains.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vscale-fixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-predicated-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vscale-based-trip-counts.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-wide-lane-mask.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-zext-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-gep-all-indices-invariant.ll
M llvm/test/Transforms/LoopVectorize/AArch64/wider-VF-for-callinst.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-prune-vf.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/transform-narrow-interleave-to-widen-memory.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/scalar-steps-with-users-demanding-all-lanes-and-first-lane-only.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-constant-known-via-scev.ll
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
M llvm/test/Transforms/LoopVectorize/create-induction-resume.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/induction-step.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar-widen-gep-scalable.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/pr30654-phiscev-sext-trunc.ll
M llvm/test/Transforms/LoopVectorize/pr58811-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/scalable-lifetime.ll
M llvm/test/Transforms/LoopVectorize/scalable-loop-unpredicated-body-scalar-tail.ll
M llvm/test/Transforms/LoopVectorize/scalable-predication.ll
M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/scalable-trunc-min-bitwidth.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_div_urem.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction2.ll
M llvm/test/Transforms/LoopVectorize/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll
Log Message:
-----------
Reland [VPlan] Simplify pow-of-2 (mul|udiv) -> (shl|lshr) (#174581)
The original patch, landed as a2db31b0 ([VPlan] Simplify pow-of-2
(mul|udiv) -> (shl|lshr), #172477) had a critical commutative matcher
bug, which has now been fixed. An assert has also been strengthened,
following a post-commit review.
Commit: 64a224a2fdf3519e1efb3079ad92a6778568f3a4
https://github.com/llvm/llvm-project/commit/64a224a2fdf3519e1efb3079ad92a6778568f3a4
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M lldb/tools/lldb-dap/extension/package-lock.json
Log Message:
-----------
[lldb-dap] Bump qs to 6.14.1
Commit: 701040d48f759369dce755f185a21aa6b92ba3ae
https://github.com/llvm/llvm-project/commit/701040d48f759369dce755f185a21aa6b92ba3ae
Author: Iñaki V Arrechea <inakiarrechea at google.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
A llvm/include/llvm/IR/FunctionProperties.def
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
A llvm/test/Other/functionpropertiesanalysis.ll
Log Message:
-----------
[LLVM] Successor count added to InstCount (#171670)
Counts the number of Basic Block successors when stats are enabled
We want to track this metric for a project in which we analyze the
effects of having LLVM Intermediate Representation (IR) code with a high
number of branches. We plan to use these capabilities to learn how
enabling memory safety features increases the branchiness in LLVM IR and
further how it affects binary compilation time and the resulting binary
performance.
Commit: 371fad28244a16f64e707eb8e9889202fdacf85f
https://github.com/llvm/llvm-project/commit/371fad28244a16f64e707eb8e9889202fdacf85f
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/include/llvm/ADT/GenericUniformityImpl.h
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/incorrect-assertion-issue-170048.ll
Log Message:
-----------
[UniformityAnalysis] Remove an incorrect assertion in uniformity analysis (#174117)
The join block could be not a header of a cycle, as shown in the newly
added test case.
Commit: ccca3b8c6746cc27262ea36e8b5a0781d455c48a
https://github.com/llvm/llvm-project/commit/ccca3b8c6746cc27262ea36e8b5a0781d455c48a
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-wmma-w32-param.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
A llvm/test/Bitcode/amdgpu-wmma-clamp-upgrade.ll
M llvm/test/CodeGen/AMDGPU/wmma-coececution-valu-hazards.mir
M llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx1250-w32.mir
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32.s
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_wmma_w32.txt
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[AMDGPU] Rework the clamp support for WMMA instructions (#174310)
Fixes #166989.
Commit: 0aea22f13ebad57e973cfc8a3a04a97361a503bf
https://github.com/llvm/llvm-project/commit/0aea22f13ebad57e973cfc8a3a04a97361a503bf
Author: Andrew Haberlandt <ahaberlandt at apple.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M compiler-rt/test/lit.common.configured.in
Log Message:
-----------
[compiler-rt] Support default-True lit config options (follow up to #174522) (#174642)
The option added in #174522 breaks simulator tests, since `set_default`
overrides `False` values with the default.
Since these options are either string or boolean, this patches
set_default to override only un-set or empty string values (empty string
is not truth-y and therefore would be overwritten by defaults currently,
so this is NFCI)
Commit: c2d060c50e07c614c1c13b431f1102b6808276fe
https://github.com/llvm/llvm-project/commit/c2d060c50e07c614c1c13b431f1102b6808276fe
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
Log Message:
-----------
[VPlan] Mark variable unused in release build [[maybe_unused]] (#174648)
To prevent compiler warnings when building without assertions turned on.
Commit: a19b46450c2648884530cf68d2ada037c9ed92ff
https://github.com/llvm/llvm-project/commit/a19b46450c2648884530cf68d2ada037c9ed92ff
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/CUDA/CUFFunctionRewrite.cpp
A flang/test/Fir/CUDA/cuda-function-rewrite.mlir
Log Message:
-----------
[flang][cuda] Add CUFFunctionRewrite pass (#174650)
This rewrite some CUDA Fortran specific like `on_device` function to
constant boolean values.
Commit: 3e840d2957100cb1e246c7a171f743fe28607698
https://github.com/llvm/llvm-project/commit/3e840d2957100cb1e246c7a171f743fe28607698
Author: Maksim Panchenko <maks at fb.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
Log Message:
-----------
[BOLT] Remove unnecessary dependency. NFC (#174645)
There's no need for a full definition of `BinaryBasicBlock` in
`MCPlusBuilder.h`. Use `InstructionListType::iterator` instead of
`BinaryBasicBlock::iterator` in `findMemcpySizeInBytes()`.
Commit: e667c39e495d5c8ba47dba6107ca3dc2e9c91048
https://github.com/llvm/llvm-project/commit/e667c39e495d5c8ba47dba6107ca3dc2e9c91048
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang/include/clang/DependencyScanning/InProcessModuleCache.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Serialization/ModuleCache.h
M clang/include/clang/Serialization/ModuleManager.h
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DependencyScanning/InProcessModuleCache.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/Rewrite/FrontendActions.cpp
M clang/lib/Serialization/ModuleCache.cpp
M clang/lib/Serialization/ModuleManager.cpp
M clang/unittests/Serialization/ModuleCacheTest.cpp
Log Message:
-----------
[clang] Reference-count `ModuleCache` non-intrusively (#164889)
The `ModuleCache` class is currently reference-counted intrusively. As
explained in https://github.com/llvm/llvm-project/pull/139584, this is
problematic. This PR uses `std::shared_ptr` to reference-count
`ModuleCache` instead, which clarifies what happens to its lifetime when
constructing `CompilerInstance`, for example. This also makes the
reference in `ModuleManager` non-owning, simplifying the ownership
relationship further. The
`ASTUnit::transferASTDataFromCompilerInstance()` function now accounts
for that by taking care to keep it alive.
Commit: 8ed9a400c175727b53c79b438362a0cb7f189057
https://github.com/llvm/llvm-project/commit/8ed9a400c175727b53c79b438362a0cb7f189057
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang-tools-extra/clang-doc/assets/clang-doc-mustache.css
M clang-tools-extra/clang-doc/assets/class-template.mustache
M clang-tools-extra/clang-doc/assets/index-template.mustache
M clang-tools-extra/clang-doc/assets/namespace-template.mustache
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
M clang-tools-extra/test/clang-doc/index.cpp
M clang-tools-extra/test/clang-doc/json/class.cpp
M clang-tools-extra/test/clang-doc/json/compound-constraints.cpp
M clang-tools-extra/test/clang-doc/mustache-index.cpp
M clang-tools-extra/test/clang-doc/mustache-separate-namespace.cpp
M clang-tools-extra/test/clang-doc/typedef-alias.cpp
Log Message:
-----------
[clang-doc] Make sidebar sections collapsible (#174531)
Collapsible lists are achieved via `<details>` and their child
`<summary>` tags. `<details>` tags allow for a section to be designated
as collapsible, while the `<summary>` tag is used as the sidebar
section's header. This approach was chosen over making the lists
stateful through various CSS properties.
This patch also refactors the `<li>` tag structure of sidebar sections.
Previously, the section header and list items were in separate `<li>`
tags without sharing a parent. Now, the header and items are under a
single `<li>` tag which makes more sense semantically.
Commit: 9c2b1bab1bbf674a3f4e7c60d359a9b21b08f9a9
https://github.com/llvm/llvm-project/commit/9c2b1bab1bbf674a3f4e7c60d359a9b21b08f9a9
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/include/clang/Basic/SourceLocation.h
M clang/unittests/Basic/SourceManagerTest.cpp
Log Message:
-----------
[LLVM][ADT] Add specialization of `DenseMapInfo` for `SourceRange` (#174524)
So that `SourceRange` can be used in `DenseMap` and `DenseSet`.
Commit: 30fe41b90ed2244a6e8bafe8371c36274996847d
https://github.com/llvm/llvm-project/commit/30fe41b90ed2244a6e8bafe8371c36274996847d
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
A flang/lib/Optimizer/Transforms/CUDA/CUFComputeSharedMemoryOffsetsAndSize.cpp
A flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
A flang/lib/Optimizer/Transforms/CUDA/CUFGPUToLLVMConversion.cpp
A flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp
R flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
R flang/lib/Optimizer/Transforms/CUFComputeSharedMemoryOffsetsAndSize.cpp
R flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
R flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
R flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
Log Message:
-----------
[flang][cuda][NFC] Move CUDA Fortran passes into CUDA directory (#174657)
Move CUDA Fortran related passes with others in CUDA directory.
Commit: 50281de363f7bd91da2bcf2e02f73bbca53915f1
https://github.com/llvm/llvm-project/commit/50281de363f7bd91da2bcf2e02f73bbca53915f1
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
R clang/test/CIR/CodeGen/X86/avx512-reduceIntrin.c
R clang/test/CIR/CodeGen/X86/avx512-reduceMinMaxIntrin.c
R clang/test/CIR/CodeGen/X86/cir-sqrt-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceIntrin.c
A clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceMinMaxIntrin.c
A clang/test/CIR/CodeGenBuiltins/X86/sqrt-builtins.c
Log Message:
-----------
[CIR][NFC] Move some builtin tests to the CodeGenBuitins folder (#174660)
This moves a few tests that were created in the wrong location.
Commit: 423b2dad40941210f5df13a2b521949688d54e16
https://github.com/llvm/llvm-project/commit/423b2dad40941210f5df13a2b521949688d54e16
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/avg.ll
M llvm/test/CodeGen/PowerPC/vavg.ll
M llvm/test/CodeGen/X86/avgceils.ll
M llvm/test/CodeGen/X86/avgceilu.ll
Log Message:
-----------
[AArch64][PPC][X86] Add test coverage for #128377 (#174661)
Commit: 08215e5093b6415441e3c5969ed10ce0180416e8
https://github.com/llvm/llvm-project/commit/08215e5093b6415441e3c5969ed10ce0180416e8
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
M clang/test/C/C23/n3029.c
A clang/test/Sema/c23-fixed-underlying-enum.c
A clang/test/Sema/c23-switch.c
M clang/test/SemaCXX/bitfield-preferred-type-sizing.cpp
Log Message:
-----------
[Clang] treat fixed-underlying enum constants as the enumerated type in C23 to follow the spec (#172211)
Fixes #172118
---
This patch resolves an issue where C23 fixed-underlying enum constants
were incorrectly treated as the underlying integer type instead of the
enumeration type.
According to C23 `6.7.2.2p15`:
> The enumeration member type of an enumerated type with a fixed
underlying type is the same as the type itself.
Commit: 9471f530b7b6253be553514baba20ca0187fe217
https://github.com/llvm/llvm-project/commit/9471f530b7b6253be553514baba20ca0187fe217
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M cross-project-tests/CMakeLists.txt
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.cpp
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.test
M llvm/utils/lldbDataFormatters.py
Log Message:
-----------
[llvm][formatters] Add LLDB data-formatter for llvm::PointerIntPair (#173261)
Depends on:
* https://github.com/llvm/llvm-project/pull/173238
(only last commit relevant for review)
This patch revives the `llvm::PointerIntPair` LLDB data-formatter. The
previous version was commented out because it relied on expression
evaluation and was hence slow/brittle. The formatter in this PR doesn't
rely on evaluating expressions.
Drive-by change:
* removes the `llvm::PointerUnion` formatter which was also commented
out. A future version of it will look very different than it does now,
so there's no point in keeping it because the diff won't be helpful in a
review.
Commit: 4dc9a0ed927d7237fa70959696870bf878441f4b
https://github.com/llvm/llvm-project/commit/4dc9a0ed927d7237fa70959696870bf878441f4b
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/include/mlir/Interfaces/Utils/InferIntRangeCommon.h
M mlir/lib/Dialect/Affine/IR/CMakeLists.txt
A mlir/lib/Dialect/Affine/IR/InferIntRangeInterfaceImpls.cpp
M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
A mlir/test/Dialect/Affine/int-range-interface.mlir
Log Message:
-----------
[mlir][affine] Add an integer range interface to `affine.apply` (#174277)
Commit: 3bdda61f8cdbab6adca9a6b579c14f579c299974
https://github.com/llvm/llvm-project/commit/3bdda61f8cdbab6adca9a6b579c14f579c299974
Author: Priyanshu Kumar <10b.priyanshu at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
A clang/test/CIR/CodeGenBuiltins/X86/avx512f16c-builtins.c
Log Message:
-----------
[X86][CIR]Implement handling for F16 halfs to float conversion builtins (#173572)
Related to: #167765
This PR implements-
`BI__builtin_ia32_vcvtph2ps_mask`
`BI__builtin_ia32_vcvtph2ps256_mask`
`BI__builtin_ia32_vcvtph2ps512_mask`
Commit: a4cc033408fe0a69aad6865ddc7e020d64098f20
https://github.com/llvm/llvm-project/commit/a4cc033408fe0a69aad6865ddc7e020d64098f20
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M cross-project-tests/CMakeLists.txt
R cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.cpp
R cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.test
M llvm/utils/lldbDataFormatters.py
Log Message:
-----------
Revert "[llvm][formatters] Add LLDB data-formatter for llvm::PointerIntPair" (#174673)
Reverts llvm/llvm-project#173261
Some bots were failing with:
```
Step 6 (build-unified-tree) failure: build (failure)
...
2.874 [7103/10/382] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CallingConvEmitter.cpp.o
2.875 [7102/10/383] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeEmitterGen.cpp.o
2.895 [7101/10/384] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CodeGenMapTable.cpp.o
2.896 [7100/10/385] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CompressInstEmitter.cpp.o
2.898 [7099/10/386] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/CTagsEmitter.cpp.o
2.901 [7098/10/387] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelEmitter.cpp.o
2.905 [7097/10/388] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcherEmitter.cpp.o
2.918 [7096/10/389] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcherGen.cpp.o
2.920 [7095/10/390] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DecoderTree.cpp.o
2.932 [7094/10/391] Building CXX object projects/cross-project-tests/CMakeFiles/check-lldb-llvm-support-pointer-int-pair.dir/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.cpp.o
FAILED: projects/cross-project-tests/CMakeFiles/check-lldb-llvm-support-pointer-int-pair.dir/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.cpp.o
/opt/ccache/bin/g++ -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/buildbot/buildbot-root/abi-test/build/projects/cross-project-tests -I/home/buildbot/buildbot-root/abi-test/llvm/cross-project-tests -I/home/buildbot/buildbot-root/abi-test/build/include -I/home/buildbot/buildbot-root/abi-test/llvm/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -UNDEBUG -g -O0 -std=c++17 -MD -MT projects/cross-project-tests/CMakeFiles/check-lldb-llvm-support-pointer-int-pair.dir/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.cpp.o -MF projects/cross-project-tests/CMakeFiles/check-lldb-llvm-support-pointer-int-pair.dir/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.cpp.o.d -o projects/cross-project-tests/CMakeFiles/check-lldb-llvm-support-pointer-int-pair.dir/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.cpp.o -c /home/buildbot/buildbot-root/abi-test/llvm/cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.cpp
/home/buildbot/buildbot-root/abi-test/llvm/cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.cpp: In function ‘int main()’:
/home/buildbot/buildbot-root/abi-test/llvm/cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.cpp:25:3: error: ‘__builtin_debugtrap’ was not declared in this scope; did you mean ‘__builtin_trap’?
25 | __builtin_debugtrap();
| ^~~~~~~~~~~~~~~~~~~
| __builtin_trap
2.932 [7094/9/392] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DAGISelMatcherOpt.cpp.o
2.933 [7094/8/393] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DecoderTableEmitter.cpp.o
2.936 [7094/7/394] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DecoderEmitter.cpp.o
2.937 [7094/6/395] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DFAEmitter.cpp.o
2.944 [7094/5/396] Building CXX object utils/TableGen/CMakeFiles/llvm-tblgen.dir/DFAPacketizerEmitter.cpp.o
3.340 [7094/4/397] Building PPCGenTargetFeatures.inc...
3.450 [7094/3/398] Building ARMTargetParserDef.inc...
3.780 [7094/2/399] Building AArch64TargetParserDef.inc...
5.093 [7094/1/400] Building RISCVTargetParserDef.inc...
ninja: build stopped: subcommand failed.
```
Commit: 551d55397a91895779f5b2a83a59cd0bc5fefb91
https://github.com/llvm/llvm-project/commit/551d55397a91895779f5b2a83a59cd0bc5fefb91
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
Log Message:
-----------
[RISCV] Add SimplifyDemandedBits and hasAllNBitUsers support for CLSW. (#174542)
This matches what we do for CLZW and other W instructions.
Commit: 0b2f3cfb72a76fa90f3ec2a234caabe0d0712590
https://github.com/llvm/llvm-project/commit/0b2f3cfb72a76fa90f3ec2a234caabe0d0712590
Author: dyung <douglas.yung at sony.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-wmma-w32-param.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
R llvm/test/Bitcode/amdgpu-wmma-clamp-upgrade.ll
M llvm/test/CodeGen/AMDGPU/wmma-coececution-valu-hazards.mir
M llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx1250-w32.mir
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32.s
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_wmma_w32.txt
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
Revert "[AMDGPU] Rework the clamp support for WMMA instructions" (#174674)
Reverts llvm/llvm-project#174310
This change is causing 2 cross-project-test failures on
https://lab.llvm.org/buildbot/#/builders/174/builds/29695
Commit: 8136cb901b58ef586347e2b2106ab2babb386596
https://github.com/llvm/llvm-project/commit/8136cb901b58ef586347e2b2106ab2babb386596
Author: John Harrison <harjohn at google.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M lldb/docs/index.rst
A lldb/docs/resources/lldbdap-contributing.md
R lldb/docs/resources/lldbdap.md
A lldb/docs/use/lldbdap.md
M lldb/tools/lldb-dap/README.md
Log Message:
-----------
[lldb] Update LLDB DAP documentation. (#172580)
This adds a new page to lldb.llvm.org that includes a user guide for
lldb-dap.
The overall structure for documentation:
* https://lldb.llvm.org/resources/lldbdap.html - represents the user
facing documentation for lldb-dap, a high level overview of lldb-dap and
a place we can point users to for basic usage information.
* https://lldb.llvm.org/resources/lldbdap-contributing.html - represents
the contributing documentation for lldb-dap.
* llvm-project/lldb/tools/lldb-dap/README.md - The lldb-dap VSCode
Extension specific documentation.
This is a first pass at the documentation, I expect to expand on it
further as needed.
Commit: 1ec343ddb5f1cddf14db5f776424121f8acbb9f4
https://github.com/llvm/llvm-project/commit/1ec343ddb5f1cddf14db5f776424121f8acbb9f4
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Add support for `nvptx64-nvidia-cuda` triple (#174611)
Summary:
The OS here is the standard CUDA support target, which is the ABI used
for all of the same intrinsics the `nvidiacl` target uses. These can be
aliases asn `cuda` in the triple is the canonical form for most all GPU
compute.
Commit: 6e86037962ad124d39d81b0b6c21b1be45321722
https://github.com/llvm/llvm-project/commit/6e86037962ad124d39d81b0b6c21b1be45321722
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVLoadStoreOptimizer.cpp
M llvm/test/CodeGen/RISCV/xqcilsm-lwmi-swmi.mir
Log Message:
-----------
[RISCV] Improve load/store pairing for Xqcilsm instructions in RISCVLoadStoreOptimizer (#174612)
If we did not pair two viable `Xqcilsm` load/store instructions in
`RISCVLoadStoreOptimizer` we iterated over the second instruction when
looking for other pairs to merge. This leads to us missing out on
opportunities where the second instruction could have been the start of
another potential pair that could have been merged.
Commit: 4435d434ed86eeff6be6552739e3b83c612fb812
https://github.com/llvm/llvm-project/commit/4435d434ed86eeff6be6552739e3b83c612fb812
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rv64p.ll
Log Message:
-----------
[RISCV] Add computeKnownBits for CLSW. (#174636)
Commit: e8bf7e81e2d78ae4575815222ee17d0f032aed97
https://github.com/llvm/llvm-project/commit/e8bf7e81e2d78ae4575815222ee17d0f032aed97
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/macro-parentheses.cpp
Log Message:
-----------
[clang-tidy] fix false positives for bugprone-macro-parentheses in C++ templates (#174329)
Closes #91155
Commit: 1eb0bbdea52123899ff28f74d2dbf4634e5e2fe0
https://github.com/llvm/llvm-project/commit/1eb0bbdea52123899ff28f74d2dbf4634e5e2fe0
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVLoadStoreOptimizer.cpp
Log Message:
-----------
[RISCV] Fix typo from 6e86037. NFC (#174679)
Commit: 39d6f10e335e7b86a9abb09d44fbd7d418f4e970
https://github.com/llvm/llvm-project/commit/39d6f10e335e7b86a9abb09d44fbd7d418f4e970
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-div.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/predicatedinst-loop-invariant.ll
A llvm/test/Transforms/LoopVectorize/tail-folding-div.ll
Log Message:
-----------
[LV] Conservatively predicate SDiv/SRem (#170818)
Conservatively predicate sdiv/srem:
- RHS may carry poison in masked‑off lanes.
- RHS could be −1 while LHS has masked‑off lanes (risking INT_MIN/−1
overflow).
We’ll relax this once we can prove non‑wrap/non‑poison conditions.
Fixes #170775.
Commit: 42d8bc926bc8bb21cce2e018f6fa1bb82d416387
https://github.com/llvm/llvm-project/commit/42d8bc926bc8bb21cce2e018f6fa1bb82d416387
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M clang-tools-extra/clang-doc/assets/clang-doc-mustache.css
M clang-tools-extra/clang-doc/assets/class-template.mustache
M clang-tools-extra/clang-doc/assets/comment-template.mustache
M clang-tools-extra/clang-doc/assets/function-template.mustache
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
M clang-tools-extra/test/clang-doc/comments-in-macros.cpp
M clang-tools-extra/test/clang-doc/conversion_function.cpp
M clang-tools-extra/test/clang-doc/json/class.cpp
M clang-tools-extra/test/clang-doc/json/compound-constraints.cpp
M clang-tools-extra/test/clang-doc/namespace.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
M clang-tools-extra/test/clang-doc/typedef-alias.cpp
Log Message:
-----------
[clang-doc] Add a border box to comments in HTML (#174541)
Comments weren't very visually distinctive in HTML. They immediately
proceeded the declaration header and didn't have spacing between them.
To visually organize them, they now have a thin border around them.
Different comment types are also now separated by a small gap. This also
allows them to be easily changed in the future. Some extraneous `<div>`
tags are also removed or merged.
Commit: af8bb1d5219353a099d63f9da6c9dd5dff77c600
https://github.com/llvm/llvm-project/commit/af8bb1d5219353a099d63f9da6c9dd5dff77c600
Author: Pranav Kant <prka at google.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Fix Bazel build for 4dc9a0e (#174691)
Commit: afe82570c1ee8e8cacb46634a56a580688f3f8d1
https://github.com/llvm/llvm-project/commit/afe82570c1ee8e8cacb46634a56a580688f3f8d1
Author: Feng Zou <feng.zou at intel.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86FixupSetCC.cpp
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/lib/Target/X86/X86InstrCMovSetCC.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/test/CodeGen/X86/apx/ccmp.ll
M llvm/test/CodeGen/X86/apx/ctest.ll
M llvm/test/CodeGen/X86/apx/setzucc.ll
M llvm/test/CodeGen/X86/fast-isel-fcmp.ll
M llvm/test/CodeGen/X86/fast-isel-select-cmov2.ll
M llvm/test/CodeGen/X86/pr27591.ll
M llvm/test/CodeGen/X86/pr32284.ll
M llvm/test/CodeGen/X86/pr54369.ll
M llvm/test/CodeGen/X86/scmp.ll
Log Message:
-----------
[X86][APX] Emit SetZUCC instead of legacy setcc when ZU is enabled (#173965)
To avoid false dependency.
Commit: 00e3a3c5e6cdf2d04036dd19c88cec2b001a7559
https://github.com/llvm/llvm-project/commit/00e3a3c5e6cdf2d04036dd19c88cec2b001a7559
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
A libcxx/test/libcxx/algorithms/nodiscard.verify.cpp
A libcxx/test/libcxx/algorithms/pstl.nodiscard.verify.cpp
M libcxx/test/libcxx/atomics/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/associative/map/map.nodiscard.verify.cpp
A libcxx/test/libcxx/containers/associative/map/multimap.nodiscard.verify.cpp
A libcxx/test/libcxx/containers/associative/set/multiset.nodiscard.verify.cpp
A libcxx/test/libcxx/containers/associative/set/set.nodiscard.verify.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.map/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.multimap/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.set/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/container.adaptors/queue/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/container.adaptors/stack/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/sequences/array/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/sequences/deque/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/sequences/forwardlist/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/sequences/list/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/sequences/vector/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/unord/unord.map/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/unord/unord.multimap/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/unord/unord.multiset/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/unord/unord.set/nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/algorithm.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/array.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/atomic.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/bit.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/cmath.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/cstddef.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/cstdlib.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/deque.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/filesystem.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/flat_map.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/flat_multimap.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/flat_multiset.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/flat_set.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/format.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/forward_list.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/functional.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/future.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/limits.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/list.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/map.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/multimap.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/multiset.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/mutex.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/new.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/pstl.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/queue.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/regex.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/set.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/stack.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/string.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/string_view.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/syserr/system_error_win_codes.pass.cpp
R libcxx/test/libcxx/diagnostics/system_error_win_codes.pass.cpp
R libcxx/test/libcxx/diagnostics/unordered_map.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/unordered_multimap.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/unordered_multiset.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/unordered_set.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/utility.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/vector.nodiscard.verify.cpp
A libcxx/test/libcxx/input.output/filesystems/nodiscard.verify.cpp
A libcxx/test/libcxx/language.support/limits/nodiscard.verify.cpp
M libcxx/test/libcxx/language.support/nodiscard.verify.cpp
A libcxx/test/libcxx/numerics/c.math/nodiscard.verify.cpp
A libcxx/test/libcxx/re/nodiscard.verify.cpp
A libcxx/test/libcxx/strings/basic.string/nodiscard.verify.cpp
A libcxx/test/libcxx/strings/string.view/nodiscard.verify.cpp
M libcxx/test/libcxx/thread/nodiscard.verify.cpp
A libcxx/test/libcxx/time/nodiscard.verify.cpp
A libcxx/test/libcxx/utilities/bit/nodiscard.verify.cpp
A libcxx/test/libcxx/utilities/format/nodiscard.verify.cpp
A libcxx/test/libcxx/utilities/function.objects/nodiscard.verify.cpp
A libcxx/test/libcxx/utilities/utility/nodiscard.verify.cpp
A libcxx/test/std/language.support/support.types/cstddef.nodiscard.verify.cpp
Log Message:
-----------
[libc++][NFC] Refactor `[[nodiscard]]` tests (#173451)
Originally some `[[nodiscard]]` tests were implemented in
`*/test/libcxx/diagnostics`. The Standard has a library `Diagnostics`
and this folder should be reserved for it by convention. Most newer
tests were added to their respective sub-folders. This patch moves
around the already implemented `[[nodiscard]]` tests to their respective
folders where they belong and standardizes the name to
`nodiscard.verify.cpp` wherever possible.
N.B. This refactors only tests, which were merged. The remaining
(in-progress) ones will be moved in a future patch to reduce merge
conflicts.
Commit: 7d6dc2579e1beb8ea3e21eac14d642fd27eba6a7
https://github.com/llvm/llvm-project/commit/7d6dc2579e1beb8ea3e21eac14d642fd27eba6a7
Author: Kito Cheng <kito.cheng at sifive.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/test/MC/RISCV/custom_reloc.s
M llvm/test/MC/RISCV/rv32-relaxation-xqci.s
M llvm/test/MC/RISCV/vendor-symbol.s
M llvm/test/MC/RISCV/xandesperf-relocation.s
M llvm/test/MC/RISCV/xqcibi-linker-relaxation.s
M llvm/test/MC/RISCV/xqcibi-relocations.s
M llvm/test/MC/RISCV/xqcilb-relocations.s
M llvm/test/MC/RISCV/xqcili-linker-relaxation.s
M llvm/test/MC/RISCV/xqcili-relocations.s
A llvm/test/tools/llvm-objdump/ELF/RISCV/riscv-vendor-reloc.s
A llvm/test/tools/llvm-readobj/ELF/RISCV/riscv-vendor-reloc.s
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[RISCV][llvm-readobj,llvm-objdump] Use getRISCVVendorRelocationTypeName for RISCV vendor relocations (#172811)
Use getRISCVVendorRelocationTypeName to resolve RISCV vendor-specific
relocation names (R_RISCV_CUSTOM192-255) when preceded by
R_RISCV_VENDOR.
This improves the output of llvm-readobj and llvm-objdump to show
vendor-specific names like R_RISCV_QC_ABS20_U, R_RISCV_QC_E_BRANCH
(QUALCOMM) and R_RISCV_NDS_BRANCH_10 (ANDES) instead of generic
R_RISCV_CUSTOM* names.
Per RISC-V psABI, R_RISCV_VENDOR must be placed immediately before its
associated vendor-specific relocation, so the vendor symbol is consumed
after one use. Unknown vendors fall back to R_RISCV_CUSTOM*.
Commit: 5ab8368d80f88bd9edf8bf96227da3072a7579c3
https://github.com/llvm/llvm-project/commit/5ab8368d80f88bd9edf8bf96227da3072a7579c3
Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
Log Message:
-----------
[RISC-V][Mach-O] Implement and select the RISCVMachOTargetObjectFile. (#174677)
The RISCVTargetMachine was still selecting RISCVELFTargetObjectFile,
which was making llc crash when running the test at
llvm/test/CodeGen/RISCV/riscv-macho.ll
Commit: 5a63367b15875417cd699af3cde01ed10782d8d8
https://github.com/llvm/llvm-project/commit/5a63367b15875417cd699af3cde01ed10782d8d8
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-wmma-w32-param.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
A llvm/test/Bitcode/amdgpu-wmma-clamp-upgrade.ll
M llvm/test/CodeGen/AMDGPU/wmma-coececution-valu-hazards.mir
M llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx1250-w32.mir
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32.s
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_wmma_w32.txt
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
Reapply "[AMDGPU] Rework the clamp support for WMMA instructions" (#174674) (#174697)
This reverts commit 0b2f3cfb72a76fa90f3ec2a234caabe0d0712590.
Commit: 16be2c0555080cdc0f0588dc0b4416e8c28d3cf9
https://github.com/llvm/llvm-project/commit/16be2c0555080cdc0f0588dc0b4416e8c28d3cf9
Author: Fangrui Song <i at maskray.me>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M lld/ELF/ScriptLexer.cpp
M lld/ELF/ScriptLexer.h
M lld/ELF/ScriptParser.cpp
M lld/test/ELF/dynamic-list-extern.s
M lld/test/ELF/linkerscript/version-script.s
M lld/test/ELF/version-script.s
Log Message:
-----------
[ELF] Add VersionNode lexer state for better version script parsing
... so that `local:*;` will be lexed as three tokens instead of a single
one in a version node. This is used by both version scripts and dynamic
lists. Fix #174363
In addition, clean up special code for space-separated `local :` and `global :`.
This patch brings our lexer behavior closer to GNU ld. While GNU ld
additionally rejects more characters like `~/+,=`, we don't implement
this additional validation.
Pull Request: https://github.com/llvm/llvm-project/pull/174530
Commit: 4ac64317550a39934cac34227dc8d770c1110206
https://github.com/llvm/llvm-project/commit/4ac64317550a39934cac34227dc8d770c1110206
Author: Ben Vanik <ben.vanik at gmail.com>
Date: 2026-01-06 (Tue, 06 Jan 2026)
Changed paths:
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/test/Transforms/canonicalize-block-merge.mlir
Log Message:
-----------
[mlir] Fix crash in dropRedundantArguments with produced operands. (#172759)
dropRedundantArguments was incorrectly indexing into forwardedOperands
using the block argument index directly. This crashes when the block has
produced operands (generated by the terminator, not forwarded from
predecessors) because forwardedOperands doesn't include them.
The fix checks isOperandProduced() to skip produced arguments and uses
SuccessorOperands::operator[] which handles the offset correctly.
Commit: 2451172df73445bc2e28bf3f9b7caf2e4bff7469
https://github.com/llvm/llvm-project/commit/2451172df73445bc2e28bf3f9b7caf2e4bff7469
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/Modules/class-instantiate-no-change.cppm
M clang/test/Modules/malformed-constraint-template-non-type-parm-decl.cpp
Log Message:
-----------
[C++20] [Modules] Don't update MarkAsUsed information for decls from named modules (#174687)
Declarations from named modules are used naturally. Thet are
declarations in other TU. We don't need to record the information for
updating them.
Commit: 050195053c8aff21bb02ade4c90cb7f42343849c
https://github.com/llvm/llvm-project/commit/050195053c8aff21bb02ade4c90cb7f42343849c
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/include/llvm/ADT/GenericUniformityImpl.h
R llvm/test/Analysis/UniformityAnalysis/AMDGPU/incorrect-assertion-issue-170048.ll
Log Message:
-----------
Revert "[UniformityAnalysis] Remove an incorrect assertion in uniformity analysis (#174117)"
This reverts commit 371fad28244a16f64e707eb8e9889202fdacf85f.
The change only fixes the superficial assertion. The real problem is that bb.3
and bb.4 should not have been identified as joins of bb.5
Commit: 62ac81311535c52f6648135352f70cfbb0e32b10
https://github.com/llvm/llvm-project/commit/62ac81311535c52f6648135352f70cfbb0e32b10
Author: Hendrik_Klug <43926224+Jimmy2027 at users.noreply.github.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Target/Cpp/global.mlir
Log Message:
-----------
[mlir][emitc] Fix creating pointer from constant array (#162083)
Modify the C++ emitter to detect when an AddressOf op traces back to a const global. If it does, emit a C-style cast `(T*)(&...)` to strip the const qualification.
Commit: 3fbe927443a9dd3ab2e6ee7d95fbfcb505b7e54d
https://github.com/llvm/llvm-project/commit/3fbe927443a9dd3ab2e6ee7d95fbfcb505b7e54d
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-complex-mask.ll
Log Message:
-----------
[LV][EVL] Add test case for issue #173260. nfc (#173262)
Commit: b4ed102b1ebf92759786d750798b76bba6f1867c
https://github.com/llvm/llvm-project/commit/b4ed102b1ebf92759786d750798b76bba6f1867c
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/lib/Sema/SemaModule.cpp
A clang/test/Modules/pr174543.cppm
Log Message:
-----------
[C++20] [Modules] Avoid infinite loop when checking TU local exposures (#174704)
Close https://github.com/llvm/llvm-project/issues/174543
The root cause of the problem is that the recursion in the code pattern
triggers infinite loop in the checking process for TU local exposure.
Commit: 55eaa6c27b365d4ef4b0075115ae18543e6f599f
https://github.com/llvm/llvm-project/commit/55eaa6c27b365d4ef4b0075115ae18543e6f599f
Author: Valeriy Savchenko <vsavchenko at apple.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
A llvm/test/Transforms/InstCombine/AArch64/neon-shift-intrinsics.ll
Log Message:
-----------
[InstCombine][AArch64] Lower NEON shift intrinsics when possible (#172465)
Commit: eb13822b511f59399cbb09301a6c1f25b2be0850
https://github.com/llvm/llvm-project/commit/eb13822b511f59399cbb09301a6c1f25b2be0850
Author: Rana Pratap Reddy <109514914+ranapratap55 at users.noreply.github.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
A clang/test/CodeGenHIP/builtins-amdgcn-gfx950-cvt.hip
Log Message:
-----------
[AMDGPU] Modifies cvt and atomic builtin def to take _Float16 for HIP/C++ (#174707)
For cvt and atomic `__builtin_amdgcn_cvt` builtins, using 'x' in the def
to take _Float16 for HIP/C++ and half for OpenCL.
Commit: b919d62eae98519013a6e80453458304df5d7485
https://github.com/llvm/llvm-project/commit/b919d62eae98519013a6e80453458304df5d7485
Author: Twice <twice at apache.org>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M mlir/include/mlir-c/BuiltinTypes.h
M mlir/include/mlir-c/Dialect/AMDGPU.h
M mlir/include/mlir-c/Dialect/EmitC.h
M mlir/include/mlir-c/Dialect/GPU.h
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir-c/Dialect/NVGPU.h
M mlir/include/mlir-c/Dialect/PDL.h
M mlir/include/mlir-c/Dialect/Quant.h
M mlir/include/mlir-c/Dialect/SMT.h
M mlir/include/mlir-c/Dialect/Transform.h
M mlir/include/mlir/Bindings/Python/IRCore.h
M mlir/include/mlir/Bindings/Python/IRTypes.h
M mlir/lib/Bindings/Python/DialectAMDGPU.cpp
M mlir/lib/Bindings/Python/DialectGPU.cpp
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/Bindings/Python/DialectNVGPU.cpp
M mlir/lib/Bindings/Python/DialectPDL.cpp
M mlir/lib/Bindings/Python/DialectQuant.cpp
M mlir/lib/Bindings/Python/DialectSMT.cpp
M mlir/lib/Bindings/Python/DialectTransform.cpp
M mlir/lib/CAPI/Dialect/AMDGPU.cpp
M mlir/lib/CAPI/Dialect/EmitC.cpp
M mlir/lib/CAPI/Dialect/GPU.cpp
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/lib/CAPI/Dialect/NVGPU.cpp
M mlir/lib/CAPI/Dialect/PDL.cpp
M mlir/lib/CAPI/Dialect/Quant.cpp
M mlir/lib/CAPI/Dialect/SMT.cpp
M mlir/lib/CAPI/Dialect/Transform.cpp
M mlir/lib/CAPI/IR/BuiltinTypes.cpp
M mlir/test/python/ir/builtin_types.py
Log Message:
-----------
[MLIR][Python] Forward the name of MLIR types to Python side (#174700)
In this PR, I added a C API for each (upstream) MLIR type to retrieve
its type name (for example, `IntegerType` -> `mlirIntegerTypeGetName()`
-> `"builtin.integer"`), and exposed a corresponding `type_name` class
attribute in the Python bindings (e.g., `IntegerType.type_name` ->
`"builtin.integer"`). This can be used in various places to avoid
hard-coded strings, such as eliminating the manual string in
`irdl.base("!builtin.integer")`.
Note that parts of this PR (mainly mechanical changes) were produced via
GitHub Copilot and GPT-5.2. I have manually reviewed the changes and
verified them with tests to ensure correctness.
Commit: c85b8ff4d74bea08ac690a6c2a612313241237cc
https://github.com/llvm/llvm-project/commit/c85b8ff4d74bea08ac690a6c2a612313241237cc
Author: Jorn Tuyls <jorn.tuyls at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/resolve-dim-ops.mlir
Log Message:
-----------
[MemRef] Add dim reification for AssumeAlignmentOp (#174477)
Commit: c55c2ab8067eef649a8b04fc8173b8e164cb56b3
https://github.com/llvm/llvm-project/commit/c55c2ab8067eef649a8b04fc8173b8e164cb56b3
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
A .ci/buildbot/README.md
A .ci/buildbot/worker.py
A polly/ci/.gitignore
A polly/ci/polly-x86_64-linux-test-suite.cmake
A polly/ci/polly-x86_64-linux-test-suite.py
Log Message:
-----------
[Buildbot][Polly] Move polly-x86_64-linux-test-suite build instructions into main repository (#166809)
Allow the main llvm-project repository to contain the buildbot builder
instructions, instead of storing them in llvm-zorg. The corresponding
llvm-zorg PR is https://github.com/llvm/llvm-zorg/pull/648.
Using polly-x86_64-linux-test-suite as a proof-of-concept because that
builder is currently offline, I am its maintainer, and is easier to
build than an configuration supporting offload. Once the design has been
decided, more builders can follow.
Advantages are:
* It is easier to make changes in the llvm-project repository. There are
more reviewers than for the llvm-zorg repository.
* Buildbot changes can be made in the same PR with changes that require
updating the buildbot, e.g. changing the name of a CMake option.
* Configuration changes take effect immeditately when landing; no
buildbot master restart needed.
* Some builders store a CMake cache file in the llvm-project repository
for the reasons above. However, the number of changes that can be made
with a CMake cache file alone are limited.
Compared to AnnotatedBuilder, advantages are:
* Reproducing a buildbot configuration locally made easy: just execute
the script in-place. No llvm-zorg, local buildbot worker, or buildbot
master needed.
* Same for testing a change of a builder before landing it in llvm-zorg.
Doing so with an AnnotatedBuilder requires two llvm-zorg checkouts:
One for making the change of the builder script itself, which then is
pushed to a private llvm-zorg branch on GitHub, and a second that is
modified to fetch that branch instead of
https://github.com/llvm/llvm-zorg/tree/main.
* The AnnotatedBuilder scripts are located in the llvm-zorg repository
and the buildbot-workers always checkout is always the top-of-trunk.
This means that a buildbot configuration is split over three checkouts:
* The checkout of llvm-project to be tested
* The checkout of llvm-zorg by the buildbot-worker fetches; always the
top-of-trunk, i.e may not match the revision of llvm-project that is
executed (such as the CMake cache files located there), especially when
using the "Force build" feature.
* The checkout of llvm-zorg that the buildbot-master is running, which
is updated only when the master is manually restarted.
* The "Force Build" feature also allows for test-building any
llvm-project PR. This is correctly handled by zorg's
`addGetSourcecodeSteps`, but does not work with AnnotatedBuilders that
checkout the llvm-project source on their own.
The goal is to move as much as possible into the llvm-project repository
such that there cannot be a mismatch between checkouts of different
repositories. Ideally, the buildbot-master only needs to be
updated+restarted for adding/removing workers, not for build
configuration changes.
---------
Co-authored-by: Jan Patrick Lehr <jp.lehr at gmail.com>
Commit: 164cfda88e7a339d0c4beed6bb0a5fe3c25c73a2
https://github.com/llvm/llvm-project/commit/164cfda88e7a339d0c4beed6bb0a5fe3c25c73a2
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
A bolt/test/AArch64/rseq.s
Log Message:
-----------
[BOLT][AArch64] Add rseq test (#174413)
Commit: a83c89495ba6fe0134dcaa02372c320cc7ff0dbf
https://github.com/llvm/llvm-project/commit/a83c89495ba6fe0134dcaa02372c320cc7ff0dbf
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/include/llvm/IR/Constants.h
Log Message:
-----------
Reapply [ConstantInt] Disable implicit truncation in ConstantInt::get() (#171456)
Reapply after additional fixes.
-----
Disable implicit truncation in the ConstantInt constructor by default.
This means that it needs to be passed a signed/unsigned (depending on
the IsSigned flag) value matching the bit width.
The intention is to prevent the recurring bug where people write
something like `ConstantInt::get(Ty, -1)`, and this "works" until `Ty`
is larger than 64-bit and then the value is incorrect due to missing
type extension.
This is the continuation of
https://github.com/llvm/llvm-project/pull/112670, which originally
allowed implicit truncation in this constructor to reduce initial scope
of the change.
Commit: 029e529978cb0fd3e699a6e1c39532de9bb4261c
https://github.com/llvm/llvm-project/commit/029e529978cb0fd3e699a6e1c39532de9bb4261c
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaLambda.cpp
M clang/test/SemaCXX/lambda-unevaluated.cpp
Log Message:
-----------
[Clang] prevent assertion failure by avoiding always-dependent lambdas in constraint-related nested scopes (#173776)
Fixes #172814
---
This patch resolves an issue in which a lambda could be classified as
always-dependent while traversing nested scopes, causing an assertion
failure during capture handling.
Changes in PR #93206 expanded scope-based dependency handling in a way
that could mark certain lambdas as always-dependent when no
template-dependent context was present.
This update refines the criteria for assigning
`LambdaDependencyKind::LDK_AlwaysDependent` and applies it only after
traversal reaches a distinct enclosing function scope with
template-dependent parameters.
Commit: 72f18a05d6dcf96d0f5722ff425a6c7388933ab1
https://github.com/llvm/llvm-project/commit/72f18a05d6dcf96d0f5722ff425a6c7388933ab1
Author: Pankaj Dwivedi <pankajkumar.divedi at amd.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/CodeGen/AMDGPU/combine-scalar-selects-asm.ll
A llvm/test/CodeGen/AMDGPU/combine-scalar-selects.ll
Log Message:
-----------
[VectorCombine] Fold scalar selects from bitcast into vector select (#173990)
Commit: ad2c2b2b1c6bb95f58150cdf172785cabef40d4a
https://github.com/llvm/llvm-project/commit/ad2c2b2b1c6bb95f58150cdf172785cabef40d4a
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/test/CodeGen/codegen-plugins.c
M clang/test/CodeGen/pass-plugins.c
Log Message:
-----------
[Clang][NFC] XFAIL plugin tests on AIX
See: https://github.com/llvm/llvm-project/pull/171872#issuecomment-3716175811
Commit: 76c300c8c71c7a3283a8236cbb7d7cb7a2cb30d8
https://github.com/llvm/llvm-project/commit/76c300c8c71c7a3283a8236cbb7d7cb7a2cb30d8
Author: Gergely Bálint <gergely.balint at arm.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M bolt/lib/Passes/PointerAuthCFIFixup.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/unittests/Core/MCPlusBuilder.cpp
Log Message:
-----------
[BOLT][BTI] Fix assertions checking getNumOperands (#174600)
Several BTI-related functions are checking that a call MCInst has one
non-annotation operand.
This patch changes these checks to use MCPlus::getNumPrimeOperands,
instead of getNumOperands.
Testing:
added annotations to existing gtests to serve as regression
tests. These now also explicitly check getNumOperands and getNumPrimeOperands
usage on the annotated MCInsts.
Commit: 87d6c277b19810905d677be3646e19a1b08d6cc5
https://github.com/llvm/llvm-project/commit/87d6c277b19810905d677be3646e19a1b08d6cc5
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/tools/llvm-objdump/COFFDump.cpp
Log Message:
-----------
[llvm-objdump][NFC] Use EnumEntry from Support (#174155)
Don't duplicate the EnumEntry type in llvm-objdump.
Spliced off from #173868, where this is required to avoid the name
collision.
Commit: 277069e8c184be85854f4065df45af4778e2f9a0
https://github.com/llvm/llvm-project/commit/277069e8c184be85854f4065df45af4778e2f9a0
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M flang/include/flang/Frontend/CompilerInstance.h
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/FrontendTool/CMakeLists.txt
M flang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M flang/test/CMakeLists.txt
A flang/test/Driver/pass-plugin-codegen.f90
M flang/test/Driver/pass-plugin.f90
M flang/test/lit.site.cfg.py.in
Log Message:
-----------
[Flang] Adjust pass plugin support to match Clang (#174006)
- Pass plugins can use LLVM options, matching #173287.
- Pass plugins can run a hook before codegen, matching #171872.
- Pass plugins are now tested whenever they can be built, matching
#171998.
Plugins currently don't work on AIX, tracked in #172203.
Commit: 7635474d26f82e7fd109746f754564ade78d1a51
https://github.com/llvm/llvm-project/commit/7635474d26f82e7fd109746f754564ade78d1a51
Author: David Green <david.green at arm.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/test/CodeGen/ARM/neon-dot-product.ll
Log Message:
-----------
[ARM] Update and extend neon-dot-product.ll. NFC
Commit: f21e56c6321ee1a9b442eb92ae749e6b06e4193b
https://github.com/llvm/llvm-project/commit/f21e56c6321ee1a9b442eb92ae749e6b06e4193b
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M libcxx/test/benchmarks/algorithms/nonmodifying/find.bench.cpp
Log Message:
-----------
[libc++] Add benchmark for std::find(vector<short>)
We have special cases for `std::find` with `char` and `int` on most
platforms, so the only other benchmark of or vector implementation
is currently with `long long`, which is a rather big type. Adding
`short` to the benchmarks allows us to more meaningfully compare the
different implementations.
Commit: f7dcdd944540e7eb9001f4bd7413c1a717adf2d6
https://github.com/llvm/llvm-project/commit/f7dcdd944540e7eb9001f4bd7413c1a717adf2d6
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Analysis/Delinearization.cpp
Log Message:
-----------
[Delinearization] Remove `isKnownLessThan` (#171821)
Delinearization has `isKnownLessThan(a, b)` function to check if `a < b`
is known at compile time. To check the predicate, it calls
`isKnownNegative(a - b)`. There are at least two issues with this
approach:
- It mixed up a signed interpretation with an unsigned one.
- It doesn't consider overflow.
This function includes some additional logic, which suffers from the
same issues. This patch replace the call to `isKnownLessThan(a, b)` with
`ScalarEvolution::isKnownPredicate(ICmpInst::ICMP_SLT, a, b)` and
removes the former function entirely, since using it is risky and may
lead to incorrect results.
Resolve #169812
Commit: 97ee9b66c0f221bc8544bedfd073f765c6f5d12e
https://github.com/llvm/llvm-project/commit/97ee9b66c0f221bc8544bedfd073f765c6f5d12e
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/gather-scatter-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-prune-vf.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-step.ll
M llvm/test/Transforms/LoopVectorize/expand-scev-after-invoke.ll
M llvm/test/Transforms/LoopVectorize/induction-step.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar-widen-gep-scalable.ll
M llvm/test/Transforms/LoopVectorize/nested-loops-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
M llvm/test/Transforms/LoopVectorize/pr30654-phiscev-sext-trunc.ll
M llvm/test/Transforms/LoopVectorize/pr58811-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/step-vector-i1-wrapping.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
Log Message:
-----------
[LV] Teach m_One, m_ZeroInt patterns to look through broadcasts (#170159)
In VPlanPatternMatch.h I have changed the int_pred_ty code to look
through broadcasts in order to catch more cases, i.e. multiplying by a
splat of one, etc.
Commit: ed75ffdb281dca14fd4050118ddc313520cf8ef9
https://github.com/llvm/llvm-project/commit/ed75ffdb281dca14fd4050118ddc313520cf8ef9
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmove-fpr.ll
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmove-gpr.ll
Log Message:
-----------
[AArch64][NFC] Fix label checks on ZCM tests (#173482)
Previous checks were dead code. Now we share single `ALL-LABEL` checks
by all run lines. Note: the regex is currently needed for
`--match-full-lines` which is needed by itself because the previous
versions of these tests suffered from false positives due to partial
matching: https://github.com/llvm/llvm-project/pull/143680.
Commit: b0ffece7792a805bd6c6992f98392d2dda52f55a
https://github.com/llvm/llvm-project/commit/b0ffece7792a805bd6c6992f98392d2dda52f55a
Author: Valeriy Savchenko <vsavchenko at apple.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
A llvm/test/CodeGen/AArch64/sink-fneg.ll
Log Message:
-----------
[AArch64] Sink fneg instruction to unlock fmls combine (#172000)
Sink `fneg` operands of vector `fma` intrinsics to enable the `fmls`
combine.
Commit: b4e1ab8bc15f2c2f524360d7d6bff492ab32644d
https://github.com/llvm/llvm-project/commit/b4e1ab8bc15f2c2f524360d7d6bff492ab32644d
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/vector.cpp
Log Message:
-----------
[Clang] prevent assertion failure for instantiation-dependent expressions in vector conversions (#173498)
Fixes #173347
---
This patch resolves an assertion failure that occurs when
instantiation-dependent expressions are constant-evaluated during vector
conversions.
Commit: f68774fd1ad570fef850439ac163b61dc96b98f1
https://github.com/llvm/llvm-project/commit/f68774fd1ad570fef850439ac163b61dc96b98f1
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h
M llvm/test/tools/llvm-exegesis/AArch64/all-opcodes.test
M llvm/test/tools/llvm-exegesis/AArch64/setReg_init_check.s
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
Log Message:
-----------
Revert "[llvm-exegesis] Add AArch64 operand initializers, SetRegTo" (#174729)
Reverts llvm/llvm-project#169912
Broke https://lab.llvm.org/buildbot/#/builders/24/builds/16298
Commit: 07d07be73d96c5b15775af78d37570fea221cb3e
https://github.com/llvm/llvm-project/commit/07d07be73d96c5b15775af78d37570fea221cb3e
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-private-barrier-single.mlir
Log Message:
-----------
[mlir][OpenMP] Fix infinite loop after #174105 (#174736)
Commit: 4c17aa1d27ee674a7029a9378f0b7bf2148c5696
https://github.com/llvm/llvm-project/commit/4c17aa1d27ee674a7029a9378f0b7bf2148c5696
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/test/Sema/warn-lifetime-safety-dataflow.cpp
M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
Log Message:
-----------
[LifetimeSafety] Add origin tracking for pointer dereference (#170006)
Fix lifetime safety analysis for pointer dereference operations by
properly tracking origin flow.
Added support in `FactsGenerator::VisitUnaryOperator()` to handle the
dereference operator (`UO_Deref`). This change ensures that when a
pointer is dereferenced, the origin of the pointer is properly
propagated to the dereference expression.
Commit: 44b44bc81babc38ac65868691054c25199aea420
https://github.com/llvm/llvm-project/commit/44b44bc81babc38ac65868691054c25199aea420
Author: David Spickett <david.spickett at arm.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M lldb/source/Commands/CommandObjectVersion.cpp
Log Message:
-----------
[lldb] Correct version -v output for booleans (#174742)
We were checking whether the structured data value could be got as a
boolean, not what value that boolean had. This meant we were incorrectly
showing "yes" for everything.
Commit: 1dea577186e8f3e6df4f03100dce93e87bf0e694
https://github.com/llvm/llvm-project/commit/1dea577186e8f3e6df4f03100dce93e87bf0e694
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/trip-multiple-guard-info.ll
M llvm/test/Analysis/ScalarEvolution/trip-multiple.ll
M llvm/test/Analysis/ScalarEvolution/urem-0.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
Log Message:
-----------
[SCEV] Handle URem pattern in getRangeRef. (#174456)
Check if an scAddExpr expressions represents an URem, and
if it does, use the divisor to limit the conservative range.
https://alive2.llvm.org/ce/z/VPxe7C
PR: https://github.com/llvm/llvm-project/pull/174456
Commit: 29a6e47ca3644e330d744364a65a25b273f3eb30
https://github.com/llvm/llvm-project/commit/29a6e47ca3644e330d744364a65a25b273f3eb30
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
A clang/test/Analysis/call-and-message-argpointeeinitializedness.c
Log Message:
-----------
[clang][analyzer] Extend CallAndMessageChecker argument initializedness check (#173854)
Add extra check to `CallAndMessageChecker` to find uninitialized
non-const values passed through parameters. This check is used only at a
specific list of C library functions which have non-const pointer
parameters and the value should be initialized before the call.
Commit: 17e6f51e51d36c0f784f6c400680e4aebac12d13
https://github.com/llvm/llvm-project/commit/17e6f51e51d36c0f784f6c400680e4aebac12d13
Author: Twice <twice at apache.org>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[GitHub] Add more glob patterns for `mlir:python` label (#174711)
Right now, some paths for `mlir:python` are missing, which means
relevant people don’t always get notified. This PR adds those paths.
Commit: 11ddbfcb34989c776bb14ac4ddb3545f2a07a69d
https://github.com/llvm/llvm-project/commit/11ddbfcb34989c776bb14ac4ddb3545f2a07a69d
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py
Log Message:
-----------
[Dexter] Replace DAP "initialized" timeout with a warning (#174198)
Fixes https://github.com/llvm/llvm-project/issues/172893.
In the issue reported above there, it appears that LLDB is hitting a 3s
timeout as part of some CI tests; this patch attempts to fix the issue
by replacing the 3s timeout with a 60s timeout, which should be suitably
long for any CI job (lldb-dap itself will automatically time out after
30s, so this should not be hit unless the process hangs).
Commit: e8eb20b0011d7c0628db587da37d1495368f0377
https://github.com/llvm/llvm-project/commit/e8eb20b0011d7c0628db587da37d1495368f0377
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M lldb/tools/lldb-dap/extension/.gitignore
Log Message:
-----------
[lldb-dap][NFC] Ignore extension built test artefacts. (#174724)
Testing LLDB-DAP vscode extension creates files in the .vscode-test
folder ignore them.
Commit: c8941df6a1e4ed5e1ba3287985a60e1d7512c250
https://github.com/llvm/llvm-project/commit/c8941df6a1e4ed5e1ba3287985a60e1d7512c250
Author: Jin Huang <jinhuang1102 at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Analysis/AliasAnalysis.cpp
A llvm/test/Transforms/DeadStoreElimination/atomic-todo.ll
M llvm/test/Transforms/DeadStoreElimination/atomic.ll
Log Message:
-----------
Revert "[AA] Improve precision for monotonic atomic load/store operations" (#173135)
Reverts llvm/llvm-project#158169
The improved AA precision for atomic store operations causes the DSE
pass to optimize out the object variables.
Commit: 542d2a5a59cc682ff84188515d5b8969a56fcd4e
https://github.com/llvm/llvm-project/commit/542d2a5a59cc682ff84188515d5b8969a56fcd4e
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
A clang/test/CodeGen/AArch64/sve2p2-intrinsics/acle_sve2_cvtnt.c
M clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_LP_sve2p2_OR_sme2p2_RP___sme_AND_LP_sve2p2_OR_sme2p2_RP.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/sve2p2-intrinsics-fp-converts.ll
Log Message:
-----------
[Clang][LLVM][AArch64] Add support for FCVTXNT, FCVTLT, {B}FCVTNT int… (#170356)
…rinsics
This patch adds support in Clang for these assembly instructions
FCVTXNT, FCVTLT, {B}FCVTNT
By implementing these prototypes:
// Variant is available for _f64_f32
svfloat32_t svcvtlt_f32[_f16]_z (svbool_t pg, svfloat16_t op);
// Variants are available for:
// _f32_f64, _bf16_f32
svfloat16_t svcvtnt_f16[_f32]_z (svfloat16_t even, svbool_t pg,
svfloat32_t op);
svfloat32_t svcvtxnt_f32[_f64]_z (svfloat32_t even, svbool_t pg,
svfloat64_t op);
according to the ACLE[1]
[1] https://github.com/ARM-software/acle/pull/412
---------
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Commit: 9363750daa34bc9a3df15d012e7bb21c3a9f7f30
https://github.com/llvm/llvm-project/commit/9363750daa34bc9a3df15d012e7bb21c3a9f7f30
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
Log Message:
-----------
worklows/release-binaries: Add Windows release binary builds (#150793)
Windows x86 binaries will now be built and uploaded automatically when a new release is tagged.
Commit: faa7ede811d345eeee5aa66ad1cdb38b51222a16
https://github.com/llvm/llvm-project/commit/faa7ede811d345eeee5aa66ad1cdb38b51222a16
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/tools/llvm-stress/llvm-stress.cpp
Log Message:
-----------
[llvm-stress] Allow implicit truncation
This is generating a random integer, so truncating is fine.
Fixes the issue reported in:
https://github.com/llvm/llvm-project/pull/171456#issuecomment-3718690088
Commit: 1ab7b6655da32c6cb2c56b5469c5243a67146ff0
https://github.com/llvm/llvm-project/commit/1ab7b6655da32c6cb2c56b5469c5243a67146ff0
Author: Pankaj Dwivedi <pankajkumar.divedi at amd.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
R llvm/test/CodeGen/AMDGPU/combine-scalar-selects-asm.ll
R llvm/test/CodeGen/AMDGPU/combine-scalar-selects.ll
Log Message:
-----------
Revert "[VectorCombine] Fold scalar selects from bitcast into vector select" (#174758)
Reverts llvm/llvm-project#173990
Reverting to address post-commit review feedback. Will recommit with
fixes.
Commit: 4fdbe05d6e0c5ab8e244e14635ed6f04e9d2a1cc
https://github.com/llvm/llvm-project/commit/4fdbe05d6e0c5ab8e244e14635ed6f04e9d2a1cc
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/complex.cpp
Log Message:
-----------
[clang][bytecode] Fix some imag/real corner cases (#174764)
Fix real/imag when taking a primitive parameter _and_ being discarded,
and fix the case where their subexpression can't be classified.
Fixes https://github.com/llvm/llvm-project/issues/174668
Commit: 82c1f9435d72e57e5bb949f8cdb8a0bd71ca86f3
https://github.com/llvm/llvm-project/commit/82c1f9435d72e57e5bb949f8cdb8a0bd71ca86f3
Author: Matthias Springer <me at m-sp.org>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M mlir/include/mlir/Transforms/Passes.h
M mlir/include/mlir/Transforms/Passes.td
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/test/Transforms/remove-dead-values.mlir
Log Message:
-----------
[mlir][Transforms] `remove-dead-values`: Rely on canonicalizer for region simplification (#173505)
This commit simplifies the `remove-dead-values` pass and fixes a bug in
the handling of `RegionBranchOpInterface` ops. The pass used to produce
invalid IR ("null value found") for the newly added test case.
`remove-dead-values` is a pass for additional IR simplification that
cannot be performed by the canonicalizer pass. Based on a liveness
analysis, it erases dead values / IR. (The liveness analysis is a
dataflow analysis that has more information about the IR than a
canonicalization pattern, which can see only "local" information.)
Region-based ops are difficult. The liveness analysis may determine that
an SSA value is dead. However, that does not mean that the value can
actually be removed. Doing so may violate an region data flow (as
modeled by the `RegionBranchOpInterface`). As an example, consider the
case where a region branch terminator may dispatch to one of two region
successor with the same forwarded values. A successor input (block
argument) can be erased only if it is dead on both successors.
Before this commit, there used to be complex logic to determine when it
is safe to erase an SSA value. That logic was broken. The new
implementation does not remove any block arguments or op results of
region-based ops. Instead, operands of region-based ops and region
branch terminators are replaced with `ub.poison` if all of their
successor values are dead. This simplifies the IR good enough for the
canonicalizer to perform the remaining region simplification (i.e.,
dropping block arguments etc.).
RFC:
https://discourse.llvm.org/t/rfc-delegate-simplification-of-region-based-ops-from-remove-dead-values-to-canonicalizer/89194
Commit: 47a0d0e42832558f999b149b22cfd48c46ef2a57
https://github.com/llvm/llvm-project/commit/47a0d0e42832558f999b149b22cfd48c46ef2a57
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AMDGPU/dag-divergence.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
Log Message:
-----------
SelectionDAG: Do not propagate divergence through glue (#174766)
Glue does not carry any value (in the LLVM IR Value sense) that could be
considered uniform or divergent.
Commit: dd79244d8921f664cf482a2814f1195d3ee14e3d
https://github.com/llvm/llvm-project/commit/dd79244d8921f664cf482a2814f1195d3ee14e3d
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M cross-project-tests/CMakeLists.txt
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/CMakeLists.txt
Log Message:
-----------
[cross-project-tests][formatters] Move LLDB test setup into it's own CMakeLists.txt
Once we start adding more tests, having this in a separate CMakeLists.txt is more maintainable.
Commit: 9315747fb31b5dcf7e5879a0138d39098c30cea3
https://github.com/llvm/llvm-project/commit/9315747fb31b5dcf7e5879a0138d39098c30cea3
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Initial support for cross-compiling OpenCL libraries (#174022)
Summary:
The other GPU enabled libraries, (openmp, flang-rt, compiler-rt, libc,
libcxx, libcxx-abi) all support builds through a runtime cross-build. In
these builds we use a separate CMake build that cross-compiles to a
single target.
This patch provides basic support for this with the `libclc` libraries.
Changes include adding support for the more standard GPU compute triples
(amdgcn-amd-amdhsa, nvptx64-nvidia-cuda) and building only one target in
this mode.
Some things left to do:
This patch does not change the compiler invocations, this method would
allow us to use standard CMake routines but this keeps it minimal.
The prebuild support is questionable and doesn't fit into this scheme
because it's a host executable, I'm ignoring it for now.
The installed location should just use the triple with no `libclc/`
subdirectory handling I believe.
Commit: e5623b1a9e077e698c716ecd8ac69b66edc018c1
https://github.com/llvm/llvm-project/commit/e5623b1a9e077e698c716ecd8ac69b66edc018c1
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AMDGPU/dag-divergence.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
Log Message:
-----------
Revert "SelectionDAG: Do not propagate divergence through glue (#174766)"
This reverts commit 47a0d0e42832558f999b149b22cfd48c46ef2a57.
Reverted due to test failures in LLVM_ENABLE_EXPENSIVE_CHECKS builds.
Commit: c7c5259f016bdb12c670b1fba84a17417ff8e3a2
https://github.com/llvm/llvm-project/commit/c7c5259f016bdb12c670b1fba84a17417ff8e3a2
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
A lldb/source/Plugins/Language/CPlusPlus/MsvcStlSpan.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/span/TestDataFormatterStdSpan.py
Log Message:
-----------
[LLDB] Add MSVC STL span formatter (#173053)
`std::span` didn't have a formatter for MSVC's STL yet. The type is
quite useful in C++ 20, so this PR adds a formatter for it.
Since the formatter is new, I made it work with both DWARF and PDB from
the start.
Commit: 88b77d5eaa66747538a12c9876eeffdce31ddb71
https://github.com/llvm/llvm-project/commit/88b77d5eaa66747538a12c9876eeffdce31ddb71
Author: Steven Perron <stevenperron at google.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/test/CodeGen/SPIRV/legalization/load-store-global.ll
A llvm/test/CodeGen/SPIRV/legalization/spv-extractelt-legalization.ll
M llvm/test/CodeGen/SPIRV/legalization/vector-arithmetic-6.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/matrix-multiply.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/matrix-transpose.ll
Log Message:
-----------
[SPIRV] Support non-constant indices for vector insert/extract (#172514)
This patch updates the legalization of spv_insertelt and spv_extractelt
to
handle non-constant (dynamic) indices. When a dynamic index is
encountered, the
vector is spilled to the stack, and the element is accessed via
OpAccessChain
(lowered from spv_gep).
This patch also adds custom legalization for G_STORE to scalarize vector
stores
and refines the legalization rules for G_LOAD, G_STORE, and
G_BUILD_VECTOR.
Fixes https://github.com/llvm/llvm-project/issues/170534
Commit: ae4bbd0ec693c2141d55ef5b2228e7b6244ad66f
https://github.com/llvm/llvm-project/commit/ae4bbd0ec693c2141d55ef5b2228e7b6244ad66f
Author: Twice <twice at apache.org>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M mlir/include/mlir-c/BuiltinAttributes.h
M mlir/include/mlir-c/Dialect/EmitC.h
M mlir/include/mlir-c/Dialect/GPU.h
M mlir/include/mlir-c/Dialect/IRDL.h
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir-c/Dialect/SparseTensor.h
M mlir/include/mlir/Bindings/Python/IRAttributes.h
M mlir/include/mlir/Bindings/Python/IRCore.h
M mlir/lib/Bindings/Python/DialectGPU.cpp
M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
M mlir/lib/CAPI/Dialect/EmitC.cpp
M mlir/lib/CAPI/Dialect/GPU.cpp
M mlir/lib/CAPI/Dialect/IRDL.cpp
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/lib/CAPI/Dialect/SparseTensor.cpp
M mlir/lib/CAPI/IR/BuiltinAttributes.cpp
M mlir/test/python/ir/attributes.py
Log Message:
-----------
[MLIR][Python] Forward the name of MLIR attrs to Python side (#174756)
This PR is quite similiar to #174700.
In this PR, I added a C API for each (upstream) MLIR attributes to
retrieve its name (for example, `StringAttr -> mlirStringAttrGetName()
-> "builtin.string"`), and exposed a corresponding type_name class
attribute in the Python bindings (e.g., `StringAttr.attr_name ->
"builtin.string"`). This can be used in various places to avoid
hard-coded strings, such as eliminating the manual string in
`irdl.base("#builtin.string")`.
Note that parts of this PR (mainly mechanical changes) were produced via
GitHub Copilot and GPT-5.2. I have manually reviewed the changes and
verified them with tests to ensure correctness.
Commit: 184e3c1eb2e28fb6a9f2a3eac4d70974d36e6d50
https://github.com/llvm/llvm-project/commit/184e3c1eb2e28fb6a9f2a3eac4d70974d36e6d50
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/test/CodeGen/X86/packss.ll
M llvm/test/CodeGen/X86/packus.ll
Log Message:
-----------
[X86] packss.ll/packus.ll - add AVX512 test coverage (#174777)
Pulled out of #169995
Commit: 168de3c2de47bb23336d111ba53c95700402d436
https://github.com/llvm/llvm-project/commit/168de3c2de47bb23336d111ba53c95700402d436
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/arm64-cvtf-simd-itofp.ll
Log Message:
-----------
[AArch64][llvm] Add codegen for simd fpcvt intrinsics (#173272)
Add tablegen patterns to provide codegen for SCVTF and UCVTF
operating purely on SIMD & FP registers, using explicit bitcasts.
Commit: bc026e37322249c68069460f2ad33e8992e1ed5c
https://github.com/llvm/llvm-project/commit/bc026e37322249c68069460f2ad33e8992e1ed5c
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
M mlir/test/Target/SPIRV/non-uniform-ops.mlir
Log Message:
-----------
[mlir][spirv] Add support for GroupNonUniformQuadSwap (#174747)
Commit: d38959e87a84a889f531090e0545a698cbc54afb
https://github.com/llvm/llvm-project/commit/d38959e87a84a889f531090e0545a698cbc54afb
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M libcxx/utils/ci/docker/linux-builder-base.dockerfile
Log Message:
-----------
[libc++] Force rebuilding of the CI Docker image
Commit: 38657c0ded4800a407f574233892c50b731f2a8d
https://github.com/llvm/llvm-project/commit/38657c0ded4800a407f574233892c50b731f2a8d
Author: David Spickett <david.spickett at linaro.org>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/source/Core/Debugger.cpp
M lldb/test/API/python_api/section/TestSectionAPI.py
Log Message:
-----------
[lldb] Add zlib to version -v output (#174753)
I know this is required for at least one feature, because
TestSectionAPI.py has failures if zlib isn't enabled. So I think it's
useful for users to be able to check.
Now that it's in the config, I have also used it to make a test
annotation so we don't get the failure in TestSectionAPI.py when zlib is
disabled.
Which for future reference was:
Traceback (most recent call last):
File
"/home/davspi01/llvm-project/lldb/packages/Python/lldbsuite/test/decorators.py",
line 452, in wrapper
return func(self, *args, **kwargs)
File
"/home/davspi01/llvm-project/lldb/test/API/python_api/section/TestSectionAPI.py",
line 67, in test_compressed_section_data
self.assertEqual(section_data, [0x20, 0x30, 0x40, 0x50, 0x60, 0x70,
0x80, 0x90])
AssertionError: Lists differ: [] != [32, 48, 64, 80, 96, 112, 128, 144]
As it failed to decode the compressed section.
Commit: 7d9fda510e23a45b8ffa33bc9669cdf1e0bf6ba4
https://github.com/llvm/llvm-project/commit/7d9fda510e23a45b8ffa33bc9669cdf1e0bf6ba4
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIDefines.h
Log Message:
-----------
[NFCI][AMDGPU] Update Mode register mask for gfx1250 (#174771)
SPG says two bits for each operand.
Commit: 6a37e3b7c8b113cbeeb3bd686dbb9e7dd73f97db
https://github.com/llvm/llvm-project/commit/6a37e3b7c8b113cbeeb3bd686dbb9e7dd73f97db
Author: Gaëtan Bossu <gaetan.bossu at arm.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-extract-element.ll
Log Message:
-----------
[AArch64][SDAG] Select extractelement <vscale x 1 x i1> (#173016)
This used to cause an ISel failure.
Commit: 8f1cd07e3fba882b91c3a7ad7c15f53bd4a0e48e
https://github.com/llvm/llvm-project/commit/8f1cd07e3fba882b91c3a7ad7c15f53bd4a0e48e
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M lldb/include/lldb/Core/FormatEntity.h
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/Core/Statusline.cpp
M lldb/source/DataFormatters/FormattersHelpers.cpp
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/Thread.cpp
M lldb/unittests/Core/FormatEntityTest.cpp
Log Message:
-----------
[lldb][Format] Introduce a `FormatEntity::Formatter` class and move the `Format` API into it (#174618)
This patch creates a new `FormatEntity::Formatter` class and moves
`FormatEntity::Format` (and related APIs) into it. Most of the
parameters to `Format` are immutable across all recursive calls, so I
made them `const` member variables of `Formatter`. The main changes are
just mechanical renaming of:
```
FormatEntity::Format(...)
```
to
```
FormatEntity::Formatter(...).Format(stream, entry, valobj)
```
and making use of the member variables from inside `Format`.
We can probably make most of the parameters to the `Formatter`
constructor defaulted, but I chose not to in this patch to keep the diff
smaller.
The motivation for this is that I'm planning on adding logic to detect
recursive format entities (which would crash LLDB). That requires some
state, which in my opinion is best kept inside the `Formatter` class
instead of another parameter to `Format`.
The patch should be entirely NFC.
Commit: 249585676b1dff3d3ae6f1ccbbc330c69735fa29
https://github.com/llvm/llvm-project/commit/249585676b1dff3d3ae6f1ccbbc330c69735fa29
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
Log Message:
-----------
[NFC] [AArch64] Add missing test to #161840 (#174775)
In patch #161840 I added bitcasts when lowering some NEON int scalar
nodes, but I didn't properly tests that bitcasts are correctly emitted
on the result as well. This patch adds those tests.
Commit: 28d2772a8d1a907f2f9dc135224e1fa31ccad243
https://github.com/llvm/llvm-project/commit/28d2772a8d1a907f2f9dc135224e1fa31ccad243
Author: David Truby <david.truby at arm.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/Options.td
M lld/docs/ReleaseNotes.rst
A lld/test/COFF/linkreprofullpathrsp.test
Log Message:
-----------
[lld][COFF] Add /linkreprofullpathrsp flag (#165449)
This patch adds the /linkreprofullpathrsp flag with the same behaviour
as link.exe. This flag emits a file containing the full paths to each
object passed to the link line.
This is used in particular when linking Arm64X binaries, as you need the
full path to all the Arm64 objects that were used in a standard Arm64
build.
See:
https://learn.microsoft.com/en-us/cpp/build/reference/link-repro-full-path-rsp
for the Microsoft documentation of the flag.
Commit: 13551112a734d65e705555d83e5d8df9ef1bd89a
https://github.com/llvm/llvm-project/commit/13551112a734d65e705555d83e5d8df9ef1bd89a
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
Log Message:
-----------
[AMDGPU] Remove some redundant SubtargetPredicate settings. NFC. (#174788)
Setting SubtargetPredicate around these multiclasses is redundant since
it is always explicitly overridden for every def inside the multiclass.
Commit: 7584db7820a6b4d82bbf6ee9743484a19a96d8e3
https://github.com/llvm/llvm-project/commit/7584db7820a6b4d82bbf6ee9743484a19a96d8e3
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/CMakeLists.txt
Log Message:
-----------
[cross-project-tests] Unset _FORTIFY_SOURCE when building the LLDB formatter tests (#174770)
When building `cross-project-tests` with `_FORTIFY_SOURCE` set, we get
following warnings:
```
In file included from /app/gcc/14.2.0/include/c++/14.2.0/x86_64-pc-linux-gnu/bits/os_defines.h:39,
from /app/gcc/14.2.0/include/c++/14.2.0/x86_64-pc-linux-gnu/bits/c++config.h:680,
from /app/gcc/14.2.0/include/c++/14.2.0/type_traits:38,
from ../include/llvm/ADT/ADL.h:12,
from ../include/llvm/ADT/Hashing.h:47,
from ../include/llvm/ADT/ArrayRef.h:12,
from ../../cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/arrayref.cpp:1:
/usr/include/features.h:381:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
381 | # warning _FORTIFY_SOURCE requires compiling with optimization (-O)
| ^~~~~~~
```
This patch works around this by undefining the macro when compiling the
LLDB formatter tests.
If this ever becomes an issue we could try to detect `_FORTIFY_SOURCE`
and skip the tests if set.
Commit: abbd1ebb75e2a4343ffb49951560bdd7862c7149
https://github.com/llvm/llvm-project/commit/abbd1ebb75e2a4343ffb49951560bdd7862c7149
Author: higher-performance <higher.performance.github at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnusedLocalNonTrivialVariableCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/NoSuspendWithLockCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsAvoidUncheckedContainerAccessCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/OverrideWithDifferentVisibilityCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
M clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
M clang-tools-extra/clang-tidy/performance/NoAutomaticMoveCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-custom.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-custom.cpp
Log Message:
-----------
[clang-tidy] Rename clang::tidy::matchers::matchesAnyListedName() to matchesAnyListedRegexName (#174414)
This clarifies that patterns are regular expressions.
Closes: #174229
Commit: a23f7ef71e6debbe5b06e682f82d66eab7e7c66c
https://github.com/llvm/llvm-project/commit/a23f7ef71e6debbe5b06e682f82d66eab7e7c66c
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy][NFC] Improve readabilty of Release Notes (#174686)
Instead of long text, use bullet points for readability.
Commit: 7490901ea0f06c696b04374838b083361e8e151b
https://github.com/llvm/llvm-project/commit/7490901ea0f06c696b04374838b083361e8e151b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[ByteCode] InterpBuiltin.cpp - consistently use castAs<> if dereferencing the result (#174781)
castAs<> will at least assert the cast is valid while getAs<> will always just return nullptr and then explode
Commit: 8fb7ed7ad6f8e47e127b1c5a32f79a6cc6cf9e10
https://github.com/llvm/llvm-project/commit/8fb7ed7ad6f8e47e127b1c5a32f79a6cc6cf9e10
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/CMakeLists.txt
Log Message:
-----------
[cross-project-tests][formatters] Factor out setting the LLDB test options into helper function
Commit: 52f85b0159d7f9cd3f21d644e92684afc53f0ed1
https://github.com/llvm/llvm-project/commit/52f85b0159d7f9cd3f21d644e92684afc53f0ed1
Author: Florian Mayer <fmayer at google.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/list.rst
Log Message:
-----------
[docs] [clang-tidy] add abseil-unchecked-statusor-access to list (#174796)
Commit: 28de3c15762becb50e5f2d7826ab1b9e7a5d26e7
https://github.com/llvm/llvm-project/commit/28de3c15762becb50e5f2d7826ab1b9e7a5d26e7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/include/llvm/Support/KnownFPClass.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Support/KnownFPClass.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fmul.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
Log Message:
-----------
InstCombine: Handle fmul in SimplifyDemandedFPClass (#173872)
Commit: c6e0e7d4c0e624f6b4577ef5184a909fd706f981
https://github.com/llvm/llvm-project/commit/c6e0e7d4c0e624f6b4577ef5184a909fd706f981
Author: Michael Park <mcypark at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/unittests/Serialization/CMakeLists.txt
R clang/unittests/Serialization/NamespaceLookupTest.cpp
Log Message:
-----------
Revert "[C++20][Modules] Improve namespace look-up performance for modules. (#171769)" (#174783)
This reverts commit 1928c1ea9b57e9c44325d436bc7bb2f4585031f3.
We have at least one repro, but I won't be able to work on this until
next week. Also with Clang 22 cut upcoming, we probably need to revert
for now.
Commit: 57b0d8379ed69903e2a02ad62340d5bd76b9085d
https://github.com/llvm/llvm-project/commit/57b0d8379ed69903e2a02ad62340d5bd76b9085d
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
M llvm/test/CodeGen/DirectX/ResourceAccess/load-cbuffer-vectors.ll
Log Message:
-----------
[DirectX] Account for GlobalOffset in CurrentIndex calculation for cbuffer loads with GEPs in DXILResourceAccess pass (#174666)
Fixes #174656
---------
Co-authored-by: Alex Sepkowski <alexsepkowski at gmail.com>
Commit: 971b8239fbea2cd640d15d18b4bea0d079e231b1
https://github.com/llvm/llvm-project/commit/971b8239fbea2cd640d15d18b4bea0d079e231b1
Author: moscickimilosz <Milosz.Moscicki at imgtec.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGraphOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVMemoryOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVMiscOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td
Log Message:
-----------
[mlir][spirv][nfc] Escape < and > with ` in description and summary (#174786)
Not escaping < and > was causing the text not to get displayed in the
documentation.
Commit: 88788dcd5b999ecd611d4f00deece7c03e280ecc
https://github.com/llvm/llvm-project/commit/88788dcd5b999ecd611d4f00deece7c03e280ecc
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGValue.h
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptDynamicSwizzle.hlsl
M clang/test/SemaHLSL/matrix_single_subscript_errors.hlsl
Log Message:
-----------
[HLSL][Matrix] Implement dynamic single subscript swizzle (#173201)
fixes #170777
If we don't use vector type and instead continue to pass on the matrix
type when we enter `EmitExtVectorElementExpr` Then we don't need to
store the row and column length on the LValue.
Using the Matrix type means we can reuse the isMatrixRow() cases in
EmitLoadOfLValue and EmitStoreThroughLValue and not have to support a
new lValue that is a hybrid between the ExtVectorElt and MatrixRow
cases.
All we need to do to support this is pass the list of column indices as
a `ConstantDataVector` and check the size of this Vector to know how
many column iterations we need to do. Further just index into the vector
to fetch the right encoded element index value.
Commit: 75ec177483294000b361690bb4f0ab4fa7e9731a
https://github.com/llvm/llvm-project/commit/75ec177483294000b361690bb4f0ab4fa7e9731a
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/SPIRV.h
A llvm/lib/Target/SPIRV/SPIRVLegalizeZeroSizeArrays.cpp
A llvm/lib/Target/SPIRV/SPIRVLegalizeZeroSizeArrays.h
M llvm/lib/Target/SPIRV/SPIRVPassRegistry.def
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-alloca-count.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-alloca-nested.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-alloca.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-extractvalue.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-global.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-insertvalue.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-load.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-nested.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-select.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-store.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-struct.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-undef.ll
M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
M llvm/test/CodeGen/SPIRV/zero-length-array.ll
Log Message:
-----------
[SPIRV] Add legalization pass for zero-size arrays (#172367)
This adds a legalization pass to convert zero size arrays to legal types
for common cases. It doesn't handle all cases, but if we see real use
cases for other cases, we can add them in the future.
For globals, and their initializers, we generally replace `[0 x T]` with
`ptr`.
For instructions, we either replace `[0 x T]` with `poision`, for
`alloca` we just allocate `T`.
This is motivated by IR generated by the OpenMP front end.
Issue: https://github.com/llvm/llvm-project/issues/170150
---------
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 94d4e3ae1c65f5eee9f017a787908767ddcb5ef7
https://github.com/llvm/llvm-project/commit/94d4e3ae1c65f5eee9f017a787908767ddcb5ef7
Author: Hui <hui.xie1990 at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/__thread/poll_with_backoff.h
M libcxx/include/__thread/timed_backoff_policy.h
M libcxx/include/semaphore
Log Message:
-----------
[libc++] Refactor poll_with_backoff (#173184)
This patch gets rid of bool result values which were confusing, and
instead replaces them with enum class values describing the meaning of
each return value.
Commit: 8a3039f977428f461e2cb45c4a34b9eb07588685
https://github.com/llvm/llvm-project/commit/8a3039f977428f461e2cb45c4a34b9eb07588685
Author: Mingming Liu <mingmingl at google.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Options/Options.td
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
A clang/test/Driver/fpartition-static-data-sections.c
Log Message:
-----------
[Clang] Add clang driver option -fpartition-static-data-sections (#124991)
Commit: 5fb43838afcd8412f473a3165639badd256acd71
https://github.com/llvm/llvm-project/commit/5fb43838afcd8412f473a3165639badd256acd71
Author: Chi-Chun, Chen <chichun.chen at hpe.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M flang/docs/OpenMPSupport.md
M flang/test/Lower/OpenMP/target-spmd.f90
M flang/test/Lower/OpenMP/target.f90
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/omptarget-device.mlir
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
Log Message:
-----------
[mlir][OpenMP] Lower device clause for target data/enter/exit/update (#174665)
Extend OpenMP device clause lowering for target data, target enter data,
target exit data, and target update to accept non-constant values.
Previously, only constant device IDs could be lowered to LLVM IR.
Add Flang tests to validate device clause handling and mark the feature
as supported in the OpenMPSupport documentation. New tests cover:
- target teams
- target teams distribute
- target teams distribute parallel do
- target teams distribute parallel do simd
- target data
Tests for target update and target enter/exit were
already present in Flang.
Commit: 12c89e406bfd01d5ba9534cfed44079c8ded3570
https://github.com/llvm/llvm-project/commit/12c89e406bfd01d5ba9534cfed44079c8ded3570
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
A llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-log.ll
Log Message:
-----------
InstCombine: Add baseline test for SimplifyDemandedFPClass log handling (#173880)
Commit: fd5cfcc41311c6287e9dc408b8aae499501660e1
https://github.com/llvm/llvm-project/commit/fd5cfcc41311c6287e9dc408b8aae499501660e1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass-fma.ll
M llvm/test/Transforms/InstCombine/fabs.ll
Log Message:
-----------
ValueTracking: Check if x is undef for fma(x, x, y) analysis (#174763)
Commit: 5958842aee7694cf2b2f925368317418576a3800
https://github.com/llvm/llvm-project/commit/5958842aee7694cf2b2f925368317418576a3800
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M mlir/include/mlir/Bindings/Python/IRCore.h
M mlir/lib/Bindings/Python/IRAffine.cpp
M mlir/test/python/ir/affine_expr.py
Log Message:
-----------
[mlir][py] ability to downcast AffineExpr after #172892 (#174808)
AffineExpr is a separate hierarchy of LLVM-style nested classes that
doesn't rely on TypeID and is not extensible. We need the ability to
downcast the Python equivalent of those to a specific subclass that was
seemingly lost in PR #172892. Bring it back by having an explicit cast.
We don't really need user-defined type casters here since AffineExpr is
entirely closed and not typed, unlike values.
Commit: 6153876d0f57b3dbb0f9b2fbdc394c8a76d71440
https://github.com/llvm/llvm-project/commit/6153876d0f57b3dbb0f9b2fbdc394c8a76d71440
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
A llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-maximum.ll
A llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-minimum.ll
Log Message:
-----------
InstCombine: Add baseline tests for minimum/maximum SimplifyDemandedFPClass handling (#173896)
Commit: 5adae7f64980fa757ae308fad733b9db7a812eed
https://github.com/llvm/llvm-project/commit/5adae7f64980fa757ae308fad733b9db7a812eed
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M lldb/tools/lldb-dap/extension/package-lock.json
Log Message:
-----------
[lldb-dap] Fix qs integrity hash
I was using a different registry locally. I manually changed the URL but
didn't expect the hash to be different.
Commit: 65b0de42e764d737fb349c040b5d0194c074e4be
https://github.com/llvm/llvm-project/commit/65b0de42e764d737fb349c040b5d0194c074e4be
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
A clang/test/CodeGenHLSL/builtins/WaveActiveBallot.hlsl
A clang/test/SemaHLSL/BuiltIns/WaveActiveBallot-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/DirectX/WaveActiveBallot.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveBallot.ll
Log Message:
-----------
[HLSL] Add WaveActiveBallot builtins and lower to DXIL / SPIR-V (#174638)
This PR adds WaveActiveBallot as a builtin function to HLSL.
Fixes https://github.com/llvm/llvm-project/issues/99163
Commit: b6019f73578eada9d2556380a35ab580da127fa5
https://github.com/llvm/llvm-project/commit/b6019f73578eada9d2556380a35ab580da127fa5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fmul.ll
Log Message:
-----------
InstCombine: Handle fmul by -0 case in SimplifyDemandedFPClass (#174023)
The fmul visitor handles this case as copysign and fneg.
Commit: 1c123f7766cc7ed3fa86b39c8b639de1e243ede1
https://github.com/llvm/llvm-project/commit/1c123f7766cc7ed3fa86b39c8b639de1e243ede1
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M cross-project-tests/lit.cfg.py
Log Message:
-----------
[cross-project-tests][formatters] Add a LIT feature that tests for a compatible LLDB version (#174812)
Most of this logic is similar to how we add the
`gdb-clang-incompatibility` attribute.
Some LLVM LLDB formatters will rely on LLDB features not available in
older versions of LLDB. This feature will allow those tests to add a
`REQUIRES: lldb-formatters-compatibility`, which will then mark the test
`UNSUPPORTED` for incompatible LLDB versions. I picked `19.0` pretty
arbitrarily based on when approximately the
`SBType::FindDirectNestedType` API was added to LLDB (which a future
formatter will require).
Commit: 0b9d07860a957302e105fc110ae31bd08f08b948
https://github.com/llvm/llvm-project/commit/0b9d07860a957302e105fc110ae31bd08f08b948
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/CMakeLists.txt
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.cpp
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.test
M llvm/utils/lldbDataFormatters.py
Log Message:
-----------
Reland "[llvm][formatters] Add LLDB data-formatter for llvm::PointerIntPair"
Reverts a4cc033408fe0a69aad6865ddc7e020d64098f20.
Relanding the original patch as-is, but changing the `__builtin_debugtrap`s to explicitly set breakpoints. Some bots failed to compile the tests when `__builtin_debugtrap` was used.
Also adding `REQUIRES: lldb-formats-compatibility` to the test because some build-bots run the tests with an LLDB version that doesn't support the `FindDirectNestedType` API.
Original commit message:
This patch revives the llvm::PointerIntPair LLDB data-formatter. The previous version was commented out because it relied on expression evaluation and was hence slow/brittle. The formatter in this PR doesn't rely on evaluating expressions.
Drive-by change:
* removes the llvm::PointerUnion formatter which was also commented out. A future version of it will look very different than it does now, so there's no point in keeping it because the diff won't be helpful in a review.
Commit: d64ecd163f731c98f3c3e0c29b2c9173f58060b8
https://github.com/llvm/llvm-project/commit/d64ecd163f731c98f3c3e0c29b2c9173f58060b8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
Log Message:
-----------
[RISCV] Use ZeroOrNegativeOneBooleanContent for RVV to match P extension. (#174713)
For the most part this doesn't matter for RVV since it has legal i1
vectors. I think this will make it easier for P and RVV to co-exist in
LLVM.
Commit: 39456e4226f41213a603f75a363b6bad9f7caf39
https://github.com/llvm/llvm-project/commit/39456e4226f41213a603f75a363b6bad9f7caf39
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-node-with-non-schedulable-parent.ll
Log Message:
-----------
[SLP]Do not increment dep count for non-schedulable nodes with non-schedulable parents
If the node is non-scedulable, all instructions are used outside only
and parent is non-schedulable non-phi node, the dependency count should be
increased for such nodes
Fixes #174599
Commit: 90285d318fa4b4d72c8142593c12edeecf60b117
https://github.com/llvm/llvm-project/commit/90285d318fa4b4d72c8142593c12edeecf60b117
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
A llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-maximumnum.ll
A llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-minimumnum.ll
Log Message:
-----------
InstCombine: Add baseline minimumnum/maximumnum SimplifyDemandedFPClass tests (#173976) (#174817)
Commit: f38e54ee83a8230be8a7f5514b3d112a74407f3d
https://github.com/llvm/llvm-project/commit/f38e54ee83a8230be8a7f5514b3d112a74407f3d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/include/llvm/Support/KnownFPClass.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Support/KnownFPClass.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-maximum.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-minimum.ll
Log Message:
-----------
InstCombine: Handle minimum/maximum in SimplifyDemandedFPClass (#173897)
Commit: e29abeae77c1b7036d32668d6eecd6407f4674f9
https://github.com/llvm/llvm-project/commit/e29abeae77c1b7036d32668d6eecd6407f4674f9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/include/llvm/ADT/FloatingPointMode.h
M llvm/include/llvm/Support/KnownFPClass.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Support/KnownFPClass.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-log.ll
Log Message:
-----------
InstCombine: Handle log/log2/log10 in SimplifyDemandedFPClass (#173881)
Commit: 33a594b2dc356d6939de9daa0a23453f637d1e39
https://github.com/llvm/llvm-project/commit/33a594b2dc356d6939de9daa0a23453f637d1e39
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
A llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-sqrt.ll
Log Message:
-----------
InstCombine: Add baseline tests for sqrt SimplifyDemandedFPClass (#173882)
Commit: d81a0e7a18c27c0be4a0144d888d12652fff8077
https://github.com/llvm/llvm-project/commit/d81a0e7a18c27c0be4a0144d888d12652fff8077
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Add ISD::CTLS to canCreateUndefOrPoison. (#174709)
Commit: 8c6d002b64bf45990271d22e95f26eb0f6300ddb
https://github.com/llvm/llvm-project/commit/8c6d002b64bf45990271d22e95f26eb0f6300ddb
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU] Reimplement VOP3 CMPX encoding fixup using PostEncoderMethod. NFCI. (#174799)
These instructions have a field that we want to encode as the non-zero
value EXEC_LO, but have the decoder accept any value. Reimplement this
using PostEncoderMethod instead of custom code in
AMDGPUMCCodeEmitter::encodeInstruction, so that it is controlled by the
tablegen instruction definitions themselves.
Commit: 671c5a0f02df6fdb47889fae5ba4c990635cd827
https://github.com/llvm/llvm-project/commit/671c5a0f02df6fdb47889fae5ba4c990635cd827
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/Options.td
M lld/docs/ReleaseNotes.rst
R lld/test/COFF/linkreprofullpathrsp.test
Log Message:
-----------
Revert "[lld][COFF] Add /linkreprofullpathrsp flag" (#174831)
Reverts llvm/llvm-project#165449 due to the new test failing in Linux
pre-commit CI.
Commit: 664fb3b61061a96e4e9c730bacd1de5b8ce3f669
https://github.com/llvm/llvm-project/commit/664fb3b61061a96e4e9c730bacd1de5b8ce3f669
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/IR/eh-type-id.cir
A clang/test/CIR/IR/invalid-eh-type-id.cir
A clang/test/CIR/Lowering/eh-type-id.cir
Log Message:
-----------
[CIR] Upstream Exceptions EHTypeIdOp (#172558)
Upstream the Exceptions EHTypeIdOp
Issue https://github.com/llvm/llvm-project/issues/154992
Commit: 4040f6c6f8f1bc526c6f526f8e74ebb3f460f787
https://github.com/llvm/llvm-project/commit/4040f6c6f8f1bc526c6f526f8e74ebb3f460f787
Author: Roland McGrath <mcgrathr at google.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M libc/utils/hdrgen/hdrgen/header.py
M libc/utils/hdrgen/hdrgen/main.py
A libc/utils/hdrgen/tests/expected_output/test_small_proxy.h
M libc/utils/hdrgen/tests/test_integration.py
Log Message:
-----------
[libc] Add hdrgen --proxy mode (#174823)
This adds the --proxy switch to generate headers like go
into libc/src/hdr/foo-proxy.h instead of public headers.
Commit: 26b777444bf5cf9bcba5d292bf161b050f5e866e
https://github.com/llvm/llvm-project/commit/26b777444bf5cf9bcba5d292bf161b050f5e866e
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M offload/test/api/assert.c
M offload/test/api/omp_device_alloc.c
M offload/test/api/omp_device_managed_memory.c
M offload/test/api/omp_device_managed_memory_alloc.c
M offload/test/api/omp_device_memory.c
M offload/test/api/omp_device_uid.c
M offload/test/api/omp_dynamic_shared_memory.c
M offload/test/api/omp_env_vars.c
M offload/test/api/omp_get_device_num.c
M offload/test/api/omp_get_mapped_ptr.c
M offload/test/api/omp_get_num_devices.c
M offload/test/api/omp_get_num_procs.c
M offload/test/api/omp_host_call.c
M offload/test/api/omp_host_pinned_memory.c
M offload/test/api/omp_host_pinned_memory_alloc.c
M offload/test/api/omp_indirect_call.c
M offload/test/api/omp_indirect_call_table_manual.c
M offload/test/api/ompx_3d.c
M offload/test/api/ompx_3d.cpp
M offload/test/api/ompx_sync.c
M offload/test/api/ompx_sync.cpp
M offload/test/env/base_ptr_ref_count.c
M offload/test/env/omp_target_debug.c
M offload/test/jit/empty_kernel_lvl1.c
M offload/test/jit/empty_kernel_lvl2.c
M offload/test/jit/type_punning.c
M offload/test/libc/malloc_parallel.c
M offload/test/lit.cfg
M offload/test/mapping/array_section_implicit_capture.c
M offload/test/mapping/chained_containing_structs_1.cc
M offload/test/mapping/chained_containing_structs_2.cc
M offload/test/mapping/chained_containing_structs_3.cc
M offload/test/mapping/data_member_ref.cpp
M offload/test/mapping/declare_mapper_nested_default_mappers.cpp
M offload/test/mapping/declare_mapper_nested_default_mappers_1.cpp
M offload/test/mapping/declare_mapper_nested_mappers.cpp
M offload/test/mapping/declare_mapper_target.cpp
M offload/test/mapping/declare_mapper_target_data.cpp
M offload/test/mapping/declare_mapper_target_data_enter_exit.cpp
M offload/test/mapping/declare_mapper_target_update.cpp
M offload/test/mapping/delete_inf_refcount.c
M offload/test/mapping/device_ptr_update.c
M offload/test/mapping/duplicate_mappings_1.cpp
M offload/test/mapping/duplicate_mappings_2.cpp
M offload/test/mapping/firstprivate_aligned.cpp
M offload/test/mapping/has_device_addr.cpp
M offload/test/mapping/implicit_device_ptr.c
M offload/test/mapping/is_accessible.cpp
M offload/test/mapping/is_device_ptr.cpp
M offload/test/mapping/lambda_by_value.cpp
M offload/test/mapping/low_alignment.c
M offload/test/mapping/map_both_pointer_pointee.c
M offload/test/mapping/ompx_hold/struct.c
M offload/test/mapping/ompx_hold/target.c
M offload/test/mapping/pr38704.c
M offload/test/mapping/prelock.cpp
M offload/test/mapping/present/target.c
M offload/test/mapping/present/target_array_extension.c
M offload/test/mapping/present/unified_shared_memory.c
M offload/test/mapping/present/zero_length_array_section.c
M offload/test/mapping/private_mapping.c
M offload/test/mapping/ptr_and_obj_motion.c
M offload/test/mapping/reduction_implicit_map.cpp
M offload/test/mapping/target_data_array_extension_at_exit.c
M offload/test/mapping/target_derefence_array_pointrs.cpp
M offload/test/mapping/target_has_device_addr.c
M offload/test/mapping/target_implicit_partial_map.c
M offload/test/mapping/target_map_for_member_data.cpp
M offload/test/mapping/target_uses_allocator.c
M offload/test/mapping/use_device_addr/target_use_device_addr.c
M offload/test/offloading/CUDA/basic_launch.cu
M offload/test/offloading/CUDA/basic_launch_blocks_and_threads.cu
M offload/test/offloading/CUDA/basic_launch_multi_arg.cu
M offload/test/offloading/CUDA/launch_tu.cu
M offload/test/offloading/assert.cpp
M offload/test/offloading/atomic-compare-signedness.c
M offload/test/offloading/back2back_distribute.c
M offload/test/offloading/bug47654.cpp
M offload/test/offloading/bug49021.cpp
M offload/test/offloading/bug49334.cpp
M offload/test/offloading/bug49779.cpp
M offload/test/offloading/bug50022.cpp
M offload/test/offloading/bug51781.c
M offload/test/offloading/bug51982.c
M offload/test/offloading/bug53727.cpp
M offload/test/offloading/bug64959.c
M offload/test/offloading/bug64959_compile_only.c
M offload/test/offloading/bug74582.c
M offload/test/offloading/complex_reduction.cpp
M offload/test/offloading/ctor_dtor.cpp
M offload/test/offloading/ctor_dtor_api.cpp
M offload/test/offloading/ctor_dtor_lazy.cpp
M offload/test/offloading/cuda_no_devices.c
M offload/test/offloading/d2d_memcpy.c
M offload/test/offloading/default_thread_limit.c
M offload/test/offloading/dynamic_module.c
M offload/test/offloading/dynamic_module_load.c
M offload/test/offloading/extern.c
M offload/test/offloading/force-usm.cpp
M offload/test/offloading/fortran/basic-target-parallel-do.f90
M offload/test/offloading/fortran/basic-target-parallel-region.f90
M offload/test/offloading/fortran/basic-target-region-3D-array.f90
M offload/test/offloading/fortran/double-target-call-with-declare-target.f90
M offload/test/offloading/fortran/dump_map_tables.f90
M offload/test/offloading/fortran/target-map-derived-type-full-1.f90
M offload/test/offloading/fortran/target-map-derived-type-full-2.f90
M offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
M offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
M offload/test/offloading/fortran/target-map-enter-exit-array.f90
M offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
M offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90
M offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
M offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
M offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
M offload/test/offloading/fortran/target-map-pointer-target-array-section-3d-bounds.f90
M offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
M offload/test/offloading/fortran/target-no-loop.f90
M offload/test/offloading/fortran/target-region-implicit-array.f90
M offload/test/offloading/generic_multiple_parallel_regions.c
M offload/test/offloading/global_constructor.cpp
M offload/test/offloading/high_trip_count_block_limit.cpp
M offload/test/offloading/host_as_target.c
M offload/test/offloading/indirect_fp_mapping.c
M offload/test/offloading/info.c
M offload/test/offloading/interop-print.c
M offload/test/offloading/interop.c
M offload/test/offloading/looptripcnt.c
M offload/test/offloading/malloc.c
M offload/test/offloading/memory_manager.cpp
M offload/test/offloading/multiple_reductions_simple.c
M offload/test/offloading/offloading_success.c
M offload/test/offloading/offloading_success.cpp
M offload/test/offloading/ompx_bare.c
M offload/test/offloading/ompx_bare_ballot_sync.c
M offload/test/offloading/ompx_bare_multi_dim.cpp
M offload/test/offloading/ompx_bare_shfl_down_sync.cpp
M offload/test/offloading/ompx_coords.c
M offload/test/offloading/ompx_saxpy_mixed.c
M offload/test/offloading/parallel_offloading_map.cpp
M offload/test/offloading/parallel_target_teams_reduction.cpp
M offload/test/offloading/parallel_target_teams_reduction_max.cpp
M offload/test/offloading/parallel_target_teams_reduction_min.cpp
M offload/test/offloading/requires.c
M offload/test/offloading/shared_lib_fp_mapping.c
M offload/test/offloading/small_trip_count.c
M offload/test/offloading/small_trip_count_thread_limit.cpp
M offload/test/offloading/spmdization.c
M offload/test/offloading/static_linking.c
M offload/test/offloading/std_complex_arithmetic.cpp
M offload/test/offloading/strided_multiple_update.c
M offload/test/offloading/strided_partial_update.c
M offload/test/offloading/strided_ptr_multiple_update_from.c
M offload/test/offloading/strided_ptr_multiple_update_to.c
M offload/test/offloading/strided_ptr_partial_update_from.c
M offload/test/offloading/strided_ptr_partial_update_to.c
M offload/test/offloading/strided_update.c
M offload/test/offloading/struct_mapping_with_pointers.cpp
M offload/test/offloading/target-teams-atomic.c
M offload/test/offloading/target-tile.c
M offload/test/offloading/target_constexpr_mapping.cpp
M offload/test/offloading/target_critical_region.cpp
M offload/test/offloading/target_depend_nowait.cpp
M offload/test/offloading/target_map_for_member_data.cpp
M offload/test/offloading/target_nowait_target.cpp
M offload/test/offloading/target_update_from.c
M offload/test/offloading/target_update_strided_struct_from.c
M offload/test/offloading/target_update_strided_struct_multiple_from.c
M offload/test/offloading/target_update_strided_struct_multiple_to.c
M offload/test/offloading/target_update_strided_struct_partial_from.c
M offload/test/offloading/target_update_strided_struct_partial_to.c
M offload/test/offloading/target_update_strided_struct_to.c
M offload/test/offloading/target_update_to.c
M offload/test/offloading/task_in_reduction_target.c
M offload/test/offloading/taskloop_offload_nowait.cpp
M offload/test/offloading/test_libc.cpp
M offload/test/offloading/thread_limit.c
M offload/test/offloading/thread_state_1.c
M offload/test/offloading/thread_state_2.c
M offload/test/offloading/weak.c
M offload/test/offloading/workshare_chunk.c
M offload/test/offloading/wtime.c
M offload/test/ompt/veccopy.c
M offload/test/ompt/veccopy_data.c
M offload/test/ompt/veccopy_disallow_both.c
M offload/test/ompt/veccopy_emi.c
M offload/test/ompt/veccopy_emi_map.c
M offload/test/ompt/veccopy_map.c
M offload/test/ompt/veccopy_no_device_init.c
M offload/test/ompt/veccopy_wrong_return.c
M offload/test/sanitizer/double_free.c
M offload/test/sanitizer/double_free_racy.c
M offload/test/sanitizer/free_host_ptr.c
M offload/test/sanitizer/free_wrong_ptr_kind.c
M offload/test/sanitizer/free_wrong_ptr_kind.cpp
M offload/test/sanitizer/kernel_crash.c
M offload/test/sanitizer/kernel_crash_async.c
M offload/test/sanitizer/kernel_crash_many.c
M offload/test/sanitizer/kernel_crash_single.c
M offload/test/sanitizer/kernel_trap.c
M offload/test/sanitizer/kernel_trap.cpp
M offload/test/sanitizer/kernel_trap_async.c
M offload/test/sanitizer/kernel_trap_many.c
M offload/test/sanitizer/ptr_outside_alloc_1.c
M offload/test/sanitizer/ptr_outside_alloc_2.c
M offload/test/sanitizer/use_after_free_1.c
M offload/test/sanitizer/use_after_free_2.c
M offload/test/tools/llvm-omp-device-info.c
M offload/test/unified_shared_memory/api.c
M offload/test/unified_shared_memory/associate_ptr.c
M offload/test/unified_shared_memory/close_enter_exit.c
M offload/test/unified_shared_memory/close_manual.c
M offload/test/unified_shared_memory/close_member.c
M offload/test/unified_shared_memory/close_modifier.c
M offload/test/unified_shared_memory/shared_update.c
Log Message:
-----------
[offload][lit] XFAIL all failing tests on the Level Zero plugin (#174804)
We finally got our buildbot added (to staging, at least) so we want to
start running L0 tests in CI.
We need `check-offload` to pass though, so XFAIL everything failing.
There's a couple `UNSUPPORTED` as well, those are for sporadic fails.
Also make set the `gpu` and `intelgpu` LIT variables when testing the
`spirv64-intel` triple.
We have no DeviceRTL yet so basically everything fails, but we manage to
get
```
Total Discovered Tests: 432
Unsupported : 169 (39.12%)
Passed : 67 (15.51%)
Expectedly Failed: 196 (45.37%)
```
We still don't build the level zero plugin by default and these tests
don't run unless the plugin was built, so this has no effect on most
builds.
---------
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 1671bb67e799e0d1c742bee1ccfee0aa4692622e
https://github.com/llvm/llvm-project/commit/1671bb67e799e0d1c742bee1ccfee0aa4692622e
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/test/CodeGen/SystemZ/zos-hlasm-out.ll
M llvm/test/CodeGen/SystemZ/zos-ppa2.ll
Log Message:
-----------
[SystemZ] Change default backend to ASCII (#174470)
The current (and default) backend on z/OS is EBCDIC.
This patch updates the default backend to be ASCII, which is beneficial
when porting new languages. With this change, ASCII is the default when
no special metadata nodes (such as `zos_le_char_mode`) are present.
Commit: 961d52f3304700393b1b03a72c9ad5bb155e851b
https://github.com/llvm/llvm-project/commit/961d52f3304700393b1b03a72c9ad5bb155e851b
Author: Thibault Monnier <97551402+Thibault-Monnier at users.noreply.github.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/lib/Lex/Lexer.cpp
Log Message:
-----------
[Clang] [Lexer] Detect SSE4.2 availability at runtime in fastParseASCIIIdentifier (#171914)
This change attempts to maximize usage of the SSE fast path in
`fastParseASCIIIdentifier`.
If compiling for x86, we compile both the SSE fast path and the scalar loop. At
runtime, we check if SSE4.2 is available and dispatch to the right
function by using the `target` attribute. If it _is_ available, this
allows a net performance improvement. Otherwise, there's a very slight
but negligible regression... I believe that's perfectly reasonable for a
non-SSE4.2-supporting processor.
If we are not compiling for x86, then the behavior is the exact same, ensuring we have
no regressions. If the binary is compiled for x86 with SSE4.2 enabled, we still do a runtime check, but this has negligible impact ; furthermore, the point of the PR is that this is rarely the case.
The benchmark results are available at
[llvm-compile-time-tracker](https://llvm-compile-time-tracker.com/compare.php?from=f88d060c4176d17df56587a083944637ca865cb3&to=d5485438edd460892bf210916827e0d92fc24065&stat=instructions%3Au).
Commit: e01d6f4517809a3ea20a3cdfd9e327accbc5a711
https://github.com/llvm/llvm-project/commit/e01d6f4517809a3ea20a3cdfd9e327accbc5a711
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fmul.ll
Log Message:
-----------
InstCombine: Consider not-inf/nan context when simplifying fmul (#174024)
Consider if the result can be nan, or if the inputs cannot
be infinity from the flag when trying to simplify fmul into
copysign.
Commit: 5ccba1b0c9ba774e4b264931a5553dcc44cf8107
https://github.com/llvm/llvm-project/commit/5ccba1b0c9ba774e4b264931a5553dcc44cf8107
Author: Thibault Monnier <97551402+Thibault-Monnier at users.noreply.github.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx2-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512bw-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/ssse3-builtins.c
Log Message:
-----------
[CIR] Upstream CIR codegen for palignr x86 builtins (#173788)
Part of #167752.
This PR upstreams CIR codegen for `palignr` x86 builtins.
Commit: 66df6cceea001a2082bc78678305a86b9bb29ecb
https://github.com/llvm/llvm-project/commit/66df6cceea001a2082bc78678305a86b9bb29ecb
Author: Finn Plummer <mail at inbelic.dev>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
Log Message:
-----------
[DirectX] Specify NegZero as signed (#174840)
#171456 set `ImplicitTrunc` to false by default. So `NegZero` value was
no longer being created as a signed integer.
This caused a similar crash during `DXILIntrinsicExpansion` as reported
here:
https://github.com/llvm/llvm-project/pull/171456#issuecomment-3718690088.
This change fixes the test case from crashing in the DirectX backend by
manually specifying it as a signed integer.
Commit: 0b13ae606a85f57b51047a3a13650a2e1af07668
https://github.com/llvm/llvm-project/commit/0b13ae606a85f57b51047a3a13650a2e1af07668
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Support/Unix/Path.inc
M llvm/lib/Support/Windows/Path.inc
Log Message:
-----------
[llvm] Bypass sandbox for `getMainExecutable()` (#174816)
Getting the executable path is a fairly common operation in LLVM tools
that doesn't affect their outputs. Allow calling it under the sandbox.
Commit: c444020ed546efd152336c5d4cf9b55622be8431
https://github.com/llvm/llvm-project/commit/c444020ed546efd152336c5d4cf9b55622be8431
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
Log Message:
-----------
[LLVM][NVPTX] Mark ldmatrix/stmatrix intrinsics convergent (#174669)
NVVM ldmatrix and stmatrix intrinsics map to corresponding PTX
instructions that have a .sync.aligned behavior. Mark these intrinsics
as convergent to prevent control flow transformations that can break
these semantics. This is similar to other .sync.aligned intrinsics.
Commit: 6e6996e893a70404cbdb85660f6f7ce997f92223
https://github.com/llvm/llvm-project/commit/6e6996e893a70404cbdb85660f6f7ce997f92223
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/select-min-max-last-index-epilogue.ll
Log Message:
-----------
[LV] Add tests for argmin/argmax with epilogue vectorization. (NFC)
Add additional test coverage for vectorizing argmin/argmax with epilogue
vectorization.
Commit: bc8fcba3bb3aa15ffbf3f6f43c271a75d41cfdfc
https://github.com/llvm/llvm-project/commit/bc8fcba3bb3aa15ffbf3f6f43c271a75d41cfdfc
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
Log Message:
-----------
[NVPTX][AutoUpgrade] Use integer min/max intrinsics instead of icmp, select (#173097)
Commit: 31b93d6e38dea9e7023101905d3471552e985540
https://github.com/llvm/llvm-project/commit/31b93d6e38dea9e7023101905d3471552e985540
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
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/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/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/unittests/Transforms/Vectorize/VPlanPatternMatchTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Add specialized VPValue subclasses for different types (NFC) (#172758)
This patch adds VPValue sub-classes for the different cases we currently
have:
* VPIRValue: A live-in VPValue that wraps an underlying IR value
* VPSymbolicValue: A symbolic VPValue not tied to an underlying value,
e.g. the vector trip count or VF VPValues
* VPRecipeValue: A VPValue defined by a VPDef/VPRecipeBase.
This has multiple benefits:
* clearer constructors for each kind of VPValue
* limited scope: for example allows moving VPDef member to VPRecipeValue,
reducing size of other VPValues.
* stricter type checking for member variables (e.g. using VPLiveIn in
the Value -> live-in map in VPlan, or using VPSymbolicValue for symbolic
member VPValues)
There probably are additional opportunities for cleanups as follow-ups.
PR: https://github.com/llvm/llvm-project/pull/172758
Commit: 7bbaf2e16bc3aea203b2852c979659fe8b55604c
https://github.com/llvm/llvm-project/commit/7bbaf2e16bc3aea203b2852c979659fe8b55604c
Author: saxlungs <152745038+saxlungs at users.noreply.github.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.shuffle.ll
Log Message:
-----------
[AMDGPU] Improve llvm.amdgcn.wave.shuffle handling for pre-GFX8 (#174845)
Before, GlobalISel would still return true for lowering the intrinsic
for GFX7 and earlier even though the required ds_bpermute_b32
instruction is not supported. After this change, GlobalISel will
properly report failure to select in this case. Testing is updated
appropriately.
Signed-off-by: Domenic Nutile <domenic.nutile at gmail.com>
Commit: 0d23e3f71f56721e9c050bda63d10c7fd44de117
https://github.com/llvm/llvm-project/commit/0d23e3f71f56721e9c050bda63d10c7fd44de117
Author: Sergio Sánchez Ramírez <sergio.sanchez.ramirez at bsc.es>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M flang/include/flang/Optimizer/Support/InitFIR.h
M mlir/examples/toy/Ch5/toyc.cpp
M mlir/examples/toy/Ch6/toyc.cpp
M mlir/examples/toy/Ch7/toyc.cpp
M mlir/include/mlir-c/Dialect/AMDGPU.h
A mlir/include/mlir-c/Dialect/AMX.h
A mlir/include/mlir-c/Dialect/Affine.h
M mlir/include/mlir-c/Dialect/Arith.h
A mlir/include/mlir-c/Dialect/ArmNeon.h
A mlir/include/mlir-c/Dialect/ArmSME.h
A mlir/include/mlir-c/Dialect/ArmSVE.h
A mlir/include/mlir-c/Dialect/Bufferization.h
A mlir/include/mlir-c/Dialect/DLTI.h
M mlir/include/mlir-c/Dialect/EmitC.h
M mlir/include/mlir-c/Dialect/Func.h
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir-c/Dialect/MLProgram.h
A mlir/include/mlir-c/Dialect/MPI.h
M mlir/include/mlir-c/Dialect/Math.h
M mlir/include/mlir-c/Dialect/MemRef.h
M mlir/include/mlir-c/Dialect/NVGPU.h
A mlir/include/mlir-c/Dialect/OpenACC.h
A mlir/include/mlir-c/Dialect/PDLInterp.h
A mlir/include/mlir-c/Dialect/Ptr.h
M mlir/include/mlir-c/Dialect/SCF.h
M mlir/include/mlir-c/Dialect/SPIRV.h
M mlir/include/mlir-c/Dialect/Shape.h
A mlir/include/mlir-c/Dialect/Shard.h
M mlir/include/mlir-c/Dialect/Tensor.h
A mlir/include/mlir-c/Dialect/Tosa.h
M mlir/include/mlir-c/Dialect/Transform.h
A mlir/include/mlir-c/Dialect/UB.h
A mlir/include/mlir-c/Dialect/VCIX.h
M mlir/include/mlir-c/Dialect/Vector.h
A mlir/include/mlir-c/Dialect/WasmSSA.h
A mlir/include/mlir-c/Dialect/X86Vector.h
A mlir/include/mlir-c/Dialect/XeGPU.h
A mlir/include/mlir-c/Dialect/XeVM.h
M mlir/include/mlir/Dialect/AMDGPU/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Affine/CMakeLists.txt
R mlir/include/mlir/Dialect/Affine/Passes.h
R mlir/include/mlir/Dialect/Affine/Passes.td
A mlir/include/mlir/Dialect/Affine/Transforms/CMakeLists.txt
A mlir/include/mlir/Dialect/Affine/Transforms/Passes.h
A mlir/include/mlir/Dialect/Affine/Transforms/Passes.td
M mlir/include/mlir/Dialect/Arith/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/ArmSME/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/ArmSVE/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Bufferization/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/EmitC/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Func/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/LLVMIR/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/MLProgram/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Math/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/MemRef/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/OpenACC/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/OpenMP/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Quant/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/SCF/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/SPIRV/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Shape/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Shard/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Tensor/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Tosa/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Transform/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Vector/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/XeGPU/Transforms/CMakeLists.txt
A mlir/lib/CAPI/Dialect/AMDGPUPasses.cpp
A mlir/lib/CAPI/Dialect/AMX.cpp
A mlir/lib/CAPI/Dialect/Affine.cpp
A mlir/lib/CAPI/Dialect/AffinePasses.cpp
A mlir/lib/CAPI/Dialect/ArithPasses.cpp
A mlir/lib/CAPI/Dialect/ArmNeon.cpp
A mlir/lib/CAPI/Dialect/ArmSME.cpp
A mlir/lib/CAPI/Dialect/ArmSMEPasses.cpp
A mlir/lib/CAPI/Dialect/ArmSVE.cpp
A mlir/lib/CAPI/Dialect/ArmSVEPasses.cpp
A mlir/lib/CAPI/Dialect/Bufferization.cpp
A mlir/lib/CAPI/Dialect/BufferizationPasses.cpp
M mlir/lib/CAPI/Dialect/CMakeLists.txt
A mlir/lib/CAPI/Dialect/DLTI.cpp
M mlir/lib/CAPI/Dialect/EmitC.cpp
A mlir/lib/CAPI/Dialect/EmitCPasses.cpp
A mlir/lib/CAPI/Dialect/FuncPasses.cpp
A mlir/lib/CAPI/Dialect/LLVMPasses.cpp
A mlir/lib/CAPI/Dialect/MLProgramPasses.cpp
A mlir/lib/CAPI/Dialect/MPI.cpp
A mlir/lib/CAPI/Dialect/MathPasses.cpp
A mlir/lib/CAPI/Dialect/MemRefPasses.cpp
A mlir/lib/CAPI/Dialect/NVGPUPasses.cpp
A mlir/lib/CAPI/Dialect/OpenACC.cpp
A mlir/lib/CAPI/Dialect/OpenACCPasses.cpp
A mlir/lib/CAPI/Dialect/PDLInterp.cpp
A mlir/lib/CAPI/Dialect/Ptr.cpp
A mlir/lib/CAPI/Dialect/SCFPasses.cpp
A mlir/lib/CAPI/Dialect/SPIRVPasses.cpp
A mlir/lib/CAPI/Dialect/ShapePasses.cpp
A mlir/lib/CAPI/Dialect/Shard.cpp
A mlir/lib/CAPI/Dialect/ShardPasses.cpp
A mlir/lib/CAPI/Dialect/TensorPasses.cpp
A mlir/lib/CAPI/Dialect/Tosa.cpp
A mlir/lib/CAPI/Dialect/TosaPasses.cpp
A mlir/lib/CAPI/Dialect/TransformPasses.cpp
A mlir/lib/CAPI/Dialect/UB.cpp
A mlir/lib/CAPI/Dialect/VCIX.cpp
A mlir/lib/CAPI/Dialect/VectorPasses.cpp
A mlir/lib/CAPI/Dialect/WasmSSA.cpp
A mlir/lib/CAPI/Dialect/X86Vector.cpp
A mlir/lib/CAPI/Dialect/XeGPU.cpp
A mlir/lib/CAPI/Dialect/XeVM.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOpsAsAffine.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineLoopNormalize.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineParallelize.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineScalarReplacement.cpp
M mlir/lib/Dialect/Affine/Transforms/FoldMemRefAliasOps.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopCoalescing.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopUnrollAndJam.cpp
M mlir/lib/Dialect/Affine/Transforms/PipelineDataTransfer.cpp
M mlir/lib/Dialect/Affine/Transforms/RaiseMemrefDialect.cpp
M mlir/lib/Dialect/Affine/Transforms/SimplifyAffineMinMax.cpp
M mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/lib/RegisterAllPasses.cpp
M mlir/test/lib/Dialect/Affine/TestAffineLoopParametricTiling.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[MLIR] Add missing dialects to C API (#82190)
We are trying to make a wrapper of MLIR for Julia in
https://github.com/JuliaLabs/MLIR.jl, but some dialects are missing in
`libMLIR-C`. This PR adds them.
Commit: 4998280c3f112facece8a7ce10f2788c800b7cba
https://github.com/llvm/llvm-project/commit/4998280c3f112facece8a7ce10f2788c800b7cba
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Find reduction result VPInstruction from backedge value (NFC).
Split off from https://github.com/llvm/llvm-project/pull/174026. Make
the lookup of the reduction phi recipe/compute-reduction-result
VPInstruction independent of the latter having the reduction phi as
operand.
Commit: abee8a8e130fd3398e9fe44a46b6339a2a1adc2a
https://github.com/llvm/llvm-project/commit/abee8a8e130fd3398e9fe44a46b6339a2a1adc2a
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.h
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/assets/clang-doc-mustache.css
M clang-tools-extra/clang-doc/assets/navbar-template.mustache
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
M clang-tools-extra/test/clang-doc/json/class.cpp
M clang-tools-extra/test/clang-doc/json/nested-namespace.cpp
M clang-tools-extra/test/clang-doc/namespace.cpp
Log Message:
-----------
[clang-doc] Add a breadcrumb navigation bar (#173297)
This patch adds a breadcrumb navigation bar to the `<navbar>` element. Now, you can navigate between the different scopes of a record or namespace. This is done by keeping track of a Decl's parent Decl through its USR. That allows us to traverse the set of `Info`s through a directed graph during JSON generation to create `Context`s. A context is just a `Reference` that holds a relative path to a scope's file from a particular `Info`.
Commit: b646f3b9b1e1fadb5f9353474b139c00e70ea276
https://github.com/llvm/llvm-project/commit/b646f3b9b1e1fadb5f9353474b139c00e70ea276
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M mlir/lib/CAPI/Dialect/CMakeLists.txt
Log Message:
-----------
[mlir][CAPI][transform] fix linker after #82190 (#174866)
Commit: b026317b59d26b6150bc331e3f11bda522482ca8
https://github.com/llvm/llvm-project/commit/b026317b59d26b6150bc331e3f11bda522482ca8
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M lldb/source/DataFormatters/FormatterBytecode.cpp
Log Message:
-----------
[lldb] Match #undef to preceding #define (NFC) (#174821)
Commit: 13829dfaac414775fb932282b0cc92192aec08d6
https://github.com/llvm/llvm-project/commit/13829dfaac414775fb932282b0cc92192aec08d6
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M lldb/source/API/SBThread.cpp
Log Message:
-----------
[lldb] Add missing locks in SBThread methods (#174791)
Some of these methods are not acquiring the run lock prior to executing.
Commit: 77d6dd43c32992f983e85650b8de6f50b33e0a2c
https://github.com/llvm/llvm-project/commit/77d6dd43c32992f983e85650b8de6f50b33e0a2c
Author: Chandler Carruth <chandlerc at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
Log Message:
-----------
Add a filegroup containing _all_ sources to the libc build rules (#169155)
These rules already expose a filegroup containing the _dependencies_,
but that misses the source files directly in the top level library.
Without this filegroup, there isn't a way to access the source files
used by libcxx when building it, etc.
Commit: 491200482b10c80950aa8f521819e4eacdfa62f4
https://github.com/llvm/llvm-project/commit/491200482b10c80950aa8f521819e4eacdfa62f4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/test/CodeGen/X86/avx512-ext.ll
M llvm/test/CodeGen/X86/avx512-insert-extract.ll
M llvm/test/CodeGen/X86/avx512dqvl-intrinsics-upgrade.ll
M llvm/test/CodeGen/X86/masked_compressstore.ll
M llvm/test/CodeGen/X86/masked_expandload.ll
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
M llvm/test/CodeGen/X86/masked_gather_scatter_widen.ll
M llvm/test/CodeGen/X86/masked_load.ll
M llvm/test/CodeGen/X86/masked_store.ll
M llvm/test/CodeGen/X86/pr77459.ll
M llvm/test/CodeGen/X86/vector-reduce-and-bool.ll
M llvm/test/CodeGen/X86/vector-shuffle-v1.ll
Log Message:
-----------
Revert "[X86] Allow EVEX compression for mask registers" (#174872)
Reverts #171980 while investigating regressions reported on #174871
Commit: d815e8448fa42252a5d7434d881db1f60eb3147e
https://github.com/llvm/llvm-project/commit/d815e8448fa42252a5d7434d881db1f60eb3147e
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/test/CIR/CodeGen/aapcs-volatile-bitfields.c
M clang/test/CIR/CodeGen/assign-operator.cpp
M clang/test/CIR/CodeGen/binassign.c
M clang/test/CIR/CodeGen/comma.c
M clang/test/CIR/CodeGen/cxx-default-init.cpp
M clang/test/CIR/CodeGen/enum.cpp
M clang/test/CIR/CodeGen/finegrain-bitfield-access.cpp
M clang/test/CIR/CodeGen/struct.cpp
M clang/test/CIR/CodeGen/union.c
M clang/test/CIR/CodeGen/vla.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/xop-builtins.c
M clang/test/CIR/Transforms/canonicalize.cir
M clang/test/CIR/Transforms/switch.cir
Log Message:
-----------
[CIR] Implement simple folding for integer casts (#174861)
This extends the CastOp folder to handle integral casts between
different integer types. This only handles scalar values at this time.
This is in preparation for a change that will attempt to fold casts as
they are generated, but this change only performs the folding via the
cir-canonicalize pass.
Commit: dbd57dcb31511c8bdad558b7a851f5784dd4a32b
https://github.com/llvm/llvm-project/commit/dbd57dcb31511c8bdad558b7a851f5784dd4a32b
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M mlir/lib/CAPI/Dialect/CMakeLists.txt
Log Message:
-----------
[mlir][CAPI] fix linker again after #82190 (#174876)
Commit: bef98e95ab8325e80e954d23bfcb23f3db33f002
https://github.com/llvm/llvm-project/commit/bef98e95ab8325e80e954d23bfcb23f3db33f002
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[lldb][TypeSystemClang] Set access specifier for EnumConstantDecl's (#174865)
LLDB was already setting the access specifier on `EnumDecl`s
unconditionally to `AS_public`. But it wasn't doing so for the
`EnumConstantDecl`s. This triggered a Clang assertion during
auto-completion of expressions
(https://github.com/llvm/llvm-project/issues/171913).
Ideally the code-completion accessibility check would honor the
`AccessControl` language option, but that change is harder to
test/justify. Since this is a pretty straight-forward change I want to
land this before trying to do that.
There is no test coverage for this because it relies on the order in
which Clang decides to check the decls in scope for auto-completion,
which seems fragile. It's also consistent with how we handle access to
other decls in `TypeSystemClang`.
Fixes https://github.com/llvm/llvm-project/issues/171913
Commit: 94aa4f07a4d26c696136d40d90eca04595978bc5
https://github.com/llvm/llvm-project/commit/94aa4f07a4d26c696136d40d90eca04595978bc5
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port 0d23e3 (#174879)
This at least gets the build working. This does not make the C bindings
for all the dialects actually work.
Commit: 539cf92944421f66eb02316f4a9fc30ae0aecf36
https://github.com/llvm/llvm-project/commit/539cf92944421f66eb02316f4a9fc30ae0aecf36
Author: cmtice <cmtice at google.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/source/ValueObject/DILEval.cpp
M lldb/test/API/commands/frame/var-dil/basics/LocalVars/TestFrameVarDILLocalVars.py
A lldb/test/API/commands/frame/var-dil/expr/Casts/Makefile
A lldb/test/API/commands/frame/var-dil/expr/Casts/TestFrameVarDILCast.py
A lldb/test/API/commands/frame/var-dil/expr/Casts/main.cpp
Log Message:
-----------
[LLDB] Add type casting to DIL, part 2 or 3 (#170332)
This PR implements the actual type casting part. With this, type casting
to builtin types should work. The third PR, which will be put up after
this one is merged, will expand the type name parsing to allow casting
to user-defined types.
Commit: 3911c6a2535736a365dd28163dd18daaa4398f74
https://github.com/llvm/llvm-project/commit/3911c6a2535736a365dd28163dd18daaa4398f74
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/tools/driver/cc1gen_reproducer_main.cpp
M clang/tools/driver/driver.cpp
Log Message:
-----------
[clang] Allow enabling sandbox for direct `-cc1` invocations (#174653)
This PR enables the FS sandbox for direct `clang -cc1` invocations.
https://github.com/llvm/llvm-project/pull/165350 unintentionally
implemented the sandbox only for the code path where `clang -cc1` gets
invoked after being expanded from a driver command line, which reduced
the expected test coverage.
Commit: b326c324e46bb4926d11569bd5eefd73d0f04e2e
https://github.com/llvm/llvm-project/commit/b326c324e46bb4926d11569bd5eefd73d0f04e2e
Author: Vishruth Thimmaiah <vishruththimmaiah at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/IR/invalid-struct.cir
M clang/test/CIR/IR/struct.cir
A clang/test/CIR/Lowering/struct.cir
Log Message:
-----------
[CIR] Upstream ExtractMemberOp (#173512)
This PR upstreams `ExtractMemberOp`.
Required for #172554.
---------
Signed-off-by: vishruth-thimmaiah <vishruththimmaiah at gmail.com>
Commit: 995f27bdfc4cd901ef806fdfca96e4f87cad8429
https://github.com/llvm/llvm-project/commit/995f27bdfc4cd901ef806fdfca96e4f87cad8429
Author: cmtice <cmtice at google.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M lldb/test/API/commands/frame/var-dil/basics/LocalVars/TestFrameVarDILLocalVars.py
Log Message:
-----------
[LLDB] Fix buildbot breakage (#174886)
Remove DIL type-cast test that's failing on aarch64. Test makes
assumption that's not valid on that architecture.
Commit: ed45b000fc08f181d787c6fccb566cba715788f2
https://github.com/llvm/llvm-project/commit/ed45b000fc08f181d787c6fccb566cba715788f2
Author: Priyanshu Kumar <10b.priyanshu at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
A clang/test/CIR/CodeGenBuiltins/X86/avx512vlbf16-builtins.c
Log Message:
-----------
[CIR][X86]Implement handling for convert-half builtins (#173143)
Related to: #167765
Commit: 335eb330918543f4ee2036b3c6b02ef9417edf28
https://github.com/llvm/llvm-project/commit/335eb330918543f4ee2036b3c6b02ef9417edf28
Author: Max Kudryavtsev <44215372+max-ku at users.noreply.github.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/utils/git/requirements_upload_release.txt
Log Message:
-----------
[llvm][utils] Bump urllib to 2.6.3 (#174880)
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.2.3 to 2.6.3
to address
CVE-2025-66418 and CVE-2025-66471 vulnerabilities
Commit: 90c03cb13652708aeb25bb0859f443c32f98e4e0
https://github.com/llvm/llvm-project/commit/90c03cb13652708aeb25bb0859f443c32f98e4e0
Author: John Harrison <harjohn at google.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
Log Message:
-----------
[lldb-dap] Add an introductory message on startup. (#170795)
This adds an introductory message to try to inform users on how the
debug console works and adds a little more information on the current
target/process, similiar to the lldb driver.
Here is an example of the introduction:
```
To get started with the debug console try "<variable>", "<lldb-cmd>" or "help [<lldb-cmd>]".
For more information visit https://lldb.llvm.org/use/lldbdap.html#debug-console.
Executable binary set to 'a.out' (arm64-apple-macosx15.0.0).
Attached to process 1234.
```
Commit: 0bf4df8b1eaf46553b6a1c3348c1eec45bc76b91
https://github.com/llvm/llvm-project/commit/0bf4df8b1eaf46553b6a1c3348c1eec45bc76b91
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M flang/include/flang/Optimizer/Passes/CommandLineOpts.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Passes/CommandLineOpts.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
M flang/test/Analysis/AliasAnalysis/gen_mod_ref_test.py
M flang/test/Analysis/AliasAnalysis/modref-call-dummies.f90
M flang/test/Analysis/AliasAnalysis/modref-call-globals.f90
A flang/test/Analysis/AliasAnalysis/modref-call-recursive.fir
A flang/test/Transforms/licm.fir
Log Message:
-----------
[flang] Added LoopInvariantCodeMotion pass for [HL]FIR. (#173438)
The new pass allows hoisting some `fir.load` operations early
in MLIR. For example, many descriptor load might be hoisted
out of the loops, though it does not make much difference
in performance, because LLVM is able to optimize such loads
(which are lowered as `llvm.memcpy` into temporary descriptors),
given that proper TBAA information is generated by Flang.
Further hoisting improvements are possible in [HL]FIR LICM,
e.g. getting proper mod-ref results for Fortran runtime calls
may allow hoisting loads from global variables, which LLVM
cannot do due to lack of alias information.
This patch also contains improvements for FIR mod-ref analysis:
We may recurse into `HasRecursiveMemoryEffects` operations and
use `getModRef` recursively to get more precise results for
regions with `fir.call` operations.
This patch also modifies `AliasAnalysis` to set the instantiation
point for cases where the tracked data is accessed through a load
from `!fir.ref<!fir.box<>>`: without this change the mod-ref
analysis was not able to recognize user pointer/allocatable variables.
Commit: 1171e30cb01c00a048ec0d82f20e57213842f505
https://github.com/llvm/llvm-project/commit/1171e30cb01c00a048ec0d82f20e57213842f505
Author: hanbeom <kese111 at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/test/CodeGen/WebAssembly/simd-load-store-alignment.ll
M llvm/test/CodeGen/WebAssembly/simd-load-zero-offset.ll
Log Message:
-----------
[WebAssembly] Support v128.load{32,64}_zero for f32 and f64 types (#172291)
This patch extends the `load_zero` pattern matching to
support floating-point vector types (`v4f32` and `v2f64`).
Previously, the optimization to generate `v128.load32_zero` and
`v128.load64_zero` was only enabled for integer types
(`v4i32` and `v2i64`). This change adds the necessary TableGen
patterns to correctly match scalar floating-point loads inserted
into zero-initialized vectors.
Commit: a3c9b72651178e7903c9c4db791b676ab91442a9
https://github.com/llvm/llvm-project/commit/a3c9b72651178e7903c9c4db791b676ab91442a9
Author: hanbeom <kese111 at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Analysis/Loads.cpp
M llvm/test/Transforms/GVN/condprop.ll
M llvm/test/Transforms/InstSimplify/select-icmp.ll
Log Message:
-----------
[IR] Fix canReplacePointersIfEqual to properly validate vector pointers (#174142)
Previously, `canReplacePointersIfEqual` unconditionally returned
`true` for vectors of pointers (e.g., `<2 x ptr>`) because it only
checked for scalar pointer types.
This resulted in a failure to perform appropriate verification for
these types. This patch fixes the logic to ensure they are properly
validated.
Fixes https://github.com/llvm/llvm-project/issues/174045
Commit: 4bd5ef76addc18ad1405230ffab76d3542fc215f
https://github.com/llvm/llvm-project/commit/4bd5ef76addc18ad1405230ffab76d3542fc215f
Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
Log Message:
-----------
[RISC-V][ELF] Move emitNoteGnuPropertySection to RISCVTargetELFStreamer. [NFCI] (#174890)
This function is invoked only for ELF targets, therefore it has been
moved to the ELF-specific streamer.
An assertion has been added to catch its invocations outside of an
invocation that targets ELF.
Commit: 8ae3fc227b9937b8d513af0ab80330e02241e77e
https://github.com/llvm/llvm-project/commit/8ae3fc227b9937b8d513af0ab80330e02241e77e
Author: Jim Lin <jim at andestech.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/xqcibi-redundant-copy-elim.ll
Log Message:
-----------
[RISCV] Simplify testcases in xqcibi-redundant-copy-elim.ll. NFC. (#174695)
Remove unneeded load instructions and only remain one comparison
instruction.
Commit: 5185f07a3754691d123531cccbebe31a98a9dbf6
https://github.com/llvm/llvm-project/commit/5185f07a3754691d123531cccbebe31a98a9dbf6
Author: Jim Lin <jim at andestech.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRedundantCopyElimination.cpp
A llvm/test/CodeGen/RISCV/xandesperf-redundant-copy-elim.ll
Log Message:
-----------
[RISCV] Add support for XAndesPerf branch on immediate in RISCVRedundantCopyElimination (#174706)
This patch is like what Xqcibi did in
https://github.com/llvm/llvm-project/pull/174358.
Commit: 278946408e70f84df03d16044acf8d396a1617ea
https://github.com/llvm/llvm-project/commit/278946408e70f84df03d16044acf8d396a1617ea
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
A llvm/test/Analysis/CostModel/RISCV/constant-pool.ll
Log Message:
-----------
[RISCV] Improve cost modeling of RISCVTTIImpl::getConstantPoolLoadCost() (#174438)
Some machines are able to make use of AUIPC + ADDI or LUI + ADDI fusion, make sure to consider that in the cost model for `RISCVTTIImpl::getConstantPoolLoadCost()`.
Commit: c99db7136ed139e933688272171e084d9b3d6a16
https://github.com/llvm/llvm-project/commit/c99db7136ed139e933688272171e084d9b3d6a16
Author: Derek Schuff <dschuff at chromium.org>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/test/CodeGen/WebAssembly/libcalls.ll
Log Message:
-----------
[WebAssembly] Disable explicit-locals in the libcalls.ll test. NFC (#174811)
The keep-registers mode isn't super useful without disabling
explicit-locals,
as the local gets/sets are irrelevant noise in most cases.
Switching this test makes the output much more concise and will make
upcoming
changes easier to review.
Commit: ff73ccaac693511cf82ff15e0f77d8d4a72e5cd8
https://github.com/llvm/llvm-project/commit/ff73ccaac693511cf82ff15e0f77d8d4a72e5cd8
Author: cmtice <cmtice at google.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M lldb/test/API/commands/frame/var-dil/expr/Casts/TestFrameVarDILCast.py
Log Message:
-----------
[LLDB] Tentative fix for lldb-arm-ubuntu buildbot. (#174893)
Not sure if this will fix the problem because I don't have a 32-bit arm
machine to test with.
Commit: 777017ea867ecb7d73aa896bead2c4590d507ba5
https://github.com/llvm/llvm-project/commit/777017ea867ecb7d73aa896bead2c4590d507ba5
Author: Pradeep Kumar <pradeepku at nvidia.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/test/CodeGen/NVPTX/clusterlaunchcontrol-multicast.ll
M llvm/test/CodeGen/NVPTX/redux-sync-f32.ll
M llvm/test/CodeGen/NVPTX/setmaxnreg-sm100a.ll
A llvm/test/CodeGen/NVPTX/tcgen05-mma-block-scale-ptx88-aa.ll
M llvm/test/CodeGen/NVPTX/tcgen05-mma-block-scale-ptx88.ll
A llvm/test/CodeGen/NVPTX/tcgen05-mma-disable-output-lane-i8.ll
M llvm/test/CodeGen/NVPTX/tcgen05-mma-disable-output-lane.ll
A llvm/test/CodeGen/NVPTX/tcgen05-mma-i8.ll
M llvm/test/CodeGen/NVPTX/tcgen05-mma-scale-d.ll
A llvm/test/CodeGen/NVPTX/tcgen05-mma-ws-i8.ll
M llvm/test/CodeGen/NVPTX/tcgen05-mma-ws.ll
M llvm/test/CodeGen/NVPTX/tcgen05-mma.ll
M llvm/test/CodeGen/NVPTX/wmma-ptx78-sm90.py
M llvm/test/CodeGen/NVPTX/wmma-ptx86-sm100a.py
M llvm/test/CodeGen/NVPTX/wmma-ptx86-sm101a.py
M llvm/test/CodeGen/NVPTX/wmma-ptx86-sm120a.py
M llvm/test/CodeGen/NVPTX/wmma-ptx87-sm120a.py
A llvm/test/CodeGen/NVPTX/wmma-ptx88-sm100f.py
M llvm/test/CodeGen/NVPTX/wmma-ptx88-sm120a.py
A llvm/test/CodeGen/NVPTX/wmma-ptx88-sm120f.py
A llvm/test/CodeGen/NVPTX/wmma-ptx90-sm110f.py
M llvm/test/CodeGen/NVPTX/wmma.py
Log Message:
-----------
[LLVM][NVPTX] Enable family specific support for a few intrinsics (#173268)
This commit adds support for family specific support for the following
intrinsics:
- ldmatrix
- stmatrix
- mma.block_scale, mma.sp.block_scale
- redux.sync
- cvt.rs
- clusterlaunchcontrol
- setmaxnreg
- tcgen05.mma
Removed `hasTcgen05Instructions` function in the favour of `hasTcgen05InstSupport` Updated wmma.py script with family specific support and added new tests
Commit: 84cc15344ff804e010d16ee9ac0b2b180ea88701
https://github.com/llvm/llvm-project/commit/84cc15344ff804e010d16ee9ac0b2b180ea88701
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/test/Transforms/licm.fir
Log Message:
-----------
[flang] Make fir.result Pure operation. (#173508)
This allows speculating recursively speculatable operations
containing `fir.result`. Note that making it Pure does not allow
speculating `fir.result` itself from its containing operation,
since it is a terminator.
Commit: c194ccff406b4043482fe1ab978a4842884c4026
https://github.com/llvm/llvm-project/commit/c194ccff406b4043482fe1ab978a4842884c4026
Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
Log Message:
-----------
[RISC-V] Ensure MCTargetStreamer is initialized. (#174800)
Fixes a failure on llc for ubsan builds:
../lib/Target/RISCV/RISCVAsmPrinter.cpp:552:7: runtime error: downcast
of null pointer of type 'RISCVTargetStreamer'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior
../lib/Target/RISCV/RISCVAsmPrinter.cpp:552:7
Commit: ec51fd24c2a99f99a8db6f1ec8f6c7cbcf461981
https://github.com/llvm/llvm-project/commit/ec51fd24c2a99f99a8db6f1ec8f6c7cbcf461981
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[mlir][vector] Emit error when `kind` attribute is not a CombiningKind (#173659)
This PR fixes a crash by validating the type of the `kind` attribute.
For `vector.contract` and `vector.outerproduct`, the verifier now emits
an error when `kind` is not a CombiningKindAttr. Fixes #173555.
Commit: 8da7c05933bd6056320479e074050b55ccd34aaa
https://github.com/llvm/llvm-project/commit/8da7c05933bd6056320479e074050b55ccd34aaa
Author: valadaptive <79560998+valadaptive at users.noreply.github.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
A llvm/test/Transforms/InstCombine/WebAssembly/fold-swizzle.ll
Log Message:
-----------
[WebAssembly] Fold constant `i8x16.swizzle` and `i8x16.relaxed.swizzle` to `shufflevector` (#169110)
Resolves #169058.
This adds ~~an InstCombine pass~~ a TTI hook to the WebAssembly backend
that folds `i8x16.swizzle` and `i8x16.relaxed.swizzle` operations to
`shufflevector` operations if their mask operands are constant.
This is mainly useful for abstractions over the raw intrinsics--for
instance, in architecture-generic SIMD code that may not be able to
expose the constant shuffles due to type system limitations.
I took most of this from the x86 backend (in particular,
`simplifyX86vpermilvar` in `X86InstCombineIntrinsic`), and adapted it
for the WebAssembly backend. There wasn't any previous
`instCombineIntrinsic` method on the WebAssembly `TargetTransformInfo`,
so I added it. Right now, this swizzle optimization is the only one it
performs.
As I noted in the transform itself, the "relaxed" swizzle actually has
stricter preconditions than the non-relaxed one. If a non-negative but
still out-of-bounds index is provided, the "relaxed" swizzle can choose
between returning 0 and the lane at the index modulo 16. However, it
must make the same choice every time, and we don't know which choice the
runtime will make, so we can't constant-fold it.
The regression tests were mostly generated by Claude and adapted a bit
by me (I tried to follow the [InstCombine contributor
guide](https://llvm.org/docs/InstCombineContributorGuide.html#tests)).
There was previously no WebAssembly subdirectory within the InstCombine
tests, so I created that too; as of now, the swizzle fold test is the
only file in it. Everything else was written by myself (well, partly
copy-pasted from the x86 backend).
I'm not sure how to write an Alive2 test for this; I can't find any
examples where the input is an arbitrary constant.
Commit: 9519d52512a156d2ccd63075e650903c4318f92d
https://github.com/llvm/llvm-project/commit/9519d52512a156d2ccd63075e650903c4318f92d
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/SPIRV/instructions/nested-composites.ll
Log Message:
-----------
[SPIRV] Handle aggregate arguments to `spv_store` (#172348)
This patch handles the special case where an extract value yields an
aggregate result, which then is used as an argument to a store. The
SPIRV BE uses special intrinsics (`spv_extractv` and `spv_store`) to
represent these through IRTranslator, however this creates a problem:
`spv_store` is called as a function, and IRTranslator cannot handle
arguments that take more than a vreg. For other functions, the aggregate
argument replacement pass would have solved things, but it does not
apply here. Hence, we apply the same mutate-into-Int32 solution here
when dealing with stores, and restore the extract value's type (which we
have available as a ValueAttr) during instruction selection.
Commit: de3e9b04178cc8fca77ef6396ba604f47ffdeb6f
https://github.com/llvm/llvm-project/commit/de3e9b04178cc8fca77ef6396ba604f47ffdeb6f
Author: Liao Chunyu <chunyu at iscas.ac.cn>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vsplats-zfa.ll
Log Message:
-----------
[RISCV] Fold (fma (splat (fneg X)), Y, Z) -> (fma (fneg (splat X)), Y, Z) (#173808)
We use fli+fneg to generate negative float, eliminate the fneg for fma.
Fold fma to vfnmsac.vf,vfnmsub.vf, vfnmacc.vf, vfnmadd.vf
---------
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: 013c04a58cfe0d710dea150396031eaba34b8620
https://github.com/llvm/llvm-project/commit/013c04a58cfe0d710dea150396031eaba34b8620
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Make CAPIIR depend on TransformsPassIncGen (#174902)
CAPIIR includes this in some of its source files, so we need to ensure
the header is around.
Commit: b3564b2f5d845a53e1001307a31889f0ed5acfa7
https://github.com/llvm/llvm-project/commit/b3564b2f5d845a53e1001307a31889f0ed5acfa7
Author: Himadhith <79003240+Himadhith at users.noreply.github.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/test/CodeGen/PowerPC/optimize-vector-not-equal.ll
Log Message:
-----------
[NFC][PowerPC] fix IR to be splat and not zeroinitializer (#174699)
IR should be a splat of 7 as this compares vector of elements with 7
(`vec[i]!=7`). Having `zeroinitializer` goes against this comparison.
Co-authored-by: himadhith <himadhith.v at ibm.com>
Commit: 7873abb0a0b8b02dbb72cdac2440ec22e91c3e67
https://github.com/llvm/llvm-project/commit/7873abb0a0b8b02dbb72cdac2440ec22e91c3e67
Author: Twice <twice at apache.org>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M mlir/include/mlir/Bindings/Python/IRCore.h
M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/lib/Bindings/Python/Rewrite.cpp
Log Message:
-----------
[MLIR][Python][NFC] Use enum class instead of enum (#174792)
This PR replace `enum`s with `enum class`es in Python bindings. No
functional change.
Commit: df2c0a7d642e452cab98d26c2fdd53277a072b76
https://github.com/llvm/llvm-project/commit/df2c0a7d642e452cab98d26c2fdd53277a072b76
Author: Petr Hosek <phosek at google.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M llvm/utils/git-llvm-push
Log Message:
-----------
[llvm][utils] Make GitHubAPI methods pass around PR number (#174860)
This avoids repeatedly reparsing the URL to extract the number.
Commit: f81363314cb14d608687d61cff9bbfe50ae70633
https://github.com/llvm/llvm-project/commit/f81363314cb14d608687d61cff9bbfe50ae70633
Author: Koakuma <koachan at protonmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/SparcInstrAliases.td
M llvm/lib/Target/Sparc/SparcInstrInfo.td
A llvm/test/MC/Sparc/sparc-natural-instructions.s
Log Message:
-----------
[SPARC][IAS] Implement Solaris Natural Instruction extension (#170794)
We match GCC's coverage of the extension, that is, everything except
`setn` and `setnhi`.
See also: https://docs.oracle.com/cd/E53394_01/html/E54833/gmael.html
Commit: 7565bbe1473873f257dd0be4e349c49c16396711
https://github.com/llvm/llvm-project/commit/7565bbe1473873f257dd0be4e349c49c16396711
Author: valadaptive <79560998+valadaptive at users.noreply.github.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
A llvm/test/Transforms/InstCombine/WebAssembly/lit.local.cfg
Log Message:
-----------
[WebAssembly] Skip WASM-specific InstCombine tests properly (#174900)
Un-breaks the build after
https://github.com/llvm/llvm-project/pull/169110.
Commit: 4da37d3295fbd0fd28b903812ba48025e267260f
https://github.com/llvm/llvm-project/commit/4da37d3295fbd0fd28b903812ba48025e267260f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-01-08 (Thu, 08 Jan 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/test/AST/ByteCode/unions.cpp
Log Message:
-----------
[clang][bytecode] Check for non-trivial default ctors in unions (#174745)
When activating a union member, none of the unions in that path can have
a non-trivial constructor. Unfortunately, this is something we have to
do when evaluating the bytecode, not while compiling it.
Commit: 6ae4c0cddea4836bacbe5a938703053d3f2eb01e
https://github.com/llvm/llvm-project/commit/6ae4c0cddea4836bacbe5a938703053d3f2eb01e
Author: Jim Lin <jim at andestech.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/zibi.ll
Log Message:
-----------
[RISCV] Simplify testcases in zibi.ll. NFC.
Remove unneeded load instructions.
Commit: e40e290f55fe5b64c406e9b03a73b190d855bfe3
https://github.com/llvm/llvm-project/commit/e40e290f55fe5b64c406e9b03a73b190d855bfe3
Author: A. Jiang <de34 at live.cn>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M libcxx/docs/CodingGuidelines.rst
M libcxx/include/__ios/fpos.h
M libcxx/include/ios
M libcxx/test/libcxx/input.output/iostreams.base/nodiscard.verify.cpp
Log Message:
-----------
[libc++] Revert undesired `[[nodiscard]]` added to conversion functions (#173658)
Because
- no one should use them in explicit function call forms, and
- value-discarding casts to non-`void` are already diagnosed by Clang.
Also add explanation for this to `CodingGuidelines.rst`.
Commit: fb7e80570d0beb2f6eb252e53aa0ba62d5c83ab0
https://github.com/llvm/llvm-project/commit/fb7e80570d0beb2f6eb252e53aa0ba62d5c83ab0
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/assets/class-template.mustache
M clang-tools-extra/test/clang-doc/json/class.cpp
M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
Log Message:
-----------
[clang-doc] Add protected members to class template (#174883)
There were already tags for protected members in the Mustache template,
but didn't use the proper tags for the newer JSON scheme.
Commit: 140e1de5fa70aa1b8a470dee2c2c5674fee6e99e
https://github.com/llvm/llvm-project/commit/140e1de5fa70aa1b8a470dee2c2c5674fee6e99e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-07 (Wed, 07 Jan 2026)
Changed paths:
M clang/lib/AST/ItaniumMangle.cpp
M clang/test/CodeGenCXX/riscv-mangle-rvv-fixed-vectors.cpp
Log Message:
-----------
[RISCV] Fix name mangling for i64 vectors with riscv_rvv_vector_bits on RV32. (#174703)
On RV32, i64 elements have type 'long long'.
Fixes #174613.
Commit: d25b9b224c60d20d947a366924605889794304c2
https://github.com/llvm/llvm-project/commit/d25b9b224c60d20d947a366924605889794304c2
Author: Lukas Sommer <lukas.sommer at amd.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
Log Message:
-----------
[mlir][Linalg] Drop unit extent dim in non-trivial expressions (#173873)
The current implementation does not drop unit extent dimension if that
dimension is indexed by a non-trivial affine expression (i.e., not a
single dimension or constant 0) on the first application of the
transformation. However, it is possible to drop such dimensions if all
dimensions involved in the affine expression are going to be dropped. So
far, this required repeated application of the transformation, with the
changes in this PR, the dimensions are dropped with a single application
of the transformation.
Signed-off-by: Lukas Sommer <lukas.sommer at amd.com>
Commit: 0b819a62be41c4acabc5f097c085512dc1827143
https://github.com/llvm/llvm-project/commit/0b819a62be41c4acabc5f097c085512dc1827143
Author: Jim Lin <jim at andestech.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfabs-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfcopysign-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfneg-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
Log Message:
-----------
[RISCV] Simplify the RUN lines for ZVFH/ZVFHMIN. NFC.
ZVFH and ZVFHMIN have the same code generation here.
Commit: 39e9d57f458ca5eb17c0158b16deaa5cecf0fc50
https://github.com/llvm/llvm-project/commit/39e9d57f458ca5eb17c0158b16deaa5cecf0fc50
Author: Jim Lin <jim at andestech.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
Log Message:
-----------
[RISCV] Indent body of let scopes in RISCVInstrInfoXAndes.td. NFC.
For more readable.
Commit: bf0c216d99af4a9d3b8f14c6430561545528d929
https://github.com/llvm/llvm-project/commit/bf0c216d99af4a9d3b8f14c6430561545528d929
Author: Jim Lin <jim at andestech.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
Log Message:
-----------
[RISCV] Add missing comment at end of let scope in RISCVInstrInfoXAndes.td. NFC.
Commit: 9ab9c1a1e2fb70eba5e45b2018e6f3d62e3f8a14
https://github.com/llvm/llvm-project/commit/9ab9c1a1e2fb70eba5e45b2018e6f3d62e3f8a14
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVLoadStoreOptimizer.cpp
A llvm/test/CodeGen/RISCV/xqcilsm-lwmi-swmi-multiple.mir
M llvm/test/CodeGen/RISCV/xqcilsm-memset.ll
Log Message:
-----------
[RISCV] Generate Xqcilsm multi-word load/store instructions for three or more words (#174789)
This patch adds support for generating the `Xqcilsm` multi-word
load/store instructions for three or more words. We add a new function
in the `RISCVLoadStoreOptimizer` pass for doing this separate from the
one that does load store pairing. The reason for this is that the
implementation currently only looks for consecutive loads and stores to
merge where as the pairing logic has no such restriction. We also only
traverse the basic block top down for now while looking for instructions
to merge.
Commit: 4d2563a7f635c577e4072bf57d4d0a5d290361fd
https://github.com/llvm/llvm-project/commit/4d2563a7f635c577e4072bf57d4d0a5d290361fd
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll
Log Message:
-----------
[RISCV][llvm] Support bitwise operation for XLEN fixed vectors (#174598)
This doesn't require p extension since it's just normal scalar
instructions, but they're normally used with other p extension
instructions so I just put them together.
Commit: 1fe27df5a9b9a61aabd4b78fedba9800aa7ad993
https://github.com/llvm/llvm-project/commit/1fe27df5a9b9a61aabd4b78fedba9800aa7ad993
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll
Log Message:
-----------
[RISCV][llvm] Support mul codegen for P extension (#174793)
P extension doesn't have native support of mul low instruction which
aligns llvm's mul operation semantic. We use vnsrl(pwmul(a, b), 0) in
rv32 to emulate mul low and ppaire(pmul_b00(a, b), pmul_b11(a, b)) since
pwmul and pnsrl is only available in rv32.
Commit: f33b42dc4eefd90e9535ef86183bb50c8a739e44
https://github.com/llvm/llvm-project/commit/f33b42dc4eefd90e9535ef86183bb50c8a739e44
Author: Matthias Springer <me at m-sp.org>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.h
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
M mlir/test/Dialect/SCF/invalid.mlir
Log Message:
-----------
[mlir][Interfaces] Simplify and improve errors of `RegionBranchOpInterface` verifier (#174805)
Simplify the `RegionBranchOpInterface` verifier by utilizing new API
functions such as `getAllRegionBranchPoints`.
Also improve the error message by using the same terms that are used in
the interface definition: `region branch point`, `region successor`,
`successor operand`, `successor input`.
Commit: 16447cc4a8335407c2b71e050e7ebbecf664898e
https://github.com/llvm/llvm-project/commit/16447cc4a8335407c2b71e050e7ebbecf664898e
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPushConstantAccess.cpp
Log Message:
-----------
[NFC][SPIRV] Small changes for SPIRVPushConstantAccess (#174734)
This patch consists of 3 NFC changes:
* Do not always report _changed_, report it only when something was
modified
* Replace loop with `replaceUsesOfWith`
* Instead of using a temporary vector, use `make_early_inc_range()` to
pre-increment the iterator before erasing the current element.
Commit: 213e2518524aa36b3f71942d7cc1b72d740b3fee
https://github.com/llvm/llvm-project/commit/213e2518524aa36b3f71942d7cc1b72d740b3fee
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll
Log Message:
-----------
[RISCV][llvm] Support div/rem codegen for P extension (#174801)
P extension doesn't have native instruction support for div/rem, so we
need to scalarize the code.
Commit: fdc393f9ee12c4069f9f04374e62f5c36a617298
https://github.com/llvm/llvm-project/commit/fdc393f9ee12c4069f9f04374e62f5c36a617298
Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/test/CodeGen/Mips/divrem-inline-asm.ll
M llvm/test/MC/Mips/macro-ddiv.s
M llvm/test/MC/Mips/macro-ddivu.s
M llvm/test/MC/Mips/macro-div.s
M llvm/test/MC/Mips/macro-divu.s
M llvm/test/MC/Mips/macro-drem.s
M llvm/test/MC/Mips/macro-dremu.s
M llvm/test/MC/Mips/macro-rem.s
M llvm/test/MC/Mips/macro-remu.s
Log Message:
-----------
MIPS: expandDivRem add a NOP after BNE (#174908)
If we compile a C code or IR file directly, the delay slot of BNE emit
by us won't be filled with a NOP.
We should fill it ourself, otherwise, the break instruction may be used
as the delay slot.
Commit: 8fc3f6ddb8bae266dc9bef2d19a4fb47a5b92c5b
https://github.com/llvm/llvm-project/commit/8fc3f6ddb8bae266dc9bef2d19a4fb47a5b92c5b
Author: Haibo Jiang <jianghaibo9 at huawei.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
M bolt/runtime/instr.cpp
Log Message:
-----------
[BOLT] Add option instrumentation-max-size for bump allocator (#174716)
While the current max memory size is sufficient for most binaries, a few
binaries may encouter insufficient allocated memory space.
Allow specify the max memory size of the instrumentation bump allocator.
Commit: 6e751b05954b290c8ea7b6eb613548f6e7698db6
https://github.com/llvm/llvm-project/commit/6e751b05954b290c8ea7b6eb613548f6e7698db6
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
A clang/test/CodeGen/AArch64/sve2p2-intrinsics/acle_sve_rintx.c
M clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_LP_sve2p2_OR_sme2p2_RP___sme_AND_LP_sve2p2_OR_sme2p2_RP.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/sve2p2-intrinsics-fp-arith.ll
Log Message:
-----------
[Clang][LLVM][AArch64]Add support for svrint{32|64}{z|x} intrinsics (#169661)
This patch add supports in Clang for these assembly intrinsics:
FRINT32X
FRINT32Z
FRINT64X
FRINT64Z
By adding support for these intrinsics:
// Variant is available for _f64
svfloat32_t svrint32x[_f32]_z(svbool_t pg, svfloat32_t zn); // Variant
is available for _f64
svfloat32_t svrint32x[_f32]_x(svbool_t pg, svfloat32_t zn); // Variant
is available for _f64
svfloat32_t svrint32x[_f32]_m(svfloat32_t inactive, svbool_t pg,
svfloat32_t zn);
// Variant is available for _f64
svfloat32_t svrint32z[_f32]_z(svbool_t pg, svfloat32_t zn); // Variant
is available for _f64
svfloat32_t svrint32z[_f32]_x(svbool_t pg, svfloat32_t zn); // Variant
is available for _f64
svfloat32_t svrint32z[_f32]_m(svfloat32_t inactive, svbool_t pg,
svfloat32_t zn);
// Variant is available for _f64
svfloat32_t svrint64x[_f32]_z(svbool_t pg, svfloat32_t zn); // Variant
is available for _f64
svfloat32_t svrint64x[_f32]_x(svbool_t pg, svfloat32_t zn); // Variant
is available for _f64
svfloat32_t svrint64x[_f32]_m(svfloat32_t inactive, svbool_t pg,
svfloat32_t zn);
// Variant is available for _f64
svfloat32_t svrint64z[_f32]_z(svbool_t pg, svfloat32_t zn); // Variant
is available for _f64
svfloat32_t svrint64z[_f32]_x(svbool_t pg, svfloat32_t zn); // Variant
is available for _f64
svfloat32_t svrint64z[_f32]_m(svfloat32_t inactive, svbool_t pg,
svfloat32_t zn);
```
according to the ACLE[1]
[1]https://github.com/ARM-software/acle/pull/412
Commit: ebae68849258a91e98434d46e52ba1fa15704578
https://github.com/llvm/llvm-project/commit/ebae68849258a91e98434d46e52ba1fa15704578
Author: David Green <david.green at arm.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M flang/lib/Frontend/CompilerInstance.cpp
A flang/test/Driver/veclib-frem.f90
M llvm/include/llvm/Frontend/Driver/CodeGenOptions.h
M llvm/lib/Frontend/Driver/CodeGenOptions.cpp
Log Message:
-----------
[Flang][VecLib] Ensure TargetMachine->VecLib is set for flang invocations. (#174209)
This ensures that both the midend and backend see consistent values for
VecLib, so that for example frem can be selected correctly.
The test involves running the front-end, midend (to vectorize) and
backend to prove it can lower the vector frem call.
Fixes #172483
Commit: 3134b9fbc5c1ec9a653684228e1ca547b3a29a77
https://github.com/llvm/llvm-project/commit/3134b9fbc5c1ec9a653684228e1ca547b3a29a77
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[lldb][TypeSystemClang] Fix nullptr check when creating enumerator decls
There is no point in checking the `enumerator_decl` because it was just created with `CreateDeserialized` above (which would only fail if allocation failed, but we don't do those checks usually). We dereference it unconditionally above this check anyway.
What this intended to check was probably `enum_decl`, because we derefernce it for the first time right after the check. This patch changes the nullptr check to `enum_decl`.
No test coverage because this should be pretty uncontroversial.
Note, I just saw this while auditing the code, I didn't actually run into a crash.
Commit: a8f51a3ad637622af4e82cb228c11ad9a07b2ddc
https://github.com/llvm/llvm-project/commit/a8f51a3ad637622af4e82cb228c11ad9a07b2ddc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
ValueTracking: Use fcmp parent function to query denormal mode (#174929)
Avoid depending on the SimplifyQuery's context instruction,
which may be null to query the function context to use for the
denormal mode. This avoids crashes in future patches.
Commit: 78f1de803afa78d430a8904f960834a5f182017c
https://github.com/llvm/llvm-project/commit/78f1de803afa78d430a8904f960834a5f182017c
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Strip iterator-invalidation guard in findHeaderMask (NFC) (#174930)
It is unnecessary, as the users are never modified.
Commit: 1ca6d27d07388cd7fc226ccff3d336cca19fa995
https://github.com/llvm/llvm-project/commit/1ca6d27d07388cd7fc226ccff3d336cca19fa995
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
A lldb/source/Plugins/ObjectContainer/Big-Archive/CMakeLists.txt
A lldb/source/Plugins/ObjectContainer/Big-Archive/ObjectContainerBigArchive.cpp
A lldb/source/Plugins/ObjectContainer/Big-Archive/ObjectContainerBigArchive.h
M lldb/source/Plugins/ObjectContainer/CMakeLists.txt
Log Message:
-----------
[lldb][AIX] Base files for ObjectContainerBigArchive (#173218)
This PR is in reference to porting LLDB on AIX. Ref discusssions: [llvm
discourse](https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640) and
https://github.com/llvm/llvm-project/issues/101657.
Complete changes together in this draft:
- https://github.com/llvm/llvm-project/pull/102601
**Description:**
Adding skeleton with base files for ObjectContainer archive for AIX.
Ref Doc: [AIX ar file
format-big](https://www.ibm.com/docs/en/aix/7.3.0?topic=formats-ar-file-format-big)
Commit: efe6aaeeed0fcfcc101b3df61a041a54a3722374
https://github.com/llvm/llvm-project/commit/efe6aaeeed0fcfcc101b3df61a041a54a3722374
Author: Hemang Gadhavi <hemang.gadhavi at ibm.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M lldb/source/Plugins/Process/AIX/CMakeLists.txt
A lldb/source/Plugins/Process/AIX/NativeRegisterContextAIX_ppc64.cpp
A lldb/source/Plugins/Process/AIX/NativeRegisterContextAIX_ppc64.h
M lldb/source/Plugins/Process/Utility/RegisterInfos_ppc64.h
M lldb/source/Plugins/Process/Utility/lldb-ppc64-register-enums.h
M lldb/source/Utility/PPC64_DWARF_Registers.h
Log Message:
-----------
[lldb][AIX] Added base file for AIX Register Context PPC64 (#173239)
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 skeleton for AIX Registercontext PPC64 file. (The implementation
will be added later.)
(Ref: Registers details
**https://www.ibm.com/docs/en/aix/7.3.0?topic=convention-linkage-overview**
Commit: 2573c0bceef9e519a19aeb5381b72b5df38924d5
https://github.com/llvm/llvm-project/commit/2573c0bceef9e519a19aeb5381b72b5df38924d5
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
A lldb/tools/lldb-dap/extension/.prettierignore
A lldb/tools/lldb-dap/extension/.vscode-test.mjs
M lldb/tools/lldb-dap/extension/package.json
M lldb/tools/lldb-dap/extension/src/utils.ts
A lldb/tools/lldb-dap/extension/test/unit/expandUser.test.ts
M lldb/tools/lldb-dap/extension/tsconfig.json
Log Message:
-----------
[lldb-dap][ext] Setup tests for lldb-dap extension (#174641)
This add the basic unit test support for the dap-extension.
It also
- adds a .prettierignore file to exclude folder not to format.
- Includes the test folder in when formatting.
uses `vscode-test` from
https://code.visualstudio.com/api/working-with-extensions/testing-extension#quick-setup-the-test-cli
Follow up from
https://github.com/llvm/llvm-project/pull/162635#discussion_r2486112688
Commit: 6c2c0b9da2b96e06048d52b4308636e667e08cf2
https://github.com/llvm/llvm-project/commit/6c2c0b9da2b96e06048d52b4308636e667e08cf2
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M libcxx/include/__numeric/midpoint.h
M libcxx/test/libcxx/numerics/nodiscard.verify.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.verify.cpp
Log Message:
-----------
[libc++][numeric] Modernized `std::midpoint` (#174596)
- Some improvements to `std::midpoint` implementation: replaces
`enable_if` with concepts.
https://wg21.link/numeric.ops.midpoint
Towards #172124
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: e593dbc184a176bb604d68ccf6f730170840072d
https://github.com/llvm/llvm-project/commit/e593dbc184a176bb604d68ccf6f730170840072d
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M libcxx/include/__memory/addressof.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/is_sufficiently_aligned.h
M libcxx/include/__memory/raw_storage_iterator.h
M libcxx/test/libcxx/diagnostics/memory.nodiscard.verify.cpp
R libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate.verify.cpp
Log Message:
-----------
[libc++][memory] Applied `[[nodiscard]]` to more functions (#172131)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/allocator.traits
- https://wg21.link/specialized.addressof
- https://wg21.link/ptr.align
- https://timsong-cpp.github.io/cppwp/n4659/depr.default.allocator
- https://timsong-cpp.github.io/cppwp/n4659/depr.storage.iterator
Towards #172124
Commit: 06c6a5020fa00bbedc38e07c91340f03bbaa2880
https://github.com/llvm/llvm-project/commit/06c6a5020fa00bbedc38e07c91340f03bbaa2880
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/include/__algorithm/ranges_search_n.h
M libcxx/include/__algorithm/search_n.h
M libcxx/test/benchmarks/algorithms/nonmodifying/search_n.bench.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_n.pass.cpp
Log Message:
-----------
[libc++] Optimize search_n (#171389)
This changes the algorithm to more efficiently skip ranges which cannot
match the needle for random access iterators. Specifically, we now
search for a mismatching element from the back of the subrange we want
to check. When a mismatch occurs we can directly start one after the
mismatched element, since there cannot possibly be a matching subrange
starting between the start of the subrange we checked and the mismatched
element (since all elements have to be equal). The algorithm also
remembers the subrange which was already match as being equal and
doesn't try to compare it a second time, reducing the time spent in case
of a match.
```
Benchmark old new Difference % Difference
--------------------------------------------------- -------------- -------------- ------------ --------------
rng::search_n(deque<int>)_(no_match)/1000 458.33 14.22 -444.11 -96.90%
rng::search_n(deque<int>)_(no_match)/1024 456.17 13.89 -442.28 -96.95%
rng::search_n(deque<int>)_(no_match)/1048576 453420.38 17.69 -453402.69 -100.00%
rng::search_n(deque<int>)_(no_match)/8192 3566.08 17.60 -3548.49 -99.51%
rng::search_n(deque<int>,_pred)_(no_match)/1000 597.88 15.25 -582.63 -97.45%
rng::search_n(deque<int>,_pred)_(no_match)/1024 608.42 15.39 -593.03 -97.47%
rng::search_n(deque<int>,_pred)_(no_match)/1048576 594533.99 18.91 -594515.08 -100.00%
rng::search_n(deque<int>,_pred)_(no_match)/8192 4670.23 18.88 -4651.35 -99.60%
rng::search_n(list<int>)_(no_match)/1000 733.72 730.22 -3.50 -0.48%
rng::search_n(list<int>)_(no_match)/1024 759.93 753.10 -6.84 -0.90%
rng::search_n(list<int>)_(no_match)/1048576 833841.54 813483.75 -20357.79 -2.44%
rng::search_n(list<int>)_(no_match)/8192 8352.18 8417.31 65.14 0.78%
rng::search_n(list<int>,_pred)_(no_match)/1000 776.79 789.72 12.93 1.66%
rng::search_n(list<int>,_pred)_(no_match)/1024 788.42 806.70 18.28 2.32%
rng::search_n(list<int>,_pred)_(no_match)/1048576 955536.40 982976.81 27440.41 2.87%
rng::search_n(list<int>,_pred)_(no_match)/8192 8874.02 8915.18 41.16 0.46%
rng::search_n(vector<int>)_(no_match)/1000 212.69 3.79 -208.90 -98.22%
rng::search_n(vector<int>)_(no_match)/1024 219.67 3.70 -215.96 -98.31%
rng::search_n(vector<int>)_(no_match)/1048576 209622.54 3.67 -209618.87 -100.00%
rng::search_n(vector<int>)_(no_match)/8192 1643.80 3.83 -1639.98 -99.77%
rng::search_n(vector<int>,_pred)_(no_match)/1000 461.93 7.55 -454.38 -98.36%
rng::search_n(vector<int>,_pred)_(no_match)/1024 472.43 7.74 -464.69 -98.36%
rng::search_n(vector<int>,_pred)_(no_match)/1048576 546180.29 8.71 -546171.58 -100.00%
rng::search_n(vector<int>,_pred)_(no_match)/8192 3786.26 7.88 -3778.38 -99.79%
std::search_n(deque<int>)_(no_match)/1000 455.53 14.19 -441.34 -96.88%
std::search_n(deque<int>)_(no_match)/1024 459.79 13.98 -445.81 -96.96%
std::search_n(deque<int>)_(no_match)/1048576 449780.32 17.99 -449762.33 -100.00%
std::search_n(deque<int>)_(no_match)/8192 3508.55 17.97 -3490.58 -99.49%
std::search_n(deque<int>,_pred)_(no_match)/1000 571.53 17.16 -554.37 -97.00%
std::search_n(deque<int>,_pred)_(no_match)/1024 584.43 17.09 -567.34 -97.08%
std::search_n(deque<int>,_pred)_(no_match)/1048576 581418.31 19.16 -581399.15 -100.00%
std::search_n(deque<int>,_pred)_(no_match)/8192 4661.97 19.36 -4642.61 -99.58%
std::search_n(list<int>)_(no_match)/1000 722.45 710.39 -12.06 -1.67%
std::search_n(list<int>)_(no_match)/1024 748.50 727.08 -21.42 -2.86%
std::search_n(list<int>)_(no_match)/1048576 821655.28 784520.12 -37135.16 -4.52%
std::search_n(list<int>)_(no_match)/8192 7941.73 8002.05 60.32 0.76%
std::search_n(list<int>,_pred)_(no_match)/1000 766.59 786.31 19.72 2.57%
std::search_n(list<int>,_pred)_(no_match)/1024 785.92 804.43 18.51 2.35%
std::search_n(list<int>,_pred)_(no_match)/1048576 948252.76 969125.41 20872.65 2.20%
std::search_n(list<int>,_pred)_(no_match)/8192 8658.99 8825.71 166.72 1.93%
std::search_n(vector<int>)_(no_match)/1000 210.36 3.47 -206.89 -98.35%
std::search_n(vector<int>)_(no_match)/1024 217.60 4.13 -213.47 -98.10%
std::search_n(vector<int>)_(no_match)/1048576 209386.43 3.51 -209382.92 -100.00%
std::search_n(vector<int>)_(no_match)/8192 1643.79 3.50 -1640.29 -99.79%
std::search_n(vector<int>,_pred)_(no_match)/1000 460.88 5.44 -455.45 -98.82%
std::search_n(vector<int>,_pred)_(no_match)/1024 475.36 5.43 -469.93 -98.86%
std::search_n(vector<int>,_pred)_(no_match)/1048576 682722.75 7.15 -682715.60 -100.00%
std::search_n(vector<int>,_pred)_(no_match)/8192 3779.95 5.43 -3774.52 -99.86%
Geomean 4956.15 87.96 -4868.19 -98.23%
```
Fixes #129327
Commit: 15564a8394e10cff498895af6375b3dbeda93c48
https://github.com/llvm/llvm-project/commit/15564a8394e10cff498895af6375b3dbeda93c48
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/Mips/Mips64InstrInfo.td
A llvm/test/CodeGen/Mips/llvm-ir/select-globaladdr.ll
Log Message:
-----------
[Mips] Add MipsPat `(MipsGPRel tglobaladdr:$in)` to select MipsISD::GPRel TargetGlobalAddress (#165531)
The original logic:
```
SelectionDAG has 17 nodes:
t0: ch,glue = EntryToken
t2: i64,ch = CopyFromReg t0, Register:i64 %0
t11: i32 = truncate t2
t14: i32 = and t11, Constant:i32<1>
t20: i64 = MipsISD::GPRel TargetGlobalAddress:i64<ptr @.str.1> 0 [TF=3]
t21: i64 = add Register:i64 $gp_64, t20
t16: i64 = MipsISD::GPRel TargetGlobalAddress:i64<ptr @.str> 0 [TF=3]
t18: i64 = add Register:i64 $gp_64, t16
t7: i64 = select t14, t21, t18
```
When SelectionDAG process visitSELECT, would fold select(cond,
binop(x, y), binop(x, z)) to binop(x, select(cond, y, z)).
As follows:
```
SelectionDAG has 16 nodes:
t0: ch,glue = EntryToken
t2: i64,ch = CopyFromReg t0, Register:i64 %0
t11: i32 = truncate t2
t14: i32 = and t11, Constant:i32<1>
t20: i64 = MipsISD::GPRel TargetGlobalAddress:i64<ptr @.str.1> 0 [TF=3]
t16: i64 = MipsISD::GPRel TargetGlobalAddress:i64<ptr @.str> 0 [TF=3]
t22: i64 = select t14, t20, t16
t23: i64 = add Register:i64 $gp_64, t22
```
Therefore, the original MipsPat `add GPR64:$gp, (MipsGPRel
tglobaladdr:$in)` is no longer available. And there would be an assert:
```
ISEL: Starting selection on root node: t20: i64 = MipsISD::GPRel TargetGlobalAddress:i64<ptr @.str.1> 0 [TF=3]
ISEL: Starting pattern match
Initial Opcode index to 0
Match failed at index 0
LLVM ERROR: Cannot select: t20: i64 = MipsISD::GPRel TargetGlobalAddress:i64<ptr @.str.1> 0 [TF=3]
```
So we add a new MipsPat `def : MipsPat<(MipsGPRel tglobaladdr:$in),
(DADDiu ZERO_64, tglobaladdr:$in)>, ISA_MIPS3, ABI_N64;`
to parse MipsISD::GPRel TargetGlobalAddress.
Fix #142060.
Commit: 3b68fd58b01b84ba0f8335a55eeba9faeca98d67
https://github.com/llvm/llvm-project/commit/3b68fd58b01b84ba0f8335a55eeba9faeca98d67
Author: Volodymyr Turanskyy <vturanskyy at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
Log Message:
-----------
[compiler-rt] Add supported Arm arches for the baremetal profile lib (#172984)
Following https://github.com/llvm/llvm-project/pull/167998 add the list
of supported baremetal Arm architectures to be able to build compiler_rt
profile library for all variants in Arm Toolchain for Embedded, the list
comes from architectures used in multilib configuration files in
https://github.com/arm/arm-toolchain/tree/arm-software/arm-software/embedded/arm-multilib/json/variants
Commit: d60601bbf5f45d5170bbffc1051abef5e6c5665c
https://github.com/llvm/llvm-project/commit/d60601bbf5f45d5170bbffc1051abef5e6c5665c
Author: Amina Chabane <amina.chabane at arm.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/test/CodeGen/AArch64/aarch64-addv.ll
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
M llvm/test/CodeGen/AArch64/arm64-vector-insertion.ll
M llvm/test/CodeGen/AArch64/bitcast-extend.ll
M llvm/test/CodeGen/AArch64/combine-sdiv.ll
M llvm/test/CodeGen/AArch64/ctpop.ll
M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
M llvm/test/CodeGen/AArch64/implicitly-set-zero-high-64-bits.ll
A llvm/test/CodeGen/AArch64/neon-lowhalf128-optimisation.ll
M llvm/test/CodeGen/AArch64/peephole-insvigpr.mir
M llvm/test/CodeGen/AArch64/srem-seteq-illegal-types.ll
Log Message:
-----------
[AArch64] Fold scalar-to-vector shuffles into DUP/FMOV (#166962)
Previously, LLVM emitted inefficient instructions when the low lanes of
a 128-bit vector were set to a scalar and high bits set to 0. This patch
utilises instructions fmov/dup to set the low lanes to the necessary
scalar and zeroes the high bits of the register.
E.g. in its worse case,
```
int8x16_t foo_s8(int8_t a) {
int8x16_t b = vcombine_s8(vdup_n_s8(a), vdup_n_s8(0));
return b;
}
```
LLVM would emit:
```
foo_s8(signed char):
movi v0.2d, #0000000000000000
mov v0.b[0], w0
mov v0.b[1], w0
mov v0.b[2], w0
mov v0.b[3], w0
mov v0.b[4], w0
mov v0.b[5], w0
mov v0.b[6], w0
mov v0.b[7], w0
ret
```
This patch now emits:
- <2 x i64> from i64 -> fmov d0, x0
- <4 x i32> from i32 -> dup v0.2s, w0
- <8 x i16> from i16 -> dup v0.4h, w0
- <16 x i8> from i8 -> dup v0.8b, w0
Commit: f525ac8be200c118a75579cbf5ad74ee3747ce83
https://github.com/llvm/llvm-project/commit/f525ac8be200c118a75579cbf5ad74ee3747ce83
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPushConstantAccess.cpp
Log Message:
-----------
[NFC][SPIRV] Avoid temporary SmallVector by using make_early_inc_range (#174748)
Follow-up of https://github.com/llvm/llvm-project/pull/174734
Merge the 2 loops and avoid the temporary `SmallVector` by using
`make_early_inc_range`.
Commit: 80ae94c63d681a029d211d0670f672441b4c3077
https://github.com/llvm/llvm-project/commit/80ae94c63d681a029d211d0670f672441b4c3077
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M bolt/README.md
Log Message:
-----------
[BOLT][Docs] Add arm/large-bolt-tests to README (#174727)
On AArch64, we recommend to also test against binaries hosted at:
- https://github.com/arm/large-bolt-tests
Commit: c4dc21ecc1e92bd5b04c8dcec8d3d3696889423a
https://github.com/llvm/llvm-project/commit/c4dc21ecc1e92bd5b04c8dcec8d3d3696889423a
Author: CarvedCoder <shreyansbehera84 at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/module-fgen-reduced-bmi.cppm
M clang/test/Driver/module-output.cppm
Log Message:
-----------
[Clang][Modules] Emit C++20 BMIs to working directory with -fmodule-output (#174560)
Close #173689.
When -fmodule-output is specified without an explicit path, Clang
currently emits the generated .pcm next to the source file. This
contradicts the documentation and breaks out-of-tree builds.
This patch updates the fallback behavior to emit the BMI in the working
directory, instead of the source file directory.
Driver tests are updated accordingly. Explicit -fmodule-output=PATH
behavior is unchanged.
Commit: 3665de766ff64a02d152e34f38aa396dcc43a054
https://github.com/llvm/llvm-project/commit/3665de766ff64a02d152e34f38aa396dcc43a054
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
M llvm/test/CodeGen/AArch64/arm64-vmul.ll
Log Message:
-----------
[AArch64] Add lowering for NEON rounding multiple (accumulate) intrinsics (#172851)
Extends #161840 to add lowering with bitcasts for sqdmulh, sqrdmulh,
sqrdmlah & sqrdmlsh intrinsics.
Commit: a470e708be32ded25d704ef4dedf0b5d43062f6b
https://github.com/llvm/llvm-project/commit/a470e708be32ded25d704ef4dedf0b5d43062f6b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
Log Message:
-----------
AMDGPU: Teach lowering that sqrt never returns subnormal (#174838)
Commit: 1af1cc21c8489bd9c2464988fd830b614902e16c
https://github.com/llvm/llvm-project/commit/1af1cc21c8489bd9c2464988fd830b614902e16c
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/Transforms/Utils/CodeExtractor.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-taskloop-no-context-struct.mlir
A mlir/test/Target/LLVMIR/openmp-taskloop.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[mlir][OpenMP] Translation support for taskloop construct (#174386)
This PR replaces #166903
This implements translation for taskloop, along with DSA clauses. Other
clauses will follow immediately after this is merged.
This patch was collaborative work by myself, @kaviya2510, and
@Stylie777. I’ve left the commits unsquashed to make authorship clear.
My only changes to other author’s commits are to rebase and run
clang-format.
The taskloop implementation in the runtime works roughly like this: if
the number of loop iterations to perform are more than some threshold,
the current task is duplicated and both resulting tasks gets half of the
loop range. This continues recursively until each task has a small
enough loop range to run itself in a single thread.
This leads to two implementation complexities:
- The runtime needs to be able to update the loop bounds used when
executing the loop inside of the task. This has been implemented by
forcing them to always have a fixed location inside of the structure
produced when outlining the task.
- When a task is duplicated, all data stored for the task’s
(first)private variables needs to also be duplicated and appropriate
constructors run. This is handled by a task duplication function invoked
by the runtime.
With regards to testing, most existing tests in the gfortran and fujitsu
test suites require the reduction clause (not part of OpenMP 4.5). I
wrote some tests of my own and was satisfied that it seems to be
working.
Co-authored-by: Kaviya Rajendiran <kaviyara2000 at gmail.com>
Co-authored-by: Jack Styles <jack.styles at arm.com>
---------
Co-authored-by: Kaviya Rajendiran <kaviyara2000 at gmail.com>
Co-authored-by: Jack Styles <jack.styles at arm.com>
Commit: 13fb3f3b194c3d7782dc5a3861581b776a12e704
https://github.com/llvm/llvm-project/commit/13fb3f3b194c3d7782dc5a3861581b776a12e704
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M offload/test/offloading/fortran/dump_map_tables.f90
M offload/test/sanitizer/double_free.c
M offload/test/sanitizer/free_host_ptr.c
M offload/test/sanitizer/free_wrong_ptr_kind.c
M offload/test/sanitizer/free_wrong_ptr_kind.cpp
M offload/test/sanitizer/kernel_crash.c
M offload/test/sanitizer/kernel_crash_async.c
M offload/test/sanitizer/kernel_crash_many.c
M offload/test/sanitizer/kernel_crash_single.c
M offload/test/sanitizer/kernel_trap.c
M offload/test/sanitizer/kernel_trap_async.c
M offload/test/sanitizer/kernel_trap_many.c
Log Message:
-----------
[Offload] Fix line numbers after #174804 (#174932)
The changes in line numbers caused a few CHECK macros to now fail. This
is fixed by this PR.
Build w/ breakages:
https://lab.llvm.org/staging/#/builders/105/builds/39748
Commit: d52507d94f8d0d3682657f8a131327049e65be7c
https://github.com/llvm/llvm-project/commit/d52507d94f8d0d3682657f8a131327049e65be7c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M libcxx/include/__locale
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
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/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/locale.cpp
Log Message:
-----------
[libc++] Remove numpunct_byname::__init (#173283)
`numpunct_byname::__init` is only used inside the dylib, so we can
remove it. To do that we can move the code into one of the constructors
and delegate the other.
Commit: 2f2fe489d76007a8c56fb02f081915737ae6a0ed
https://github.com/llvm/llvm-project/commit/2f2fe489d76007a8c56fb02f081915737ae6a0ed
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M libcxx/include/__format/extended_grapheme_cluster_table.h
M libcxx/include/__format/indic_conjunct_break_table.h
M libcxx/include/__format/width_estimation_table.h
M libcxx/utils/generate_extended_grapheme_cluster_table.py
M libcxx/utils/generate_indic_conjunct_break_table.py
M libcxx/utils/generate_width_estimation_table.py
Log Message:
-----------
[libc++] Avoid ranges::upper_bound inside <format> (#173150)
This reduces the time to include `<vector>` from 565ms to 452ms on my
machine.
Commit: f9581d6dd5f8a70968ce86bb7ccc486d848b32e9
https://github.com/llvm/llvm-project/commit/f9581d6dd5f8a70968ce86bb7ccc486d848b32e9
Author: Thibault Monnier <thibaultmonni at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M clang/lib/Lex/Lexer.cpp
Log Message:
-----------
Revert "[Clang] [Lexer] Detect SSE4.2 availability at runtime in fastParseASCIIIdentifier" (#174946)
Reverts llvm/llvm-project#171914 because of compilation failures
reported.
Commit: 5dfa5387b115d9c848a99b96cb610ee9a4242fdf
https://github.com/llvm/llvm-project/commit/5dfa5387b115d9c848a99b96cb610ee9a4242fdf
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-01-08 (Thu, 08 Jan 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/lib/Analysis/LifetimeSafety/Origins.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
Log Message:
-----------
[LifetimeSafety] Add implicit tracking for STL functions (#170005)
Add support for tracking STL container methods and free functions in the
lifetime safety analysis.
- Added `VisitExprWithCleanups` to the `FactsGenerator` to properly
handle expressions with cleanup code
- Moved `shouldTrackImplicitObjectArg` and `shouldTrackFirstArgument`
from `CheckExprLifetime.cpp` to `LifetimeAnnotations.h/cpp` to make them
available to the lifetime safety analysis
- Enhanced the lifetime analysis to track STL container methods that
return pointers or references dependent on the container's lifetime
(e.g., `begin()`, `data()`, `c_str()`)
- Added support for tracking free functions like `std::begin`,
`std::data`, and `std::any_cast` that return pointers or references
dependent on their arguments
Fixes https://github.com/llvm/llvm-project/issues/162622
Commit: c63d2953a08b9320990d3e521359556920dfc627
https://github.com/llvm/llvm-project/commit/c63d2953a08b9320990d3e521359556920dfc627
Author: Trevor Gross <tg at trevorgross.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/LoongArch/lrint-conv.ll
M llvm/test/CodeGen/Mips/llrint-conv.ll
M llvm/test/CodeGen/Mips/lrint-conv.ll
M llvm/test/CodeGen/RISCV/lrint-conv.ll
M llvm/test/CodeGen/X86/llrint-conv.ll
M llvm/test/CodeGen/X86/llround-conv.ll
M llvm/test/CodeGen/X86/lrint-conv-i32.ll
M llvm/test/CodeGen/X86/lrint-conv-i64.ll
M llvm/test/CodeGen/X86/lround-conv-i32.ll
M llvm/test/CodeGen/X86/lround-conv-i64.ll
Log Message:
-----------
[SelectionDAG,GISel] Add `f16` soft promotion for `lrint`, `lround`, `llrint`, and `llround` (#152684)
On platforms that soft promote `half`, using `lrint` intrinsics crashes
with the following:
SoftPromoteHalfOperand Op #0: t5: i32 = lrint t4
LLVM ERROR: Do not know how to soft promote this operator's operand!
PLEASE submit a bug report to
https://github.com/llvm/llvm-project/issues/ and include the crash
backtrace.
Stack dump:
0. Program arguments:
/Users/tmgross/Documents/projects/llvm/llvm-build/bin/llc
-mtriple=riscv32
1. Running pass 'Function Pass Manager' on module '<stdin>'.
2. Running pass 'RISC-V DAG->DAG Pattern Instruction Selection' on
function '@test_lrint_ixx_f16'
Resolve this by adding a soft promotion. GISel is included since tests
cover both.
Fixes crash tests added in
https://github.com/llvm/llvm-project/pull/152662 for targets that use
`softPromoteHalfType`.
Co-authored-by: Folkert de Vries <folkert at folkertdev.nl>
Commit: d6c22d4b0e2e48b2848ee025e7d252c5b26cfb0b
https://github.com/llvm/llvm-project/commit/d6c22d4b0e2e48b2848ee025e7d252c5b26cfb0b
Author: Gergely Bálint <gergely.balint at arm.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M bolt/lib/Passes/Instrumentation.cpp
A bolt/test/runtime/AArch64/instrumentation-ind-call-bti.c
Log Message:
-----------
[BOLT][BTI] Disallow instrumenting BTI binaries (#174936)
Until instrumentation support is added, the feature should be
disabled for BTI binaries. An error message is added to explain
the situation.
Meanwhile, users can choose sampling-based profiling methods.
Added a TODO comment explaining missing steps.
Commit: 94a95659c2f6b88b72d59fd0fba2000ba8b1fee1
https://github.com/llvm/llvm-project/commit/94a95659c2f6b88b72d59fd0fba2000ba8b1fee1
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/test/python/rewrite.py
Log Message:
-----------
[MLIR][Python] Add GreedyRewriteDriverConfig parameter to apply_patterns_and_fold_greedily (#174913)
We already have `GreedyRewriteDriverConfig` on the Python side, but it
hasn’t yet been exposed as a parameter of
`apply_patterns_and_fold_greedily`. This PR does that.
Before:
```python
def apply_patterns_and_fold_greedily(module: ir.Module, set: FrozenRewritePatternSet) -> None
def apply_patterns_and_fold_greedily(op: ir._OperationBase, set: FrozenRewritePatternSet) -> None
```
After:
```python
def apply_patterns_and_fold_greedily(module: ir.Module, set: FrozenRewritePatternSet,
config: GreedyRewriteDriverConfig | None = None) -> None
def apply_patterns_and_fold_greedily(op: ir._OperationBase, set: FrozenRewritePatternSet,
config: GreedyRewriteDriverConfig | None = None) -> None
```
Note this PR is adapted from
https://github.com/llvm/llvm-project/pull/174785 but using
`std::optional` instead of `nb::object`. Note, this required refactoring
`PyGreedyRewriteDriverConfig` to have a `std::shared_ptr` so that it
could support a copy-ctor.
Co-authored-by: PragmaTwice <twice at apache.org>
Commit: 90b8a481e4827398cba2a2047939bbbb70e8f17e
https://github.com/llvm/llvm-project/commit/90b8a481e4827398cba2a2047939bbbb70e8f17e
Author: Manuel Carrasco <Manuel.Carrasco at amd.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
A llvm/test/CodeGen/SPIRV/icmp-i1.ll
Log Message:
-----------
[SPIRV] Support additional comparison predicates for i1 types (#174585)
Previously, the SPIRV BE only handled equality and inequality
comparisons (ICMP_EQ, ICMP_NE) for i1 types using logical operations
(OpLogicalEqual, OpLogicalNotEqual). Other comparison predicates
(signed/unsigned less than, greater than, etc.) triggered an unreachable
assertion.
This patch extends the support for the missing predicates. The BE
considers i1 values as booleans and in SPIR-V only logical operations
can work on them. This patch lowers the missing predicates into
supported logical operations.
The lowering has been validated with instcombine to avoid introducing an
unsound transformation (using the new test case).
Commit: e471478badc5ec01eed4ba2b76cac21a97d5bc37
https://github.com/llvm/llvm-project/commit/e471478badc5ec01eed4ba2b76cac21a97d5bc37
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M cross-project-tests/lit.cfg.py
Log Message:
-----------
[cross-project-tests][lit] Account for Apple LLDB version in compatibility check
The LLVM release version and Apple LLDB version follow slightly different numbering scheme. Make sure we set the minimum required LLDB version appropriately.
Also refactors the `apple-lldb-pre-1000` feature check to use the same `get_lldb_version_string` method.
Currently this was causing the LLDB LLVM formatters to be skipped on our public macOS CI.
Commit: 20d0ec849804218d75647aeafbe23f8a02a83b56
https://github.com/llvm/llvm-project/commit/20d0ec849804218d75647aeafbe23f8a02a83b56
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M .github/workflows/docs.yml
M clang/utils/analyzer/entrypoint.py
M flang-rt/README.md
M flang/tools/f18/CMakeLists.txt
M llvm/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
M openmp/docs/ReleaseNotes.rst
Log Message:
-----------
[OpenMP] Remove LLVM_ENABLE_PROJECTS=openmp build mode (#152189)
The build mode has been deprecated in #136314. According to the
deprecation message, it was supposed to be removed in the LLVM 21
release. Each build mode increased the maintanance overhead when
failing, such as in #151117.
Let's remove it in LLVM 22.
Commit: 769dbe369a549319e0b7c14585fbc3dd71468175
https://github.com/llvm/llvm-project/commit/769dbe369a549319e0b7c14585fbc3dd71468175
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineConcatVectorOps - IsConcatFree - detect splats first, then check for repeated load. NFC. (#174950)
This will make it easier to handle other splat values that are free to
concat.
There should be no need to do repeated peekThroughBitcasts for every
(canonicalised) bitcasted operand.
Commit: 8a2642cbbb3cd009ad8a004317e17f7a00fd8bfc
https://github.com/llvm/llvm-project/commit/8a2642cbbb3cd009ad8a004317e17f7a00fd8bfc
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
A llvm/test/tools/llvm-mca/AArch64/Apple/Cyclone-register-offset.s
A llvm/test/tools/llvm-mca/AArch64/Apple/Inputs/basic-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Apple/Inputs/neon-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Apple/M1-basic-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Apple/M1-neon-instructions.s
R llvm/test/tools/llvm-mca/AArch64/Cyclone/register-offset.s
Log Message:
-----------
[AArch64][llvm-mca] Add old Cyclone instruction tables for reference (#172652)
This patch adds static instruction tables tests for the old Cyclone
scheduling model bounded to `-mcpu=apple-m1`, for the sake of a
reference. It creates a new `llvm/test/tools/llvm-mca/AArch64/Apple`
directory, moves a Cyclone test there, and adds 2 tests
`basic-instructions` and `neon-instructions` from Neoverse with reusable
inputs (in addition to Neoverse, we also match stderr output of llvm-mca
for instruciton warnings).
Commit: 9ac2d0a9b9ef8893216e8f0b2afb14bcd0a539ff
https://github.com/llvm/llvm-project/commit/9ac2d0a9b9ef8893216e8f0b2afb14bcd0a539ff
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M .github/workflows/docs.yml
M clang/utils/analyzer/entrypoint.py
M flang-rt/README.md
M flang/tools/f18/CMakeLists.txt
M llvm/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
M openmp/docs/ReleaseNotes.rst
Log Message:
-----------
Revert "[OpenMP] Remove LLVM_ENABLE_PROJECTS=openmp build mode (#152189)"
This reverts commit 20d0ec849804218d75647aeafbe23f8a02a83b56.
The publish-sphinx-docs buildbot still uses LLVM_ENABLE_PROJECTS=openmp.
Commit: 87453a77cf190c28fcce2186c63b02ebf9834c81
https://github.com/llvm/llvm-project/commit/87453a77cf190c28fcce2186c63b02ebf9834c81
Author: Twice <twice at apache.org>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M mlir/docs/Bindings/Python.md
Log Message:
-----------
[MLIR][docs] Clarify Python version support status (#174949)
According to this RFC
(https://discourse.llvm.org/t/rfc-adopt-regularly-scheduled-python-minimum-version-bumps/88841),
we no longer support Python versions that have reached EOL. This PR
mainly clarifies the somewhat vague wording of “a relatively recent
Python 3 installation.”
Commit: 9a8421fa6191d2e1047e3dc8c72a22fa810f9aee
https://github.com/llvm/llvm-project/commit/9a8421fa6191d2e1047e3dc8c72a22fa810f9aee
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M libcxx/docs/ReleaseNotes/22.rst
Log Message:
-----------
[libc++] Update our release notes for the upcoming release (#174625)
Commit: 56e8aa658a881ce6c8afa7ad0844e10f7adb21f0
https://github.com/llvm/llvm-project/commit/56e8aa658a881ce6c8afa7ad0844e10f7adb21f0
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M libcxx/include/future
M libcxx/test/libcxx/thread/nodiscard.verify.cpp
M libcxx/test/std/thread/futures/futures.promise/set_exception.pass.cpp
M libcxx/test/std/thread/futures/futures.promise/set_exception_at_thread_exit.pass.cpp
M libcxx/test/std/thread/futures/futures.promise/set_value_void.pass.cpp
M libcxx/test/std/thread/futures/futures.shared_future/get.pass.cpp
M libcxx/test/std/thread/futures/futures.task/futures.task.members/make_ready_at_thread_exit.pass.cpp
M libcxx/test/std/thread/futures/futures.task/futures.task.members/operator.pass.cpp
M libcxx/test/std/thread/futures/futures.unique_future/get.pass.cpp
Log Message:
-----------
[libc++][future] Applied `[[nodiscard]]` (#174924)
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/futures
Towards #172124
Commit: 476ad9f03cdf43cb801eb478273b5fa301bf006a
https://github.com/llvm/llvm-project/commit/476ad9f03cdf43cb801eb478273b5fa301bf006a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/test/CodeGen/X86/combine-fma-concat.ll
Log Message:
-----------
[X86] Add test showing failure to concat fma nodes due to the constant being hidden (#174969)
By the time the maxps nodes have been lowered, the v4f32 constant splats
have been hidden behind a extract_subvector from the v8f32 constant
splat
Commit: 0f3ba5a2085212978b60470e18dbd38b44daf80e
https://github.com/llvm/llvm-project/commit/0f3ba5a2085212978b60470e18dbd38b44daf80e
Author: David Truby <david.truby at arm.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/Options.td
M lld/docs/ReleaseNotes.rst
A lld/test/COFF/linkreprofullpathrsp.test
Log Message:
-----------
[lld][COFF] Add /linkreprofullpathrsp flag (#174971)
This patch adds the /linkreprofullpathrsp flag with the same behaviour
as link.exe. This flag emits a file containing the full paths to each
object passed to the link line.
This is used in particular when linking Arm64X binaries, as you need the
full path to all the Arm64 objects that were used in a standard Arm64
build.
See:
https://learn.microsoft.com/en-us/cpp/build/reference/link-repro-full-path-rsp
for the Microsoft documentation of the flag.
Relands #165449
Commit: 3f7f4a64154abeee720427560c578a17594fa36f
https://github.com/llvm/llvm-project/commit/3f7f4a64154abeee720427560c578a17594fa36f
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
A llvm/test/CodeGen/X86/callbr-asm-different-indirect-target-end-to-end.ll
A llvm/test/CodeGen/X86/callbr-asm-different-indirect-target.mir
Log Message:
-----------
[PHIElimination] Introduce test for PR173396 (NFC)
Commit: 394a3b9cede472aecaf19fc0101841e75d56f9e0
https://github.com/llvm/llvm-project/commit/394a3b9cede472aecaf19fc0101841e75d56f9e0
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/PHIEliminationUtils.cpp
M llvm/test/CodeGen/X86/callbr-asm-different-indirect-target-end-to-end.ll
M llvm/test/CodeGen/X86/callbr-asm-different-indirect-target.mir
Log Message:
-----------
[PHIElimination] Ensure correct copy emission for INLINEASM_BR indirect targets
While lowering phi-nodes to copies, subsequently to f7a53d82c0902147909f28a9295a9d00b4b27d38,
ensure that such copies are placed before any INLINEASM_BR
instructions, only if this actually happens to be the case.
If a block with an INLINEASM_BR instruction and any of its
indirect jump target are distinct blocks, the new copy on
the indirect target continues to be normally emitted prior
to the terminator.
Fixes: https://github.com/llvm/llvm-project/issues/172824.
Commit: 55bec058c4ca77785237fe409574b686f524233c
https://github.com/llvm/llvm-project/commit/55bec058c4ca77785237fe409574b686f524233c
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/dynamic_extension.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Add concat/slice_shape ops (#174620)
Adds support for the concat/slice_shape operations after spec change:
https://github.com/arm/tosa-specification/commit/efc88a100e2db06c2d6bc479fa63b26daab899ce.
This includes the operator definition, same rank checks and level checks
during validation. It does not currently include support for folding or
shape inference. This will be added in a later commit.
---------
Co-authored-by: Iliyan Georgiev <Iliyan.Georgiev at arm.com>
Commit: 4903c6260cbd781881906007f9c82aceb71fd7c7
https://github.com/llvm/llvm-project/commit/4903c6260cbd781881906007f9c82aceb71fd7c7
Author: Trevor Gross <tg at trevorgross.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/test/CodeGen/Generic/half-op.ll
M llvm/test/CodeGen/Generic/half.ll
M llvm/test/CodeGen/WebAssembly/f16.ll
M llvm/test/CodeGen/WebAssembly/fpclamptosat.ll
M llvm/test/CodeGen/WebAssembly/fpclamptosat_vec.ll
M llvm/test/CodeGen/WebAssembly/llvm.sincos.ll
M llvm/test/CodeGen/WebAssembly/simd-relaxed-fma.ll
Log Message:
-----------
[WebAssembly] Change `half` to use soft promotion rather than `PromoteFloat` (#152833)
The default `half` legalization, which Wasm currently uses, does not
respect IEEE conventions: for example, casting to bits may invoke a lossy
libcall, meaning soft float operations cannot be correctly implemented.
Change to the soft promotion legalization which passes `f16` as an `i16`
and treats each `half` operation as an individual
f16->f32->libcall->f32->f16 sequence.
Of note in the test updates are that `from_bits` and `to_bits` are now
libcall-free, and that chained operations now round back to `f16` after
each step.
Fixes the wasm portion of
https://github.com/llvm/llvm-project/issues/97981
Fixes the wasm portion of
https://github.com/llvm/llvm-project/issues/97975
Fixes: https://github.com/llvm/llvm-project/issues/96437
Fixes: https://github.com/llvm/llvm-project/issues/96438
Commit: 18b59ed6ad4119efbf05aafb5084ad659168e8c4
https://github.com/llvm/llvm-project/commit/18b59ed6ad4119efbf05aafb5084ad659168e8c4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add header deps to CAPIIR
Otherwise we run into some issues building some of these internally with
our use of clang header modules.
Commit: f76417d21e1c0e780710ffe0829c61ca3b2efcf8
https://github.com/llvm/llvm-project/commit/f76417d21e1c0e780710ffe0829c61ca3b2efcf8
Author: Aleksandr Popov <42888396+aleks-tmb at users.noreply.github.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Utils/LoopConstrainer.cpp
A llvm/test/Transforms/IRCE/loop-guarded-bounds.ll
Log Message:
-----------
[IRCE] Prove predicates with and without loop-guarded SCEVs (#174843)
IRCE may fail to prove predicates when loop bounds are rewritten by
LoopConstrainer::applyLoopGuards(). In such cases, simple predicates
(e.g. %start < %limit) become obscured by strengthened SCEV expressions,
even though they are trivially implied by the guard in the loop
preheader.
See: https://github.com/llvm/llvm-project/issues/167827
This change makes IRCE attempt to prove predicates both on the original
SCEVs and on the guarded SCEVs, preventing incorrect rejection of loops
with safe bounds.
Commit: 46d0862773ac3ac07fd1a8abe76db623b26d7d45
https://github.com/llvm/llvm-project/commit/46d0862773ac3ac07fd1a8abe76db623b26d7d45
Author: Will Froom <willfroom at google.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[BAZEL] Move FuncTransformsPassIncGen to CAPIIR header dep (#174982)
Commit: 9e78d8a4fb0739455ecdfd1751b347fbd7038c13
https://github.com/llvm/llvm-project/commit/9e78d8a4fb0739455ecdfd1751b347fbd7038c13
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Revert "[BAZEL] Move FuncTransformsPassIncGen to CAPIIR header dep (#174982)"
This reverts commit 46d0862773ac3ac07fd1a8abe76db623b26d7d45.
This previously landed a couple commits ago and now duplicates the dep,
breaking the bazel build.
Commit: fa53d9285aea19e453eda7e38d26d16eaf0f7c36
https://github.com/llvm/llvm-project/commit/fa53d9285aea19e453eda7e38d26d16eaf0f7c36
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/bug127425.f90
Log Message:
-----------
[flang] Check for errors when analyzing array constructors (#173092)
Errors in array constructor values result in the array having
less elements than it should, which can cause other errors that
will confuse the user. Avoid this by not returning an expression
on errors.
Fixes #127425
Commit: 5f590ed7062ae1639e8bb99d8c1000b4c3ea7cfc
https://github.com/llvm/llvm-project/commit/5f590ed7062ae1639e8bb99d8c1000b4c3ea7cfc
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
Log Message:
-----------
[SystemZ][z/OS] Improve use of formatv (#174503)
Using a `raw_svector_ostream` object is not necessary, because this is
hidden in the conversion function. In addition, there is no need to
reason about a zero termination of the string. Declaring the ascii and
ebcdic version of the string variables at the same time makes sure that
both strings are allocated with the same size.
Commit: db26ce5c5572a1a54ce307c762689ab63e5c5485
https://github.com/llvm/llvm-project/commit/db26ce5c5572a1a54ce307c762689ab63e5c5485
Author: Trevor Gross <tg at trevorgross.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/test/CodeGen/Generic/half-op.ll
M llvm/test/CodeGen/Generic/half.ll
M llvm/test/CodeGen/PowerPC/atomics.ll
M llvm/test/CodeGen/PowerPC/f128-conv.ll
M llvm/test/CodeGen/PowerPC/half.ll
M llvm/test/CodeGen/PowerPC/ldexp.ll
M llvm/test/CodeGen/PowerPC/llvm.frexp.ll
M llvm/test/CodeGen/PowerPC/llvm.modf.ll
M llvm/test/CodeGen/PowerPC/pr48519.ll
M llvm/test/CodeGen/PowerPC/pr49092.ll
M llvm/test/CodeGen/PowerPC/vector-llrint.ll
M llvm/test/CodeGen/PowerPC/vector-lrint.ll
Log Message:
-----------
[PowerPC] Change `half` to use soft promotion rather than `PromoteFloat` (#152632)
On PowerPC targets, `half` uses the default legalization of promoting to
a `f32`. However, this has some fundamental issues related to inability
to round trip. Resolve this by switching to the soft legalization, which
passes `f16` as an `i16`.
The PowerPC ABI Specification does not define a `_Float16` type, so the
calling convention changes are acceptable.
Fixes the PowerPC part of
https://github.com/llvm/llvm-project/issues/97975
Fixes the PowerPC part of
https://github.com/llvm/llvm-project/issues/97981
Commit: cc1bb845da525a02ad6b48e02e59dbe870f6bc13
https://github.com/llvm/llvm-project/commit/cc1bb845da525a02ad6b48e02e59dbe870f6bc13
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[mlir][OpenMP] Fix sanitizer error in buildTaskLikeBodyGenCallback (#174983)
This is a fix for the asan bot after
https://github.com/llvm/llvm-project/pull/174386
Failing bot: https://lab.llvm.org/buildbot/#/builders/24/builds/16371
This commit undoes a simplification I thought reduced copied+pasted
code. I will merge it like this now to unblock the bot, and then work
separately on a different way to share code between both callbacks.
Commit: a4f1798c96407f0c49057a352703423117d9790c
https://github.com/llvm/llvm-project/commit/a4f1798c96407f0c49057a352703423117d9790c
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/CodeGenCXX/cxx2c-trivially-relocatable.cpp
R clang/test/Parser/cxx2c-trivially-relocatable.cpp
M clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
M clang/test/SemaCXX/ptrauth-triviality.cpp
M clang/test/SemaCXX/ptrauth-type-traits.cpp
M clang/test/SemaCXX/trivially-relocatable-ptrauth.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
Log Message:
-----------
[Clang] expunge `trivially_relocate_if_eligible` (#174344)
In Kona, WG21 decided to revert trivial relocation (P2786).
Keep the notion of relocatability
(used in the wild and likely to come back),
but remove the keyword which is no longer conforming
Commit: 21dc73f6a46cd786394f10f5aef46ec4a2d26175
https://github.com/llvm/llvm-project/commit/21dc73f6a46cd786394f10f5aef46ec4a2d26175
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M libcxx/include/any
Log Message:
-----------
[libc++][NFC] Update <any> to a more modern code style (#174619)
This patch refactors `enable_if`s inside `<any>` to use the `..., int> =
0` variant that we try to use throughout the code base and inlines some
of the functions into the class body to avoid duplicating the
`enable_if`s.
Commit: 012097d4fe7f300a59f9d2b89e528e1bd449d4c1
https://github.com/llvm/llvm-project/commit/012097d4fe7f300a59f9d2b89e528e1bd449d4c1
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M compiler-rt/lib/builtins/aarch64/sme-abi.S
Log Message:
-----------
[compiler-rt][AArch64] Exit early from __arm_za_disable. (#174942)
Because `__arm_za_disable` is a private-ZA function, it's only ever
entered with ZA state `off` or `dormant`. If the state is `off` then we
can safely return and there is no need to call `__arm_tpidr2_save` or to
explicitly set PSTATE.ZA or TPIDR2_EL0 to zero.
Commit: 9973e38b5adbe4605c32745be416d2eea6be32ad
https://github.com/llvm/llvm-project/commit/9973e38b5adbe4605c32745be416d2eea6be32ad
Author: Abhiram Jampani <126624416+Abhiramjampani at users.noreply.github.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[SDPatternMatch] Add m_FAbs matcher (#174975)
Adds a pattern matcher for floating-point absolute value (ISD::FABS),
following the same pattern as m_Abs for integer absolute value.
Fixes #174751
Commit: 79fd11c9bbeb423b8d2eb5b2fb832f25ef9e080b
https://github.com/llvm/llvm-project/commit/79fd11c9bbeb423b8d2eb5b2fb832f25ef9e080b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M clang/lib/Headers/avx512vlbwintrin.h
Log Message:
-----------
[Headers][X86] __builtin_ia32_pmovwb128_mask is not constexpr (#174985)
Appears to be a copy+paste type - most of the x86 masked truncation intrinsics still can't be made constexpr at this time
Fixes #166814
Commit: 9fb45c5959fdbf1f63babd1f32ad298cab9e27af
https://github.com/llvm/llvm-project/commit/9fb45c5959fdbf1f63babd1f32ad298cab9e27af
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/extractelements-subnodes-same-index.ll
M llvm/test/Transforms/SLPVectorizer/X86/insert-subvector.ll
Log Message:
-----------
[SLP]Do not generate extractelement subnodes with the same indeces
The compiler should not generate subvectors with the same extractelement
instructions, it may cause a crash and leads to inefficient
vectorization.
Fixes #174773
Commit: f5c39a6b0a6bea50f2daf9ab32086a380ff7dee4
https://github.com/llvm/llvm-project/commit/f5c39a6b0a6bea50f2daf9ab32086a380ff7dee4
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/SPIRV/transcoding/ConvertPtrInGlobalInit.ll
Log Message:
-----------
[SPIRV] Additional fixes for const init via `UtoPtr` (#172584)
#166494 added support for using `inttoptr` in global initialisation, and
lowering int into `OpSpecConstantOp OpConvertUToPtr`. Unfortunately, it
slightly more subtle case / exposed an existing issue around the `COPY`
pseudo-op. This patch ensures that we glance through a `COPY` when
figuring out whether an `OpConvertUToPtr` is actually operating on a
global. We also correctly handle the case where a `G_PTR_ADD` is used by
an `OpSpecConstantOp` in the context of global initialisation, which
would otherwise lead to broken SPIR-V wherein the latter would reference
a non constant Op.
---------
Co-authored-by: Marcos Maronas <marcos.maronas at intel.com>
Commit: da560b657945946fc05bd54bd7726590b4eec9fb
https://github.com/llvm/llvm-project/commit/da560b657945946fc05bd54bd7726590b4eec9fb
Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
A llvm/test/MC/RISCV/hex-imm-macho.s
Log Message:
-----------
[RISC-V][Mach-O] Print immediate operands in hexadecimal format. (#174505)
This is done for logical operations and auipc/lui.
Patch based on code written by Tim Northover.
Commit: c8674f65fe32e92a54bbc0036d70b3a0f7b3ad96
https://github.com/llvm/llvm-project/commit/c8674f65fe32e92a54bbc0036d70b3a0f7b3ad96
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-fma-concat.ll
Log Message:
-----------
[X86] combineConcatVectorOps - IsConcatFree - detect splats that comes from a common load/broadcastload (#174986)
Allows us to handle freely concatable cases after a broadcast load has
become shared by different vector width uses by peeking through
bitcasts/extract_subvector nodes
Commit: 0689a598e609386f358d48d97359e7663ee9ad02
https://github.com/llvm/llvm-project/commit/0689a598e609386f358d48d97359e7663ee9ad02
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/need_device_ptr_kind_messages.cpp
Log Message:
-----------
[NFC] [OpenMP] Fix typo and add initializer to modifier. (#174784)
Fixed typo and added initialization of modifier.
Commit: e89bec770816add6165993fdebc78815366bd9ee
https://github.com/llvm/llvm-project/commit/e89bec770816add6165993fdebc78815366bd9ee
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/test/CodeGen/RISCV/clmul.ll
Log Message:
-----------
[SelectionDAG] Expand CLMUL in PromoteIntRes_CLMUL if the operation isn't legal/custom for the promoted type. (#174911)
This allows the expand code to see the original size. Previously we
relied on computeKnownBits to optimize the code after it is expanded
later. This removes the need to zero extend the input during promotion
that was needed to make computeKnownBits work.
Commit: 80296b618e648ef56ea5e5bbf1b34be6b1b72dcf
https://github.com/llvm/llvm-project/commit/80296b618e648ef56ea5e5bbf1b34be6b1b72dcf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/Support/KnownFPClass.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass-select.ll
Log Message:
-----------
ValueTracking: Refactor computeKnownFPClass select handling (#174957)
Match the structure of ComputeKnownBits. Expose the condition
handling as a utility function so SimplifyDemanedFPClass can make
use of this. Avoids some redundant code and improves accuracy in
at least one case.
Commit: ec66d180b6f9c416ce96a3e0de1ecb49f56a1765
https://github.com/llvm/llvm-project/commit/ec66d180b6f9c416ce96a3e0de1ecb49f56a1765
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
Log Message:
-----------
InstCombine: Fixup known fp class for select and compare (#174958)
Improve reported known fp-class when simplifying select.
Previously we just reported the conservative result that
the result class could be either of the inputs. Use the new
utility to apply the compare+select logic the default case of
computeKnownFPClass would catch.
Commit: c035dfb96a4d0632715a4f0f4e4ce086d96aeb67
https://github.com/llvm/llvm-project/commit/c035dfb96a4d0632715a4f0f4e4ce086d96aeb67
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/VINTERPInstructions.td
Log Message:
-----------
[AMDGPU] Simplify class VINTERPe. NFC. (#175006)
VINTERP instructions always have src0, src1, src2 and dst.
Commit: 255f173139d7952106736d4f52ee539ddb68dc21
https://github.com/llvm/llvm-project/commit/255f173139d7952106736d4f52ee539ddb68dc21
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlDeque.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/deque/TestDataFormatterGenericDeque.py
Log Message:
-----------
[LLDB] Run MSVC STL deque tests with PDB (#172360)
Similar to the other PRs, this looks up the type from a member variable.
Here, we can use the type of `_Mapptr`. On its own, that's enough to
pass the test with clang-cl.
Commit: a10acdef073d1813b3713c61fb07ab4c8f89556a
https://github.com/llvm/llvm-project/commit/a10acdef073d1813b3713c61fb07ab4c8f89556a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M lldb/tools/lldb-dap/extension/package-lock.json
Log Message:
-----------
[lldb-dap] Update package-lock.json after #174641 (#175009)
In #174641, package.json was updated, but the package-lock.json file
wasn't regenerated.
Commit: 1d07609894f0b07bf739a5ac2c07066ec8c3399c
https://github.com/llvm/llvm-project/commit/1d07609894f0b07bf739a5ac2c07066ec8c3399c
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M lldb/include/lldb/Core/FormatEntity.h
M lldb/source/Core/FormatEntity.cpp
M lldb/test/Shell/Settings/TestCxxFrameFormatRecursive.test
Log Message:
-----------
[lldb][Format] Reject recursive format entities (#174750)
Depends on:
* https://github.com/llvm/llvm-project/pull/174618
If a format entity calls back into `Format` and passes it a format
entity type that we're already in the process of parsing, we are likely
going to run into infinite recursion and blow the stack. I think this is
only an issue when a format entity calls Format on a format string
provided by the user (otherwise we're in control of the recursion). An
example of this can be seen in the test-case adjusted by this patch.
This seems to be causing actual crashes in the field, so this patch adds
basic tracking to `Formatter::Format` that checks whether we're
recursively parsing the same entity. This may very well be intended by
some entities (e.g., `Root` and `Scope`), so there is an escape hatch
for those. There's also a special case where `Variable` causes a
recursive format (which I pointed out in a source comment).
We could narrow the scope of what kind of recursion is allowed by adding
a `UserProvidedFormatChild` (or similar) flag to `Entry`, and only
disallow recursing on those kinds of entries. For now I just use an
exemption list in `IsInvalidRecursiveFormat`.
Adding a unit-test for this is unfortunately tricky because the only
format entity that currently suffers from this is
`${function.name-with-args}`, which requires a language plugin and valid
target. If we really wanted to we could probably mock all of those, but
the shell test provides test coverage for the previously crashing case.
rdar://166890120
Commit: 8ffb7f60da84447868b12c9f7a0e78722d80d1e2
https://github.com/llvm/llvm-project/commit/8ffb7f60da84447868b12c9f7a0e78722d80d1e2
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M lldb/tools/lldb-dap/extension/package.json
Log Message:
-----------
[lldb-dap][ext] Add script to only run extension unittests (#175010)
`vscode-test` requirest a GUI or something that emulates one. Use the
Mocha test library directly for unitest
Run unittests using `npm run unittest`
Commit: 1f2663e1f21c446ff0ded51261f54acc2d538bbb
https://github.com/llvm/llvm-project/commit/1f2663e1f21c446ff0ded51261f54acc2d538bbb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Log Message:
-----------
InstCombine: Prepare to handle multiple uses in SimplifyDemandedFPClass (#174863)
Follow the structure of SimplifyDemandedBits. Doesn't handle anything
in the multiple use case for now, and continues just calling
computeKnownFPClass.
Commit: 85f5007ec51d673e4a36df4b3540c70f0c9abe75
https://github.com/llvm/llvm-project/commit/85f5007ec51d673e4a36df4b3540c70f0c9abe75
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/arrayref.test
Log Message:
-----------
[cross-project-tests][formatters] Remove redundant CHECK statement
See https://github.com/llvm/llvm-project/pull/173238#discussion_r2672090386
On some downstream CI this was flakey because LLDB's `location added to breakpoint` notification would appear after the commands. Simply remove checking for the command for now.
Commit: 75b6493cc2528227ec528dfd1664647e6cae986d
https://github.com/llvm/llvm-project/commit/75b6493cc2528227ec528dfd1664647e6cae986d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass-fdiv.ll
M llvm/test/Transforms/Attributor/nofpclass-frem.ll
M llvm/test/Transforms/InstSimplify/floating-point-compare.ll
Log Message:
-----------
ValueTracking: Check if fdiv operand could be undef (#174453)
In the special case for fdiv/frem with the same operands, make
sure the input isn't undef.
Commit: 4e74fba5b28d95f2ba703a6626a7366408e7fd43
https://github.com/llvm/llvm-project/commit/4e74fba5b28d95f2ba703a6626a7366408e7fd43
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
A llvm/test/CodeGen/AMDGPU/promote-alloca-use-after-erase.ll
Log Message:
-----------
[AMDGPU] Fix a potential use-after-erase in `AMDGPUPromoteAlloca` pass (#174529)
In some cases, the placeholder itself can be used as the value for its
corresponding block in `SSAUpdater`, and later used as an incoming value
in another block in `GetValueInMiddleOfBlock`. If we erase it too early,
this can lead to a use-after-erase.
Commit: 936ae0675643e4dc0aaad4fccb25290ce268e51a
https://github.com/llvm/llvm-project/commit/936ae0675643e4dc0aaad4fccb25290ce268e51a
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M .gitignore
Log Message:
-----------
[LLVM] Ignore Cursor specific files (#174891)
Commit: 3ae71d30be22711edf278156b67167385a0f9ce0
https://github.com/llvm/llvm-project/commit/3ae71d30be22711edf278156b67167385a0f9ce0
Author: Alex Bradbury <asb at igalia.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-stores-vectorized.ll
Log Message:
-----------
[SLP] Use ConstantInt::getSigned for stride argument to strided load/store intrinsics (#175007)
strided-stores-vectorized.ll crashes for RV32 without fixing the
relevant logic in vectorizeTree, because the argument can't be
represented as a 32-bit unsigned value:
```
llvm::APInt::APInt(unsigned int, uint64_t, bool, bool): Assertion `llvm::isUIntN(BitWidth, val) && "Value is not an N-bit unsigned value"' failed.
```
It is intended to be signed, so we simply use ConstantInt::getSigned
instead. This fixes other stride-related instances in the file as well.
For further context, this change is part of unblocking rv32gcv
llvm-test-suite in CI.
Commit: e39ddab2bc7e33d59c19d52544fe4b01b286edfb
https://github.com/llvm/llvm-project/commit/e39ddab2bc7e33d59c19d52544fe4b01b286edfb
Author: Tamir Duberstein <tamird at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/bindings/ocaml/bitreader/llvm_bitreader.mli
M llvm/bindings/ocaml/irreader/irreader_ocaml.c
M llvm/bindings/ocaml/irreader/llvm_irreader.ml
M llvm/bindings/ocaml/irreader/llvm_irreader.mli
M llvm/docs/ReleaseNotes.md
M llvm/examples/OrcV2Examples/OrcV2CBindingsLazy/OrcV2CBindingsLazy.c
M llvm/examples/OrcV2Examples/OrcV2CBindingsVeryLazy/OrcV2CBindingsVeryLazy.c
M llvm/include/llvm-c/IRReader.h
M llvm/include/llvm-c/Object.h
M llvm/include/llvm/Analysis/LoopAnalysisManager.h
M llvm/include/llvm/CodeGen/MachinePassManager.h
M llvm/include/llvm/IR/PassManager.h
M llvm/lib/IRReader/IRReader.cpp
M llvm/test/Bindings/OCaml/bitreader.ml
M llvm/test/Bindings/OCaml/irreader.ml
Log Message:
-----------
[llvm-c] Add LLVMParseIRInContext2 (#174085)
This new function is the same as LLVMParseIRInContext except it doesn't
take ownership of the memory buffer. This fixes a wart that has been in
place since 5ebb7b311223bcd21d2b3d25413d1edacefcc63d changed the
underlying internal API to avoid taking ownership.
Reduce nesting in the implementation of LLVMParseIRInContext (now
LLVMParseIRInContext2) as well.
Update examples, OCaml bindings, and tests including plugging some
pre-existing memory leaks. OCaml bindings have renamed `parse_ir` to
`parse_ir_bitcode_or_assembly` to provoke compilation failures in
downstream code; this is intentional as this function now requires the
memory buffer to be disposed by the caller.
Commit: 418eee7a92c83a6eabd5970ee432235cde17845a
https://github.com/llvm/llvm-project/commit/418eee7a92c83a6eabd5970ee432235cde17845a
Author: Alex Bradbury <asb at igalia.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Bail out of combineNarrowableShiftedLoad for types other than scalar int (#175011)
Introduced in #170483 this was only ever meant to trigger for scalar
types. We get an error on rv32gcv for some inputs "Cannot implicitly
convert a scalable size to a fixed-width size in `TypeSize::operator
ScalarTy()`".
While we're editing this function, delete an accidentally repeated
comment.
Minimal reproducer:
```
define <vscale x 4 x ptr> @ham() {
bb:
%load = load <vscale x 4 x i32>, ptr null, align 4
%ashr = ashr <vscale x 4 x i32> %load, splat (i32 1)
%getelementptr = getelementptr i32, ptr null, <vscale x 4 x i32> %ashr
ret <vscale x 4 x ptr> %getelementptr
}
```
Added without test as the fix is trivial and the test is rather awkward/specialised. We will get coverage for this and similar issues from llvm-test-suite rv32gcv in CI.
Commit: aac91eabd262e4cfe19db7a28a2ff59b45f97237
https://github.com/llvm/llvm-project/commit/aac91eabd262e4cfe19db7a28a2ff59b45f97237
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M lldb/tools/lldb-dap/extension/package-lock.json
M lldb/tools/lldb-dap/extension/package.json
Log Message:
-----------
[lldb-dap] Add ovsx as a dev dependency for publish to Open VSX (#175015)
This adds `ovsx` as a developer dependency and adds a new script
"publish-ovsx" for publishing to the Open VSX registry.
Commit: ebdaea63622d8d3d02701aeec2b7f2769ba89b7d
https://github.com/llvm/llvm-project/commit/ebdaea63622d8d3d02701aeec2b7f2769ba89b7d
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/dotest.py
Log Message:
-----------
[lldb-dap][windows] fix lldb-dap executable name in test (#175014)
This patch fixes an incorrect name of the `lldb-dap` process on Windows
by appending `.exe` to the name.
This is a prelude to https://github.com/llvm/llvm-project/pull/174635.
Commit: 85779e547b00b377aa9675bcd80b1c20d0522d18
https://github.com/llvm/llvm-project/commit/85779e547b00b377aa9675bcd80b1c20d0522d18
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M flang/lib/Semantics/check-call.cpp
A flang/test/Semantics/bug2021.f90
Log Message:
-----------
[flang] Silence "used but undefined" warning for LOC(x) (#174807)
When a variable appears as the argument of the extension intrinsic
function LOC(x), assume that it's defined for the purposes of the
warning about variables that are used but never defined, since the
result of the LOC() can be used to define a based Cray pointer.
Commit: b4f9012464144fc0f5c430dd97736c4e868a5de3
https://github.com/llvm/llvm-project/commit/b4f9012464144fc0f5c430dd97736c4e868a5de3
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/test/Driver/Inputs/free-form-test.f90
M flang/test/Driver/color-diagnostics-scan.f
M flang/test/Driver/fixed-free-detection.f90
M flang/test/Driver/fixed-free-flag.f90
M flang/test/Driver/werror-scan.f
M flang/test/Parser/badlabel.f
A flang/test/Parser/bug50563.f
M flang/test/Preprocessing/pp039.F
Log Message:
-----------
[flang] Make a non-digit in fixed-form label field an error unless -E (#174836)
A character in a fixed-form source line (as opposed to a comment or
compiler directive) can't have a non-digit in its label field, columns 1
through 5. The prescanner presently emits only a warning for this case.
Retain the warning for -E output, but otherwise diagnose an error.
(This change affected a number of tests that relied on this situation
being a warning just so that they could test prescanner warnings, and
those tests were adjusted to use another warning.)
Fixes https://github.com/llvm/llvm-project/issues/50563.
Commit: b86c7daf93582848f7b5c7c92828e8b9658a575b
https://github.com/llvm/llvm-project/commit/b86c7daf93582848f7b5c7c92828e8b9658a575b
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/bug174859.f90
Log Message:
-----------
[flang] Fix bad attributes on type parameter symbols (#174870)
When creating new symbols for a derived type's type parameters, the
attributes that accumulated for the type itself were also being applied
to the parameters' symbols. This led to those attributes being emitted
to the module file, rendering it unparseable.
Fixes https://github.com/llvm/llvm-project/issues/174859.
Commit: 325869c7fc32f33687749bb4a39b4f5326c362d5
https://github.com/llvm/llvm-project/commit/325869c7fc32f33687749bb4a39b4f5326c362d5
Author: Maryam Moghadas <maryammo at ca.ibm.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/lib/CodeGen/TargetBuiltins/PPC.cpp
M clang/lib/Headers/amo.h
M clang/lib/Sema/SemaPPC.cpp
M clang/test/CodeGen/PowerPC/builtins-amo-err.c
M clang/test/CodeGen/PowerPC/builtins-ppc-amo.c
M clang/test/CodeGen/PowerPC/ppc-amo-header.c
M llvm/test/CodeGen/PowerPC/amo-enable.ll
Log Message:
-----------
[PowerPC] Add AMO load signed builtins (#168747)
This commit adds two Clang builtins for AMO load signed operations:
__builtin_amo_lwat_s for 32-bit signed operations
__builtin_amo_ldat_s for 64-bit signed operations
Commit: e42f862042872d9e142714c7cb14f72735ece37a
https://github.com/llvm/llvm-project/commit/e42f862042872d9e142714c7cb14f72735ece37a
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
Log Message:
-----------
[BOLT][AArch64] Avoid UB due to shift of negative value. (#174994)
A build with LLVM_USE_SANITIZER=Undefined showed:
bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp:2277:60:
runtime error: left shift of negative value -32768
This showed up in bolt/test/AArch64/veneer-lite-mode.s.
It is valid for ADRP's operand to be negative, and not valid to shift it
like that. To perform this shift reliably, cast the value to unsigned.
Commit: cb6ee6cb49e4e6b4969f98ba9129b64094387279
https://github.com/llvm/llvm-project/commit/cb6ee6cb49e4e6b4969f98ba9129b64094387279
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
Log Message:
-----------
[lldb-dap][NFC] Shorten the event thread name (#174837)
On linux thread names are limited to 15 characters, shorten the name of
the event thread if necessary
Commit: 292a77c4755ebf112577cea8bcb50eb2f832fc4d
https://github.com/llvm/llvm-project/commit/292a77c4755ebf112577cea8bcb50eb2f832fc4d
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlDeque.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlSmartPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlTree.cpp
Log Message:
-----------
[LLDB][NFC] Remove excessive use of `auto` from MSVC STL formatters (#175019)
Some MSVC STL formatters made excessive use of `auto`, especially the
`std::deque` one
(https://github.com/llvm/llvm-project/pull/172360#pullrequestreview-3639850321).
This PR replaces the uses with the concrete type.
Commit: 2926b4100db1db2322c8e713cb33eccb7e82132b
https://github.com/llvm/llvm-project/commit/2926b4100db1db2322c8e713cb33eccb7e82132b
Author: Ziqing Luo <ziqing_luo at apple.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Fix crashes in "Add check for custom printf/scanf functions #173096" (#174683)
The previous PR #173096 assumes that format attribute parameters always
refer to valid indices of arguments. It is a wrong assumption in itself
because the second attribute parameter could specify the index after the
last named parameter for variadic functions and no actual arguments
passed beyond named parameters. In addition, clang (possibly
incorrectly) allows the following uses of the attribute:
```
void f(const char *) __attribute__((__format__ (__printf__, 1, 2))); // The second attribute argument 2 will not refer to any valid argument at any call of 'f'
void g(const char *) __attribute__((__format__ (__printf__, 1, 99))); // Clang is even quiet on this, if assertions are disabled :(
```
Commit: 11dcb756c6ddcd6593dabb6d661347aee40da6a3
https://github.com/llvm/llvm-project/commit/11dcb756c6ddcd6593dabb6d661347aee40da6a3
Author: Kashika Akhouri <akhourik at google.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M clang/include/clang/Analysis/CallGraph.h
M clang/lib/Analysis/CFG.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
Log Message:
-----------
Add time trace scopes to addToCallGraph & getCFG (#174717)
This PR adds performance instrumentation to `clang::CallGraph` and
`clang::CFG` to aid in benchmarking the overhead of call
graph construction and CFG rebuilding.
This aims to facilitate benchmarking on large codebases like LLVM to
ensure that the performance impact of new analysis-based warnings
remains within acceptable regressions.
Commit: f4a7f70717973ac30698a8b8cd3592e869365483
https://github.com/llvm/llvm-project/commit/f4a7f70717973ac30698a8b8cd3592e869365483
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
A llvm/test/CodeGen/NVPTX/combine-mul-wide-type.ll
Log Message:
-----------
[NVPTX] Use correct `mul.wide` operand type when matching on `shl` in `combineMulWide` (#168986)
The operand types of a `mul.wide` are half the size of the output type.
`combineMulWide` incorrectly uses the output type of the `mul.wide` for
the operand type instead of the operand type.
Commit: 4e3699b4c6255070f2bf4c3ce98978a9bd2614fd
https://github.com/llvm/llvm-project/commit/4e3699b4c6255070f2bf4c3ce98978a9bd2614fd
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M bolt/test/RISCV/reloc-label-diff.s
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/test/CodeGen/RISCV/option-relax-relocation.ll
M llvm/test/MC/RISCV/Relocations/expr.s
M llvm/test/MC/RISCV/Relocations/relocations.s
M llvm/test/MC/RISCV/align.s
M llvm/test/MC/RISCV/compressed-relocations.s
M llvm/test/MC/RISCV/linker-relaxation.s
M llvm/test/MC/RISCV/long-conditional-jump.s
M llvm/test/MC/RISCV/option-relax.s
M llvm/test/MC/RISCV/tlsdesc.s
M llvm/test/MC/RISCV/xqcibi-linker-relaxation.s
M llvm/test/MC/RISCV/xqcibi-relocations.s
Log Message:
-----------
[RISCV] Mark More Relocs as Relaxable (#151422)
Since this code was last reviewed, more relaxations have been added to
the psABI for existing standard relocations that LLVM didn't have marked
as relaxable.
This change ensures that LLVM marks the following relocations (and their
respective fixups) as relaxable:
- `R_RISCV_JAL`
- `R_RISCV_GOT_HI20`
- `R_RISCV_TPREL_HI20`
- `R_RISCV_TLSDESC_HI20`
This also updates the linker relaxation test to use `-NEXT` to check all
the output lines.
There are lots more emitted relocations, not only due to JAL being
relaxable, but branches are now also marked linker relaxable because
they can be turned into `b<cc>; jal` during assembly relaxation, which
may also be marked relaxable.
Commit: ecd2b6862c31ee5dff8db181e5c00a41656fc639
https://github.com/llvm/llvm-project/commit/ecd2b6862c31ee5dff8db181e5c00a41656fc639
Author: Richard Thomson <legalize at xmission.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/unittests/Transforms/Instrumentation/CMakeLists.txt
Log Message:
-----------
[CMake] Don't explicitly set folder for InstrumentationTests (#170041)
Use the default of `LLVM/Tests/Unit` to group these tests with other
LLVM unit test targets in the IDE.
Commit: 3c848122329e0c397dd10d9beb800d35f1dd3328
https://github.com/llvm/llvm-project/commit/3c848122329e0c397dd10d9beb800d35f1dd3328
Author: Hideto Ueno <uenoku.tokotoko at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
Log Message:
-----------
[mlir][python] Fail fast when nanobind is missing for Python bindings (#174649)
Remove problematic `return()` statements from
mlir_configure_python_dev_packages macro and convert nanobind detection
to FATAL_ERROR.
Using `return()` in a CMake macro is problematic because it returns from
the calling scope, not the macro itself, causing the parent
CMakeLists.txt to silently skip subsequent configuration steps. This
leads to confusing build failures when Python bindings are enabled but
nanobind is missing.
With this change, users get an immediate error with clear instructions
to install nanobind or set nanobind_DIR, rather than silent
configuration failures.
Commit: 057c7a79e3add4630e5d0fdce8b38491df5a230b
https://github.com/llvm/llvm-project/commit/057c7a79e3add4630e5d0fdce8b38491df5a230b
Author: RolandF77 <froese at ca.ibm.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCInstrFutureMMA.td
M llvm/test/CodeGen/PowerPC/dmf-outer-product.ll
M llvm/test/CodeGen/PowerPC/dmr-enable.ll
M llvm/test/CodeGen/PowerPC/dmr-spill.ll
M llvm/test/CodeGen/PowerPC/dmrp-spill.ll
M llvm/test/CodeGen/PowerPC/mma-intrinsics.ll
M llvm/test/CodeGen/PowerPC/mma-outer-product.ll
M llvm/test/CodeGen/PowerPC/mmaplus-crypto.ll
M llvm/test/CodeGen/PowerPC/mmaplus-intrinsics.ll
M llvm/test/CodeGen/PowerPC/v1024ls.ll
Log Message:
-----------
[PowerPC] Add type checking for DMF insert (#172078)
Create PPCISD nodes for DMF DMXXINSTDMR512 and DMXXINSTDMR256 operations
to allow type checking.
Commit: 3d6a96c0916fb0b238c2fae0e1791d3663415529
https://github.com/llvm/llvm-project/commit/3d6a96c0916fb0b238c2fae0e1791d3663415529
Author: Alexandre Perez <alexandreperez at meta.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/test/API/commands/command/script/add/TestAddParsedCommand.py
Log Message:
-----------
[lldb] Fix null pointer dereference in parsed command completion (#174868)
Fix a crash when tab-completing arguments for parsed commands that have
arguments but no options.
In `HandleArgumentCompletion`, `GetOptions()` returns `nullptr` when a
command has no options defined. The code was dereferencing this pointer
without a null check, causing a segfault when attempting tab completion.
Commit: 4bd84a9f335e2847a96d5ed4eac04576e811a963
https://github.com/llvm/llvm-project/commit/4bd84a9f335e2847a96d5ed4eac04576e811a963
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/test/CIR/CodeGen/atomic.c
Log Message:
-----------
[CIR] Implement AtomicExpr for Aggregate expr (#173775)
Implement support for AtomicExpr for Aggregate expr
Commit: f8b68c7b74704892ce308049fbc045e4b8b30d4d
https://github.com/llvm/llvm-project/commit/f8b68c7b74704892ce308049fbc045e4b8b30d4d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsSPIRVCommon.td
A clang/test/CodeGenSPIRV/Builtins/subgroup.c
A clang/test/SemaSPIRV/BuiltIns/subgroup-errors.c
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
Log Message:
-----------
[SPIR-V] Add builtin/intrinsic for subgroup ballot (#174862)
Summary:
This patch adds an LLVM intrinsic and lowering for a subgroup ballot and
a corresponding clang builtin. This uses the already present support but
provides in a way accessible to other targets. With this and
https://github.com/llvm/llvm-project/pull/174655 we should be able to
most of the basic functions, like shuffling, active masks, and
reductions. More work will be needed for canonicalizing / exposing the
SPIR-V functions, but these are the fundamental builtins I need.
Commit: 4f7da2f1363d7e7dcabba13965621a70e32d246d
https://github.com/llvm/llvm-project/commit/4f7da2f1363d7e7dcabba13965621a70e32d246d
Author: Hussam A. <60274772+hussam-alhassan at users.noreply.github.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
M llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
Log Message:
-----------
[AArch64] Add intra-block CSINC optimization to AArch64ConditionOptimizer (#173734)
This patch extends the AArch64ConditionOptimizer pass to handle CSINC
instructions within a single basic block, complementing the existing
cross-block branch optimization.
The optimization finds two CMP+CSINC pairs comparing the same register
with immediates differing by 1, and adjusts one comparison to enable CSE
to eliminate the redundant CMP instruction.
Example transformation:
```
cmp w8, #10
csinc w9, w0, w1, gt ; w9 = (w8 > 10) ? w0 : w1+1
cmp w8, #9 ; Removed by CSE after adjustment
csinc w10, w0, w1, gt ; w10 = (w8 > 9) ? w0 : w1+1
```
After optimization:
```
cmp w8, #10
csinc w9, w0, w1, gt ; w9 = (w8 > 10) ? w0 : w1+1
csinc w10, w0, w1, ge ; w10 = (w8 >= 10) ? w0 : w1+1
```
The existing cross-block logic has also been extracted into its own
method.
Any feedback on code quality and better practices is highly welcome.
Co-authored-by: Hussam Alhassan <hsm.link at proton.me>
Commit: 65945ec2ccac5a974cf918e5bde035b7a551ef9b
https://github.com/llvm/llvm-project/commit/65945ec2ccac5a974cf918e5bde035b7a551ef9b
Author: Andrew Haberlandt <ahaberlandt at apple.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M compiler-rt/test/asan/TestCases/Darwin/asan-symbolize-partial-report-no-external-symbolizer.cpp
M compiler-rt/test/asan/TestCases/Darwin/asan-symbolize-partial-report-with-module-map.cpp
M compiler-rt/test/asan/TestCases/Darwin/asan-symbolize-with-module-map.cpp
M compiler-rt/test/asan/TestCases/Darwin/atos-symbolizer-dyld-root-path.cpp
M compiler-rt/test/asan/TestCases/Darwin/atos-symbolizer.cpp
M compiler-rt/test/asan/TestCases/Darwin/duplicate_os_log_reports.cpp
M compiler-rt/test/asan/TestCases/Darwin/dyld_insert_libraries_reexec.cpp
M compiler-rt/test/asan/TestCases/Darwin/dyld_insert_libraries_remove.cpp
M compiler-rt/test/asan/TestCases/Darwin/interface_symbols_darwin.cpp
M compiler-rt/test/asan/TestCases/Darwin/suppressions-sandbox.cpp
M compiler-rt/test/asan/TestCases/Darwin/uuid.cpp
M compiler-rt/test/asan/TestCases/Posix/asan-symbolize-sanity-test.cpp
M compiler-rt/test/asan/TestCases/Posix/asan_symbolize_script/plugin_wrong_frame_number_bug.cpp
M compiler-rt/test/asan/TestCases/Posix/coverage.cpp
M compiler-rt/test/asan/TestCases/Posix/new_array_cookie_with_new_from_class.cpp
M compiler-rt/test/asan/TestCases/default_ignorelist.cpp
M compiler-rt/test/asan/TestCases/log-path_test.cpp
M compiler-rt/test/asan/TestCases/suppressions-exec-relative-location.cpp
M compiler-rt/test/fuzzer/afl-driver-stderr.test
M compiler-rt/test/fuzzer/big-file-copy.test
M compiler-rt/test/fuzzer/cross_over.test
M compiler-rt/test/fuzzer/merge-control-file.test
M compiler-rt/test/fuzzer/merge-posix.test
M compiler-rt/test/fuzzer/seed_inputs.test
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
M compiler-rt/test/sanitizer_common/TestCases/suffix-log-path_test.c
M compiler-rt/test/tsan/Darwin/dlopen.cpp
M compiler-rt/test/tsan/Darwin/dyld-insert-libraries.c
M compiler-rt/test/tsan/Darwin/write-interpose.c
Log Message:
-----------
[compiler-rt] [Darwin] Add darwin-remote feature for remote darwin test targets (#174905)
Some tests are already supported on "remote" devices and simulators.
However, there is currently no way to distinguish a remote macOS host
from a local one.
This adds the darwin-remote feature which is common to all test targets
which use a wrapper script (e.g. iossim_run.py).
rdar://167735355
---------
Co-authored-by: Dan Blackwell <danblackwell95 at gmail.com>
Commit: ad73bacf7aa02bc4ed1655dff6c9864ea24affde
https://github.com/llvm/llvm-project/commit/ad73bacf7aa02bc4ed1655dff6c9864ea24affde
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M lldb/Maintainers.md
Log Message:
-----------
[lldb] Nominate Charles Zablit and Nerixyz as Windows maintainers (#175035)
As the lead maintainer, I've been asked by the project council to
confirm that we have an up-to-date list of active maintainers for LLDB.
In light of that, I'd like to nominate Charles and Nerixyz as Windows
maintainers.
As a reminder, our community policies regarding the responsibilities of
maintainers can be found here:
https://llvm.org/docs/DeveloperPolicy.html#maintainers.
Commit: 65f39fde2bb97ef9e7d4a59c4d08a9df77be985e
https://github.com/llvm/llvm-project/commit/65f39fde2bb97ef9e7d4a59c4d08a9df77be985e
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-01-08 (Thu, 08 Jan 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 InitializeProcThreadAttributeList logic (#175016)
Commit: 8ab6b38dab63fda49e6294e3b0d847ae491d7701
https://github.com/llvm/llvm-project/commit/8ab6b38dab63fda49e6294e3b0d847ae491d7701
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.h
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ordering/Makefile
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ordering/TestDataFormatterStdOrdering.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ordering/main.cpp
Log Message:
-----------
[lldb] Add std::*_ordering summary providers (#174195)
I want to propose adding summary providers for `std::*_ordering` types
introduced in `C++20`. GDB already has pretty-printers for
[them](https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/python/libstdcxx/v6/printers.py#L1788),
so I think it will be useful.
Commit: ff617bce04cc05b1348bd2d68edabbd315a38a22
https://github.com/llvm/llvm-project/commit/ff617bce04cc05b1348bd2d68edabbd315a38a22
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/test/CodeGen/DirectX/WaveActiveBallot.ll
Log Message:
-----------
[HLSL] Fix WaveBallot dxil op function name (#174901)
Just fixing a typo from a copy paste.
Commit: 672a4c3f34ef0ecbef8966050b4d2105f4b6d088
https://github.com/llvm/llvm-project/commit/672a4c3f34ef0ecbef8966050b4d2105f4b6d088
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
Log Message:
-----------
[NFC][lldb] fix docstring indentation (#175042)
This patch fixes the indentation of 2 docstrings in
`TestDAP_runInTerminal.py`.
Running `black` on that file with the default settings causes this
change. `darker` does not seem to catch it.
This is a prelude to https://github.com/llvm/llvm-project/pull/174635.
Commit: 39dd1fd5e163dd9c3f626377ed55faecd592f803
https://github.com/llvm/llvm-project/commit/39dd1fd5e163dd9c3f626377ed55faecd592f803
Author: Leonard Grey <lgrey at chromium.org>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
Log Message:
-----------
[LLDB][NativePDB] NFC: Add language-agnostic interface to PdbAstBuilder (#173111)
This change implements part of
https://discourse.llvm.org/t/rfc-lldb-make-pdbastbuilder-language-agnostic/89117,
the goal of which is make `PdbAstBuilder` language-agnostic.
It adds several new interface methods to `PdbAstBuilder` which allow
`SymbolFileNativePDB` to interact with it without using Clang-specific
types. These new methods would make up much of the interface of a future
abstract `PdbAstBuilder`. `SymbolFileNativePDB` is updated to use these.
The old Clang-specific methods were renamed if used by
`UdtRecordCompleter` or internally, or removed where possible.
Commit: fcec9ced47c5b1e2479fa86f7b51a73ba6feb3f7
https://github.com/llvm/llvm-project/commit/fcec9ced47c5b1e2479fa86f7b51a73ba6feb3f7
Author: TMJ <tedmjohnson at protonmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/zero_len_char_array.f90
Log Message:
-----------
[flang] Do not error on constant nonzero UB in substring of ZLA (#174511)
A substring reference where the lower bound is higher than the upper
bound is defined in 9.4.1 to be zero-length.
Thus, a reference to a substring of a CHARACTER*(0) string such as
string(foo():2)
cannot be a compile-time error since we do not know the return value of
foo().
We also should not error if the lbound > ubound at compile time.
Commit: 4deb16c481c44288bc6a960d36c829d34a378015
https://github.com/llvm/llvm-project/commit/4deb16c481c44288bc6a960d36c829d34a378015
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/Transforms/Attributor/nofpclass.ll
Log Message:
-----------
Attributor: Set up full SimplifyQuery for nofpclass (#174928)
This enables assumes to work. Somehow the most obvious example
I could think of does not work (return of assumed argument).
The context instruction for the return seems to be off by one.
Commit: f0275bd6ba888d409cf677d498233d3be75cbf6b
https://github.com/llvm/llvm-project/commit/f0275bd6ba888d409cf677d498233d3be75cbf6b
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-readelf.rst
M llvm/docs/CommandGuide/llvm-readobj.rst
A llvm/test/tools/llvm-readobj/ELF/call-graph-info-warn-malformed.test
A llvm/test/tools/llvm-readobj/ELF/call-graph-info.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/tools/llvm-readobj/ObjDumper.h
M llvm/tools/llvm-readobj/Opts.td
M llvm/tools/llvm-readobj/llvm-readobj.cpp
Log Message:
-----------
[llvm-readobj] Dump callgraph section info for ELF (#157499)
Introduce a new flag `--call-graph-info` which outputs callgraph ELF
section information to the console as a text output or as JSON output.
Commit: 43cb4631c1f42dbfce78288b8ae30b5840ed59b3
https://github.com/llvm/llvm-project/commit/43cb4631c1f42dbfce78288b8ae30b5840ed59b3
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbpexpect.py
M lldb/source/Interpreter/embedded_interpreter.py
M lldb/test/API/python_api/file_handle/TestFileHandle.py
A lldb/test/API/terminal/TestPythonInterpreterEcho.py
A lldb/test/Shell/ScriptInterpreter/Python/io.test
Log Message:
-----------
[lldb] Fix typed commands not shown on the screen (#174216)
The cause is that in `python3.14`, `fcntl.ioctl` now throws a buffer
overflow error
when the buffer is too small or too large (see
https://github.com/python/cpython/pull/132919). This caused the Python
interpreter to fail terminal detection and not properly echo user
commands back to the screen.
Fix by dropping the custom terminal size check entirely and using the
built-in `sys.stdin.isatty()` instead.
Fixes #173302
Commit: 4c171a202f0e7fa685793fb9dc57d7c7ed7e0e97
https://github.com/llvm/llvm-project/commit/4c171a202f0e7fa685793fb9dc57d7c7ed7e0e97
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M flang/test/Lower/allocatables.f90
M flang/test/Lower/allocate-source-pointers.f90
M flang/test/Lower/array-constructor-2.f90
M flang/test/Lower/array-elemental-calls-3.f90
M flang/test/Lower/array-elemental-calls.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 4) (#174906)
>From this point on, the conversion is done to HLFIR, not to FIR.
Tests converted in Lower: allocatables.f90,
allocate-source-pointers.f90, array-constructor-2.f90,
array-elemental-calls-3.f90, array-elemental-calls.f90
Commit: 55e508c1339d0bb33b8012e16b93b7ae3a53a419
https://github.com/llvm/llvm-project/commit/55e508c1339d0bb33b8012e16b93b7ae3a53a419
Author: Alex Langford <alangford at apple.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/test/API/CMakeLists.txt
Log Message:
-----------
[lldb] Repair lldb-dotest's framework path (#174658)
lldb-dotest was likely getting LLDB_FRAMEWORK_DIR from another place
before. Now it's undefined when lldb-dotest is configured, so it's an
empty string. Some API tests will fail to link against LLDB.
Commit: 19a8ca35962e1819e9b6e6c78706415bbf871722
https://github.com/llvm/llvm-project/commit/19a8ca35962e1819e9b6e6c78706415bbf871722
Author: Alex Langford <alangford at apple.com>
Date: 2026-01-08 (Thu, 08 Jan 2026)
Changed paths:
A .ci/buildbot/README.md
A .ci/buildbot/worker.py
M .github/CODEOWNERS
M .github/actions/build-container/action.yml
M .github/actions/push-container/action.yml
M .github/new-prs-labeler.yml
M .github/workflows/build-ci-container-windows.yml
M .github/workflows/ci-post-commit-analyzer.yml
M .github/workflows/commit-access-review.yml
M .github/workflows/docs.yml
M .github/workflows/email-check.yaml
M .github/workflows/gha-codeql.yml
M .github/workflows/hlsl-test-all.yaml
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/libcxx-build-containers.yml
M .github/workflows/llvm-abi-tests.yml
M .github/workflows/new-issues.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/pr-code-lint.yml
M .github/workflows/premerge.yaml
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-documentation.yml
M .github/workflows/release-sources.yml
M .github/workflows/scorecard.yml
M .github/workflows/test-unprivileged-download-artifact.yml
M .github/workflows/upload-release-artifact/action.yml
M .gitignore
M bolt/README.md
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Passes/PointerAuthCFIFixup.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/runtime/instr.cpp
A bolt/test/AArch64/rseq.s
R bolt/test/AArch64/veneer-bolt.s
A bolt/test/AArch64/veneer-lite-mode.s
M bolt/test/RISCV/reloc-label-diff.s
M bolt/test/merge-fdata-bat-no-lbr.test
A bolt/test/merge-fdata-mem-prof.test
M bolt/test/merge-fdata-mixed-bat-no-lbr.test
M bolt/test/merge-fdata-mixed-mode.test
M bolt/test/merge-fdata-no-lbr-mode.test
A bolt/test/runtime/AArch64/instrumentation-ind-call-bti.c
M bolt/tools/merge-fdata/merge-fdata.cpp
M bolt/unittests/Core/MCPlusBuilder.cpp
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.h
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
A clang-tools-extra/clang-doc/assets/alias-template.mustache
M clang-tools-extra/clang-doc/assets/clang-doc-mustache.css
M clang-tools-extra/clang-doc/assets/class-template.mustache
M clang-tools-extra/clang-doc/assets/comment-template.mustache
M clang-tools-extra/clang-doc/assets/enum-template.mustache
M clang-tools-extra/clang-doc/assets/function-template.mustache
M clang-tools-extra/clang-doc/assets/index-template.mustache
M clang-tools-extra/clang-doc/assets/namespace-template.mustache
M clang-tools-extra/clang-doc/assets/navbar-template.mustache
M clang-tools-extra/clang-doc/support/Utils.cpp
M clang-tools-extra/clang-doc/tool/CMakeLists.txt
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousStringviewDataUsageCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ThrowKeywordMissingCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnusedLocalNonTrivialVariableCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/NoSuspendWithLockCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsAvoidUncheckedContainerAccessCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/VirtualClassDestructorCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/FuchsiaTidyModule.cpp
M clang-tools-extra/clang-tidy/google/CMakeLists.txt
M clang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp
R clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.cpp
R clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.h
M clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.cpp
A clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.cpp
A clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.h
M clang-tools-extra/clang-tidy/misc/CMakeLists.txt
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp
M clang-tools-extra/clang-tidy/misc/OverrideWithDifferentVisibilityCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ConcatNestedNamespacesCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ReplaceDisallowCopyAndAssignMacroCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
M clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
M clang-tools-extra/clang-tidy/performance/NoAutomaticMoveCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/readability/AvoidUnconditionalPreprocessorIfCheck.cpp
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
A clang-tools-extra/clang-tidy/readability/InconsistentIfElseBracesCheck.cpp
A clang-tools-extra/clang-tidy/readability/InconsistentIfElseBracesCheck.h
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.h
M clang-tools-extra/clang-tidy/utils/Matchers.h
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/Diagnostics.cpp
M clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
M clang-tools-extra/clangd/TUScheduler.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
M clang-tools-extra/clangd/support/FileCache.cpp
M clang-tools-extra/clangd/support/Threading.cpp
M clang-tools-extra/clangd/support/Trace.cpp
M clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
M clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
M clang-tools-extra/clangd/unittests/TUSchedulerTests.cpp
M clang-tools-extra/clangd/unittests/TestTU.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/dcl59-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/fuchsia/header-anon-namespaces.rst
M clang-tools-extra/docs/clang-tidy/checks/google/build-namespaces.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/misc/anonymous-namespace-in-header.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-ifelse-braces.rst
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
M clang-tools-extra/test/clang-doc/comments-in-macros.cpp
M clang-tools-extra/test/clang-doc/conversion_function.cpp
M clang-tools-extra/test/clang-doc/enum.cpp
M clang-tools-extra/test/clang-doc/index.cpp
M clang-tools-extra/test/clang-doc/json/class-template.cpp
M clang-tools-extra/test/clang-doc/json/class.cpp
M clang-tools-extra/test/clang-doc/json/compound-constraints.cpp
M clang-tools-extra/test/clang-doc/json/concept.cpp
M clang-tools-extra/test/clang-doc/json/function-requires.cpp
M clang-tools-extra/test/clang-doc/json/method-template.cpp
M clang-tools-extra/test/clang-doc/json/namespace.cpp
M clang-tools-extra/test/clang-doc/json/nested-namespace.cpp
M clang-tools-extra/test/clang-doc/mustache-index.cpp
M clang-tools-extra/test/clang-doc/mustache-separate-namespace.cpp
M clang-tools-extra/test/clang-doc/namespace.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
A clang-tools-extra/test/clang-doc/typedef-alias.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/dynamic-static-initializers.hpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/macro-parentheses.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/throw-keyword-missing.cpp
R clang-tools-extra/test/clang-tidy/checkers/google/namespaces.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/anonymous-namespace.h
A clang-tools-extra/test/clang-tidy/checkers/misc/anonymous-namespace-in-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-custom.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-custom.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-ifelse-braces-attributes.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-ifelse-braces-consteval-if.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-ifelse-braces-constexpr-if.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/inconsistent-ifelse-braces.cpp
M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/docs/AddressSanitizer.rst
M clang/docs/MemorySanitizer.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/ThreadSanitizer.rst
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/PrettyPrinter.h
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
M clang/include/clang/Analysis/CallGraph.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/include/clang/Basic/BuiltinsSPIRVCommon.td
M clang/include/clang/Basic/BuiltinsX86_64.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/OpenCLExtensions.def
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/DependencyScanning/DependencyScannerImpl.h
M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
M clang/include/clang/DependencyScanning/InProcessModuleCache.h
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Driver/RocmInstallationDetector.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.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/SemaRISCV.h
M clang/include/clang/Sema/SemaX86.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ModuleCache.h
M clang/include/clang/Serialization/ModuleManager.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/include/clang/Tooling/DependencyScanningTool.h
M clang/include/clang/Tooling/Inclusions/HeaderIncludes.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
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/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/lib/Analysis/LifetimeSafety/Origins.cpp
M clang/lib/Analysis/RetainSummaryManager.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGExpr.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/CGObjCRuntime.cpp
M clang/lib/CodeGen/CGObjCRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CGVTables.h
M clang/lib/CodeGen/CGValue.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/lib/CodeGen/TargetBuiltins/PPC.cpp
M clang/lib/DependencyScanning/CMakeLists.txt
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/DependencyScanning/InProcessModuleCache.cpp
M clang/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPAMD.h
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/SPIRV.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/Rewrite/FrontendActions.cpp
M clang/lib/Frontend/SARIFDiagnostic.cpp
M clang/lib/Frontend/TextDiagnostic.cpp
M clang/lib/Headers/amo.h
M clang/lib/Headers/amxavx512intrin.h
M clang/lib/Headers/avx512vlbwintrin.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Index/IndexTypeSourceInfo.cpp
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Rewrite/Rewriter.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPPC.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/lib/Sema/SemaX86.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ModuleCache.cpp
M clang/lib/Serialization/ModuleManager.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/ConstraintManager.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/lib/Testing/TestAST.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
M clang/test/AST/ByteCode/builtin-constant-p.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/builtins.c
M clang/test/AST/ByteCode/complex.cpp
M clang/test/AST/ByteCode/cxx03.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/cxx26.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/AST/ByteCode/typeid.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/AST/HLSL/cbuffer.hlsl
M clang/test/AST/ast-dump-decl-json.c
M clang/test/AST/ast-dump-records-json.cpp
M clang/test/AST/ast-dump-records.c
M clang/test/AST/ast-dump-records.cpp
M clang/test/AST/ast-dump-recovery.cpp
M clang/test/ASTMerge/struct/test.c
M clang/test/Analysis/Inputs/expected-plists/lambda-notes.cpp.plist
M clang/test/Analysis/analyzer-note-analysis-entry-points.cpp
M clang/test/Analysis/bug_hash_test.cpp
M clang/test/Analysis/builtin_overflow.c
A clang/test/Analysis/call-and-message-argpointeeinitializedness.c
M clang/test/Analysis/cfg.cpp
M clang/test/Analysis/debug-CallGraph.cpp
M clang/test/Analysis/inlining/Inputs/expected-plists/path-notes.cpp.plist
M clang/test/Analysis/stack-capture-leak-no-arc.mm
M clang/test/C/C23/n3006.c
M clang/test/C/C23/n3029.c
M clang/test/C/C23/n3037.c
R clang/test/CIR/CodeGen/X86/avx512-reduceIntrin.c
R clang/test/CIR/CodeGen/X86/avx512-reduceMinMaxIntrin.c
R clang/test/CIR/CodeGen/X86/cir-sqrt-builtins.c
M clang/test/CIR/CodeGen/aapcs-volatile-bitfields.c
M clang/test/CIR/CodeGen/assign-operator.cpp
M clang/test/CIR/CodeGen/atomic.c
M clang/test/CIR/CodeGen/binassign.c
M clang/test/CIR/CodeGen/comma.c
M clang/test/CIR/CodeGen/constant-expr.cpp
M clang/test/CIR/CodeGen/cxx-default-init.cpp
M clang/test/CIR/CodeGen/enum.cpp
M clang/test/CIR/CodeGen/finegrain-bitfield-access.cpp
A clang/test/CIR/CodeGen/pointer-to-member-func.cpp
M clang/test/CIR/CodeGen/struct.cpp
M clang/test/CIR/CodeGen/try-catch-tmp.cpp
M clang/test/CIR/CodeGen/union.c
M clang/test/CIR/CodeGen/vla.c
M clang/test/CIR/CodeGenBuiltins/X86/avx2-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceIntrin.c
A 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
A clang/test/CIR/CodeGenBuiltins/X86/avx512f16c-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx512vlbf16-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/sqrt-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/ssse3-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/xop-builtins.c
M clang/test/CIR/CodeGenBuiltins/builtin_bit.cpp
A clang/test/CIR/IR/eh-type-id.cir
A clang/test/CIR/IR/invalid-eh-type-id.cir
A clang/test/CIR/IR/invalid-struct.cir
M clang/test/CIR/IR/struct.cir
A clang/test/CIR/Lowering/eh-type-id.cir
A clang/test/CIR/Lowering/struct.cir
M clang/test/CIR/Transforms/canonicalize.cir
M clang/test/CIR/Transforms/switch.cir
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_mla.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_crypto.c
A clang/test/CodeGen/AArch64/sve2p2-intrinsics/acle_sve2_cvtnt.c
A clang/test/CodeGen/AArch64/sve2p2-intrinsics/acle_sve_rintx.c
M clang/test/CodeGen/PowerPC/builtins-amo-err.c
M clang/test/CodeGen/PowerPC/builtins-ppc-amo.c
M clang/test/CodeGen/PowerPC/ppc-amo-header.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/vfncvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/vfwcvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/vfncvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/vfwcvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/policy/non-overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/policy/non-overloaded/vfncvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/policy/non-overloaded/vfwcvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/policy/overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/policy/overloaded/vfncvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/policy/overloaded/vfwcvtbf16.c
A clang/test/CodeGen/X86/amx_amx512_errors.c
M clang/test/CodeGen/X86/amxavx512-builtins.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/block-with-perdefinedexpr.cpp
A clang/test/CodeGen/builtin-allow-sanitize-check-lower.c
A clang/test/CodeGen/builtin-allow-sanitize-check.c
M clang/test/CodeGen/builtin_clrsb.c
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/codegen-plugins.c
M clang/test/CodeGen/fat-lto-objects.c
M clang/test/CodeGen/pass-plugins.c
M clang/test/CodeGenCXX/cxx2c-trivially-relocatable.cpp
M clang/test/CodeGenCXX/dynamic-cast-hint.cpp
M clang/test/CodeGenCXX/predefined-expr.cpp
M clang/test/CodeGenCXX/riscv-mangle-rvv-fixed-vectors.cpp
A clang/test/CodeGenHIP/builtins-amdgcn-dl-insts.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx11-dl-insts.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx950-cvt.hip
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptDynamicSwizzle.hlsl
A clang/test/CodeGenHLSL/all-resources-bound.hlsl
A clang/test/CodeGenHLSL/builtins/WaveActiveBallot.hlsl
A clang/test/CodeGenOpenCL/builtin-store-half-rounding-constrained.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
A clang/test/CodeGenSPIRV/Builtins/subgroup.c
A clang/test/Driver/Inputs/DriverKit21.0.1.sdk/SDKSettings.json
M clang/test/Driver/Inputs/DriverKit23.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX10.15.versioned.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.1.sdk/SDKSettings.json
M clang/test/Driver/Inputs/WatchOS6.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/iPhoneOS13.0.sdk/SDKSettings.json
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/clang_f_opts.c
M clang/test/Driver/darwin-invalid-version-range.c
M clang/test/Driver/driverkit-path.c
M clang/test/Driver/fat-lto-objects.c
A clang/test/Driver/fpartition-static-data-sections.c
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/hipspv-link-static-library.hip
M clang/test/Driver/hipspv-toolchain-rdc.hip
M clang/test/Driver/hipspv-toolchain.hip
M clang/test/Driver/module-fgen-reduced-bmi.cppm
M clang/test/Driver/module-output.cppm
M clang/test/Driver/modulemap-allow-subdirectory-search.c
A clang/test/Driver/rocm-detect-lib-llvm.hip
M clang/test/Driver/rocm-device-libs.cl
M clang/test/Driver/spirv-amd-toolchain.c
A clang/test/Driver/spirv-llvm-link-emit-asm.c
A clang/test/Driver/spirv-llvm-link.c
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Index/print-type.c
M clang/test/InstallAPI/Inputs/MacOSX13.0.sdk/SDKSettings.json
M clang/test/Layout/ms-x86-alias-avoidance-padding.cpp
A clang/test/Modules/Inputs/pch-config-macros/include/Mod1.h
A clang/test/Modules/Inputs/pch-config-macros/include/module.modulemap
A clang/test/Modules/class-instantiate-no-change.cppm
M clang/test/Modules/ignored_macros.m
M clang/test/Modules/malformed-constraint-template-non-type-parm-decl.cpp
M clang/test/Modules/mismatch-diagnostics.cpp
A clang/test/Modules/pch-config-macros.c
A clang/test/Modules/pr158321.cppm
A clang/test/Modules/pr174543.cppm
A clang/test/Modules/precompiled-config-mismatch-diagnostics.c
M clang/test/Modules/sdk-settings-json-dep.m
M clang/test/OpenMP/need_device_ptr_kind_messages.cpp
A clang/test/OpenMP/target_vtable_codegen_container.cpp
A clang/test/OpenMP/target_vtable_codegen_explicit.cpp
A clang/test/OpenMP/target_vtable_codegen_implicit_namespace.cpp
A clang/test/OpenMP/target_vtable_codegen_memberexpr_codegen.cpp
A clang/test/OpenMP/target_vtable_codegen_mult_inherritence.cpp
A clang/test/OpenMP/target_vtable_codegen_nested.cpp
A clang/test/Options/all_resources_bound.hlsl
M clang/test/PCH/module-hash-difference.m
R clang/test/Parser/cxx2c-trivially-relocatable.cpp
A clang/test/Parser/enableif-attr.cpp
M clang/test/Sema/AArch64/arm_sme_streaming_only_sme_AND_sme-f8f16.c
M clang/test/Sema/AArch64/arm_sme_streaming_only_sme_AND_sme-f8f32.c
M clang/test/Sema/AArch64/arm_sve_feature_dependent_sve_AND_LP_sve2p2_OR_sme2p2_RP___sme_AND_LP_sve2p2_OR_sme2p2_RP.c
M clang/test/Sema/Inputs/AppleTVOS15.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/MacOSX11.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/WatchOS7.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/XROS.sdk/SDKSettings.json
M clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mla.c
M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
M clang/test/Sema/assign.c
M clang/test/Sema/attr-target-clones.c
A clang/test/Sema/builtin-allow-sanitize-check.c
A clang/test/Sema/c23-fixed-underlying-enum.c
A clang/test/Sema/c23-switch.c
A clang/test/Sema/sentinel-attribute-block.c
M clang/test/Sema/switch.c
M clang/test/Sema/warn-lifetime-safety-dataflow.cpp
M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
M clang/test/SemaCXX/attr-target-clones-riscv.cpp
M clang/test/SemaCXX/bitfield-preferred-type-sizing.cpp
M clang/test/SemaCXX/builtin-bswapg.cpp
A clang/test/SemaCXX/crash-GH173943.cpp
M clang/test/SemaCXX/cxx0x-nontrivial-union.cpp
M clang/test/SemaCXX/cxx1z-decomposition.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
M clang/test/SemaCXX/lambda-unevaluated.cpp
M clang/test/SemaCXX/predefined-expr.cpp
M clang/test/SemaCXX/ptrauth-triviality.cpp
M clang/test/SemaCXX/ptrauth-type-traits.cpp
M clang/test/SemaCXX/trivially-relocatable-ptrauth.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
A clang/test/SemaCXX/typeid-requires-typeinfo.cpp
M clang/test/SemaCXX/typeid.cpp
M clang/test/SemaCXX/undefined-internal.cpp
M clang/test/SemaCXX/vector.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
A clang/test/SemaHIP/amdgpu-flat-atomic-fmax-err.hip
A clang/test/SemaHIP/amdgpu-flat-atomic-fmin-err.hip
A clang/test/SemaHIP/amdgpu-global-atomic-fmax-err.hip
A clang/test/SemaHIP/amdgpu-global-atomic-fmin-err.hip
A clang/test/SemaHLSL/BuiltIns/WaveActiveBallot-errors.hlsl
M clang/test/SemaHLSL/matrix_single_subscript_errors.hlsl
M clang/test/SemaObjCXX/arc-0x.mm
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-wmma-w32-param.cl
M clang/test/SemaOpenCL/extension-version.cl
A clang/test/SemaSPIRV/BuiltIns/subgroup-errors.c
M clang/tools/driver/cc1as_main.cpp
M clang/tools/driver/cc1gen_reproducer_main.cpp
M clang/tools/driver/driver.cpp
M clang/unittests/AST/NamedDeclPrinterTest.cpp
M clang/unittests/AST/TypePrinterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/Basic/DarwinSDKInfoTest.cpp
M clang/unittests/Basic/SourceManagerTest.cpp
M clang/unittests/DependencyScanning/DependencyScanningWorkerTest.cpp
M clang/unittests/Serialization/CMakeLists.txt
M clang/unittests/Serialization/ModuleCacheTest.cpp
R clang/unittests/Serialization/NamespaceLookupTest.cpp
M clang/unittests/StaticAnalyzer/UnsignedStatDemo.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/HeaderIncludesTest.cpp
M clang/unittests/Tooling/QualTypeNamesTest.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_interceptors.h
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/aarch64/sme-abi.S
M compiler-rt/lib/interception/interception_aix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_libc.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_libc.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/tsan/go/tsan_go.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
M compiler-rt/lib/tsan/rtl/tsan_symbolize.cpp
M compiler-rt/lib/tsan/rtl/tsan_symbolize.h
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/asan/CMakeLists.txt
M compiler-rt/test/asan/TestCases/Darwin/asan-symbolize-partial-report-no-external-symbolizer.cpp
M compiler-rt/test/asan/TestCases/Darwin/asan-symbolize-partial-report-with-module-map.cpp
M compiler-rt/test/asan/TestCases/Darwin/asan-symbolize-with-module-map.cpp
M compiler-rt/test/asan/TestCases/Darwin/atos-symbolizer-dyld-root-path.cpp
M compiler-rt/test/asan/TestCases/Darwin/atos-symbolizer.cpp
M compiler-rt/test/asan/TestCases/Darwin/duplicate_os_log_reports.cpp
M compiler-rt/test/asan/TestCases/Darwin/dyld_insert_libraries_reexec.cpp
M compiler-rt/test/asan/TestCases/Darwin/dyld_insert_libraries_remove.cpp
M compiler-rt/test/asan/TestCases/Darwin/interface_symbols_darwin.cpp
M compiler-rt/test/asan/TestCases/Darwin/suppressions-sandbox.cpp
M compiler-rt/test/asan/TestCases/Darwin/uuid.cpp
M compiler-rt/test/asan/TestCases/Posix/asan-symbolize-sanity-test.cpp
M compiler-rt/test/asan/TestCases/Posix/asan_symbolize_script/plugin_wrong_frame_number_bug.cpp
M compiler-rt/test/asan/TestCases/Posix/coverage.cpp
M compiler-rt/test/asan/TestCases/Posix/new_array_cookie_with_new_from_class.cpp
M compiler-rt/test/asan/TestCases/default_ignorelist.cpp
M compiler-rt/test/asan/TestCases/log-path_test.cpp
M compiler-rt/test/asan/TestCases/suppressions-exec-relative-location.cpp
M compiler-rt/test/asan/lit.site.cfg.py.in
M compiler-rt/test/asan_abi/CMakeLists.txt
M compiler-rt/test/asan_abi/lit.site.cfg.py.in
M compiler-rt/test/builtins/CMakeLists.txt
M compiler-rt/test/builtins/Unit/fixunstfdi_test.c
M compiler-rt/test/builtins/Unit/multc3_test.c
M compiler-rt/test/fuzzer/CMakeLists.txt
M compiler-rt/test/fuzzer/afl-driver-stderr.test
M compiler-rt/test/fuzzer/big-file-copy.test
M compiler-rt/test/fuzzer/cross_over.test
M compiler-rt/test/fuzzer/lit.site.cfg.py.in
M compiler-rt/test/fuzzer/merge-control-file.test
M compiler-rt/test/fuzzer/merge-posix.test
M compiler-rt/test/fuzzer/seed_inputs.test
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/test/sanitizer_common/CMakeLists.txt
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cpp
M compiler-rt/test/sanitizer_common/TestCases/suffix-log-path_test.c
M compiler-rt/test/sanitizer_common/lit.site.cfg.py.in
M compiler-rt/test/tsan/CMakeLists.txt
M compiler-rt/test/tsan/Darwin/dlopen.cpp
M compiler-rt/test/tsan/Darwin/dyld-insert-libraries.c
M compiler-rt/test/tsan/Darwin/write-interpose.c
M compiler-rt/test/tsan/lit.site.cfg.py.in
M compiler-rt/test/ubsan/CMakeLists.txt
M compiler-rt/test/ubsan/lit.site.cfg.py.in
M cross-project-tests/CMakeLists.txt
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/CMakeLists.txt
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/arrayref.cpp
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/arrayref.test
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/lit.local.cfg
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.cpp
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/pointer-int-pair.test
A cross-project-tests/dtlto/archive.test
A cross-project-tests/dtlto/archives-mixed-lto-modes-test.test
A cross-project-tests/dtlto/archives-same-module-id.test
M cross-project-tests/lit.cfg.py
M flang-rt/include/flang-rt/runtime/derived.h
M flang-rt/include/flang-rt/runtime/work-queue.h
M flang-rt/lib/cuda/allocatable.cpp
M flang-rt/lib/cuda/memmove-function.cpp
M flang-rt/lib/cuda/pointer.cpp
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/test/CMakeLists.txt
M flang/docs/Extensions.md
M flang/docs/GettingInvolved.md
M flang/docs/OpenMPSupport.md
R flang/docs/_static/llvm.css
R flang/docs/_templates/indexsidebar.html
R flang/docs/_templates/layout.html
R flang/docs/_themes/llvm-theme/layout.html
R flang/docs/_themes/llvm-theme/static/contents.png
R flang/docs/_themes/llvm-theme/static/llvm-theme.css
R flang/docs/_themes/llvm-theme/static/logo.png
R flang/docs/_themes/llvm-theme/static/navigation.png
R flang/docs/_themes/llvm-theme/theme.conf
M flang/docs/index.md
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Frontend/CompilerInstance.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Lower/PFTBuilder.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.h
M flang/include/flang/Optimizer/Passes/CommandLineOpts.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/message.h
M flang/include/flang/Parser/parse-state.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Parser/tools.h
M flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/memmove-function.h
M flang/include/flang/Runtime/CUDA/pointer.h
M flang/include/flang/Runtime/allocatable.h
M flang/include/flang/Runtime/freestanding-tools.h
M flang/include/flang/Runtime/pointer.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/scope.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Frontend/ParserActions.cpp
M flang/lib/FrontendTool/CMakeLists.txt
M flang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
M flang/lib/Optimizer/Passes/CommandLineOpts.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFAllocationConversion.cpp
A flang/lib/Optimizer/Transforms/CUDA/CUFComputeSharedMemoryOffsetsAndSize.cpp
A flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
A flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
A flang/lib/Optimizer/Transforms/CUDA/CUFFunctionRewrite.cpp
A flang/lib/Optimizer/Transforms/CUDA/CUFGPUToLLVMConversion.cpp
A flang/lib/Optimizer/Transforms/CUDA/CUFLaunchAttachAttr.cpp
A flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp
A flang/lib/Optimizer/Transforms/CUDA/CUFPredefinedVarToGPU.cpp
R flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
R flang/lib/Optimizer/Transforms/CUFComputeSharedMemoryOffsetsAndSize.cpp
R flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
R flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
R flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
A flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
M flang/lib/Parser/basic-parsers.h
M flang/lib/Parser/io-parsers.cpp
M flang/lib/Parser/message.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-allocate.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-omp-atomic.cpp
M flang/lib/Semantics/definable.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/runtime-type-info.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/test/Analysis/AliasAnalysis/gen_mod_ref_test.py
M flang/test/Analysis/AliasAnalysis/modref-call-dummies.f90
M flang/test/Analysis/AliasAnalysis/modref-call-globals.f90
A flang/test/Analysis/AliasAnalysis/modref-call-recursive.fir
M flang/test/CMakeLists.txt
M flang/test/Driver/Inputs/free-form-test.f90
M flang/test/Driver/color-diagnostics-scan.f
M flang/test/Driver/disable-diagnostic.f90
M flang/test/Driver/fixed-free-detection.f90
M flang/test/Driver/fixed-free-flag.f90
M flang/test/Driver/omp-driver-offload.f90
A flang/test/Driver/pass-plugin-codegen.f90
M flang/test/Driver/pass-plugin-not-found.f90
M flang/test/Driver/pass-plugin.f90
M flang/test/Driver/plugin-invalid-name.f90
A flang/test/Driver/veclib-frem.f90
M flang/test/Driver/werror-scan.f
M flang/test/Examples/feature-list-class.f90
M flang/test/Examples/feature-list-functions.f90
M flang/test/Examples/omp-atomic.f90
M flang/test/Examples/omp-declarative-directive.f90
M flang/test/Examples/omp-device-constructs.f90
M flang/test/Examples/omp-in-reduction-clause.f90
M flang/test/Examples/omp-nowait.f90
M flang/test/Examples/omp-order-clause.f90
M flang/test/Examples/omp-sections.f90
M flang/test/Examples/print-fns-calls.f90
M flang/test/Examples/print-fns-definitions.f90
M flang/test/Examples/print-fns-interfaces.f90
M flang/test/Fir/CUDA/cuda-allocate.fir
A flang/test/Fir/CUDA/cuda-device-func-transform-cc90.mlir
A flang/test/Fir/CUDA/cuda-device-func-transform.mlir
A flang/test/Fir/CUDA/cuda-function-rewrite.mlir
A flang/test/Fir/CUDA/cuda-launch-attach-attr.mlir
A flang/test/Fir/CUDA/predefined-variables.mlir
M flang/test/Fir/FirToSCF/do-loop.fir
A flang/test/Fir/prefetch.fir
M flang/test/Integration/OpenMP/copyprivate.f90
M flang/test/Integration/OpenMP/private-global.f90
A flang/test/Integration/prefetch.f90
R flang/test/Lower/CUDA/TODO/cuda-allocate-default-init.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-devptr.cuf
A flang/test/Lower/HLFIR/prefetch.f90
M flang/test/Lower/Intrinsics/c_loc.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/simd-linear.f90
M flang/test/Lower/OpenMP/target-spmd.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-return.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocatables.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/allocate-source-allocatables.f90
M flang/test/Lower/allocate-source-pointers.f90
M flang/test/Lower/allocated.f90
M flang/test/Lower/always-execute-loop-body.f90
M flang/test/Lower/arithmetic-goto.f90
M flang/test/Lower/array-constructor-1.f90
M flang/test/Lower/array-constructor-2.f90
M flang/test/Lower/array-constructor-index.f90
M flang/test/Lower/array-derived.f90
M flang/test/Lower/array-elemental-calls-3.f90
M flang/test/Lower/array-elemental-calls.f90
M flang/test/Lower/assign-statement.f90
A flang/test/Lower/bug173766.f90
A flang/test/Lower/debug-use-stmt-ambiguous.f90
A flang/test/Lower/debug-use-stmt.f90
M flang/test/Lower/nullify-polymorphic.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/volatile-allocatable.f90
M flang/test/Parser/badlabel.f
A flang/test/Parser/bug173522.f90
A flang/test/Parser/bug50563.f
M flang/test/Preprocessing/pp039.F
M flang/test/Semantics/OpenMP/copying.f90
M flang/test/Semantics/bindings03.f90
A flang/test/Semantics/bug127425.f90
A flang/test/Semantics/bug171844.f90
A flang/test/Semantics/bug173593.f90
A flang/test/Semantics/bug174859.f90
A flang/test/Semantics/bug2021.f90
M flang/test/Semantics/cuf23.cuf
M flang/test/Semantics/entry01.f90
M flang/test/Semantics/kinds05b.f90
M flang/test/Semantics/long-name.f90
A flang/test/Semantics/unused.f90
A flang/test/Semantics/zero_len_char_array.f90
M flang/test/Transforms/do-concurrent-localizer-dealloc-region.fir
M flang/test/Transforms/do-concurrent-localizer-init-region.fir
M flang/test/Transforms/do_concurrent-to-do_loop-unodered.fir
A flang/test/Transforms/licm.fir
M flang/test/Transforms/lower-repack-arrays.fir
M flang/test/lit.site.cfg.py.in
M flang/tools/bbc/bbc.cpp
M libc/.gitignore
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/docs/hand_in_hand.rst
M libc/fuzzing/stdio/printf_float_conv_fuzz.cpp
M libc/src/__support/CMakeLists.txt
A libc/src/__support/wctype/CMakeLists.txt
A libc/src/__support/wctype/wctype_classification_utils.h
M libc/src/math/generic/log1p.cpp
M libc/src/stdlib/atexit.cpp
M libc/src/stdlib/exit.cpp
M libc/src/stdlib/quick_exit.cpp
M libc/startup/gpu/amdgpu/start.cpp
M libc/startup/gpu/nvptx/start.cpp
M libc/startup/linux/do_start.cpp
M libc/test/src/__support/CMakeLists.txt
A libc/test/src/__support/wctype/CMakeLists.txt
A libc/test/src/__support/wctype/wctype_classification_utils_test.cpp
M libc/utils/hdrgen/hdrgen/header.py
M libc/utils/hdrgen/hdrgen/main.py
A libc/utils/hdrgen/tests/expected_output/test_small_proxy.h
M libc/utils/hdrgen/tests/test_integration.py
A libc/utils/wctype_utils/classification/__init__.py
A libc/utils/wctype_utils/classification/gen_classification_data.py
M libc/utils/wctype_utils/gen.py
M libclc/CMakeLists.txt
M libclc/clc/lib/generic/SOURCES
M libclc/clc/lib/generic/conversion/clc_convert_integer.cl
M libclc/cmake/modules/AddLibclc.cmake
R libclc/utils/CMakeLists.txt
R libclc/utils/prepare-builtins.cpp
M libcxx/docs/CodingGuidelines.rst
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/VendorDocumentation.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/copy.h
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/move.h
M libcxx/include/__algorithm/pstl.h
M libcxx/include/__algorithm/ranges_search_n.h
M libcxx/include/__algorithm/search_n.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__atomic/atomic_ref.h
M libcxx/include/__atomic/atomic_sync.h
A libcxx/include/__atomic/atomic_waitable_traits.h
M libcxx/include/__chrono/day.h
M libcxx/include/__chrono/duration.h
M libcxx/include/__chrono/file_clock.h
M libcxx/include/__chrono/leap_second.h
M libcxx/include/__chrono/month.h
M libcxx/include/__chrono/month_weekday.h
M libcxx/include/__chrono/monthday.h
M libcxx/include/__chrono/steady_clock.h
M libcxx/include/__chrono/system_clock.h
M libcxx/include/__chrono/time_point.h
M libcxx/include/__chrono/weekday.h
M libcxx/include/__chrono/year.h
M libcxx/include/__chrono/year_month.h
M libcxx/include/__chrono/year_month_day.h
M libcxx/include/__chrono/year_month_weekday.h
M libcxx/include/__chrono/zoned_time.h
M libcxx/include/__configuration/availability.h
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/__flat_map/flat_multimap.h
M libcxx/include/__flat_set/flat_set.h
M libcxx/include/__format/extended_grapheme_cluster_table.h
M libcxx/include/__format/indic_conjunct_break_table.h
M libcxx/include/__format/width_estimation_table.h
M libcxx/include/__ios/fpos.h
M libcxx/include/__iterator/iter_move.h
M libcxx/include/__locale
M libcxx/include/__memory/addressof.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/is_sufficiently_aligned.h
M libcxx/include/__memory/raw_storage_iterator.h
M libcxx/include/__new/allocate.h
M libcxx/include/__new/global_new_delete.h
M libcxx/include/__new/interference_size.h
M libcxx/include/__numeric/gcd_lcm.h
M libcxx/include/__numeric/midpoint.h
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__ranges/drop_view.h
M libcxx/include/__ranges/iota_view.h
M libcxx/include/__ranges/view_interface.h
M libcxx/include/__thread/poll_with_backoff.h
M libcxx/include/__thread/timed_backoff_policy.h
M libcxx/include/any
M libcxx/include/atomic
M libcxx/include/chrono
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/ios
M libcxx/include/istream
M libcxx/include/module.modulemap.in
M libcxx/include/optional
M libcxx/include/semaphore
M libcxx/include/sstream
M libcxx/include/streambuf
M libcxx/include/strstream
M libcxx/include/syncstream
M libcxx/include/variant
M libcxx/include/version
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
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/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/modules/std/chrono.inc
M libcxx/modules/std/new.inc
M libcxx/src/atomic.cpp
M libcxx/src/locale.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/find.bench.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/search_n.bench.cpp
A libcxx/test/libcxx/algorithms/nodiscard.verify.cpp
A libcxx/test/libcxx/algorithms/pstl.nodiscard.verify.cpp
M libcxx/test/libcxx/atomics/diagnose_invalid_memory_order.verify.cpp
A libcxx/test/libcxx/atomics/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/associative/map/map.nodiscard.verify.cpp
A libcxx/test/libcxx/containers/associative/map/multimap.nodiscard.verify.cpp
A libcxx/test/libcxx/containers/associative/set/multiset.nodiscard.verify.cpp
A libcxx/test/libcxx/containers/associative/set/set.nodiscard.verify.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.map/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.multimap/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.set/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/container.adaptors/queue/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/container.adaptors/stack/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/sequences/array/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/sequences/deque/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/sequences/forwardlist/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/sequences/list/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/sequences/vector/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/unord/unord.map/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/unord/unord.multimap/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/unord/unord.multiset/nodiscard.verify.cpp
A libcxx/test/libcxx/containers/unord/unord.set/nodiscard.verify.cpp
A libcxx/test/libcxx/depr/depr.strstream/nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/algorithm.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/array.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/atomic.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/bit.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/cmath.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/cstddef.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/cstdlib.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/deque.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/filesystem.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/flat_map.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/flat_multimap.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/flat_multiset.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/flat_set.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/format.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/forward_list.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/functional.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/future.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/limits.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/list.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/map.nodiscard.verify.cpp
M libcxx/test/libcxx/diagnostics/memory.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/multimap.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/multiset.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/mutex.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/new.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/pstl.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/queue.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/regex.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/set.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/stack.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/string.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/string_view.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/syserr/system_error_win_codes.pass.cpp
R libcxx/test/libcxx/diagnostics/system_error_win_codes.pass.cpp
R libcxx/test/libcxx/diagnostics/unordered_map.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/unordered_multimap.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/unordered_multiset.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/unordered_set.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/utility.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/vector.nodiscard.verify.cpp
A libcxx/test/libcxx/input.output/file.streams/fstreams/nodiscard.verify.cpp
A libcxx/test/libcxx/input.output/filesystems/nodiscard.verify.cpp
A libcxx/test/libcxx/input.output/iostream.format/nodiscard.verify.cpp
M libcxx/test/libcxx/input.output/iostreams.base/nodiscard.verify.cpp
A libcxx/test/libcxx/input.output/stream.buffers/nodiscard.verify.cpp
A libcxx/test/libcxx/input.output/string.streams/nodiscard.verify.cpp
A libcxx/test/libcxx/input.output/synchstream/nodiscard.verify.cpp
A libcxx/test/libcxx/language.support/limits/nodiscard.verify.cpp
M libcxx/test/libcxx/language.support/nodiscard.verify.cpp
A libcxx/test/libcxx/numerics/c.math/nodiscard.verify.cpp
M libcxx/test/libcxx/numerics/nodiscard.verify.cpp
A libcxx/test/libcxx/ranges/range.adaptors/range.drop/nodiscard.verify.cpp
A libcxx/test/libcxx/ranges/range.factories/range.iota.view/nodiscard.verify.cpp
A libcxx/test/libcxx/ranges/range.utility/view.interface/nodiscard.verify.cpp
A libcxx/test/libcxx/re/nodiscard.verify.cpp
A libcxx/test/libcxx/strings/basic.string/nodiscard.verify.cpp
A libcxx/test/libcxx/strings/string.view/nodiscard.verify.cpp
M libcxx/test/libcxx/thread/nodiscard.verify.cpp
A libcxx/test/libcxx/time/nodiscard.verify.cpp
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
A libcxx/test/libcxx/utilities/bit/nodiscard.verify.cpp
A libcxx/test/libcxx/utilities/format/nodiscard.verify.cpp
A libcxx/test/libcxx/utilities/function.objects/nodiscard.verify.cpp
R libcxx/test/libcxx/utilities/optional/optional.iterator/iterator.compile.pass.cpp
A libcxx/test/libcxx/utilities/utility/nodiscard.verify.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_n.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/robust_against_nonbool.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multimap/robust_against_nonbool.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/robust_against_nonbool.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/robust_against_nonbool.compile.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/peek.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
A libcxx/test/std/language.support/support.types/cstddef.nodiscard.verify.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.midpoint/midpoint.verify.cpp
M libcxx/test/std/thread/futures/futures.promise/set_exception.pass.cpp
M libcxx/test/std/thread/futures/futures.promise/set_exception_at_thread_exit.pass.cpp
M libcxx/test/std/thread/futures/futures.promise/set_value_void.pass.cpp
M libcxx/test/std/thread/futures/futures.shared_future/get.pass.cpp
M libcxx/test/std/thread/futures/futures.task/futures.task.members/make_ready_at_thread_exit.pass.cpp
M libcxx/test/std/thread/futures/futures.task/futures.task.members/operator.pass.cpp
M libcxx/test/std/thread/futures/futures.unique_future/get.pass.cpp
A libcxx/test/std/time/time.hash/time.hash_enabled.pass.cpp
R libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate.verify.cpp
M libcxx/test/std/utilities/optional/optional.iterator/iterator.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp
A libcxx/test/std/utilities/optional/optional.relops/relops.compile.pass.cpp
M libcxx/test/std/utilities/optional/optional.specalg/make_optional.pass.cpp
M libcxx/test/std/utilities/optional/optional.specalg/make_optional_explicit.pass.cpp
M libcxx/test/std/utilities/optional/optional.specalg/make_optional_explicit_initializer_list.pass.cpp
M libcxx/test/std/utilities/optional/optional.specalg/swap.pass.cpp
M libcxx/utils/ci/docker/linux-builder-base.dockerfile
M libcxx/utils/generate_extended_grapheme_cluster_table.py
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/generate_indic_conjunct_break_table.py
M libcxx/utils/generate_width_estimation_table.py
M libcxxabi/src/cxa_exception.cpp
M libunwind/src/AddressSpace.hpp
M libunwind/src/DwarfInstructions.hpp
M libunwind/src/DwarfParser.hpp
M libunwind/src/EHHeaderParser.hpp
M libunwind/src/Registers.hpp
M libunwind/src/Unwind-wasm.c
M libunwind/src/UnwindCursor.hpp
M lld/COFF/CMakeLists.txt
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/InputFiles.cpp
M lld/COFF/LTO.cpp
M lld/COFF/Options.td
M lld/ELF/CMakeLists.txt
M lld/ELF/InputFiles.cpp
M lld/ELF/LTO.cpp
M lld/ELF/ScriptLexer.cpp
M lld/ELF/ScriptLexer.h
M lld/ELF/ScriptParser.cpp
M lld/docs/ReleaseNotes.rst
A lld/test/COFF/linkreprofullpathrsp.test
A lld/test/COFF/lto-slp-vectorize-pm.ll
M lld/test/ELF/dynamic-list-extern.s
M lld/test/ELF/linkerscript/version-script.s
M lld/test/ELF/version-script.s
M lldb/Maintainers.md
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/index.rst
A lldb/docs/resources/lldbdap-contributing.md
R lldb/docs/resources/lldbdap.md
A lldb/docs/use/lldbdap.md
M lldb/examples/python/crashlog.py
M lldb/include/lldb/Core/FormatEntity.h
M lldb/include/lldb/Host/windows/ProcessLauncherWindows.h
M lldb/include/lldb/Utility/StringList.h
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/lldbpexpect.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/source/API/SBCommandReturnObject.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectVersion.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/Core/SourceManager.cpp
M lldb/source/Core/Statusline.cpp
M lldb/source/DataFormatters/FormatManager.cpp
M lldb/source/DataFormatters/FormatterBytecode.cpp
M lldb/source/DataFormatters/FormattersHelpers.cpp
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/source/Expression/UserExpression.cpp
M lldb/source/Host/common/MemoryMonitor.cpp
M lldb/source/Host/macosx/objcxx/Host.mm
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/source/Interpreter/embedded_interpreter.py
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.h
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlDeque.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlSmartPointer.cpp
A lldb/source/Plugins/Language/CPlusPlus/MsvcStlSpan.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlTree.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
A lldb/source/Plugins/ObjectContainer/Big-Archive/CMakeLists.txt
A lldb/source/Plugins/ObjectContainer/Big-Archive/ObjectContainerBigArchive.cpp
A lldb/source/Plugins/ObjectContainer/Big-Archive/ObjectContainerBigArchive.h
M lldb/source/Plugins/ObjectContainer/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
M lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
M lldb/source/Plugins/Process/AIX/CMakeLists.txt
A lldb/source/Plugins/Process/AIX/NativeRegisterContextAIX_ppc64.cpp
A lldb/source/Plugins/Process/AIX/NativeRegisterContextAIX_ppc64.h
M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
M lldb/source/Plugins/Process/Utility/RegisterInfos_ppc64.h
M lldb/source/Plugins/Process/Utility/lldb-ppc64-register-enums.h
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Utility/PPC64_DWARF_Registers.h
M lldb/source/Utility/StringList.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/test/API/CMakeLists.txt
M lldb/test/API/commands/command/script/add/TestAddParsedCommand.py
A lldb/test/API/commands/frame/var-dil/expr/Casts/Makefile
A lldb/test/API/commands/frame/var-dil/expr/Casts/TestFrameVarDILCast.py
A lldb/test/API/commands/frame/var-dil/expr/Casts/main.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/deque/TestDataFormatterGenericDeque.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ordering/Makefile
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ordering/TestDataFormatterStdOrdering.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ordering/main.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/span/TestDataFormatterStdSpan.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string_view/TestDataFormatterStdStringView.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/u8string_view/TestDataFormatterStdU8StringView.py
A lldb/test/API/functionalities/data-formatter/stringprinter/Makefile
M lldb/test/API/functionalities/data-formatter/stringprinter/TestStringPrinter.py
M lldb/test/API/functionalities/data-formatter/stringprinter/main.cpp
M lldb/test/API/python_api/file_handle/TestFileHandle.py
M lldb/test/API/python_api/section/TestSectionAPI.py
A lldb/test/API/terminal/TestPythonInterpreterEcho.py
M lldb/test/API/tools/lldb-dap/io/TestDAP_io.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
M lldb/test/API/tools/lldb-dap/server/TestDAP_server.py
M lldb/test/Shell/Expr/TestExecProgress.test
A lldb/test/Shell/ScriptInterpreter/Python/io.test
M lldb/test/Shell/Settings/TestCxxFrameFormatRecursive.test
R lldb/tools/lldb-dap/.gitignore
R lldb/tools/lldb-dap/.prettierrc.json
R lldb/tools/lldb-dap/.vscode/launch.json
R lldb/tools/lldb-dap/.vscode/tasks.json
R lldb/tools/lldb-dap/.vscodeignore
M lldb/tools/lldb-dap/ClientLauncher.cpp
M lldb/tools/lldb-dap/ClientLauncher.h
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
R lldb/tools/lldb-dap/LICENSE.TXT
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/README.md
A lldb/tools/lldb-dap/extension/.gitignore
A lldb/tools/lldb-dap/extension/.prettierignore
A lldb/tools/lldb-dap/extension/.prettierrc.json
A lldb/tools/lldb-dap/extension/.vscode-test.mjs
A lldb/tools/lldb-dap/extension/.vscode/launch.json
A lldb/tools/lldb-dap/extension/.vscode/tasks.json
A lldb/tools/lldb-dap/extension/.vscodeignore
A lldb/tools/lldb-dap/extension/LICENSE.TXT
A lldb/tools/lldb-dap/extension/llvm-logo.png
A lldb/tools/lldb-dap/extension/package-lock.json
A lldb/tools/lldb-dap/extension/package.json
A lldb/tools/lldb-dap/extension/src/debug-adapter-factory.ts
A lldb/tools/lldb-dap/extension/src/debug-configuration-provider.ts
A lldb/tools/lldb-dap/extension/src/debug-session-tracker.ts
A lldb/tools/lldb-dap/extension/src/disposable-context.ts
A lldb/tools/lldb-dap/extension/src/extension.ts
A lldb/tools/lldb-dap/extension/src/index.d.ts
A lldb/tools/lldb-dap/extension/src/lldb-dap-server.ts
A lldb/tools/lldb-dap/extension/src/logging.ts
A lldb/tools/lldb-dap/extension/src/ui/error-with-notification.ts
A lldb/tools/lldb-dap/extension/src/ui/modules-data-provider.ts
A lldb/tools/lldb-dap/extension/src/ui/show-error-message.ts
A lldb/tools/lldb-dap/extension/src/ui/symbols-provider.ts
A lldb/tools/lldb-dap/extension/src/ui/symbols-webview-html.ts
A lldb/tools/lldb-dap/extension/src/uri-launch-handler.ts
A lldb/tools/lldb-dap/extension/src/utils.ts
A lldb/tools/lldb-dap/extension/src/webview/symbols-table-view.ts
A lldb/tools/lldb-dap/extension/src/webview/tsconfig.json
A lldb/tools/lldb-dap/extension/syntaxes/arm.disasm
A lldb/tools/lldb-dap/extension/syntaxes/arm64.disasm
A lldb/tools/lldb-dap/extension/syntaxes/disassembly.json
A lldb/tools/lldb-dap/extension/syntaxes/x86.disasm
A lldb/tools/lldb-dap/extension/test/unit/expandUser.test.ts
A lldb/tools/lldb-dap/extension/tsconfig.json
R lldb/tools/lldb-dap/llvm-logo.png
R lldb/tools/lldb-dap/package-lock.json
R lldb/tools/lldb-dap/package.json
R lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
R lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
R lldb/tools/lldb-dap/src-ts/debug-session-tracker.ts
R lldb/tools/lldb-dap/src-ts/disposable-context.ts
R lldb/tools/lldb-dap/src-ts/extension.ts
R lldb/tools/lldb-dap/src-ts/index.d.ts
R lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
R lldb/tools/lldb-dap/src-ts/logging.ts
R lldb/tools/lldb-dap/src-ts/ui/error-with-notification.ts
R lldb/tools/lldb-dap/src-ts/ui/modules-data-provider.ts
R lldb/tools/lldb-dap/src-ts/ui/show-error-message.ts
R lldb/tools/lldb-dap/src-ts/ui/symbols-provider.ts
R lldb/tools/lldb-dap/src-ts/ui/symbols-webview-html.ts
R lldb/tools/lldb-dap/src-ts/uri-launch-handler.ts
R lldb/tools/lldb-dap/src-ts/utils.ts
R lldb/tools/lldb-dap/src-ts/webview/symbols-table-view.ts
R lldb/tools/lldb-dap/src-ts/webview/tsconfig.json
R lldb/tools/lldb-dap/syntaxes/arm.disasm
R lldb/tools/lldb-dap/syntaxes/arm64.disasm
R lldb/tools/lldb-dap/syntaxes/disassembly.json
R lldb/tools/lldb-dap/syntaxes/x86.disasm
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
R lldb/tools/lldb-dap/tsconfig.json
M lldb/tools/lldb-mcp/lldb-mcp.cpp
M lldb/tools/lldb-test/lldb-test.cpp
M lldb/unittests/Core/FormatEntityTest.cpp
M lldb/unittests/Host/HostTest.cpp
M llvm/bindings/ocaml/bitreader/llvm_bitreader.mli
M llvm/bindings/ocaml/irreader/irreader_ocaml.c
M llvm/bindings/ocaml/irreader/llvm_irreader.ml
M llvm/bindings/ocaml/irreader/llvm_irreader.mli
M llvm/bindings/ocaml/llvm/llvm.ml
M llvm/bindings/ocaml/llvm/llvm.mli
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CommandGuide/llvm-readelf.rst
M llvm/docs/CommandGuide/llvm-readobj.rst
M llvm/docs/LangRef.rst
A llvm/docs/MemProf.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/UserGuides.rst
M llvm/docs/Vectorizers.rst
M llvm/examples/OrcV2Examples/OrcV2CBindingsLazy/OrcV2CBindingsLazy.c
M llvm/examples/OrcV2Examples/OrcV2CBindingsVeryLazy/OrcV2CBindingsVeryLazy.c
M llvm/include/llvm-c/IRReader.h
M llvm/include/llvm-c/Object.h
M llvm/include/llvm-c/OrcEE.h
A llvm/include/llvm/ABI/Types.h
M llvm/include/llvm/ADT/FloatingPointMode.h
M llvm/include/llvm/ADT/ScopeExit.h
M llvm/include/llvm/ADT/StringExtras.h
M llvm/include/llvm/ADT/TypeSwitch.h
M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
M llvm/include/llvm/Analysis/LoopAnalysisManager.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/Bitcode/BitcodeReader.h
M llvm/include/llvm/CodeGen/Analysis.h
M llvm/include/llvm/CodeGen/BasicBlockSectionsProfileReader.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachinePassManager.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TileShapeInfo.h
M llvm/include/llvm/CodeGen/ValueTypes.td
A llvm/include/llvm/DTLTO/DTLTO.h
M llvm/include/llvm/DWP/DWP.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/LibraryResolver.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/LibraryScanner.h
M llvm/include/llvm/Frontend/Driver/CodeGenOptions.h
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/Constants.h
A llvm/include/llvm/IR/FunctionProperties.def
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/include/llvm/IR/NVVMIntrinsicUtils.h
M llvm/include/llvm/IR/OptBisect.h
M llvm/include/llvm/IR/PassManager.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Support/DebugCounter.h
A llvm/include/llvm/Support/IntegerInclusiveInterval.h
M llvm/include/llvm/Support/KnownFPClass.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/Transforms/Instrumentation/LowerAllowCheckPass.h
M llvm/include/llvm/Transforms/Scalar/ConstantHoisting.h
M llvm/include/llvm/Transforms/Utils/CodeExtractor.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/include/llvm/Transforms/Utils/SSAUpdaterImpl.h
A llvm/lib/ABI/CMakeLists.txt
A llvm/lib/ABI/Types.cpp
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/Delinearization.cpp
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyCallGraph.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopInfo.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/BinaryFormat/MachO.cpp
M llvm/lib/CAS/OnDiskGraphDB.cpp
M llvm/lib/CAS/UnifiedOnDiskCache.cpp
M llvm/lib/CMakeLists.txt
M llvm/lib/CodeGen/Analysis.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/IfConversion.cpp
A llvm/lib/CodeGen/InsertCodePrefetch.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/PHIEliminationUtils.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/CodeGen/ResetMachineFunctionPass.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/StackProtector.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
A llvm/lib/DTLTO/CMakeLists.txt
A llvm/lib/DTLTO/DTLTO.cpp
M llvm/lib/ExecutionEngine/Orc/LoadLinkableFile.cpp
M llvm/lib/ExecutionEngine/Orc/MachO.cpp
M llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/LibraryResolver.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/LibraryScanner.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorMemoryManager.cpp
M llvm/lib/Frontend/Driver/CodeGenOptions.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/NVVMIntrinsicUtils.cpp
M llvm/lib/IR/OptBisect.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/IRReader/IRReader.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Remarks/BitstreamRemarkSerializer.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/DebugCounter.cpp
A llvm/lib/Support/IntegerInclusiveInterval.cpp
M llvm/lib/Support/KnownFPClass.cpp
M llvm/lib/Support/Parallel.cpp
M llvm/lib/Support/Path.cpp
M llvm/lib/Support/StringExtras.cpp
M llvm/lib/Support/ThreadPool.cpp
M llvm/lib/Support/Unix/Path.inc
M llvm/lib/Support/Unix/Threading.inc
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/lib/Support/VirtualOutputBackends.cpp
M llvm/lib/Support/Windows/Path.inc
M llvm/lib/Support/Z3Solver.cpp
M llvm/lib/TableGen/Main.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
M llvm/lib/Target/AArch64/AArch64SchedOryon.td
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/R600MachineCFGStructurizer.cpp
M llvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/lib/Target/AMDGPU/VINTERPInstructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/Hexagon/CMakeLists.txt
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.cpp
M llvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.h
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/M68k/M68kInstrInfo.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/Mips64InstrInfo.td
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstrFutureMMA.td
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.h
A llvm/lib/Target/RISCV/MCTargetDesc/RISCVMachObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVLoadStoreOptimizer.cpp
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/lib/Target/RISCV/RISCVRedundantCopyElimination.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVSchedAndes45.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/SPIRV.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/lib/Target/SPIRV/SPIRVLegalizeZeroSizeArrays.cpp
A llvm/lib/Target/SPIRV/SPIRVLegalizeZeroSizeArrays.h
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVPassRegistry.def
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVPushConstantAccess.cpp
M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/SparcInstrAliases.td
M llvm/lib/Target/Sparc/SparcInstrInfo.td
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParserCommon.h
M llvm/lib/Target/X86/AsmParser/X86Operand.h
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
M llvm/lib/Target/X86/X86CallFrameOptimization.cpp
M llvm/lib/Target/X86/X86CmovConversion.cpp
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86DomainReassignment.cpp
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86FastPreTileConfig.cpp
M llvm/lib/Target/X86/X86FastTileConfig.cpp
M llvm/lib/Target/X86/X86FixupLEAs.cpp
M llvm/lib/Target/X86/X86FixupSetCC.cpp
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86InstrAMX.td
M llvm/lib/Target/X86/X86InstrCMovSetCC.td
M llvm/lib/Target/X86/X86InstrOperands.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Target/X86/X86PassRegistry.def
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/Target/X86/X86TileConfig.cpp
M llvm/lib/TargetParser/TargetDataLayout.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/Inliner.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/IPO/ModuleInliner.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/LowerAllowCheckPass.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/LoopConstrainer.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
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/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/runtimes/CMakeLists.txt
M llvm/test/Analysis/CostModel/AArch64/splice.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
A llvm/test/Analysis/CostModel/RISCV/constant-pool.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
M llvm/test/Analysis/CostModel/RISCV/splice.ll
M llvm/test/Analysis/DependenceAnalysis/FlipFlopBaseAddress.ll
M llvm/test/Analysis/ScalarEvolution/ptrtoaddr-i32-index-width.ll
M llvm/test/Analysis/ScalarEvolution/ptrtoaddr.ll
M llvm/test/Analysis/ScalarEvolution/trip-multiple-guard-info.ll
M llvm/test/Analysis/ScalarEvolution/trip-multiple.ll
M llvm/test/Analysis/ScalarEvolution/urem-0.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
M llvm/test/Assembler/auto_upgrade_intrinsics.ll
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
M llvm/test/Bindings/OCaml/bitreader.ml
M llvm/test/Bindings/OCaml/core.ml
M llvm/test/Bindings/OCaml/irreader.ml
A llvm/test/Bitcode/amdgpu-wmma-clamp-upgrade.ll
R llvm/test/Bitcode/amdgpu-wmma-iu8-clamp-upgrade.ll
M llvm/test/Bitcode/upgrade-vector-splice-intrinsic.ll
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-sadde.mir
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-saddo.mir
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-uadde.mir
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-uaddo.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-rotr-rotl.mir
M llvm/test/CodeGen/AArch64/aarch64-addv.ll
M llvm/test/CodeGen/AArch64/aarch64-isel-csinc.ll
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
A llvm/test/CodeGen/AArch64/aarch64-mcpu-oryon-runtime-unroll.ll
M llvm/test/CodeGen/AArch64/aarch64-mops.ll
M llvm/test/CodeGen/AArch64/aggressive-interleaving.ll
M llvm/test/CodeGen/AArch64/apply-terminal-rule.mir
M llvm/test/CodeGen/AArch64/arm64-clrsb.ll
M llvm/test/CodeGen/AArch64/arm64-csel.ll
A llvm/test/CodeGen/AArch64/arm64-cvtf-simd-itofp.ll
M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
M llvm/test/CodeGen/AArch64/arm64-platform-reg.ll
M llvm/test/CodeGen/AArch64/arm64-vector-insertion.ll
M llvm/test/CodeGen/AArch64/arm64-vmul.ll
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmove-fpr.ll
M llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmove-gpr.ll
M llvm/test/CodeGen/AArch64/arm64ec-indirect-call.ll
M llvm/test/CodeGen/AArch64/avg.ll
M llvm/test/CodeGen/AArch64/bitcast-extend.ll
M llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
M llvm/test/CodeGen/AArch64/combine-sdiv.ll
M llvm/test/CodeGen/AArch64/ctlo.ll
M llvm/test/CodeGen/AArch64/ctpop.ll
M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
M llvm/test/CodeGen/AArch64/fsh.ll
M llvm/test/CodeGen/AArch64/implicitly-set-zero-high-64-bits.ll
M llvm/test/CodeGen/AArch64/logical-op-with-not.ll
M llvm/test/CodeGen/AArch64/mingw-refptr.ll
M llvm/test/CodeGen/AArch64/named-vector-shuffles-neon.ll
A llvm/test/CodeGen/AArch64/neon-lowhalf128-optimisation.ll
M llvm/test/CodeGen/AArch64/peephole-insvigpr.mir
A llvm/test/CodeGen/AArch64/pr161289.ll
M llvm/test/CodeGen/AArch64/rax1.ll
A llvm/test/CodeGen/AArch64/sink-fneg.ll
M llvm/test/CodeGen/AArch64/sme-framelower-use-bp.ll
M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-mla.ll
M llvm/test/CodeGen/AArch64/speculation-hardening-sls-blr.mir
M llvm/test/CodeGen/AArch64/srem-seteq-illegal-types.ll
M llvm/test/CodeGen/AArch64/stack-protector-target.ll
M llvm/test/CodeGen/AArch64/sve-extract-element.ll
A llvm/test/CodeGen/AArch64/sve2p1-intrinsics-crypto.ll
A llvm/test/CodeGen/AArch64/sve2p2-intrinsics-fp-arith.ll
A llvm/test/CodeGen/AArch64/sve2p2-intrinsics-fp-converts.ll
M llvm/test/CodeGen/AArch64/tail-dup-redundant-phi.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-rotl-rotr.mir
R llvm/test/CodeGen/AMDGPU/amdgpu-attributor-intrinsic-missing-nocallback.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-min-agpr-alloc.ll
R llvm/test/CodeGen/AMDGPU/amdgpu-attributor-nocallback-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-miscellaneous-uniform-intrinsic.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-indirect-access-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-lds-test-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-indirect-access-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-lds-test-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-function-param-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-no-heap-ptr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-atomic-cmpxchg-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-atomicrmw-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-uniform-intrinsic-combine.ll
M llvm/test/CodeGen/AMDGPU/fmaxnum.ll
M llvm/test/CodeGen/AMDGPU/fminnum.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
M llvm/test/CodeGen/AMDGPU/hazard-shift64.mir
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.shuffle.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imm.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imod.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.deoptimize.ll
M llvm/test/CodeGen/AMDGPU/merge-load-store.mir
M llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
A llvm/test/CodeGen/AMDGPU/promote-alloca-use-after-erase.ll
M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll
M llvm/test/CodeGen/AMDGPU/strict_fsub.f32.ll
M llvm/test/CodeGen/AMDGPU/wait-xcnt.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-looptest.ll
M llvm/test/CodeGen/AMDGPU/wmma-coececution-valu-hazards.mir
M llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx1250-w32.mir
M llvm/test/CodeGen/AMDGPU/wqm.ll
M llvm/test/CodeGen/ARM/neon-dot-product.ll
M llvm/test/CodeGen/BPF/BTF/ptr-named-2.ll
M llvm/test/CodeGen/BPF/unaligned_load_store.ll
M llvm/test/CodeGen/DirectX/ResourceAccess/load-cbuffer-vectors.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/all-resources-bound.ll
A llvm/test/CodeGen/DirectX/WaveActiveBallot.ll
M llvm/test/CodeGen/Generic/half-op.ll
M llvm/test/CodeGen/Generic/half.ll
R llvm/test/CodeGen/Generic/selectiondag-dbgvalue-null-crash.ll
M llvm/test/CodeGen/Hexagon/and_mask_cmp0_sink.ll
M llvm/test/CodeGen/Hexagon/autohvx/addi-offset-opt-addr-mode.ll
M llvm/test/CodeGen/Hexagon/bittracker-regclass.ll
A llvm/test/CodeGen/Hexagon/hvx-align-mstore.ll
A llvm/test/CodeGen/Hexagon/hvx-align-mstore_1.ll
M llvm/test/CodeGen/Hexagon/isel-fold-shl-zext.ll
M llvm/test/CodeGen/Hexagon/mpy-operand-hoist.ll
M llvm/test/CodeGen/Hexagon/swp-pragma-disable.ii
M llvm/test/CodeGen/Hexagon/swp-pragma-initiation-interval.ii
M llvm/test/CodeGen/LoongArch/lrint-conv.ll
M llvm/test/CodeGen/MLRegAlloc/Inputs/input.ll
M llvm/test/CodeGen/MLRegAlloc/Inputs/two-large-fcts.ll
M llvm/test/CodeGen/MLRegAlloc/default-eviction-advisor.ll
M llvm/test/CodeGen/MLRegAlloc/default-priority-advisor.ll
M llvm/test/CodeGen/MLRegAlloc/dev-mode-log-2-fcts.ll
M llvm/test/CodeGen/MLRegAlloc/empty-log.ll
M llvm/test/CodeGen/Mips/GlobalISel/legalizer/load_split_because_of_memsize_or_align
M llvm/test/CodeGen/Mips/divrem-inline-asm.ll
M llvm/test/CodeGen/Mips/llrint-conv.ll
A llvm/test/CodeGen/Mips/llvm-ir/select-globaladdr.ll
M llvm/test/CodeGen/Mips/lrint-conv.ll
M llvm/test/CodeGen/NVPTX/clusterlaunchcontrol-multicast.ll
A llvm/test/CodeGen/NVPTX/combine-mul-wide-type.ll
M llvm/test/CodeGen/NVPTX/redux-sync-f32.ll
M llvm/test/CodeGen/NVPTX/setmaxnreg-sm100a.ll
A llvm/test/CodeGen/NVPTX/tcgen05-mma-block-scale-ptx88-aa.ll
M llvm/test/CodeGen/NVPTX/tcgen05-mma-block-scale-ptx88.ll
A llvm/test/CodeGen/NVPTX/tcgen05-mma-disable-output-lane-i8.ll
M llvm/test/CodeGen/NVPTX/tcgen05-mma-disable-output-lane.ll
A llvm/test/CodeGen/NVPTX/tcgen05-mma-i8.ll
M llvm/test/CodeGen/NVPTX/tcgen05-mma-scale-d.ll
A llvm/test/CodeGen/NVPTX/tcgen05-mma-ws-i8.ll
M llvm/test/CodeGen/NVPTX/tcgen05-mma-ws.ll
M llvm/test/CodeGen/NVPTX/tcgen05-mma.ll
A llvm/test/CodeGen/NVPTX/tensormap_replace.ll
A llvm/test/CodeGen/NVPTX/tensormap_replace_invalid.ll
A llvm/test/CodeGen/NVPTX/tensormap_replace_sm_100a.ll
A llvm/test/CodeGen/NVPTX/tensormap_replace_sm_103a.ll
M llvm/test/CodeGen/NVPTX/wmma-ptx78-sm90.py
M llvm/test/CodeGen/NVPTX/wmma-ptx86-sm100a.py
M llvm/test/CodeGen/NVPTX/wmma-ptx86-sm101a.py
M llvm/test/CodeGen/NVPTX/wmma-ptx86-sm120a.py
M llvm/test/CodeGen/NVPTX/wmma-ptx87-sm120a.py
A llvm/test/CodeGen/NVPTX/wmma-ptx88-sm100f.py
M llvm/test/CodeGen/NVPTX/wmma-ptx88-sm120a.py
A llvm/test/CodeGen/NVPTX/wmma-ptx88-sm120f.py
A llvm/test/CodeGen/NVPTX/wmma-ptx90-sm110f.py
M llvm/test/CodeGen/NVPTX/wmma.py
M llvm/test/CodeGen/PowerPC/amo-enable.ll
M llvm/test/CodeGen/PowerPC/atomics.ll
M llvm/test/CodeGen/PowerPC/dmf-outer-product.ll
M llvm/test/CodeGen/PowerPC/dmr-enable.ll
M llvm/test/CodeGen/PowerPC/dmr-spill.ll
M llvm/test/CodeGen/PowerPC/dmrp-spill.ll
M llvm/test/CodeGen/PowerPC/f128-conv.ll
M llvm/test/CodeGen/PowerPC/half.ll
M llvm/test/CodeGen/PowerPC/ldexp.ll
M llvm/test/CodeGen/PowerPC/llvm.frexp.ll
M llvm/test/CodeGen/PowerPC/llvm.modf.ll
M llvm/test/CodeGen/PowerPC/milicode32.ll
M llvm/test/CodeGen/PowerPC/milicode64.ll
M llvm/test/CodeGen/PowerPC/mma-intrinsics.ll
M llvm/test/CodeGen/PowerPC/mma-outer-product.ll
M llvm/test/CodeGen/PowerPC/mmaplus-crypto.ll
M llvm/test/CodeGen/PowerPC/mmaplus-intrinsics.ll
M llvm/test/CodeGen/PowerPC/optimize-vector-not-equal.ll
M llvm/test/CodeGen/PowerPC/pr48519.ll
M llvm/test/CodeGen/PowerPC/pr49092.ll
M llvm/test/CodeGen/PowerPC/v1024ls.ll
M llvm/test/CodeGen/PowerPC/vavg.ll
M llvm/test/CodeGen/PowerPC/vector-llrint.ll
M llvm/test/CodeGen/PowerPC/vector-lrint.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rotate-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rotate-rv64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/rvv/vsetvli-intrinsics.ll
A llvm/test/CodeGen/RISCV/clmul.ll
M llvm/test/CodeGen/RISCV/lrint-conv.ll
M llvm/test/CodeGen/RISCV/option-relax-relocation.ll
A llvm/test/CodeGen/RISCV/riscv-macho.ll
M llvm/test/CodeGen/RISCV/rv32p.ll
M llvm/test/CodeGen/RISCV/rv64p.ll
M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll
A llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-clmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-vp.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmadd-sdnode.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmadd-sdnode.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfnmsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfabs-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfcopysign-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfneg-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmacc-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll
M llvm/test/CodeGen/RISCV/rvv/vsplats-zfa.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
M llvm/test/CodeGen/RISCV/xandesbfhcvt.ll
A llvm/test/CodeGen/RISCV/xandesperf-redundant-copy-elim.ll
A llvm/test/CodeGen/RISCV/xqcibi-redundant-copy-elim.ll
M llvm/test/CodeGen/RISCV/xqcibm-extract.ll
M llvm/test/CodeGen/RISCV/xqcibm-insert.ll
A llvm/test/CodeGen/RISCV/xqcibm-regalloc-hints.ll
M llvm/test/CodeGen/RISCV/xqcilo.ll
A llvm/test/CodeGen/RISCV/xqcilsm-lwmi-swmi-multiple.mir
M llvm/test/CodeGen/RISCV/xqcilsm-lwmi-swmi.mir
M llvm/test/CodeGen/RISCV/xqcilsm-memset.ll
M llvm/test/CodeGen/RISCV/xqcisls.ll
M llvm/test/CodeGen/RISCV/zibi.ll
M llvm/test/CodeGen/SPARC/2011-01-19-DelaySlot.ll
M llvm/test/CodeGen/SPIRV/AtomicBuiltinsFloat.ll
M llvm/test/CodeGen/SPIRV/ComparePointers.ll
M llvm/test/CodeGen/SPIRV/EnqueueEmptyKernel.ll
M llvm/test/CodeGen/SPIRV/ExecutionMode.ll
M llvm/test/CodeGen/SPIRV/FOrdGreaterThanEqual_int.ll
M llvm/test/CodeGen/SPIRV/SpecConstants/bool-spirv-specconstant.ll
M llvm/test/CodeGen/SPIRV/TruncToBool.ll
M llvm/test/CodeGen/SPIRV/atomicrmw.ll
M llvm/test/CodeGen/SPIRV/basic_int_types_spirvdis.ll
M llvm/test/CodeGen/SPIRV/branching/OpSwitch32.ll
M llvm/test/CodeGen/SPIRV/branching/OpSwitch64.ll
M llvm/test/CodeGen/SPIRV/branching/OpSwitchChar.ll
M llvm/test/CodeGen/SPIRV/builtin_intrinsics_32.ll
M llvm/test/CodeGen/SPIRV/builtin_intrinsics_64.ll
M llvm/test/CodeGen/SPIRV/builtin_vars-decorate.ll
M llvm/test/CodeGen/SPIRV/capability-Int64Atomics-store.ll
M llvm/test/CodeGen/SPIRV/capability-Int64Atomics.ll
M llvm/test/CodeGen/SPIRV/capability-kernel.ll
M llvm/test/CodeGen/SPIRV/constant/global-constants.ll
M llvm/test/CodeGen/SPIRV/debug-info/opname-filtering.ll
M llvm/test/CodeGen/SPIRV/empty.ll
M llvm/test/CodeGen/SPIRV/event_no_group_cap.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_float.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_fp_max_error/IntelFPMaxErrorFPMath.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_float_controls2/decoration.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_float_controls2/disabled-on-amd.ll
M llvm/test/CodeGen/SPIRV/function/alloca-load-store.ll
M llvm/test/CodeGen/SPIRV/ga-interp-func-interp.ll
M llvm/test/CodeGen/SPIRV/ga-interp-func-noninterp.ll
M llvm/test/CodeGen/SPIRV/ga-inttoptr.ll
M llvm/test/CodeGen/SPIRV/ga-noninterp-func-interp.ll
M llvm/test/CodeGen/SPIRV/half_extension.ll
M llvm/test/CodeGen/SPIRV/half_no_extension.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveBallot.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UniqueImplicitBindingNumber.ll
A llvm/test/CodeGen/SPIRV/icmp-i1.ll
M llvm/test/CodeGen/SPIRV/image-unoptimized.ll
M llvm/test/CodeGen/SPIRV/instructions/atomic.ll
M llvm/test/CodeGen/SPIRV/instructions/atomic_acqrel.ll
M llvm/test/CodeGen/SPIRV/instructions/atomic_seq.ll
M llvm/test/CodeGen/SPIRV/instructions/bitwise-i1.ll
M llvm/test/CodeGen/SPIRV/instructions/nested-composites.ll
M llvm/test/CodeGen/SPIRV/instructions/ptrcmp.ll
M llvm/test/CodeGen/SPIRV/legalization/load-store-global.ll
A llvm/test/CodeGen/SPIRV/legalization/spv-extractelt-legalization.ll
M llvm/test/CodeGen/SPIRV/legalization/vector-arithmetic-6.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-alloca-count.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-alloca-nested.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-alloca.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-extractvalue.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-global.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-insertvalue.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-load.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-nested.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-select.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-store.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-struct.ll
A llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-undef.ll
A llvm/test/CodeGen/SPIRV/lifetime-poison.ll
M llvm/test/CodeGen/SPIRV/linkage/linkage-types.ll
M llvm/test/CodeGen/SPIRV/linked-list.ll
M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/abs.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/assume.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/bitreverse_small_type.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/bswap.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctpop.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/expect.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/fp-to-int-intrinsics.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/invariant.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/matrix-multiply.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/matrix-transpose.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/memcpy.align.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/memmove.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/memset.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/sqrt.ll
M llvm/test/CodeGen/SPIRV/lshr-constexpr.ll
M llvm/test/CodeGen/SPIRV/multi_md.ll
M llvm/test/CodeGen/SPIRV/opencl/basic/get_global_offset.ll
M llvm/test/CodeGen/SPIRV/opencl/basic/progvar_prog_scope_init.ll
M llvm/test/CodeGen/SPIRV/opencl/basic/progvar_prog_scope_uninit.ll
M llvm/test/CodeGen/SPIRV/opencl/device_execution/execute_block.ll
M llvm/test/CodeGen/SPIRV/opencl/image.ll
M llvm/test/CodeGen/SPIRV/pointers/two-bitcast-or-param-users.ll
M llvm/test/CodeGen/SPIRV/pointers/two-subsequent-bitcasts.ll
M llvm/test/CodeGen/SPIRV/scoped_atomicrmw.ll
M llvm/test/CodeGen/SPIRV/select-builtin.ll
M llvm/test/CodeGen/SPIRV/simple.ll
M llvm/test/CodeGen/SPIRV/sitofp-with-bool.ll
M llvm/test/CodeGen/SPIRV/spec_const_decoration.ll
M llvm/test/CodeGen/SPIRV/spirv-load-store.ll
M llvm/test/CodeGen/SPIRV/spirv-tools-dis.ll
M llvm/test/CodeGen/SPIRV/spirv_param_decorations_quals.ll
M llvm/test/CodeGen/SPIRV/store.ll
M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll
M llvm/test/CodeGen/SPIRV/transcoding/BitReversePref.ll
M llvm/test/CodeGen/SPIRV/transcoding/BuildNDRange.ll
M llvm/test/CodeGen/SPIRV/transcoding/BuildNDRange_2.ll
M llvm/test/CodeGen/SPIRV/transcoding/ConvertPtr.ll
M llvm/test/CodeGen/SPIRV/transcoding/ConvertPtrInGlobalInit.ll
M llvm/test/CodeGen/SPIRV/transcoding/DecorationAlignment.ll
M llvm/test/CodeGen/SPIRV/transcoding/DecorationMaxByteOffset.ll
M llvm/test/CodeGen/SPIRV/transcoding/DivRem.ll
M llvm/test/CodeGen/SPIRV/transcoding/GlobalFunAnnotate.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpAllAny.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpConstantBool.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpDot.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpGroupAllAny.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpGroupAsyncCopy.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpImageQuerySize.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpImageReadMS.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpImageSampleExplicitLod.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpPhi_ArgumentsPlaceholders.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpVectorExtractDynamic.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpVectorInsertDynamic_i16.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_cmpxchg.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_legacy.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/sub_group_mask.ll
M llvm/test/CodeGen/SPIRV/transcoding/RelationalOperators.ll
M llvm/test/CodeGen/SPIRV/transcoding/RelationalOperatorsFUnord.ll
M llvm/test/CodeGen/SPIRV/transcoding/SampledImage.ll
M llvm/test/CodeGen/SPIRV/transcoding/SpecConstantComposite.ll
M llvm/test/CodeGen/SPIRV/transcoding/TransFNeg.ll
M llvm/test/CodeGen/SPIRV/transcoding/atomic_load_store.ll
M llvm/test/CodeGen/SPIRV/transcoding/bitcast.ll
M llvm/test/CodeGen/SPIRV/transcoding/block_w_struct_return.ll
M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars.ll
M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars_arithmetics.ll
M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars_opt.ll
M llvm/test/CodeGen/SPIRV/transcoding/clk_event_t.ll
M llvm/test/CodeGen/SPIRV/transcoding/enqueue_kernel.ll
M llvm/test/CodeGen/SPIRV/transcoding/explicit-conversions.ll
M llvm/test/CodeGen/SPIRV/transcoding/extract_insert_value.ll
M llvm/test/CodeGen/SPIRV/transcoding/fadd.ll
M llvm/test/CodeGen/SPIRV/transcoding/fclamp.ll
M llvm/test/CodeGen/SPIRV/transcoding/fdiv.ll
M llvm/test/CodeGen/SPIRV/transcoding/fmul.ll
M llvm/test/CodeGen/SPIRV/transcoding/fneg.ll
M llvm/test/CodeGen/SPIRV/transcoding/fp_contract_reassoc_fast_mode.ll
M llvm/test/CodeGen/SPIRV/transcoding/frem.ll
M llvm/test/CodeGen/SPIRV/transcoding/fsub.ll
M llvm/test/CodeGen/SPIRV/transcoding/global_block.ll
M llvm/test/CodeGen/SPIRV/transcoding/group_ops.ll
M llvm/test/CodeGen/SPIRV/transcoding/isequal.ll
M llvm/test/CodeGen/SPIRV/transcoding/ldexp.ll
M llvm/test/CodeGen/SPIRV/transcoding/memory_access.ll
M llvm/test/CodeGen/SPIRV/transcoding/readonly.ll
M llvm/test/CodeGen/SPIRV/transcoding/relationals_double.ll
M llvm/test/CodeGen/SPIRV/transcoding/relationals_float.ll
M llvm/test/CodeGen/SPIRV/transcoding/relationals_half.ll
M llvm/test/CodeGen/SPIRV/transcoding/spec_const.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-private-array-initialization.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_ballot.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_clustered_reduce.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_extended_types.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_non_uniform_arithmetic.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_non_uniform_vote.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_shuffle.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_shuffle_relative.ll
M llvm/test/CodeGen/SPIRV/transcoding/vec8.ll
M llvm/test/CodeGen/SPIRV/uitofp-with-bool.ll
M llvm/test/CodeGen/SPIRV/zero-length-array.ll
M llvm/test/CodeGen/SystemZ/debuginstr-cgp.mir
M llvm/test/CodeGen/SystemZ/zos-hlasm-out.ll
M llvm/test/CodeGen/SystemZ/zos-ppa2.ll
M llvm/test/CodeGen/WebAssembly/f16.ll
M llvm/test/CodeGen/WebAssembly/fpclamptosat.ll
M llvm/test/CodeGen/WebAssembly/fpclamptosat_vec.ll
M llvm/test/CodeGen/WebAssembly/libcalls.ll
M llvm/test/CodeGen/WebAssembly/llvm.sincos.ll
M llvm/test/CodeGen/WebAssembly/simd-load-store-alignment.ll
M llvm/test/CodeGen/WebAssembly/simd-load-zero-offset.ll
M llvm/test/CodeGen/WebAssembly/simd-relaxed-fma.ll
M llvm/test/CodeGen/X86/AMX/amx-combine.ll
M llvm/test/CodeGen/X86/AMX/amx-fastconfig-phi.mir
M llvm/test/CodeGen/X86/AMX/amx-fastconfig-phi2.mir
M llvm/test/CodeGen/X86/AMX/amx-fastconfig-phi4.mir
M llvm/test/CodeGen/X86/AMX/amx-fastconfig-spill.mir
M llvm/test/CodeGen/X86/AMX/amx-fastconfig.mir
M llvm/test/CodeGen/X86/AMX/amx-fastpreconfig.mir
M llvm/test/CodeGen/X86/AMX/amx-sink-config-after-calls.mir
M llvm/test/CodeGen/X86/AMX/lat-transform-amx-bitcast.ll
M llvm/test/CodeGen/X86/GlobalISel/legalize-trailing-zeros-undef.mir
M llvm/test/CodeGen/X86/GlobalISel/legalize-trailing-zeros.mir
A llvm/test/CodeGen/X86/add-i512.ll
M llvm/test/CodeGen/X86/amx-avx512-intrinsics.ll
M llvm/test/CodeGen/X86/apx/ccmp.ll
M llvm/test/CodeGen/X86/apx/ctest.ll
M llvm/test/CodeGen/X86/apx/domain-reassignment.mir
M llvm/test/CodeGen/X86/apx/flags-copy-lowering.mir
M llvm/test/CodeGen/X86/apx/setzucc.ll
M llvm/test/CodeGen/X86/avgceils.ll
M llvm/test/CodeGen/X86/avgceilu.ll
M llvm/test/CodeGen/X86/avoid-sfb-g-no-change.mir
M llvm/test/CodeGen/X86/avoid-sfb-g-no-change2.mir
M llvm/test/CodeGen/X86/avoid-sfb-g-no-change3.mir
M llvm/test/CodeGen/X86/avoid-sfb-kill-flags.mir
M llvm/test/CodeGen/X86/avoid-sfb-offset.mir
M llvm/test/CodeGen/X86/avx512-skx-insert-subvec.ll
A llvm/test/CodeGen/X86/basic-block-sections-code-prefetch-call-terminates-block.ll
A llvm/test/CodeGen/X86/basic-block-sections-code-prefetch.ll
A llvm/test/CodeGen/X86/callbr-asm-different-indirect-target-end-to-end.ll
A llvm/test/CodeGen/X86/callbr-asm-different-indirect-target.mir
M llvm/test/CodeGen/X86/cf-opt-memops.mir
M llvm/test/CodeGen/X86/combine-fma-concat.ll
M llvm/test/CodeGen/X86/combine-fsqrt.ll
M llvm/test/CodeGen/X86/combine-pmadd.ll
M llvm/test/CodeGen/X86/combine-ptest-256.ll
M llvm/test/CodeGen/X86/combine-rndscale.ll
M llvm/test/CodeGen/X86/conditional-tailcall-samedest.mir
M llvm/test/CodeGen/X86/domain-reassignment.mir
M llvm/test/CodeGen/X86/evex-to-vex-compress.mir
M llvm/test/CodeGen/X86/fast-isel-fcmp.ll
M llvm/test/CodeGen/X86/fast-isel-select-cmov2.ll
M llvm/test/CodeGen/X86/flags-copy-lowering.mir
M llvm/test/CodeGen/X86/isel-fabs-x87.ll
M llvm/test/CodeGen/X86/lea-fixup-blockaddress.mir
M llvm/test/CodeGen/X86/leaFixup32.mir
M llvm/test/CodeGen/X86/leaFixup64.mir
M llvm/test/CodeGen/X86/llrint-conv.ll
M llvm/test/CodeGen/X86/llround-conv.ll
M llvm/test/CodeGen/X86/lrint-conv-i32.ll
M llvm/test/CodeGen/X86/lrint-conv-i64.ll
M llvm/test/CodeGen/X86/lround-conv-i32.ll
M llvm/test/CodeGen/X86/lround-conv-i64.ll
M llvm/test/CodeGen/X86/movtopush.mir
M llvm/test/CodeGen/X86/non-value-mem-operand.mir
M llvm/test/CodeGen/X86/packss.ll
M llvm/test/CodeGen/X86/packus.ll
M llvm/test/CodeGen/X86/pr162812.ll
A llvm/test/CodeGen/X86/pr173794.ll
A llvm/test/CodeGen/X86/pr173924.ll
M llvm/test/CodeGen/X86/pr27591.ll
M llvm/test/CodeGen/X86/pr32284.ll
M llvm/test/CodeGen/X86/pr51903.mir
M llvm/test/CodeGen/X86/pr54369.ll
M llvm/test/CodeGen/X86/scmp.ll
A llvm/test/CodeGen/X86/sub-i512.ll
A llvm/test/CodeGen/X86/vector-extract-last-active.ll
M llvm/test/CodeGen/X86/vector-pcmp.ll
A llvm/test/CodeGen/X86/vector-smax-range.ll
A llvm/test/CodeGen/X86/vector-smin-range.ll
A llvm/test/CodeGen/X86/vector-umax-range.ll
A llvm/test/CodeGen/X86/vector-umin-range.ll
M llvm/test/DebugInfo/MIR/InstrRef/x86-cmov-converter.mir
M llvm/test/DebugInfo/MIR/InstrRef/x86-lea-fixup-2.mir
M llvm/test/DebugInfo/MIR/InstrRef/x86-lea-fixup.mir
A llvm/test/DebugInfo/X86/uefi-no-codeview-crash.ll
M llvm/test/Feature/testalloca.ll
M llvm/test/Instrumentation/AddressSanitizer/asan-pass-second-run.ll
M llvm/test/Instrumentation/InstrProfiling/profiling.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/aarch64-bf16-dotprod-intrinsics.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/aarch64-matmul-fp16.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/aarch64-matmul-fp32.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/aarch64-matmul.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sve-fmmla-f32f16.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sve-intrinsics-bfloat.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sve-intrinsics-matmul-fp32.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sve-intrinsics-matmul-fp64.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sve-intrinsics-matmul-int8.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sve2-fmmla-f16mf8.ll
A llvm/test/Instrumentation/MemorySanitizer/AArch64/sve2-fmmla-f32mf8.ll
M llvm/test/Instrumentation/NumericalStabilitySanitizer/cfg.ll
M llvm/test/Instrumentation/NumericalStabilitySanitizer/memory.ll
A llvm/test/Instrumentation/ThreadSanitizer/tsan_address_space_attr_cast.ll
M llvm/test/LTO/Resolution/X86/comdat.ll
M llvm/test/Linker/2003-08-23-GlobalVarLinking.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32.s
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_wmma_w32.txt
M llvm/test/MC/Mips/macro-ddiv.s
M llvm/test/MC/Mips/macro-ddivu.s
M llvm/test/MC/Mips/macro-div.s
M llvm/test/MC/Mips/macro-divu.s
M llvm/test/MC/Mips/macro-drem.s
M llvm/test/MC/Mips/macro-dremu.s
M llvm/test/MC/Mips/macro-rem.s
M llvm/test/MC/Mips/macro-remu.s
M llvm/test/MC/RISCV/Relocations/expr.s
M llvm/test/MC/RISCV/Relocations/relocations.s
M llvm/test/MC/RISCV/align.s
M llvm/test/MC/RISCV/compressed-relocations.s
M llvm/test/MC/RISCV/custom_reloc.s
A llvm/test/MC/RISCV/hex-imm-macho.s
M llvm/test/MC/RISCV/linker-relaxation.s
M llvm/test/MC/RISCV/long-conditional-jump.s
A llvm/test/MC/RISCV/macho-local-symbol.s
A llvm/test/MC/RISCV/macho.s
M llvm/test/MC/RISCV/option-relax.s
M llvm/test/MC/RISCV/rv32-relaxation-xqci.s
M llvm/test/MC/RISCV/tlsdesc.s
M llvm/test/MC/RISCV/vendor-symbol.s
M llvm/test/MC/RISCV/xandesperf-relocation.s
M llvm/test/MC/RISCV/xqcibi-linker-relaxation.s
M llvm/test/MC/RISCV/xqcibi-relocations.s
M llvm/test/MC/RISCV/xqcilb-relocations.s
M llvm/test/MC/RISCV/xqcili-linker-relaxation.s
M llvm/test/MC/RISCV/xqcili-relocations.s
A llvm/test/MC/Sparc/sparc-natural-instructions.s
A llvm/test/Other/debugcounter-multi-intervals.ll
A llvm/test/Other/functionpropertiesanalysis.ll
A llvm/test/Other/opt-bisect-ranges.ll
M llvm/test/TableGen/CPtrWildcard.td
M llvm/test/TableGen/DAGDefaultOps.td
M llvm/test/TableGen/RegClassByHwMode.td
M llvm/test/TableGen/dag-isel-regclass-emit-enum.td
M llvm/test/TableGen/dag-isel-subregs.td
M llvm/test/ThinLTO/X86/memprof-icp.ll
M llvm/test/Transforms/Attributor/nofpclass-fdiv.ll
M llvm/test/Transforms/Attributor/nofpclass-fma.ll
M llvm/test/Transforms/Attributor/nofpclass-frem.ll
M llvm/test/Transforms/Attributor/nofpclass-select.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
A llvm/test/Transforms/CodeGenPrepare/ARM/sink-negative-scale.ll
M llvm/test/Transforms/CodeGenPrepare/Mips/pr35209.ll
A llvm/test/Transforms/DeadStoreElimination/atomic-todo.ll
M llvm/test/Transforms/DeadStoreElimination/atomic.ll
M llvm/test/Transforms/GVN/condprop.ll
A llvm/test/Transforms/IRCE/loop-guarded-bounds.ll
A llvm/test/Transforms/InstCombine/AArch64/neon-shift-intrinsics.ll
A llvm/test/Transforms/InstCombine/WebAssembly/fold-swizzle.ll
A llvm/test/Transforms/InstCombine/WebAssembly/lit.local.cfg
M llvm/test/Transforms/InstCombine/binop-select.ll
M llvm/test/Transforms/InstCombine/fabs.ll
M llvm/test/Transforms/InstCombine/fcmp-select.ll
M llvm/test/Transforms/InstCombine/narrow-switch.ll
M llvm/test/Transforms/InstCombine/ptrtoaddr.ll
M llvm/test/Transforms/InstCombine/select-cmp.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-exp.ll
A llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-extractelement.ll
A llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fmul.ll
A llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-insertelement.ll
A llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-log.ll
A llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-maximum.ll
A llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-maximumnum.ll
A llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-minimum.ll
A llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-minimumnum.ll
A llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-shufflevector.ll
A llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-sqrt.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
A llvm/test/Transforms/InstCombine/switch-xor.ll
M llvm/test/Transforms/InstSimplify/floating-point-compare.ll
M llvm/test/Transforms/InstSimplify/ptrtoaddr.ll
M llvm/test/Transforms/InstSimplify/select-icmp.ll
A llvm/test/Transforms/LoopDeletion/pr173357.ll
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/eliminate-tail-predication.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/AArch64/gather-do-not-vectorize-addressing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/invalid-costs.ll
A llvm/test/Transforms/LoopVectorize/AArch64/load-cast-context.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked_ldst_sme.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-constant-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-incomplete-chains.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
R llvm/test/Transforms/LoopVectorize/AArch64/pr46950-load-cast-context-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
M llvm/test/Transforms/LoopVectorize/AArch64/select-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vscale-fixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-predicated-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vscale-based-trip-counts.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-wide-lane-mask.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-zext-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-gep-all-indices-invariant.ll
M llvm/test/Transforms/LoopVectorize/AArch64/wider-VF-for-callinst.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/gather-scatter-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-prune-vf.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
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-complex-mask.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/transform-narrow-interleave-to-widen-memory.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/scalar-steps-with-users-demanding-all-lanes-and-first-lane-only.ll
A llvm/test/Transforms/LoopVectorize/X86/cast-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-constant-known-via-scev.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
A llvm/test/Transforms/LoopVectorize/X86/end-pointer-signed.ll
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-step.ll
M llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
M llvm/test/Transforms/LoopVectorize/X86/vector-scalar-select-cost.ll
M llvm/test/Transforms/LoopVectorize/constantfolder.ll
M llvm/test/Transforms/LoopVectorize/create-induction-resume.ll
M llvm/test/Transforms/LoopVectorize/expand-scev-after-invoke.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads.ll
M llvm/test/Transforms/LoopVectorize/icmp-uniforms.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/induction-step.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
A llvm/test/Transforms/LoopVectorize/multiple-early-exits.ll
M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar-widen-gep-scalable.ll
M llvm/test/Transforms/LoopVectorize/nested-loops-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/pr30654-phiscev-sext-trunc.ll
M llvm/test/Transforms/LoopVectorize/pr58811-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/predicatedinst-loop-invariant.ll
M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/scalable-lifetime.ll
M llvm/test/Transforms/LoopVectorize/scalable-loop-unpredicated-body-scalar-tail.ll
M llvm/test/Transforms/LoopVectorize/scalable-predication.ll
M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/scalable-trunc-min-bitwidth.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
A llvm/test/Transforms/LoopVectorize/select-min-max-last-index-epilogue.ll
M llvm/test/Transforms/LoopVectorize/step-vector-i1-wrapping.ll
A llvm/test/Transforms/LoopVectorize/tail-folding-div.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_div_urem.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction2.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/LoopVectorize/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/LoopVectorize/widen-gep-all-indices-invariant.ll
M llvm/test/Transforms/LoopVersioning/add-phi-update-users.ll
A llvm/test/Transforms/LowerAllowCheck/sanitize-check.ll
A llvm/test/Transforms/LowerTypeTests/import-32bit.ll
A llvm/test/Transforms/MergeFunc/merge-calling-conv.ll
M llvm/test/Transforms/PGOProfile/Inputs/cspgo_bar_sample.ll
A llvm/test/Transforms/PGOProfile/chr-unknown-profdata-crash.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/scalarize-load-ext-extract.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr48223.ll
M llvm/test/Transforms/PhaseOrdering/X86/scalarization-inseltpoison.ll
M llvm/test/Transforms/PhaseOrdering/X86/scalarization.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/unique_values.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/vec-node-dropped-with-gather-user.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reduced-value-repeated-and-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-stores-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/x264-satd-8x4.ll
M llvm/test/Transforms/SLPVectorizer/X86/PR39774.ll
A llvm/test/Transforms/SLPVectorizer/X86/copyable-non-inst-in-stores.ll
A llvm/test/Transforms/SLPVectorizer/X86/deleted-instructions-clear.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
A llvm/test/Transforms/SLPVectorizer/X86/extractelements-subnodes-same-index.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/insert-subvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-tracked-reduced-value.ll
A llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-node-with-non-schedulable-parent.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-extracted-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/revec-reduced-value-vectorized-later.ll
A llvm/test/Transforms/SLPVectorizer/X86/split-node-reduce-root.ll
A llvm/test/Transforms/SLPVectorizer/X86/split-vectorize-gathered-def-after-use.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-pair-path.ll
A llvm/test/Transforms/SLPVectorizer/X86/xor-with-zero-and-incompat.ll
M llvm/test/Transforms/SLPVectorizer/operand-is-reduced-val.ll
M llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
M llvm/test/Verifier/invalid-splice.ll
R llvm/test/Verifier/token1-with-asserts.ll
R llvm/test/Verifier/token1-without-asserts.ll
A llvm/test/Verifier/token1.ll
R llvm/test/Verifier/tokenlike1-without-asserts.ll
A llvm/test/Verifier/tokenlike1.ll
M llvm/test/tools/UpdateTestChecks/lit.local.cfg
A llvm/test/tools/llvm-mca/AArch64/Apple/Cyclone-register-offset.s
A llvm/test/tools/llvm-mca/AArch64/Apple/Inputs/basic-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Apple/Inputs/neon-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Apple/M1-basic-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Apple/M1-neon-instructions.s
R llvm/test/tools/llvm-mca/AArch64/Cyclone/register-offset.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-sve-instructions.s
A llvm/test/tools/llvm-mca/AArch64/mcpu-help.test
M llvm/test/tools/llvm-mca/RISCV/Andes45/rvv-vle-vse-vlm.s
M llvm/test/tools/llvm-mca/RISCV/Andes45/rvv-vlse-vsse.s
M llvm/test/tools/llvm-mca/RISCV/Andes45/rvv-vlseg-vsseg.s
M llvm/test/tools/llvm-mca/RISCV/Andes45/rvv-vlxe-vsxe.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/atomic.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/floating-point.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/integer.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/mul-div.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/arithmetic.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/bitwise.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/comparison.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/conversion.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/fma.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/fp.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/mask.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/minmax.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/mul-div.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/permutation.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/reduction.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/vle-vse-vlm.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/vlse-vsse.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/vlseg-vsseg.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/vlxe-vsxe.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/rvv/zvbc.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/zba.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/zbb.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/zbc.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/zbs.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/zfh.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/zfhmin.s
A llvm/test/tools/llvm-mca/RISCV/Inputs/zicond.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/atomic.test
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/div.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/floating-point.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/integer.test
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/load.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/mul-cpop.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/mul-div.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/arithmetic.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/bitwise.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/comparison.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/conversion.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/fma.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/fp.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/mask.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/minmax.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/mul-div.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/permutation.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/reduction.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/vle-vse-vlm.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/vlse-vsse.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/vlseg-vsseg.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/vlxe-vsxe.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvbb.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvbc.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvkg.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvkned.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvknhb.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvksed.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/rvv/zvksh.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vislide-vx.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vle-vse-vlm.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vlse-vsse.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vlseg-vsseg.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vlxe-vsxe.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vmv.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vreduce.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vrgather.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vshift-vmul.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zba.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zbb.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zbs.test
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zfhmin.test
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvbb.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvbc.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvkg.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvkned.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvknhb.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvksed.s
R llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvksh.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/atomic.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/atomic.test
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/floating-point.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/floating-point.test
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/integer.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/integer.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/mul-div.test
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-arithmetic.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-bitwise.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-comparison.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-conversion.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fma.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fp.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-mask.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-minmax.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-mul-div.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-permutation.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-reduction.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/arithmetic.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/bitwise.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/comparison.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/conversion.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/fma.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/fp.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/mask.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/minmax.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/mul-div.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/permutation.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/reduction.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/vle-vse-vlm.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/vlse-vsse.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/vlseg-vsseg.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv/vlxe-vsxe.test
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vle-vse-vlm.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vlse-vsse.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vlseg-vsseg.s
R llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vlxe-vsxe.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/zba.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/zbb.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/zbc.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/zbs.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/zfh.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/zfhmin.test
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/zicond.test
A llvm/test/tools/llvm-objdump/ELF/RISCV/riscv-vendor-reloc.s
A llvm/test/tools/llvm-readobj/ELF/RISCV/riscv-vendor-reloc.s
A llvm/test/tools/llvm-readobj/ELF/call-graph-info-warn-malformed.test
A llvm/test/tools/llvm-readobj/ELF/call-graph-info.test
M llvm/test/tools/llvm-reduce/remove-attributes-convergent-uncontrolled.ll
M llvm/tools/gold/gold-plugin.cpp
M llvm/tools/llc/llc.cpp
M llvm/tools/llvm-config/CMakeLists.txt
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/tools/llvm-mc/llvm-mc.cpp
M llvm/tools/llvm-mca/llvm-mca.cpp
M llvm/tools/llvm-objdump/COFFDump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/tools/llvm-readobj/ObjDumper.h
M llvm/tools/llvm-readobj/Opts.td
M llvm/tools/llvm-readobj/llvm-readobj.cpp
M llvm/tools/llvm-stress/llvm-stress.cpp
M llvm/tools/reduce-chunk-list/reduce-chunk-list.cpp
M llvm/unittests/ADT/ScopeExitTest.cpp
M llvm/unittests/ADT/TypeSwitchTest.cpp
M llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/Analysis/LoadsTest.cpp
M llvm/unittests/Analysis/LoopInfoTest.cpp
M llvm/unittests/Analysis/LoopNestTest.cpp
M llvm/unittests/Analysis/MemoryProfileInfoTest.cpp
M llvm/unittests/Analysis/MemorySSATest.cpp
M llvm/unittests/Analysis/PluginInlineAdvisorAnalysisTest.cpp
M llvm/unittests/Analysis/PluginInlineOrderAnalysisTest.cpp
M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
M llvm/unittests/Analysis/SparsePropagation.cpp
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
M llvm/unittests/Bitcode/BitReaderTest.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
M llvm/unittests/CodeGen/SelectionDAGTestBase.h
M llvm/unittests/CodeGen/X86MCInstLowerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
M llvm/unittests/ExecutionEngine/Orc/LibraryResolverTest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/FuzzMutate/StrategiesTest.cpp
M llvm/unittests/IR/AbstractCallSiteTest.cpp
M llvm/unittests/IR/AttributesTest.cpp
M llvm/unittests/IR/ConstantsTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/LegacyPassManagerTest.cpp
M llvm/unittests/IR/PatternMatch.cpp
M llvm/unittests/IR/VPIntrinsicTest.cpp
M llvm/unittests/IR/VerifierTest.cpp
M llvm/unittests/Linker/LinkModulesTest.cpp
M llvm/unittests/Support/CMakeLists.txt
A llvm/unittests/Support/IntegerInclusiveIntervalTest.cpp
M llvm/unittests/Support/MemoryBufferTest.cpp
M llvm/unittests/Support/Path.cpp
M llvm/unittests/Support/SignalsTest.cpp
M llvm/unittests/Support/ThreadPool.cpp
M llvm/unittests/Support/VirtualFileSystemTest.cpp
M llvm/unittests/Transforms/Instrumentation/CMakeLists.txt
M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanPatternMatchTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
M llvm/utils/TableGen/Common/DAGISelMatcher.cpp
M llvm/utils/TableGen/Common/DAGISelMatcher.h
M llvm/utils/TableGen/Common/InfoByHwMode.cpp
M llvm/utils/TableGen/Common/InfoByHwMode.h
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/FastISelEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/git-llvm-push
M llvm/utils/git/requirements_upload_release.txt
M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/tool/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/google/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/misc/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
M llvm/utils/gn/secondary/lld/COFF/BUILD.gn
M llvm/utils/gn/secondary/lld/ELF/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
A llvm/utils/gn/secondary/llvm/lib/DTLTO/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/MCTargetDesc/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/lit/llvm/config.py
A llvm/utils/lit/tests/Inputs/shtest-not-posix/fail-signal.py
A llvm/utils/lit/tests/Inputs/shtest-not-posix/lit.cfg
A llvm/utils/lit/tests/Inputs/shtest-not-posix/not-signal-crash.txt
A llvm/utils/lit/tests/Inputs/shtest-not-posix/not-signal.txt
A llvm/utils/lit/tests/shtest-not-posix.py
M llvm/utils/lldbDataFormatters.py
M llvm/utils/profcheck-xfail.txt
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
M mlir/docs/Bindings/Python.md
M mlir/docs/Canonicalization.md
M mlir/docs/DefiningDialects/AttributesAndTypes.md
M mlir/examples/standalone/CMakeLists.txt
M mlir/examples/standalone/include/Standalone-c/Dialects.h
M mlir/examples/standalone/lib/CAPI/Dialects.cpp
M mlir/examples/standalone/pyproject.toml
M mlir/examples/standalone/python/StandaloneExtensionNanobind.cpp
M mlir/examples/standalone/test/lit.cfg.py
M mlir/examples/standalone/test/python/smoketest.py
M mlir/examples/toy/Ch5/toyc.cpp
M mlir/examples/toy/Ch6/toyc.cpp
M mlir/examples/toy/Ch7/toyc.cpp
M mlir/include/mlir-c/BuiltinAttributes.h
M mlir/include/mlir-c/BuiltinTypes.h
M mlir/include/mlir-c/Dialect/AMDGPU.h
A mlir/include/mlir-c/Dialect/AMX.h
A mlir/include/mlir-c/Dialect/Affine.h
M mlir/include/mlir-c/Dialect/Arith.h
A mlir/include/mlir-c/Dialect/ArmNeon.h
A mlir/include/mlir-c/Dialect/ArmSME.h
A mlir/include/mlir-c/Dialect/ArmSVE.h
A mlir/include/mlir-c/Dialect/Bufferization.h
A mlir/include/mlir-c/Dialect/DLTI.h
M mlir/include/mlir-c/Dialect/EmitC.h
M mlir/include/mlir-c/Dialect/Func.h
M mlir/include/mlir-c/Dialect/GPU.h
M mlir/include/mlir-c/Dialect/IRDL.h
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir-c/Dialect/MLProgram.h
A mlir/include/mlir-c/Dialect/MPI.h
M mlir/include/mlir-c/Dialect/Math.h
M mlir/include/mlir-c/Dialect/MemRef.h
M mlir/include/mlir-c/Dialect/NVGPU.h
A mlir/include/mlir-c/Dialect/OpenACC.h
M mlir/include/mlir-c/Dialect/PDL.h
A mlir/include/mlir-c/Dialect/PDLInterp.h
A mlir/include/mlir-c/Dialect/Ptr.h
M mlir/include/mlir-c/Dialect/Quant.h
M mlir/include/mlir-c/Dialect/SCF.h
M mlir/include/mlir-c/Dialect/SMT.h
M mlir/include/mlir-c/Dialect/SPIRV.h
M mlir/include/mlir-c/Dialect/Shape.h
A mlir/include/mlir-c/Dialect/Shard.h
M mlir/include/mlir-c/Dialect/SparseTensor.h
M mlir/include/mlir-c/Dialect/Tensor.h
A mlir/include/mlir-c/Dialect/Tosa.h
M mlir/include/mlir-c/Dialect/Transform.h
A mlir/include/mlir-c/Dialect/UB.h
A mlir/include/mlir-c/Dialect/VCIX.h
M mlir/include/mlir-c/Dialect/Vector.h
A mlir/include/mlir-c/Dialect/WasmSSA.h
A mlir/include/mlir-c/Dialect/X86Vector.h
A mlir/include/mlir-c/Dialect/XeGPU.h
A mlir/include/mlir-c/Dialect/XeVM.h
M mlir/include/mlir-c/Rewrite.h
M mlir/include/mlir-c/Support.h
M mlir/include/mlir/Analysis/DataFlow/LivenessAnalysis.h
M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
A mlir/include/mlir/Bindings/Python/Globals.h
A mlir/include/mlir/Bindings/Python/IRAttributes.h
A mlir/include/mlir/Bindings/Python/IRCore.h
M mlir/include/mlir/Bindings/Python/IRTypes.h
A mlir/include/mlir/Bindings/Python/NanobindUtils.h
M mlir/include/mlir/Dialect/AMDGPU/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Affine/CMakeLists.txt
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
R mlir/include/mlir/Dialect/Affine/Passes.h
R mlir/include/mlir/Dialect/Affine/Passes.td
A mlir/include/mlir/Dialect/Affine/Transforms/CMakeLists.txt
A mlir/include/mlir/Dialect/Affine/Transforms/Passes.h
A mlir/include/mlir/Dialect/Affine/Transforms/Passes.td
M mlir/include/mlir/Dialect/Arith/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/ArmSME/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/ArmSVE/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Bufferization/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/EmitC/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Func/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/GPU/IR/GPUBase.td
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/LLVMIR/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/MLProgram/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Math/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Dialect/MemRef/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/MemRef/Transforms/Passes.td
M mlir/include/mlir/Dialect/MemRef/Utils/MemRefUtils.h
M mlir/include/mlir/Dialect/NVGPU/Utils/MMAUtils.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOpsInterfaces.td
M mlir/include/mlir/Dialect/OpenACC/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
M mlir/include/mlir/Dialect/OpenMP/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Quant/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/SCF/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGraphOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVMemoryOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVMiscOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
M mlir/include/mlir/Dialect/SPIRV/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Shape/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Shard/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Tensor/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/include/mlir/Dialect/Tosa/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Transform/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/include/mlir/Dialect/Vector/Transforms/CMakeLists.txt
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/include/mlir/Dialect/XeGPU/Transforms/CMakeLists.txt
M mlir/include/mlir/IR/Block.h
M mlir/include/mlir/IR/OpImplementation.h
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.h
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
M mlir/include/mlir/Interfaces/Utils/InferIntRangeCommon.h
M mlir/include/mlir/Transforms/Passes.h
M mlir/include/mlir/Transforms/Passes.td
M mlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp
M mlir/lib/Analysis/DataFlow/LivenessAnalysis.cpp
M mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp
M mlir/lib/Analysis/DataFlowFramework.cpp
M mlir/lib/AsmParser/Parser.cpp
M mlir/lib/Bindings/Python/DialectAMDGPU.cpp
M mlir/lib/Bindings/Python/DialectGPU.cpp
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/Bindings/Python/DialectNVGPU.cpp
M mlir/lib/Bindings/Python/DialectPDL.cpp
M mlir/lib/Bindings/Python/DialectQuant.cpp
M mlir/lib/Bindings/Python/DialectSMT.cpp
M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
M mlir/lib/Bindings/Python/DialectTransform.cpp
A mlir/lib/Bindings/Python/Globals.cpp
R mlir/lib/Bindings/Python/Globals.h
M mlir/lib/Bindings/Python/IRAffine.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRInterfaces.cpp
R mlir/lib/Bindings/Python/IRModule.cpp
R mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/lib/Bindings/Python/MainModule.cpp
R mlir/lib/Bindings/Python/NanobindUtils.h
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/lib/Bindings/Python/Pass.h
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/lib/Bindings/Python/Rewrite.h
M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
M mlir/lib/CAPI/Dialect/AMDGPU.cpp
A mlir/lib/CAPI/Dialect/AMDGPUPasses.cpp
A mlir/lib/CAPI/Dialect/AMX.cpp
A mlir/lib/CAPI/Dialect/Affine.cpp
A mlir/lib/CAPI/Dialect/AffinePasses.cpp
A mlir/lib/CAPI/Dialect/ArithPasses.cpp
A mlir/lib/CAPI/Dialect/ArmNeon.cpp
A mlir/lib/CAPI/Dialect/ArmSME.cpp
A mlir/lib/CAPI/Dialect/ArmSMEPasses.cpp
A mlir/lib/CAPI/Dialect/ArmSVE.cpp
A mlir/lib/CAPI/Dialect/ArmSVEPasses.cpp
A mlir/lib/CAPI/Dialect/Bufferization.cpp
A mlir/lib/CAPI/Dialect/BufferizationPasses.cpp
M mlir/lib/CAPI/Dialect/CMakeLists.txt
A mlir/lib/CAPI/Dialect/DLTI.cpp
M mlir/lib/CAPI/Dialect/EmitC.cpp
A mlir/lib/CAPI/Dialect/EmitCPasses.cpp
A mlir/lib/CAPI/Dialect/FuncPasses.cpp
M mlir/lib/CAPI/Dialect/GPU.cpp
M mlir/lib/CAPI/Dialect/IRDL.cpp
M mlir/lib/CAPI/Dialect/LLVM.cpp
A mlir/lib/CAPI/Dialect/LLVMPasses.cpp
A mlir/lib/CAPI/Dialect/MLProgramPasses.cpp
A mlir/lib/CAPI/Dialect/MPI.cpp
A mlir/lib/CAPI/Dialect/MathPasses.cpp
A mlir/lib/CAPI/Dialect/MemRefPasses.cpp
M mlir/lib/CAPI/Dialect/NVGPU.cpp
A mlir/lib/CAPI/Dialect/NVGPUPasses.cpp
A mlir/lib/CAPI/Dialect/OpenACC.cpp
A mlir/lib/CAPI/Dialect/OpenACCPasses.cpp
M mlir/lib/CAPI/Dialect/PDL.cpp
A mlir/lib/CAPI/Dialect/PDLInterp.cpp
A mlir/lib/CAPI/Dialect/Ptr.cpp
M mlir/lib/CAPI/Dialect/Quant.cpp
A mlir/lib/CAPI/Dialect/SCFPasses.cpp
M mlir/lib/CAPI/Dialect/SMT.cpp
A mlir/lib/CAPI/Dialect/SPIRVPasses.cpp
A mlir/lib/CAPI/Dialect/ShapePasses.cpp
A mlir/lib/CAPI/Dialect/Shard.cpp
A mlir/lib/CAPI/Dialect/ShardPasses.cpp
M mlir/lib/CAPI/Dialect/SparseTensor.cpp
A mlir/lib/CAPI/Dialect/TensorPasses.cpp
A mlir/lib/CAPI/Dialect/Tosa.cpp
A mlir/lib/CAPI/Dialect/TosaPasses.cpp
M mlir/lib/CAPI/Dialect/Transform.cpp
A mlir/lib/CAPI/Dialect/TransformPasses.cpp
A mlir/lib/CAPI/Dialect/UB.cpp
A mlir/lib/CAPI/Dialect/VCIX.cpp
A mlir/lib/CAPI/Dialect/VectorPasses.cpp
A mlir/lib/CAPI/Dialect/WasmSSA.cpp
A mlir/lib/CAPI/Dialect/X86Vector.cpp
A mlir/lib/CAPI/Dialect/XeGPU.cpp
A mlir/lib/CAPI/Dialect/XeVM.cpp
M mlir/lib/CAPI/IR/BuiltinAttributes.cpp
M mlir/lib/CAPI/IR/BuiltinTypes.cpp
M mlir/lib/CAPI/IR/IR.cpp
M mlir/lib/CAPI/Interfaces/Interfaces.cpp
M mlir/lib/CAPI/Transforms/Rewrite.cpp
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.h
M mlir/lib/Conversion/GPUCommon/IndexIntrinsicsOpLowering.h
M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRVPass.cpp
M mlir/lib/Conversion/SPIRVCommon/Pattern.h
M mlir/lib/Conversion/SPIRVToLLVM/ConvertLaunchFuncToLLVMCalls.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/lib/Debug/ExecutionContext.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/FoldMemRefsOps.cpp
M mlir/lib/Dialect/Affine/IR/CMakeLists.txt
A mlir/lib/Dialect/Affine/IR/InferIntRangeInterfaceImpls.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOpsAsAffine.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineLoopNormalize.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineParallelize.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineScalarReplacement.cpp
M mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Affine/Transforms/FoldMemRefAliasOps.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopCoalescing.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopUnrollAndJam.cpp
M mlir/lib/Dialect/Affine/Transforms/PipelineDataTransfer.cpp
M mlir/lib/Dialect/Affine/Transforms/RaiseMemrefDialect.cpp
M mlir/lib/Dialect/Affine/Transforms/SimplifyAffineMinMax.cpp
M mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferViewFlowAnalysis.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/IR/InferIntRangeInterfaceImpls.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/FoldAddIntoDest.cpp
M mlir/lib/Dialect/Linalg/Transforms/Interchange.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/lib/Dialect/SPIRV/IR/AtomicOps.cpp
M mlir/lib/Dialect/SPIRV/IR/CastOps.cpp
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/SPIRV/IR/DotProductOps.cpp
M mlir/lib/Dialect/SPIRV/IR/GroupOps.cpp
M mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp
M mlir/lib/Dialect/SPIRV/IR/MemoryOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVAttributes.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOpDefinition.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVParsingUtils.h
M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Transform/DebugExtension/DebugExtensionOps.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
M mlir/lib/Dialect/Transform/PDLExtension/PDLExtensionOps.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateMaskedLoadStore.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorMaskElimination.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/IR/Block.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/IR/Unit.cpp
M mlir/lib/IR/Verifier.cpp
M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
M mlir/lib/Interfaces/IndexingMapOpInterface.cpp
M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
M mlir/lib/Pass/Pass.cpp
M mlir/lib/Pass/PassCrashRecovery.cpp
M mlir/lib/Pass/PassRegistry.cpp
M mlir/lib/Query/Matcher/MatchFinder.cpp
M mlir/lib/RegisterAllPasses.cpp
M mlir/lib/Rewrite/PatternApplicator.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/lib/Target/LLVM/NVVM/Target.cpp
M mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMIRToLLVMTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/python/CMakeLists.txt
M mlir/python/mlir/_mlir_libs/__init__.py
M mlir/python/mlir/dialects/arith.py
M mlir/python/mlir/dialects/linalg/opdsl/lang/emitter.py
M mlir/python/mlir/dialects/memref.py
M mlir/python/mlir/dialects/transform/extras/__init__.py
M mlir/test/Analysis/DataFlow/test-liveness-analysis.mlir
M mlir/test/CAPI/rewrite.c
M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
A mlir/test/Conversion/SCFToSPIRV/func-signature.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
A mlir/test/Dialect/Affine/fold-memref-alias-ops.mlir
A mlir/test/Dialect/Affine/int-range-interface.mlir
M mlir/test/Dialect/Arith/int-range-narrowing.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-invalid.mlir
M mlir/test/Dialect/GPU/canonicalize.mlir
A mlir/test/Dialect/GPU/int-range-interface-cluster.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Dialect/Linalg/collapse-dim.mlir
M mlir/test/Dialect/Linalg/convolution/roundtrip-convolution.mlir
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.8-beta.1
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/a811ec3ed28d...19a8ca35962e
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