[all-commits] [llvm/llvm-project] 73ebad: [clang] Don't assert on perfect overload match wit...
Peter Collingbourne via All-commits
all-commits at lists.llvm.org
Mon Feb 2 16:10:15 PST 2026
Branch: refs/heads/users/pcc/spr/scheduledag-clear-registers-on-debug_value_list-correctly
Home: https://github.com/llvm/llvm-project
Commit: 73ebadaa837e039a1c07c9d373841cfb1eb0eb2b
https://github.com/llvm/llvm-project/commit/73ebadaa837e039a1c07c9d373841cfb1eb0eb2b
Author: keinflue <keinflue at posteo.de>
Date: 2026-01-25 (Sun, 25 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Overload.h
A clang/test/SemaCXX/crash-GH170433.cpp
Log Message:
-----------
[clang] Don't assert on perfect overload match with _Atomic (#176619)
An assertion incorrectly treated difference in _Atomic qualification as
different types for the purpose of verifying a perfect match in overload
resolution in C++.
Fixes #170433
Commit: 0666a777ec8138f58ebc7fc41a2fb8097328308a
https://github.com/llvm/llvm-project/commit/0666a777ec8138f58ebc7fc41a2fb8097328308a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-01-25 (Sun, 25 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
Log Message:
-----------
[SLP]Support for tree throttling in SLP graphs with gathered loads
Gathered loads forming DAG instead of trees in SLP vectorizer. When
doing the throttling analysis for such graphs, need to consider partially
matched gathered loads DAG nodes and consider extract and/or gather
operations and their costs.
The patch adds this analysis and allows cutting off the expensive
sub-graphs with gathered loads.
Reviewers: hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/177855
Commit: 544c300f4396119bf5a2ea4239d32774908a882d
https://github.com/llvm/llvm-project/commit/544c300f4396119bf5a2ea4239d32774908a882d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-25 (Sun, 25 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
DAG: Use poison instead of undef in some vector combines (#177612)
Use poison for the unused or out of bounds vector components.
Commit: 14bdd06fbaa4db5b11b5c07961e4cbe027eafeb1
https://github.com/llvm/llvm-project/commit/14bdd06fbaa4db5b11b5c07961e4cbe027eafeb1
Author: Matthias Springer <me at m-sp.org>
Date: 2026-01-25 (Sun, 25 Jan 2026)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/test/Dialect/SCF/canonicalize.mlir
M mlir/test/Dialect/SCF/for-loop-peeling.mlir
Log Message:
-----------
[mlir][DialectUtils] Fix 0 step handling in `constantTripCount` (#177329)
A step size of "zero" does not indicate "zero iterations". It may
indicate an infinite number of iterations.
This commit makes some transformations more conservative. We used to
fold away some loops with step size 0 and that's now no longer the case.
Relation discussion:
https://discourse.llvm.org/t/infinite-loops-and-dead-code/89530
Commit: e5d235831dfb07b6e767812af7f9d3daa5896f78
https://github.com/llvm/llvm-project/commit/e5d235831dfb07b6e767812af7f9d3daa5896f78
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-01-25 (Sun, 25 Jan 2026)
Changed paths:
M polly/include/polly/ScopDetection.h
M polly/include/polly/ScopDetectionDiagnostic.h
M polly/lib/Analysis/ScopDetection.cpp
M polly/lib/Analysis/ScopDetectionDiagnostic.cpp
A polly/test/ScopDetectionDiagnostics/ReportIncompatibleType.ll
Log Message:
-----------
[Polly] Reject scalable vector types (#177871)
Polly currently does not consider types without fixed length, which can
be encountered if an input source uses e.g. ARM SVE builtins. Such
programs have already been optimized manually. Non-fixed type lengths
also add to the difficulty of dependency analysis. Skip such types
entirely for now.
Fixes: #177859
Commit: 9b3b64310650654d063ce7816c860f67bfbadd38
https://github.com/llvm/llvm-project/commit/9b3b64310650654d063ce7816c860f67bfbadd38
Author: valadaptive <79560998+valadaptive at users.noreply.github.com>
Date: 2026-01-25 (Sun, 25 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/fcmp-fadd-select.ll
M llvm/test/Transforms/InstCombine/fcmp-select.ll
M llvm/test/Transforms/InstCombine/fneg.ll
M llvm/test/Transforms/InstCombine/minmax-fp.ll
M llvm/test/Transforms/InstCombine/unordered-fcmp-select.ll
Log Message:
-----------
[InstCombine] Don't convert a compare+select into a minnum/maxnum intrinsic that can't be lowered back to a compare+select (#177821)
This is a step on the yak-shaving expedition to properly implement the
new `minnum`/`maxnum` signed-zero semantics.
`InstCombineSelect` will convert a `fcmp`+`select` sequence to a
`minnum`/`maxnum` intrinsic. It doesn't require the `fcmp` to have any
particular fast-math flags, just that the `select` has `nnan` and `nsz`
(or is being used in a context where the result doesn't care about
signed zero).
It's not correct to propagate the `nnan` flag from the `fcmp`
instruction for poison-propagation reasons. Patches like
https://github.com/llvm/llvm-project/pull/117977 and
https://github.com/llvm/llvm-project/pull/141010 have *generously* made
it so that if `fcmp` doesn't have fast-math flags, we can still perform
the transformation by simply dropping the flags on the generated
intrinsic.
Unfortunately, converting an `fcmp`+`select` with fast-math flags, to a
`minnum`/`maxnum` without fast-math flags, is actually a
*pessimization*. Common ISAs like x86 and WebAssembly do not provide
single floating-point minimum/maximum instructions that handle NaN in
the same way as `minnum`/`maxnum`. They have to fall back to a routine
or a libcall, which causes its own problems
(https://github.com/llvm/llvm-project/issues/54554).
[Here's an example](https://llvm.godbolt.org/z/avYxa7ccK). Using just
`llc`, the function compiles to a single `maxss`. But with `clang -O3`,
which enables InstCombine optimizations, we end up with a much larger
(and completely unnecessary) routine for handling NaNs.
We should only perform this transformation if it's safe to add `nnan`
and `nsz` to the `minnum`/`maxnum` call, since those are the flags
necessary for lowering it *back* into an `fcmp`+`select` (or equivalent
code).
There's currently one case where we might end up without `nsz` on the
intrinsic call: if the output has one use, and that use doesn't care
about signed zero. To account for that, we should also unconditionally
set `nsz` on the generated intrinsic call.
With this in place, it should be safe to eventually revert
https://reviews.llvm.org/D122610 and further consolidate
`minnum`/`maxnum` handling.
Commit: 7b445ddcd26f9d5fb568511fe38147c058a7d232
https://github.com/llvm/llvm-project/commit/7b445ddcd26f9d5fb568511fe38147c058a7d232
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-25 (Sun, 25 Jan 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/early_exit_cost.ll
A llvm/test/Transforms/LoopVectorize/early-exit-load-live-out.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_unsafe_ptrs.ll
Log Message:
-----------
[LV] Add additional tests for early-exit loops loads not known deref.
Add additional test coverage for loops with loads that are not known to
be dereferenceable.
Commit: cdc6a84c14ea07d66d9e388171b43429eae3397b
https://github.com/llvm/llvm-project/commit/cdc6a84c14ea07d66d9e388171b43429eae3397b
Author: valadaptive <79560998+valadaptive at users.noreply.github.com>
Date: 2026-01-25 (Sun, 25 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/ARM/lower-vmax.ll
M llvm/test/CodeGen/ARM/minnum-maxnum-intrinsics.ll
M llvm/test/CodeGen/ARM/vminmax.ll
M llvm/test/CodeGen/WebAssembly/f32.ll
M llvm/test/CodeGen/WebAssembly/f64.ll
M llvm/test/CodeGen/WebAssembly/simd-arith.ll
Log Message:
-----------
TargetLowering: Allow FMINNUM/FMAXNUM to lower to FMINIMUM/FMAXIMUM even without `nsz` (#177828)
This restriction was originally added in
https://reviews.llvm.org/D143256, with the given justification:
> Currently, in TargetLowering, if the target does not support fminnum,
we lower to fminimum if neither operand could be a NaN. But this isn't
quite correct because fminnum and fminimum treat +/-0 differently; so,
we need to prove that one of the operands isn't a zero.
As far as I can tell, this was never correct. Before
https://github.com/llvm/llvm-project/pull/172012, `minnum` and `maxnum`
were nondeterministic with regards to signed zero, so it's always been
perfectly legal to lower them to operations that order signed zeroes.
Commit: 20c15c7afe97a546d339a5500d3fa273412e2fda
https://github.com/llvm/llvm-project/commit/20c15c7afe97a546d339a5500d3fa273412e2fda
Author: Wenju He <wenju.he at intel.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M libclc/clc/lib/generic/math/clc_remquo.cl
M libclc/clc/lib/generic/math/clc_remquo.inc
Log Message:
-----------
[libclc] replace float remquo with amd ocml implementation (#177131)
Current implementation has two issues:
* unconditionally soft flushes denormal.
* can't pass OpenCL CTS test "test_bruteforce remquo" on intel gpu.
This PR upstreams remquo implementation from
https://github.com/ROCm/llvm-project/tree/amd-staging/amd/device-libs/ocml/src/remainderF_base.h
It supports denormal and can pass OpenCL CTS test. Number of LLVM IR
instructions of function _Z6remquoffPU3AS5i increased from 96 to 680.
---------
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Commit: c03d0fe672b2506d22d101cb7704996f4ffda3e4
https://github.com/llvm/llvm-project/commit/c03d0fe672b2506d22d101cb7704996f4ffda3e4
Author: Wenju He <wenju.he at intel.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/include/clang/Basic/OpenCLExtensions.def
M clang/lib/Sema/SemaDecl.cpp
A clang/test/CodeGenOpenCL/local-scope.cl
M clang/test/SemaOpenCL/extension-version.cl
M clang/test/SemaOpenCL/storageclass.cl
Log Message:
-----------
[OpenCL] Add clang internal extension __cl_clang_function_scope_local_variables (#176726)
OpenCL spec restricts that variable in local address space can only be
declared at kernel function scope.
Add a Clang internal extension __cl_clang_function_scope_local_variables
to lift the restriction.
To expose static local allocations at kernel scope, targets can either
force-inline non-kernel functions that declare local memory or pass a
kernel-allocated local buffer to those functions via an implicit argument.
Motivation: support local memory allocation in libclc's implementation
of work-group collective built-ins, see example at:
https://github.com/intel/llvm/blob/41455e305117/libclc/libspirv/lib/amdgcn-amdhsa/group/collectives_helpers.ll
https://github.com/intel/llvm/blob/41455e305117/libclc/libspirv/lib/amdgcn-amdhsa/group/collectives.cl#L182
Right now this is a Clang-only OpenCL extension intended for compiling
OpenCL libraries with Clang. It could be proposed as a standard OpenCL
extension in the future.
Commit: 2c7cf896be28febcd2f9af1b0dfdb5dfc6b97583
https://github.com/llvm/llvm-project/commit/2c7cf896be28febcd2f9af1b0dfdb5dfc6b97583
Author: Miguel Saldivar <saldivarcher at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Utils/ControlFlowUtils.cpp
M llvm/lib/Transforms/Utils/UnifyLoopExits.cpp
A llvm/test/Transforms/UnifyLoopExits/no-exit-blocks.ll
Log Message:
-----------
[llvm][UnifyLoopExits] Avoid optimization if no exit block is found (#165343)
If there is not an exit block, we should not try unify the loops.
Instead we should just return.
Fixes #165252
Commit: 55de73daee0a589561787adf0fc97ee041414061
https://github.com/llvm/llvm-project/commit/55de73daee0a589561787adf0fc97ee041414061
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-25 (Sun, 25 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSfmm.td
Log Message:
-----------
[RISCV] Put VL before VTYPE in XAndes and XSfmm instruction Defs/Uses. NFC (#177877)
This is the order we use for standard vector instructions.
Commit: 4c7ced218ed29c0197569e14b241c4008f853a41
https://github.com/llvm/llvm-project/commit/4c7ced218ed29c0197569e14b241c4008f853a41
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-25 (Sun, 25 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrFormatsV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSfmm.td
Log Message:
-----------
[RISCV] Use inheritance to simplify RVInstSet*VL* classes. NFC (#177797)
Rename classes to start with RVInstV to make it more clear they are
vector related.
Commit: eae75353f70b01363bab9383da6b4dd4324d13a3
https://github.com/llvm/llvm-project/commit/eae75353f70b01363bab9383da6b4dd4324d13a3
Author: Fady Farag <com.webkit.iidmsa at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang-tools-extra/include-cleaner/lib/Record.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/invalid-enum-default-initialization.cpp
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/lib/Sema/SemaDecl.cpp
M llvm/lib/Target/AVR/AVRInstrInfo.td
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbkb.ll
Log Message:
-----------
[NFC] Fix "FIMXE" typos to "FIXME" (#177895)
Replace common typo "FIMXE" with the intended "FIXME" across the
codebase.
Commit: c563a88413f1139a0c81153101cadcd3227c6d6e
https://github.com/llvm/llvm-project/commit/c563a88413f1139a0c81153101cadcd3227c6d6e
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-01-25 (Sun, 25 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXMips.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXwch.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
Log Message:
-----------
[RISC-V] Reduce code duplication for uimm*_lsb* operands. NFC
Use a common tablegen class instead of duplicating all the data and add a
new case macro to handle the isShiftedUInt<>() call. This refactoring was
motivated by adding RVY support since I needed to add uimm{9,10}_lsb0000.
Pull Request: https://github.com/llvm/llvm-project/pull/177743
Commit: 313bec1c9a6f4e4cdb8d86643041ea5b8cb4de28
https://github.com/llvm/llvm-project/commit/313bec1c9a6f4e4cdb8d86643041ea5b8cb4de28
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/test/Analysis/CostModel/X86/vscale-insertelement-crash.ll
Log Message:
-----------
Add quotes around "print<cost-model>" argument
This is consistent with other tests and is required for some test runners.
Commit: fc2230f574a4e2d5a5041e5f805ba1f38daa66ea
https://github.com/llvm/llvm-project/commit/fc2230f574a4e2d5a5041e5f805ba1f38daa66ea
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-01-25 (Sun, 25 Jan 2026)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISC-V][MC] Introduce RVY extension feature
This adds the initial feature for the base RVY extension,
other extensions such as the hybrid mode will be added later.
RVY specification: https://riscv.github.io/riscv-cheri/
Co-authored-by: Jessica Clarke <jrtc27 at jrtc27.com>
Co-authored-by: Petr Vesely <petr.vesely at codasip.com>
Pull Request: https://github.com/llvm/llvm-project/pull/176870
Commit: 772b15b3be153b1d2df910057af17926ea227243
https://github.com/llvm/llvm-project/commit/772b15b3be153b1d2df910057af17926ea227243
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/lib/Sema/SemaLambda.cpp
A clang/test/Modules/pr177385.cppm
Log Message:
-----------
[C++20] [Modules] Set ManglingContextDecl when we need to mangle a lambda but it's nullptr (#177899)
Close https://github.com/llvm/llvm-project/issues/177385
The root cause of the problem is, when we decide to mangle a lamdba in a
module interface while the ManglingContextDecl is nullptr, we didn't
update ManglingContextDecl. So that the following use of
ManglingContextDecl is an invalid value.
Commit: e68eadf84968608448048ccc5d7ff8bfbff06805
https://github.com/llvm/llvm-project/commit/e68eadf84968608448048ccc5d7ff8bfbff06805
Author: FYLGQ <799648409 at qq.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/complex.cpp
Log Message:
-----------
[clang][bytecode] Fix crash on discarded complex comparison (#177731)
Fixes llvm#176902: [clang][bytecode] crashes on ill-formed
_Static_assert comparing complex value
This patch resolves a crash in Clang's constant evaluation when handling
complex number comparisons in discarded expressions, such as those
involving short-circuiting logical operators. The crash occurred due to
unnecessary evaluation of the comparison in the experimental constant
interpreter.
The issue was originally observed and minimized in the following
example:
```cpp
#define EVAL(a, b) _Static_assert(a == b, "")
void foo() {
EVAL(; + 0, 1i);
}
```
This patch ensures that such comparisons are handled correctly without
triggering assertions when the result is discarded.
Tests
A regression test has been added to verify that complex comparisons in
discarded expressions no longer cause crashes during constant
evaluation.
Local verification:
llvm-project-main/clang/lib/AST/ByteCode/constant-eval-complex-discard.c
passes.
Full ninja check-clang may fail locally due to a known GCC ICE when
building Clang unittests; this is unrelated to the change itself.
Commit: a9b7b4d957aa5df863145cd4e70fe558a56e2f3d
https://github.com/llvm/llvm-project/commit/a9b7b4d957aa5df863145cd4e70fe558a56e2f3d
Author: flovent <flbven at protonmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/floats.cpp
Log Message:
-----------
[clang][bytecode] Fix crash caused by overflow of Casting float number to integer (#177815)
Before this PR evaluation process will stop immediately regradless of
whether it's set to handle overflow,
this will prevent us getting value from stack, which leads to crash(with
or without assertion).
Closes #177751.
Commit: a53daac6f68fa23584758e437221f27cdffd11ed
https://github.com/llvm/llvm-project/commit/a53daac6f68fa23584758e437221f27cdffd11ed
Author: Mark Zhuang <mark.zhuang at spacemit.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
A clang/test/Driver/print-enabled-extensions/riscv-spacemit-x100.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add Spacemit X100 processor definition (#173988)
SpacemiT X100 is a 4-issue, out-of-order, RVA23 processor
https://www.spacemit.com/en/spacemit-x100-core/
Commit: 13b20e7aeab83e82368be9ffd22ce02cb9b831ae
https://github.com/llvm/llvm-project/commit/13b20e7aeab83e82368be9ffd22ce02cb9b831ae
Author: Ryan Mitchell <Ryan.Mitchell at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
A llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.ll
A llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.mir
Log Message:
-----------
[AMDGPU][SILoadStoreOptimizer] Fix lds address operand offset (#176816)
The offset operand in GLOBAL_LOAD_ASYNC_TO_LDS_B128, for instance, is
added to both the lds and global address, but SILoadStoreOptimizer is
currently unaware of that. This PR inserts an add to counteract the
offset meant for the global address. This one add is better than not
doing the optimization at all, and having to insert 2 adds for each
global address calculation (with no offset).
```
; ENABLE-LABEL: name: promote_async_load_offset
; ENABLE: liveins: $ttmp7, $vgpr0, $sgpr0_sgpr1
; ENABLE-NEXT: {{ $}}
; ENABLE-NEXT: renamable $vgpr1 = V_LSHLREV_B32_e32 8, $vgpr0, implicit $exec
; ENABLE-NEXT: renamable $vgpr2, renamable $vcc_lo = V_ADD_CO_U32_e64 $vgpr0, 512, 0, implicit $exec
; ENABLE-NEXT: renamable $vgpr3, dead $sgpr_null = V_ADDC_U32_e64 0, killed $vgpr0, killed $vcc_lo, 0, implicit $exec
; ENABLE-NEXT: renamable $vgpr1 = disjoint V_OR_B32_e32 0, killed $vgpr1, implicit $exec
; ENABLE-NEXT: renamable $vgpr0 = V_ADD_U32_e32 256, $vgpr1, implicit $exec
; ENABLE-NEXT: GLOBAL_LOAD_ASYNC_TO_LDS_B128 killed $vgpr0, $vgpr2_vgpr3, -256, 0, implicit-def $asynccnt, implicit $exec, implicit $asynccnt :: (load store (s128), align 1, addrspace 3)
; ENABLE-NEXT: GLOBAL_LOAD_ASYNC_TO_LDS_B128 killed $vgpr1, killed $vgpr2_vgpr3, 0, 0, implicit-def $asynccnt, implicit $exec, implicit $asynccnt :: (load store (s128), align 1, addrspace 3)
; DISABLE-LABEL: name: promote_async_load_offset
; DISABLE: liveins: $ttmp7, $vgpr0, $sgpr0_sgpr1
; DISABLE-NEXT: {{ $}}
; DISABLE-NEXT: renamable $vgpr1 = V_LSHLREV_B32_e32 8, $vgpr0, implicit $exec
; DISABLE-NEXT: renamable $vgpr2, renamable $vcc_lo = V_ADD_CO_U32_e64 256, $vgpr0, 0, implicit $exec
; DISABLE-NEXT: renamable $vgpr3, $sgpr_null = V_ADDC_U32_e64 0, $vgpr0, killed $vcc_lo, 0, implicit $exec
; DISABLE-NEXT: renamable $vgpr1 = disjoint V_OR_B32_e32 0, killed $vgpr1, implicit $exec
; DISABLE-NEXT: GLOBAL_LOAD_ASYNC_TO_LDS_B128 $vgpr1, killed $vgpr2_vgpr3, 0, 0, implicit-def $asynccnt, implicit $exec, implicit $asynccnt :: (load store (s128), align 1, addrspace 3)
; DISABLE-NEXT: renamable $vgpr2, renamable $vcc_lo = V_ADD_CO_U32_e64 512, $vgpr0, 0, implicit $exec
; DISABLE-NEXT: renamable $vgpr3, $sgpr_null = V_ADDC_U32_e64 0, killed $vgpr0, killed $vcc_lo, 0, implicit $exec
; DISABLE-NEXT: GLOBAL_LOAD_ASYNC_TO_LDS_B128 killed $vgpr1, killed $vgpr2_vgpr3, 0, 0, implicit-def $asynccnt, implicit $exec, implicit $asynccnt :: (load store (s128), align 1, addrspace 3)
```
This PR also promotes the global address to an offset when the offset is
calculated with V_ADD_U64 on applicable gfx versions, (and inversely
adds the LDS offset), whereas previously the optimization opportunity
was missed entirely.
Commit: f2deb793af7b9543180bba4b9402dcc7cc7a0c2e
https://github.com/llvm/llvm-project/commit/f2deb793af7b9543180bba4b9402dcc7cc7a0c2e
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Linker/IRMover.cpp
A llvm/test/Transforms/FunctionImport/Inputs/attr_fixup_dae_noundef.ll
A llvm/test/Transforms/FunctionImport/attr_fixup_dae_noundef.ll
Log Message:
-----------
[IRMover] Use signature for exact definition (#177381)
It is possible for optimizations to modify attributes on exact
definitions. In particular, DeadArgumentElimination may find that a
certain argument is dead, and replace arguments in calls with `poison`.
This requires dropping the `noundef` attribute on the argument.
When ThinLTO import is performed, the destination module already has a
declaration for the function, and the definition is not imported (e.g.
because it is noinline), we currently simply retain the original
declaration. This is incorrect if call with poison arguments were
imported, as the calls become immediate UB.
There was a previous attempt to address this in
https://reviews.llvm.org/D139209. What that patch did was to fix up the
attributes of the declaration after the fact, dropping UB implying
attributes that are not present on the definition. It was reverted
because it made an incorrect assumption that the signature between the
declaration and definition must match.
In this PR, I propose to fix the issue in a different way: If the source
module holds an exact definition (which are the ones that can be, in
limited ways, modified by optimizations), then even if we don't import
the definition, we should still import a declaration based on it. This
ensures that we respect any dropped attributes. (It's probably also
useful for optimization purposes, because we also see more inferred
attributes.)
Fixes https://github.com/llvm/llvm-project/issues/58976.
Commit: 55d4c694a9c6cf1091026b1c71c4acab791b1029
https://github.com/llvm/llvm-project/commit/55d4c694a9c6cf1091026b1c71c4acab791b1029
Author: lonely eagle <2020382038 at qq.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M mlir/lib/Analysis/AliasAnalysis/LocalAliasAnalysis.cpp
Log Message:
-----------
[mlir][analysis] Cleanup collectUnderlyingAddressValues (NFC) (#177905)
Commit: 150c4d6b26177b3a9a65d2a35e4fe3ee7ccc4f9d
https://github.com/llvm/llvm-project/commit/150c4d6b26177b3a9a65d2a35e4fe3ee7ccc4f9d
Author: Jim Lin <jim at andestech.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/test/CodeGen/M68k/pipeline.ll
Log Message:
-----------
[M68k] Update llvm/test/CodeGen/M68k/pipeline.ll (#177910)
Due to https://github.com/llvm/llvm-project/pull/176172.
Commit: 0921542e3b0557e926af846a414676a6a5d0e43c
https://github.com/llvm/llvm-project/commit/0921542e3b0557e926af846a414676a6a5d0e43c
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
A llvm/test/CodeGen/ARM/estimate-size-copy.mir
Log Message:
-----------
[ARM] Count register copies when estimating function size (#175763)
`EstimateFunctionSizeInBytes`, in `ARMFrameLowering.cpp`, provides an
early estimate of the compiled size of a function, in a context that
wants to overestimate rather than underestimate.
In some cases it was underestimating severely, by over 20%. The
discrepancy was entirely accounted for by the fact that `COPY`
operations were not being counted at all, even though each one (or at
least each one that survives any post-regalloc optimizations) takes 2
bytes in Thumb or 4 in Arm. This could lead to a compile failure, if the
underestimated function size led frame lowering to not stack LR, but
later, `ARMConstantIslandsPass` needed to insert an intra-function
branch long enough to require a `bl` instruction, needing LR to have
been stacked.
The result of `EstimateFunctionSizeInBytes` was not directly available
for testing, so I added an `LLVM_DEBUG` at the end of the function. That
way, the test file doesn't need to try to make a >2048 byte function
estimated at <2048 bytes; it just needs to exhibit a function with a
single `COPY` and make sure it's counted.
At the moment, `EstimateFunctionSizeInBytes` is only used at all in
Thumb-1 compilations, to decide whether the function is large enough to
justify stacking LR as a precaution. However, the subroutine
`ARMBaseInstrInfo::getInstSizeInBytes` which counts each individual
`MachineInstr` is called from other contexts too, so I've made it return
a sensible answer for `COPY` nodes in both of Arm and Thumb.
Commit: e1a23f71520972415639d8929d61a49dc26a64c6
https://github.com/llvm/llvm-project/commit/e1a23f71520972415639d8929d61a49dc26a64c6
Author: David Spickett <david.spickett at arm.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M lldb/source/Commands/CommandObjectMemory.cpp
A lldb/test/Shell/Commands/command-memory-region.test
Log Message:
-----------
[lldb] Fix error when running "memory region --all" repeatedly (#177176)
Due to some faulty logic, if you ran "memory region --all" twice, the
second time lldb would try to repeat the command. There's nothing to
repeat, so it failed with an error. It should treat each "--all" use as
starting from scratch.
The logic here was written in a confusing way, so I've refactored it to
first look at how many arguments there are (aka how many address
expressions there are) and then validate based on that.
For reasons unknown, I could not reproduce this issue using the API test
TestMemoryRegion.py. So I have added a shell test that I confirmed does
fail without this fix.
Commit: b33d4684e235b8f92f5d9df007af167275968acc
https://github.com/llvm/llvm-project/commit/b33d4684e235b8f92f5d9df007af167275968acc
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang-tools-extra/include-cleaner/lib/HTMLReport.cpp
Log Message:
-----------
[include-cleaner] Update main-file checking in htmlreport generation
We updated how walkUsed decides if a location belongs to mainfile in
51ee583b1a02b6a4dce86dbe36af91ec60d45137 but forgot to update html
report generation.
Commit: 3ed48305ab19bf0090d2ca714a37dd7b0667b6c2
https://github.com/llvm/llvm-project/commit/3ed48305ab19bf0090d2ca714a37dd7b0667b6c2
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/xqcibm-insert.ll
Log Message:
-----------
[RISCV] Run combineOrToBitfieldInsert after DAG legalize (#177830)
Not combing `OR` into `QC.INSB(I)` before DAG legalization helps known
bits analysis to simplify the code if possible.
Commit: 77ae87ac07c0695801e37d14b5d12185f6863d09
https://github.com/llvm/llvm-project/commit/77ae87ac07c0695801e37d14b5d12185f6863d09
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M mlir/python/mlir/dialects/gpu/__init__.py
M mlir/test/python/dialects/gpu/dialect.py
Log Message:
-----------
[mlir][python] Add `cluster_size` to `gpu.launch_func` python binding (#177811)
Commit: 7d887bccc9bc5d493f8aeb558275ce24f520f2c2
https://github.com/llvm/llvm-project/commit/7d887bccc9bc5d493f8aeb558275ce24f520f2c2
Author: Kashika Akhouri <akhourik at google.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Checker.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Origins.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeSafety.cpp
M clang/lib/Analysis/LifetimeSafety/Origins.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
Log Message:
-----------
[LifetimeSafety] Add suggestion and inference for implicit this (#176703)
This PR implements support for automatically suggesting and inferring
`[[clang::lifetimebound]]` annotations for the implicit `this`.
The analysis now models the implicit this object as an implicit
parameter that carries a "placeholder loan" from the caller's scope. By
tracking this loan through the method body, the analysis can identify if
this reaches an escape point, such as a return statement.
Key Changes:
- Updated `PlaceholderLoan` to hold a union of `ParmVarDecl*` and
`CXXMethodDecl*`
- Extended `OriginManager` to handle `CXXThisExpr` and create a
dedicated origin list for the implicit this parameter
- Modified `FactsGenerator::issuePlaceholderLoans` to create a
placeholder loan for this at the entry of non-static member functions
- Updated `implicitObjectParamIsLifetimeBound` in
`LifetimeAnnotations.cpp` to check for the attribute on the method
declaration itself
- Added logic to skip implicit methods and standard assignment operators
to avoid redundant warnings on boilerplate code
Example:
```cpp
struct ReturnsSelf {
const ReturnsSelf& get() const {
return *this;
}
};
void test_get_on_temporary() {
const ReturnsSelf& s_ref = ReturnsSelf().get();
(void)s_ref;
}
```
Warning:
```
a7.cpp:5:33: warning: implict this in intra-TU function should be marked [[clang::lifetimebound]] [-Wexperimental-lifetime-safety-intra-tu-suggestions]
5 | const ReturnsSelf& get() const {
| ~~~ ^
| [[clang::lifetimebound]]
a7.cpp:6:12: note: param returned here
6 | return *this;
| ^~~~~
a7.cpp:11:30: warning: temporary bound to local reference 's_ref' will be destroyed at the end of the full-expression [-Wdangling]
11 | const ReturnsSelf& s_ref = ReturnsSelf().get();
| ^~~~~~~~~~~~~
```
Fixes https://github.com/llvm/llvm-project/issues/169941
Commit: 5b4811eddb28264ef1ccacc93c0f7d8cb0da31c8
https://github.com/llvm/llvm-project/commit/5b4811eddb28264ef1ccacc93c0f7d8cb0da31c8
Author: Julian Pokrovsky <raventid at users.noreply.github.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/combine-constant-fold-fp-rounding.mir
Log Message:
-----------
[GlobalIsel] Enabling more rules for fp constant folding (#177902)
This PR extends GlobalISel to enable additional compile time constant
foldings
Resolves https://github.com/llvm/llvm-project/issues/86406
Commit: 7d60fe3cbd564ed2defdbe96472230ae2afe8115
https://github.com/llvm/llvm-project/commit/7d60fe3cbd564ed2defdbe96472230ae2afe8115
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/bindings/python/clang/cindex.py
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[libclang/python] Add deprecation warnings to CompletionChunk.isKind methods (#177854)
This adresses point 3 from
https://github.com/llvm/llvm-project/issues/156680.
---------
Co-authored-by: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Commit: 28bf8369c676c05f4d8a0bd189109cb98342bb8b
https://github.com/llvm/llvm-project/commit/28bf8369c676c05f4d8a0bd189109cb98342bb8b
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-i1-add-reduce.ll
Log Message:
-----------
[AArch64][SDAG] Combine vecreduce.add(ZExt(predicate)) into cntp(predicate) (#176935)
This folds `vecreduce.add(ZExt(predicate))` into `cntp(predicate)`
before type legalization expands the "ZExt" for illegal types.
Commit: ab8e905bd7ec63bc3269352415e85180e3c5a988
https://github.com/llvm/llvm-project/commit/ab8e905bd7ec63bc3269352415e85180e3c5a988
Author: Nathan Gauër <brioche at google.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
Log Message:
-----------
[NFC][HLSL] Remove useless GEP (#177584)
This code was adding a GEP which was constant folded anyway. Removed it.
Commit: f4d41a4efb2359a54a3879cd056db2fdb5082b80
https://github.com/llvm/llvm-project/commit/f4d41a4efb2359a54a3879cd056db2fdb5082b80
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
M lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
Log Message:
-----------
[lldb-dap] Fix the completion provided to the DAP client. (#177151)
Previously, completion behavior was inconsistent,
sometimes including the partial token or removing existing user text.
Since LLDB completions includes the partial token by default, we now
strip it before sending to the client.
The completion heuristic:
1. Strip the commandEscapePrefix
2. Request completions from the debugger
3. Get the line at cursor position
4. Calculate the length of any partial token
5. Offset each completion by the partial token length
In all cases, the completion starts from the cursor position. then
offsets by `Length` to the left and inserts the completion.
Examples (single quotes show whitespace and are not part of the input):
```md
| Input | Partial Token | Length | Completion |
|------------|---------------|--------|---------------|
| m | m | 1 | memory |
| `m | m | 1 | memory |
| myfoo. | myfoo. | 6 | myfoo.method( |
| myfoo.fi | myfoo.fi | 7 | myfoo.field |
| myfoo. b | b | 1 | myfoo. bar |
| 'memory ' | | 0 | memory read |
| memory | memory | 6 | memory |
| settings s | s | 1 | settings show |
```
Fixes #176424
Commit: 02232b9a61b1a134e0c42f74f26135d17f957dd5
https://github.com/llvm/llvm-project/commit/02232b9a61b1a134e0c42f74f26135d17f957dd5
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
Log Message:
-----------
[CoroFrame][NFC] Remove code duplication in insertSpills (#177367)
This commit removes a duplicated loop looking through loads when finding
dbg records associated with a Value.
Commit: 1d316ef4ba71d843f1e49f86e831dbf8c64ebd83
https://github.com/llvm/llvm-project/commit/1d316ef4ba71d843f1e49f86e831dbf8c64ebd83
Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Lex/PPDirectives.cpp
M clang/test/Preprocessor/embed___has_embed_parsing_errors.c
Log Message:
-----------
[Clang] prevent assertion in __has_embed parameter recovery at end-of-directive (#175104)
Fixes #175088
---
This PR addresses an assertion failure in the preprocessor triggered
when `__has_embed` parameter parsing reaches end-of-directive while
expecting a parenthesized argument.
Commit: 4d683c0dd7d70ea5e5a2e34d826052fbdccd5eab
https://github.com/llvm/llvm-project/commit/4d683c0dd7d70ea5e5a2e34d826052fbdccd5eab
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Rename lowerX86FPLogicOp -> combineX86FPLogicOp. NFC. (#177937)
This hasn't been part of lowering for a long time
Commit: dbd87270885d1a23edab75ca6b840f209dac2134
https://github.com/llvm/llvm-project/commit/dbd87270885d1a23edab75ca6b840f209dac2134
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.cpp
Log Message:
-----------
[AMDGPU][NFC] Refine the representation of MODE register values. (#177574)
- Eliminate the field masks.
- Segregate the encoding logic.
- Simplify and clarify the user code.
This is supposed to help updating downstream branches where we
have a more advanced version of the same facility.
Commit: cf19b6cdf03fc2df0cbbf5cf6efa8dc49c5ccb59
https://github.com/llvm/llvm-project/commit/cf19b6cdf03fc2df0cbbf5cf6efa8dc49c5ccb59
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.cpp
A clang/test/AST/ByteCode/libcxx/end-primitive-array-root-lifetime.cpp
Log Message:
-----------
[clang][bytecode] Relax assertions in Pointer::{begin,end}Lifetime (#177906)
We could get here for array roots, for which the assertion doesn't
necessarily hold.
Commit: 7cd5b2bffbc8f77057b9fb2300140b108d390e4a
https://github.com/llvm/llvm-project/commit/7cd5b2bffbc8f77057b9fb2300140b108d390e4a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pclmulqdq.ll
Log Message:
-----------
[X86] combineConcatVectorOps - concat(scalar_to_vector(extractelt(x,0)),scalar_to_vector(extractelt(y,0))) -> concat(x,y) (#177930)
Peek through free scalar_to_vector/extract_vector_elt pairs (of the same
vector width) that might still persist (ideally a better topological
sorting would have removed these already....)
Commit: 3c0f5045e103a9d7fd7eb59a0e0b201cb26ccb97
https://github.com/llvm/llvm-project/commit/3c0f5045e103a9d7fd7eb59a0e0b201cb26ccb97
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNProcessors.td
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/occupancy-levels.ll
A llvm/test/MC/AMDGPU/gfx13_smem.s
Log Message:
-----------
[AMDGPU] Add FeatureGFX13 and SMEM encoding for gfx13 (#177567)
For now list of features is based on gfx12 and gfx1250
---------
Co-authored-by: Jay Foad <jay.foad at amd.com>
Commit: c5e6257351d541b65f97fd687b4c70b3adcde1f5
https://github.com/llvm/llvm-project/commit/c5e6257351d541b65f97fd687b4c70b3adcde1f5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/pr177923.ll
Log Message:
-----------
[X86] combineX86FPLogicOp - attempt to fold FAND/FOR/FXOR scalar nodes if they are constant or contain UNDEFs (#177947)
Fixes #177923
Commit: c5cb48c39701086393d1177929a328868849fc72
https://github.com/llvm/llvm-project/commit/c5cb48c39701086393d1177929a328868849fc72
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa/gfx90a/libclc.bc
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa/libclc.bc
M clang/test/Driver/opencl-libclc.cl
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Rework libclc naming convention to use the triple (#177465)
Summary:
Right now all these libraries are installed in the `libclc/` directory
in the compiler's resource directory. We should instead follow the
per-target approach and install it according to the triple. The
sub-architectures will be put in a subdirectory as well.
I will do refactorings on this later to remove all the redundant targets
and pull this into common handling.
Also we should accept `--libclc-lib` without an argument to just find it
by default. I don't know what the plan here is since AMDGCN is the only
triple that uses this flag.
Commit: d6bca8c71a22d5227a2d22dad9a4ef8e1c9732db
https://github.com/llvm/llvm-project/commit/d6bca8c71a22d5227a2d22dad9a4ef8e1c9732db
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Support/APInt.cpp
M llvm/lib/Support/KnownBits.cpp
M llvm/unittests/Support/KnownBitsTest.cpp
Log Message:
-----------
[KnownBits] Make `clmul` optimal (#177916)
Normally I would push back on implementations that take O(BitWidth)
steps, but since the corresponding APInt function already takes
O(BitWidth) steps, this KnownBits function is no worse in that regard.
Also add the same early-out optimization to both the APInt function and
the KnownBits function.
Commit: 763919acc99b9d8ecb5af6ac516dfbd06cbe35c7
https://github.com/llvm/llvm-project/commit/763919acc99b9d8ecb5af6ac516dfbd06cbe35c7
Author: Karol Zwolak <karolzwolak7 at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/IR/ConstantFold.cpp
A llvm/test/Transforms/InstSimplify/fold-bfloat-half-bitcasts.ll
Log Message:
-----------
[ConstantFold] constant fold bfloat <-> half bitcasts (#177663)
Commit: 3d54f053cd2fec25f70f1fe3fd88c0720c0ea6ef
https://github.com/llvm/llvm-project/commit/3d54f053cd2fec25f70f1fe3fd88c0720c0ea6ef
Author: Viktoria Maximova <viktoria.maksimova at intel.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
Log Message:
-----------
[NFC][SPIR-V] Avoid null pointer dereference (#177952)
The issue is found by static code analysis tool.
We expect scalar result type is determined in `getDotProductVectorType`.
Per discussion:
https://github.com/llvm/llvm-project/pull/172050#pullrequestreview-3692008084
Commit: ad207cc2ed5d5c153e5e4742a54af88dc98d8e5d
https://github.com/llvm/llvm-project/commit/ad207cc2ed5d5c153e5e4742a54af88dc98d8e5d
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M lldb/tools/lldb-dap/ProgressEvent.cpp
Log Message:
-----------
[lldb-dap] Join the ProgressEventReporter thread if possible (#176984)
It is not easily noticeable because it mostly happens when ending the
debug session.
Commit: 9be7c1037f26146e469c85061d6685a9172c5de9
https://github.com/llvm/llvm-project/commit/9be7c1037f26146e469c85061d6685a9172c5de9
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M flang/lib/Lower/Bridge.cpp
Log Message:
-----------
[flang][Lower] Fix UB in location handling (#177944)
Previously `prov` received the address of a variable allocated in stack
memory (the contents of `include`). `prov` would then access that memory
outside of the lifetime of that stack allocation: leading to UB.
This only manifested on thinLTO builds. No added test because
flang/test/Lower/location.f90 covers it (when thinLTO is enabled) and
there are bots guarding the thin-lto configuration.
Fixes #156629
Fixes #176404
Commit: 8f64d44ab4df06f9613152a5187615672f8d5359
https://github.com/llvm/llvm-project/commit/8f64d44ab4df06f9613152a5187615672f8d5359
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGen/side-effect.cpp
Log Message:
-----------
[CIR] Apply 'side-effect' attribute logic to the function as well. (#177242)
Previous efforts in both the incubator and upstreamed added the 'pure'
and 'const' attribute lowering to calls. This patch completes that
effort by making it also appear on functions with this attribute.
Commit: 5821b324f69ddcf381fa4c72bb01b512d02bc2a4
https://github.com/llvm/llvm-project/commit/5821b324f69ddcf381fa4c72bb01b512d02bc2a4
Author: Yi-Chi Lee <55395582+yichi170 at users.noreply.github.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Fix shape inference for broadcast bias in transpose_conv2d and depthwise_conv2d (#177739)
Fix part of #175765
Correct shape inference for `tosa.transpose_conv2d` and
`tosa.depthwise_conv2d` when the bias tensor has `BC == 1` based on the
specification.
Fix getting the bias shape in `transpose_conv2d` (it uses the shape of
the input tensor before).
Commit: 535ec2e4e56bdf2cb2ebc501389a6472289a9e2f
https://github.com/llvm/llvm-project/commit/535ec2e4e56bdf2cb2ebc501389a6472289a9e2f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-fixed-length-frame-offests.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
Log Message:
-----------
AArch64: Use poison more in legalization (#177919)
Convert many, but not all contexts creating new undefs
to use poison instead.
Commit: d5f405558d8f7b6018d6f3a9f75b5ffa6ae82feb
https://github.com/llvm/llvm-project/commit/d5f405558d8f7b6018d6f3a9f75b5ffa6ae82feb
Author: Tim Corringham <timothy.corringham at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/f32tof16-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/f32tof16.hlsl
A clang/test/SemaHLSL/BuiltIns/f32tof16-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/DirectX/f32tof16.ll
A llvm/test/CodeGen/SPIRV/opencl/packhalf2x16-error.ll
A llvm/test/CodeGen/SPIRV/packhalf2x16.ll
Log Message:
-----------
[HLSL] Implement f32tof16() intrinsic (#172469)
Implement the f32tof16() intrinsic, DXIL and SPIRV codegen, and related
tests.
Fixes #99113
---------
Co-authored-by: Tim Corringham <tcorring at amd.com>
Commit: 1bad00adc416bdad95f05a29d3527bdaa78c4c1f
https://github.com/llvm/llvm-project/commit/1bad00adc416bdad95f05a29d3527bdaa78c4c1f
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/AArch64/floatdp_1source.ll
M llvm/test/CodeGen/AMDGPU/complex-folding.ll
M llvm/test/CodeGen/AMDGPU/fabs-r600.ll
M llvm/test/CodeGen/AMDGPU/fabs.f64.ll
M llvm/test/CodeGen/AMDGPU/fabs.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs-r600.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs.f64.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs.ll
M llvm/test/CodeGen/AMDGPU/r600-infinite-loop-bug-while-reorganizing-vector.ll
M llvm/test/CodeGen/AMDGPU/schedule-if-2.ll
M llvm/test/CodeGen/ARM/fabs-to-bfc.ll
M llvm/test/CodeGen/ARM/fabss.ll
M llvm/test/CodeGen/ARM/fparith.ll
M llvm/test/CodeGen/ARM/vfp.ll
M llvm/test/CodeGen/Hexagon/bit-extract-off.ll
M llvm/test/CodeGen/Hexagon/opt-fabs.ll
M llvm/test/CodeGen/Mips/f16abs.ll
M llvm/test/CodeGen/Mips/fabs.ll
M llvm/test/CodeGen/Mips/mips64-f128.ll
M llvm/test/CodeGen/PowerPC/2008-07-15-Fabs.ll
M llvm/test/CodeGen/PowerPC/fabs.ll
M llvm/test/CodeGen/PowerPC/fnabs.ll
M llvm/test/CodeGen/X86/fabs.ll
M llvm/test/CodeGen/X86/fnabs.ll
M llvm/test/CodeGen/X86/fp128-i128.ll
M llvm/test/CodeGen/X86/pr2656.ll
M llvm/test/CodeGen/X86/stack-align.ll
Log Message:
-----------
[SDAG] Remove non-canonical fabs libcall handling (#177967)
This is a followup to https://github.com/llvm/llvm-project/pull/171288,
which removed lowering of libcalls to SDAG nodes for most libcalls that
get unconditionally canonicalized to intrinsics. This handles the
remaining fabs case, which I originally skipped due to larger test
impact.
Commit: bc06ca2e90ac13b4ae43dfb4b1080070c52b92aa
https://github.com/llvm/llvm-project/commit/bc06ca2e90ac13b4ae43dfb4b1080070c52b92aa
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp
Log Message:
-----------
[lldb-dap][NFC] Fix typo. (#177972)
Commit: 1db5d6410b07b73fc7ccc10bbffcdc83390735c7
https://github.com/llvm/llvm-project/commit/1db5d6410b07b73fc7ccc10bbffcdc83390735c7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/R600ISelLowering.h
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.160bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.16bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.192bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.224bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.288bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.352bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.384bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/br_cc.f16.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/clamp-modifier.ll
M llvm/test/CodeGen/AMDGPU/clamp.ll
M llvm/test/CodeGen/AMDGPU/constant-address-space-32bit.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-buildvector.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector-16bit.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll
M llvm/test/CodeGen/AMDGPU/fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fadd-fma-fmul-combine.ll
M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/fcmp.f16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/fmax3-maximumnum.ll
M llvm/test/CodeGen/AMDGPU/fmax3.ll
M llvm/test/CodeGen/AMDGPU/fmax_legacy.f16.ll
M llvm/test/CodeGen/AMDGPU/fmed3-cast-combine.ll
M llvm/test/CodeGen/AMDGPU/fmed3.ll
M llvm/test/CodeGen/AMDGPU/fmin3-minimumnum.ll
M llvm/test/CodeGen/AMDGPU/fmin3.ll
M llvm/test/CodeGen/AMDGPU/fmin_legacy.f16.ll
M llvm/test/CodeGen/AMDGPU/fmul.f16.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/fneg-fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/fneg.f16.ll
M llvm/test/CodeGen/AMDGPU/fp-classify.ll
M llvm/test/CodeGen/AMDGPU/fpext.f16.ll
M llvm/test/CodeGen/AMDGPU/fpow.ll
M llvm/test/CodeGen/AMDGPU/fptosi.f16.ll
M llvm/test/CodeGen/AMDGPU/fract-match.ll
M llvm/test/CodeGen/AMDGPU/freeze.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/half.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
M llvm/test/CodeGen/AMDGPU/llvm.fma.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.fmuladd.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maxnum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minnum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
M llvm/test/CodeGen/AMDGPU/mad-mix.ll
M llvm/test/CodeGen/AMDGPU/maximumnum.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.ll
M llvm/test/CodeGen/AMDGPU/omod.ll
M llvm/test/CodeGen/AMDGPU/repeated-divisor.ll
M llvm/test/CodeGen/AMDGPU/roundeven.ll
M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.f16.ll
M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.v2f16.ll
M llvm/test/CodeGen/AMDGPU/select-flags-to-fmin-fmax.ll
M llvm/test/CodeGen/AMDGPU/select-phi-s16-fp.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
M llvm/test/CodeGen/AMDGPU/strict_fpext.ll
M llvm/test/CodeGen/AMDGPU/strict_fptrunc.ll
M llvm/test/CodeGen/AMDGPU/strictfp_f16_abi_promote.ll
M llvm/test/CodeGen/AMDGPU/v_cndmask.ll
M llvm/test/CodeGen/AMDGPU/v_mac.ll
M llvm/test/CodeGen/AMDGPU/v_mac_f16.ll
M llvm/test/CodeGen/AMDGPU/v_madak_f16.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fadd.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmaximum.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fminimum.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-fmul.ll
Log Message:
-----------
AMDGPU: Move softPromoteHalfType override to R600 only (#177419)
As expected the code is much worse, but more correct.
We could do a better job with source modifier management around
fp16_to_fp/fp_to_fp16.
Commit: 99fab0106b428676c37154821d955797fe1786a3
https://github.com/llvm/llvm-project/commit/99fab0106b428676c37154821d955797fe1786a3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/kernel-args.ll
Log Message:
-----------
R600: Remove softPromoteHalfType (#177420)
Also includes a kind of hacky, minimal change to avoid assertions
when softPromoteHalfType is removed to fix kernel arguments
lowered as f16. Half support was never really implemented
for r600, and there just happened to be a few incidental tests
which included a half argument (which were also not even meaningful,
since the function body just folded to nothing due to no callable
function support).
Commit: 8302e8ae6694978806f94aca81cd31258db66169
https://github.com/llvm/llvm-project/commit/8302e8ae6694978806f94aca81cd31258db66169
Author: David Green <david.green at arm.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/aarch64-tbz.ll
Log Message:
-----------
[AArch64] Update aarch64-tbz.ll test. NFC
Commit: a78b8328aa093cd242da16ddead446240b99a769
https://github.com/llvm/llvm-project/commit/a78b8328aa093cd242da16ddead446240b99a769
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
A clang/test/Sema/warn-lifetime-safety-noescape.cpp
Log Message:
-----------
[LifetimeSafety] Add report on misuse of clang::noescape (#177260)
Closes https://github.com/llvm/llvm-project/issues/170417.
Commit: cb043d78b348b3be66aa4309255fd7e6f71ce6db
https://github.com/llvm/llvm-project/commit/cb043d78b348b3be66aa4309255fd7e6f71ce6db
Author: Aleksandar Spasojevic <aleksandar.spasojevic at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
A llvm/test/DebugInfo/AMDGPU/wqm-wwm-debug-loc.ll
Log Message:
-----------
[AMDGPU] Propagate debug locations to si-wqm instructions (#168573)
Debug metadata propagation in SIWholeQuadMode pass.
Commit: 017f2bc181b9cc963f34ecea43186a632f3f4d23
https://github.com/llvm/llvm-project/commit/017f2bc181b9cc963f34ecea43186a632f3f4d23
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/a-v-flat-atomicrmw.ll
M llvm/test/CodeGen/AMDGPU/av-split-dead-valno-crash.ll
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/masked-load-vectortypes.ll
M llvm/test/CodeGen/AMDGPU/mfma-loop.ll
M llvm/test/CodeGen/AMDGPU/no-fold-accvgpr-mov.ll
A llvm/test/CodeGen/AMDGPU/phi-av-pressure.ll
M llvm/test/CodeGen/AMDGPU/phi-vgpr-input-moveimm.mir
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
Log Message:
-----------
[AMDGPU] Simplify legalization of PHI operands (#177352)
In practice when legalizeOperands is called on a PHI node, the result is
never an SGPR class and the operands are never subregs. Simplify the
code accordingly by using the result regclass for all the inputs. This
includes using an AV class where previously we picked either an AGPR or
VGPR class.
Commit: e9ac1a3190c24bdf511cc262e40cdc56050aefac
https://github.com/llvm/llvm-project/commit/e9ac1a3190c24bdf511cc262e40cdc56050aefac
Author: David Spickett <david.spickett at arm.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/test/API/functionalities/memory-region/TestMemoryRegion.py
M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
Log Message:
-----------
[lldb] Improve error and docs for repeating "memory region" (#177559)
"memory region" can be given an address once and then when repeated,
it will try to find a region just beyond the last one it printed.
This continues until the end of the address space.
Then it gives you an error showing the usage, which is odd because
you just saw a bunch of "memory region" with no options work.
So I've improved the error a bit to imply its to do with the repetition.
Then described the repeating behaviour in the help text.
Commit: 1660ac58fa7341fe46c67d561bb4b13ee139da61
https://github.com/llvm/llvm-project/commit/1660ac58fa7341fe46c67d561bb4b13ee139da61
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/test/Instrumentation/NumericalStabilitySanitizer/basic.ll
Log Message:
-----------
[TLI] Update hasOptimizedCodegen() (#177975)
Remove libcalls that no longer have optimized codegen after recent
changes.
Commit: a70a1f3965aa735c1dc7dc8b152a57a81e76f3ac
https://github.com/llvm/llvm-project/commit/a70a1f3965aa735c1dc7dc8b152a57a81e76f3ac
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[bazel] Fix mlir python build (#177980)
Fixes #169045 (2cc4d45715cdd5eb23df51a48d6fd95c37a2276a)
Commit: 090a08d91b68a73e1856db5330f45d2935b0c831
https://github.com/llvm/llvm-project/commit/090a08d91b68a73e1856db5330f45d2935b0c831
Author: Valeriy Savchenko <vsavchenko at apple.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/AArch64/fold-equivalent-reduction-cmp.ll
M llvm/test/Transforms/VectorCombine/AArch64/icmp-vector-reduce.ll
A llvm/test/Transforms/VectorCombine/X86/fold-equivalent-reduction-cmp.ll
M llvm/test/Transforms/VectorCombine/X86/icmp-vector-reduce.ll
Log Message:
-----------
[VectorCombine] Switch vector or<->umax/and<->umin in comparisons (#177159)
Resolves #174500
In the transformation, we use either use one of these equivalences
directly or one of the trivial inferences of their combinations.
`or<->umax`
1. `or(X) == 0 <=> umax(X) == 0`
2. `or(X) == 1 <=> umax(X) == 1`
3. `sign(or(X)) == sign(umax(X))`
`and<->umin`
1. `and(X) == -1 <=> umin(X) == -1`
2. `and(X) == -2 <=> umin(X) == -2`
3. `sign(and(X)) == sign(umin(X))`
| Case | Proof |
|------|-------|
| a. `or(X) ==/!= 0 <-> umax(X) ==/!= 0` |
[proof](https://alive2.llvm.org/ce/z/t9kER4) |
| b. `or(X) s< 0 <-> umax(X) s< 0` |
[proof](https://alive2.llvm.org/ce/z/q67EXU) |
| c. `or(X) s> -1 <-> umax(X) s> -1` |
[proof](https://alive2.llvm.org/ce/z/vY-tUd) |
| d. `or(X) s< 1 <-> umax(X) s< 1` |
[proof](https://alive2.llvm.org/ce/z/d5izg3) |
| e. `or(X) ==/!= 1 <-> umax(X) ==/!= 1` |
[proof](https://alive2.llvm.org/ce/z/gSjvpk) |
| f. `or(X) s< 2 <-> umax(X) s< 2` |
[proof](https://alive2.llvm.org/ce/z/sGUV6c) |
| g. `and(X) ==/!= -1 <-> umin(X) ==/!= -1` |
[proof](https://alive2.llvm.org/ce/z/mSAs2p) |
| h. `and(X) s< 0 <-> umin(X) s< 0` |
[proof](https://alive2.llvm.org/ce/z/xnZeDT) |
| i. `and(X) s> -1 <-> umin(X) s> -1` |
[proof](https://alive2.llvm.org/ce/z/ea_tKG) |
| j. `and(X) s> -2 <-> umin(X) s> -2` |
[proof](https://alive2.llvm.org/ce/z/ewhAab) |
| k. `and(X) ==/!= -2 <-> umin(X) ==/!= -2` |
[proof](https://alive2.llvm.org/ce/z/nBBt62) |
| l. `and(X) s> -3 <-> umin(X) s> -3` |
[proof](https://alive2.llvm.org/ce/z/F3dsfz) |
Commit: 3dfe7bc7fb9d2f85044325af060b5d4725ee3585
https://github.com/llvm/llvm-project/commit/3dfe7bc7fb9d2f85044325af060b5d4725ee3585
Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M mlir/include/mlir/IR/Diagnostics.h
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
Log Message:
-----------
[MLIR] Allowed streaming enums into an mlir::Diagnostic (#177959)
Prior to this change users had to manually call `stringifyEnum` or
`mlir::debugString` to bea ble to stream an enum value into a
diagnostic, e.g.
op.emiError("Something went wrong: ")
<< mlir::some_dialect::stringifyEnum(some_enum);
The added overload allows streaming the value directly
op.emitError("Something went wrong: ") << some_enum;
Commit: d7666c675c59e92f4301f53c7da3bbba59cb80c6
https://github.com/llvm/llvm-project/commit/d7666c675c59e92f4301f53c7da3bbba59cb80c6
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
Log Message:
-----------
[AMDGPU][SILoadStoreOptimizer] Fix unused variable warning (#177969)
Fix unused variable warning that fires in SILoadStoreOptimizer.cpp when
assertions are disabled. On review, we can just delete the whole assert,
since it isn't querying the def anymore. Fixes #176816
(13b20e7aeab83e82368be9ffd22ce02cb9b831ae).
Commit: b0ce26c320ec09940442ded28d7771043639377e
https://github.com/llvm/llvm-project/commit/b0ce26c320ec09940442ded28d7771043639377e
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang-tools-extra/clang-tidy/add_new_check.py
M clang-tools-extra/clang-tidy/rename_check.py
M clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
Log Message:
-----------
[clang-tidy][NFC] Run ruff over python scripts (#176927)
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Commit: a150e8081ac2b4c7c056b0290afb88b9a01d7a1d
https://github.com/llvm/llvm-project/commit/a150e8081ac2b4c7c056b0290afb88b9a01d7a1d
Author: Ayush Kumar Gaur <132849148+Ayush3941 at users.noreply.github.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Avoid crash in constexpr wcslen on invalid argument… (#177891)
### What the problem ?
Fix a clang bytecode constant interpreter crash when evaluating
wcslen("x") in a constant-expression path.
Previously we asserted on wchar element size mismatch and crashed in
assertion builds.
### Why it happened
The expression is already ill-typed (char[2] → const wchar_t*), clang
correctly emits a diagnostic, but later ICE checking tries to fold the
expression and reaches the builtin handler. That path must not crash.
### whats the Fix
Replace the assert(ElemSize == wchar_t size) with a graceful failure
(return false / emit appropriate diagnostic) when element sizes don’t
match, so evaluation stops safely.
### how to Test it
Add a regression test that triggers ICE checking with
-fexperimental-new-constant-interpreter and ensures clang does not crash
(verifies it reports the type error / static_assert failure instead).
Fixes #177844.
<img width="1366" height="768" alt="Screenshot_2026-01-25_22_07_50"
src="https://github.com/user-attachments/assets/488dd0b0-3c17-4f45-b2d0-9339b8fd3409"
/>
where wclen_crash.c is
`
#include <wchar.h>
static_assert(wcslen("x") == 'x');
int main() {}
`
---------
Co-authored-by: Timm Baeder <tbaeder at redhat.com>
Commit: 2c9efd0177910753008767a8c50e62f676721443
https://github.com/llvm/llvm-project/commit/2c9efd0177910753008767a8c50e62f676721443
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
R clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa/gfx90a/libclc.bc
R clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa/libclc.bc
M clang/test/Driver/opencl-libclc.cl
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
Revert "[libclc] Rework libclc naming convention to use the triple (#177465)"
This reverts commit c5cb48c39701086393d1177929a328868849fc72.
This was causing CMake configuration failures for the postsubmit
buildbot checking the premerge configuration:
```
2026-01-26T13:46:47.849060051Z CMake Error at /home/gha/llvm-project/libclc/cmake/modules/AddLibclc.cmake:407 (add_custom_command):
2026-01-26T13:46:47.849086795Z Attempt to add a custom rule to output
2026-01-26T13:46:47.849088339Z
2026-01-26T13:46:47.849090228Z /home/gha/llvm-project/build/lib/clang/23/lib/r600--/libclc.bc.rule
2026-01-26T13:46:47.849101045Z
2026-01-26T13:46:47.849103110Z which already has a custom rule.
2026-01-26T13:46:47.849104522Z Call Stack (most recent call first):
2026-01-26T13:46:47.849106013Z /home/gha/llvm-project/libclc/CMakeLists.txt:460 (add_libclc_builtin_set)
2026-01-26T13:46:47.849107043Z
2026-01-26T13:46:47.849108005Z
2026-01-26T13:46:47.851329201Z CMake Error at /home/gha/llvm-project/libclc/cmake/modules/AddLibclc.cmake:407 (add_custom_command):
2026-01-26T13:46:47.851341592Z Attempt to add a custom rule to output
2026-01-26T13:46:47.851343793Z
2026-01-26T13:46:47.851346484Z /home/gha/llvm-project/build/lib/clang/23/lib/r600--/libclc.bc.rule
2026-01-26T13:46:47.851348290Z
2026-01-26T13:46:47.851350814Z which already has a custom rule.
2026-01-26T13:46:47.851352774Z Call Stack (most recent call first):
2026-01-26T13:46:47.851354795Z /home/gha/llvm-project/libclc/CMakeLists.txt:460 (add_libclc_builtin_set)
2026-01-26T13:46:47.851356284Z
2026-01-26T13:46:47.851357807Z
2026-01-26T13:46:47.853361832Z CMake Error at /home/gha/llvm-project/libclc/cmake/modules/AddLibclc.cmake:407 (add_custom_command):
2026-01-26T13:46:47.853368044Z Attempt to add a custom rule to output
2026-01-26T13:46:47.853369290Z
2026-01-26T13:46:47.853370974Z /home/gha/llvm-project/build/lib/clang/23/lib/r600--/libclc.bc.rule
2026-01-26T13:46:47.853372068Z
2026-01-26T13:46:47.853373338Z which already has a custom rule.
2026-01-26T13:46:47.853374637Z Call Stack (most recent call first):
2026-01-26T13:46:47.853376034Z /home/gha/llvm-project/libclc/CMakeLists.txt:460 (add_libclc_builtin_set)
2026-01-26T13:46:47.853377158Z
2026-01-26T13:46:47.853378154Z
2026-01-26T13:47:02.534691197Z -- Generating done (11.9s)
```
https://lab.llvm.org/staging/#/builders/192
Commit: 38b7176c92f31c274226ff418891545046dcf1f0
https://github.com/llvm/llvm-project/commit/38b7176c92f31c274226ff418891545046dcf1f0
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/kernel-args.ll
Log Message:
-----------
Revert "R600: Remove softPromoteHalfType (#177420)"
This reverts commit 99fab0106b428676c37154821d955797fe1786a3.
llc was crashing in kernel-args.ll after this patch:
```
.---command stderr------------
| LLVM ERROR: Cannot select: t3: f32,ch = load<(non-temporal dereferenceable invariant load (s16), align 4, addrspace 7), sext from f16> t0, Constant:i32<36>, undef:i32
| In function: f16_arg
| PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
| Stack dump:
| 0. Program arguments: /b/ml-opt-devrel-x86-64-b1/build/bin/llc -mtriple=r600 -mcpu=redwood
| 1. Running pass 'Function Pass Manager' on module '<stdin>'.
| 2. Running pass 'Unnamed pass: implement Pass::getPassName()' on function '@f16_arg'
| #0 0x0000561402607438 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/b/ml-opt-devrel-x86-64-b1/build/bin/llc+0x81a7438)
| #1 0x0000561402604b75 llvm::sys::RunSignalHandlers() (/b/ml-opt-devrel-x86-64-b1/build/bin/llc+0x81a4b75)
| #2 0x00005614026081b1 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
| #3 0x00007f55eb45a050 (/lib/x86_64-linux-gnu/libc.so.6+0x3c050)
| #4 0x00007f55eb4a8eec (/lib/x86_64-linux-gnu/libc.so.6+0x8aeec)
| #5 0x00007f55eb459fb2 raise (/lib/x86_64-linux-gnu/libc.so.6+0x3bfb2)
| #6 0x00007f55eb444472 abort (/lib/x86_64-linux-gnu/libc.so.6+0x26472)
| #7 0x0000561402567005 llvm::report_fatal_error(llvm::Twine const&, bool) (/b/ml-opt-devrel-x86-64-b1/build/bin/llc+0x8107005)
| #8 0x00005614023e7ba7 llvm::SelectionDAGISel::CannotYetSelect(llvm::SDNode*) (/b/ml-opt-devrel-x86-64-b1/build/bin/llc+0x7f87ba7)
| #9 0x00005614023e6a7d llvm::SelectionDAGISel::SelectCodeCommon(llvm::SDNode*, unsigned char const*, unsigned int) (/b/ml-opt-devrel-x86-64-b1/build/bin/llc+0x7f86a7d)
| #10 0x00005614023dae94 llvm::SelectionDAGISel::DoInstructionSelection() (/b/ml-opt-devrel-x86-64-b1/build/bin/llc+0x7f7ae94)
| #11 0x00005614023d9e6a llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/b/ml-opt-devrel-x86-64-b1/build/bin/llc+0x7f79e6a)
| #12 0x00005614023d7b5e llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/b/ml-opt-devrel-x86-64-b1/build/bin/llc+0x7f77b5e)
| #13 0x00005614023d4c30 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/b/ml-opt-devrel-x86-64-b1/build/bin/llc+0x7f74c30)
| #14 0x00005614023d22e0 llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) (/b/ml-opt-devrel-x86-64-b1/build/bin/llc+0x7f722e0)
| #15 0x0000561401611793 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/b/ml-opt-devrel-x86-64-b1/build/bin/llc+0x71b1793)
| #16 0x0000561401b790e5 llvm::FPPassManager::runOnFunction(llvm::Function&) (/b/ml-opt-devrel-x86-64-b1/build/bin/llc+0x77190e5)
| #17 0x0000561401b80f72 llvm::FPPassManager::runOnModule(llvm::Module&) (/b/ml-opt-devrel-x86-64-b1/build/bin/llc+0x7720f72)
| #18 0x0000561401b79b56 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/b/ml-opt-devrel-x86-64-b1/build/bin/llc+0x7719b56)
| #19 0x00005613ff4858f4 compileModule(char**, llvm::SmallVectorImpl<llvm::PassPlugin>&, llvm::LLVMContext&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&) llc.cpp:0:0
| #20 0x00005613ff482ed3 main (/b/ml-opt-devrel-x86-64-b1/build/bin/llc+0x5022ed3)
| #21 0x00007f55eb44524a (/lib/x86_64-linux-gnu/libc.so.6+0x2724a)
| #22 0x00007f55eb445305 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x27305)
| #23 0x00005613ff47ea21 _start (/b/ml-opt-devrel-x86-64-b1/build/bin/llc+0x501ea21)
`-----------------------------
```
Commit: 21dad8e5cc7d3d0f666835e4d7b3dd2f7315fffe
https://github.com/llvm/llvm-project/commit/21dad8e5cc7d3d0f666835e4d7b3dd2f7315fffe
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/CodeGen/MIR/AMDGPU/s_wait_alu_missing_operand_crash.mir
Log Message:
-----------
[AMDGPU] Improve crash message when S_WAITCNT_DEPCTR is missing its operand (#177065)
The code in the test is causing a crash in `SIInstrInfo.cpp`
`fixImplicitOperands()` in `MI.implicit_operands()`:
```
for (auto &Op : MI.implicit_operands()) {
```
MachineInstr.h:
```
mop_range implicit_operands() {
=> return operands_impl().drop_front(getNumExplicitOperands());
}
```
We are trying to drop 1 operand from the operands of MI which are 0.
By early returning we are no longer crashing at that point and we are
getting a more meaningful error message:
```
*** Bad machine code: Too few operands ***
- function: missing_operand_crash
- basic block: %bb.0 (0x5a9d30ced988)
- instruction: S_WAITCNT_DEPCTR
1 operands expected, but 0 given.
```
The code is still crashing at a different location, but at least we are
getting an error message.
Commit: 4dd7535ca88102249a415f4cdab8769410f08509
https://github.com/llvm/llvm-project/commit/4dd7535ca88102249a415f4cdab8769410f08509
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
A clang/test/CIR/CodeGen/address-of.cpp
Log Message:
-----------
[CIR] Upstream addressof builtin (#177860)
Upstream the addressof builtin
Commit: d43b29fc545d702b35b20802f92357bc4c4177fe
https://github.com/llvm/llvm-project/commit/d43b29fc545d702b35b20802f92357bc4c4177fe
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrFormatsV.td
Log Message:
-----------
[RISCV] Add a tablegen base class for RVInstV* to reduce duplication. NFC (#177898)
Commit: b19238d0d0a7d026de8e2ad28775db57afccb01d
https://github.com/llvm/llvm-project/commit/b19238d0d0a7d026de8e2ad28775db57afccb01d
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/docs/BoundsSafety.rst
Log Message:
-----------
[BoundsSafety] Small fixes to BoundsSafety.rst (#177961)
While reading the doc I noticed a few things that weren't rendered right
in the html output.
Commit: 10b539f13eae2db79c3dc27dec3a6c5ca75542f8
https://github.com/llvm/llvm-project/commit/10b539f13eae2db79c3dc27dec3a6c5ca75542f8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/copysign.ll
Log Message:
-----------
InstCombine: Try SimplifyDemandedBits on copysign signs (#177942)
Commit: 28fc4f1d96d61b15d23de5bf1ef94992be26231a
https://github.com/llvm/llvm-project/commit/28fc4f1d96d61b15d23de5bf1ef94992be26231a
Author: Valeriy Savchenko <vsavchenko at apple.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/RISCV/fold-equivalent-reduction-cmp.ll
A llvm/test/Transforms/VectorCombine/RISCV/fold-signbit-reduction-cmp.ll
A llvm/test/Transforms/VectorCombine/RISCV/icmp-vector-reduce.ll
M llvm/test/Transforms/VectorCombine/X86/fold-equivalent-reduction-cmp.ll
Log Message:
-----------
[VectorCombine] Call cost calculation with correct intrinsic IDs (#177996)
#175194, #177159, and #173069 introduced the code calling
`TTI.getMinMaxReductionCost` with unexpected `Intrinsic::ID` causing
RISC-V to fail with `llvm_unreachable` panic.
Functionally, this is a small fix that also ports tests for the
aforementioned folds to RISCV.
Commit: 29fd8686914d8de51851e776606003464790e938
https://github.com/llvm/llvm-project/commit/29fd8686914d8de51851e776606003464790e938
Author: Argyrios Kyrtzidis <kyrtzidis at apple.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/include/llvm/CAS/BuiltinUnifiedCASDatabases.h
M llvm/include/llvm/CAS/OnDiskGraphDB.h
M llvm/include/llvm/CAS/UnifiedOnDiskCache.h
A llvm/include/llvm/CAS/ValidationResult.h
M llvm/lib/CAS/ActionCaches.cpp
M llvm/lib/CAS/BuiltinCAS.cpp
M llvm/lib/CAS/BuiltinCAS.h
M llvm/lib/CAS/BuiltinUnifiedCASDatabases.cpp
M llvm/lib/CAS/OnDiskCAS.cpp
M llvm/lib/CAS/OnDiskGraphDB.cpp
M llvm/lib/CAS/UnifiedOnDiskCache.cpp
M llvm/unittests/CAS/ActionCacheTest.cpp
M llvm/unittests/CAS/BuiltinUnifiedCASDatabasesTest.cpp
M llvm/unittests/CAS/CASTestConfig.cpp
M llvm/unittests/CAS/CASTestConfig.h
M llvm/unittests/CAS/ObjectStoreTest.cpp
M llvm/unittests/CAS/UnifiedOnDiskCacheTest.cpp
Log Message:
-----------
[llvm/CAS] Improve layering and decouple `UnifiedOnDiskCache` from the builtin hash implementation (#177280)
Commit: 1d74db7e8d6a211fe421a02275eae1756c8d40fe
https://github.com/llvm/llvm-project/commit/1d74db7e8d6a211fe421a02275eae1756c8d40fe
Author: Ben Dunbobbin <Ben.Dunbobbin at sony.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
A cross-project-tests/dtlto/link-savetemps.test
A cross-project-tests/dtlto/local_codegen_and_wait.py
A cross-project-tests/dtlto/savetemps-lock.test
A cross-project-tests/dtlto/savetemps.test
M cross-project-tests/dtlto/signal.test
A cross-project-tests/dtlto/test_temps.py
M lld/COFF/LTO.cpp
M lld/ELF/LTO.cpp
M llvm/include/llvm/DTLTO/DTLTO.h
M llvm/lib/DTLTO/DTLTO.cpp
Log Message:
-----------
[DTLTO] Make temporary file handling consistent (#176807)
DTLTO emits temporary files to allow distribution of archive member
inputs.
It also emits temporary files from the ThinLTO backend, such as the
index files needed for each distributed ThinLTO backend compilation.
This change brings archive member temporary files into line with those
produced by the ThinLTO backend. They are now emitted in the same
location, warnings are emitted if they cannot be deleted, and they are
cleaned up on abnormal exit (e.g. Ctrl-C). All temporary files are
preserved when --save-temps is specified.
The existing signal-handling test has been extended to cover the full
set of DTLTO temporary files, and a new test has been added to exercise
temporary file handling in normal operation. Additionally, a minimal
test has been added to show the COFF behaviour.
SIE Internal tracker: TOOLCHAIN-21022
Commit: 62339468e070d7f9f9b577a745aa4126852e21fc
https://github.com/llvm/llvm-project/commit/62339468e070d7f9f9b577a745aa4126852e21fc
Author: h-vetinari <h.vetinari at gmx.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M libcxx/include/__configuration/availability.h
M libcxx/include/__exception/exception_ptr.h
Log Message:
-----------
[libc++] Do not redefine _LIBCPP_AVAILABILITY_HAS_INIT_PRIMARY_EXCEPTION (#177851)
Review in #176857 asked to remove this block and make
_LIBCPP_AVAILABILITY_HAS_INIT_PRIMARY_EXCEPTION similar
to the other availability macros. This patch does this.
Commit: c0ae6c91bfe7dc54ff4f19acd24719c258639c60
https://github.com/llvm/llvm-project/commit/c0ae6c91bfe7dc54ff4f19acd24719c258639c60
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
A libcxx/test/libcxx/utilities/optional/optional.object/optional.iterator/assert.bounded_iterator.pass.cpp
M libcxx/utils/libcxx/test/features/libcxx_macros.py
Log Message:
-----------
[libc++] Add assertion tests for optional bounded iterator (#176597)
These were missed when implementing `optional` iterator.
Commit: bd3ecdc59bb69a5528dee06f1e47c733bb89a25f
https://github.com/llvm/llvm-project/commit/bd3ecdc59bb69a5528dee06f1e47c733bb89a25f
Author: Cheng Lingfei <53817093+clingfei at users.noreply.github.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/f16sqrtl.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/f16sqrtl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/f16sqrtl.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor f16sqrtl to Header Only. (#176333)
builds correctly with both `clang`, `gcc`, `cmake`, and `Bazel`.
Closes https://github.com/llvm/llvm-project/issues/175331.
Commit: 8805e273657cd9eee097aee33ee6f49055cc81e2
https://github.com/llvm/llvm-project/commit/8805e273657cd9eee097aee33ee6f49055cc81e2
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] Cleanup: Use unique_ptr for WCG and remove unnecessary class members (#177689)
Commit: d6dbf7876c8fa2bbd41f2df5a12e6bc89d613960
https://github.com/llvm/llvm-project/commit/d6dbf7876c8fa2bbd41f2df5a12e6bc89d613960
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
Log Message:
-----------
[TTI] Fix comment for 'bool UnrollVectorizedLoop = false;' (NFC). (#177880)
Commit: e4dc7034f8637fa7579677182a696a945444caab
https://github.com/llvm/llvm-project/commit/e4dc7034f8637fa7579677182a696a945444caab
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ordering/TestDataFormatterStdOrdering.py
Log Message:
-----------
[lldb] Add libcxx std::*_ordering summary providers (#174227)
Added libcxx std::*_ordering summary providers similar to #174195.
Commit: c327d46d7961ad75de6beb916d254816ff947c40
https://github.com/llvm/llvm-project/commit/c327d46d7961ad75de6beb916d254816ff947c40
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.fract.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.frexp.mant.ll
Log Message:
-----------
[AMDGPU][GlobalISel] Add frexp_mant/fract intrinsic RegBankLegalize r… (#177512)
…ules
Commit: fc6a5ed1a4ed9a244539c59b195d1b73605561d7
https://github.com/llvm/llvm-project/commit/fc6a5ed1a4ed9a244539c59b195d1b73605561d7
Author: Florian Mayer <fmayer at google.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/test/CodeGen/AArch64/stack-tagging-ex-1.ll
M llvm/test/CodeGen/AArch64/stack-tagging-split-lifetime.ll
M llvm/test/CodeGen/AArch64/stack-tagging-untag-placement.ll
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
Log Message:
-----------
[HWASan] [MTE] use precise lifetimes even if they don't cover all exits
Previously, for performance reasons, we would only use precise lifetimes
if they cover all reachable exits. Now, if they do not, we use precise
lifetimes in addition to untagging at every exit that is not dominated
by them.
This is the behavior of ASan.
Reviewers: vitalybuka, pcc
Pull Request: https://github.com/llvm/llvm-project/pull/174875
Commit: bcf6d5298a8c434fd3b9f4123098431a01d7d645
https://github.com/llvm/llvm-project/commit/bcf6d5298a8c434fd3b9f4123098431a01d7d645
Author: Fangrui Song <i at maskray.me>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/test/MC/RISCV/zibi-valid.s
Log Message:
-----------
[RISCV] Test Zibi relocation type (#177896)
Zibi beqi/bnei (#127463) use a modified B-type format (replace `rs2`
with `cimm`) and reuse the R_RISCV_BRANCH relocation type.
Commit: ecb1b0b90f172f608717058e9a2b2c2c61da8999
https://github.com/llvm/llvm-project/commit/ecb1b0b90f172f608717058e9a2b2c2c61da8999
Author: Rolf Morel <rolf.morel at intel.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
Log Message:
-----------
[MLIR][Python] Fix overly specific type annotation on PyValue.owner (#178003)
Commit: c9e0cf139cc93f2f531900b401bf7b8cd51468fb
https://github.com/llvm/llvm-project/commit/c9e0cf139cc93f2f531900b401bf7b8cd51468fb
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
M llvm/test/CodeGen/AMDGPU/cvt_flr_i32_f32.ll
M llvm/test/CodeGen/AMDGPU/cvt_rpi_i32_f32.ll
M llvm/test/TableGen/GlobalISelEmitter/CustomPredicate.td
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
Log Message:
-----------
[AMDGPU] Update patterns for v_cvt_flr and v_cvt_rpi (#177962)
Support GlobalISel and switch to checking `nnan` flag on instruction
instead of TargetOptions.
Instruction are renamed to v_cvt_floor and v_cvt_nearest on gfx11+
so add gfx11 tests as well.
Commit: 0ae2043baa1d8ab2262840fc2258c078dfdb85d2
https://github.com/llvm/llvm-project/commit/0ae2043baa1d8ab2262840fc2258c078dfdb85d2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
Log Message:
-----------
AMDGPU: Disable machine verifier for gfx6 run line in test (#178008)
Hack around expensive checks failures for now.
Commit: 674b020196060f8f5fdce5961fe3b69d7009a11d
https://github.com/llvm/llvm-project/commit/674b020196060f8f5fdce5961fe3b69d7009a11d
Author: Nemanja Ivanovic <nemanja.i.llvm at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
A llvm/test/CodeGen/RISCV/machine-outliner-call-reg-live-across.mir
Log Message:
-----------
[RISC-V] Fix outliner candidate analysis (#177126)
When analyzing outliner candidates, there is no check that the tail-call
expansion register is live across the candidate call site. That can
result in a situation where the original function sets the volatile
register and uses it in the section that gets outlined. This of course
results in the use of the register receiving the incorrect value. Namely
the address of the outlined function since that is what the tail-call
sequence placed in the register.
Commit: 6039b470905726ce4365a26783561fe4975db4d8
https://github.com/llvm/llvm-project/commit/6039b470905726ce4365a26783561fe4975db4d8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/kernel-args.ll
Log Message:
-----------
Reapply "R600: Remove softPromoteHalfType (#177420)" (#178013)
This reverts commit 38b7176c92f31c274226ff418891545046dcf1f0.
Commit: a25c7d7ade5b80cad61562c9f78be4071201ac26
https://github.com/llvm/llvm-project/commit/a25c7d7ade5b80cad61562c9f78be4071201ac26
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
Log Message:
-----------
ValueTracking: Extract isKnownIntegral out of AMDGPU (#177912)
Also do some basic conversions to use SimplifyQuery and add tests to
show assume works in a new context.
Commit: c4585b44b65d11fe00df120e344cbeddb600a3bb
https://github.com/llvm/llvm-project/commit/c4585b44b65d11fe00df120e344cbeddb600a3bb
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M lldb/include/lldb/Host/ProcessLaunchInfo.h
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
Log Message:
-----------
[lldb][windows] do not attach to a PseudoConsole if it is not opened (#177934)
# Summary
This patch ensures lldb will not try to read from a PseudoConsole if it
has not been opened.
# Original issue
https://github.com/llvm/llvm-project/pull/168729 introduces support for
the Windows ConPTY in `lldb-dap`. This caused a regression in `lldb`
which was not caught by our tests:
https://github.com/llvm/llvm-project/issues/175652.
This patch fixes https://github.com/llvm/llvm-project/issues/175652.
`lldb_private::ProcessLauncherWindows::LaunchProcess` connects the
debuggee to a PseudoConsole only if:
```cpp
if (hPC != INVALID_HANDLE_VALUE && launch_info.GetNumFileActions() == 0 && launch_info.GetFlags().Test(lldb::eLaunchFlagLaunchInTTY))
```
lldb needs to check the same condition in
`lldb_private::PlatformWindows::DebugProcess` to ensure that it does not
read from a PseudoConsole which has not been opened.
# Side effect
This patch reverts what https://github.com/llvm/llvm-project/pull/168729
did by adding ConPTY support.
https://github.com/llvm/llvm-project/pull/175812 is the proper fix,
however it's causing tests failures which we can't reliably reproduce at
desk. Given https://github.com/llvm/llvm-project/pull/168729 breaks
`22.x` lldb, it's better to revert the change ahead of the release of
`22.x` rather than pushing for the proper fix.
Commit: 7fd2056efaf4c2093a36151a60e9197e253ebc79
https://github.com/llvm/llvm-project/commit/7fd2056efaf4c2093a36151a60e9197e253ebc79
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/ptrtoaddr-i32-index-width.ll
M llvm/test/Analysis/ScalarEvolution/ptrtoaddr.ll
Log Message:
-----------
[SCEV] Sink SCEVPtrToAddr to leaf SCEVUnknowns. (#174437)
Use CastSinkingRewriter for SCEVPtrToAddr expressions as well, sinking
them the same as SCEVPtrToInt expressions.
Depends on https://github.com/llvm/llvm-project/pull/174435
and https://github.com/llvm/llvm-project/pull/158032.
PR: https://github.com/llvm/llvm-project/pull/174437
Commit: 51f4c5e7bc5ffc954e0b84032700456c4f2c4a99
https://github.com/llvm/llvm-project/commit/51f4c5e7bc5ffc954e0b84032700456c4f2c4a99
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.h
Log Message:
-----------
[clang-tidy] Speed up `readability-container-contains` (#175121)
This is currently one of our most expensive checks according to
`--enable-check-profile`. I measured using [the usual
setup](https://github.com/llvm/llvm-project/pull/174357#issue-3780188615):
```sh
hyperfine \
--shell=none \
--prepare='cmake --build build/release --target clang-tidy' \
'./build/release/bin/clang-tidy --checks=-*,readability-container-contains all_headers.cpp -header-filter=.* -system-headers -- -std=c++23 -fno-delayed-template-parsing'
```
First, the status quo:
```txt
Time (mean ± σ): 5.243 s ± 0.158 s [User: 4.964 s, System: 0.248 s]
Range (min … max): 5.133 s … 5.612 s 10 runs
```
This PR improves that in two independent commits. The first commit
changes the default traversal mode from `TK_AsIs` to
`TK_IgnoreUnlessSpelledInSource`. Result:
```txt
Time (mean ± σ): 4.554 s ± 0.100 s [User: 4.273 s, System: 0.248 s]
Range (min … max): 4.442 s … 4.785 s 10 runs
```
The second commit merges all 12 of the check's `BinaryOperation`
matchers into one, because I found that each additional registered
`BinaryOperation` matcher has pretty extreme overhead. Result:
```txt
Time (mean ± σ): 3.480 s ± 0.121 s [User: 3.264 s, System: 0.186 s]
Range (min … max): 3.400 s … 3.798 s 10 runs
```
Commit: 680388a149cf91a8ff40a6328fdda3bcdeac0a65
https://github.com/llvm/llvm-project/commit/680388a149cf91a8ff40a6328fdda3bcdeac0a65
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
Log Message:
-----------
[lldb-dap] Fix assertion on the recv thread. (#177977)
threading.current_thread is a function
Commit: 4d460d6578c5f2558e478d4bcb82039c7153fc4f
https://github.com/llvm/llvm-project/commit/4d460d6578c5f2558e478d4bcb82039c7153fc4f
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M lldb/test/API/functionalities/process_save_core/TestProcessSaveCore.py
Log Message:
-----------
[lldb][windows] fix ProcessSaveCoreTestCase.test_save_core_to_nonwritable_dir (#178016)
This patch fixes the
`ProcessSaveCoreTestCase.test_save_core_to_nonwritable_dir` test on
Windows.
This test fails on Windows because `os.chmod` does not work on Windows.
It was used to make the directory unwritable.
[`icacls`](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/icacls)
can be used instead to block the directory.
This is a followup to https://github.com/llvm/llvm-project/pull/177496.
Commit: 89e38d65d83d0c6887290080ec8b268d46af8590
https://github.com/llvm/llvm-project/commit/89e38d65d83d0c6887290080ec8b268d46af8590
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU][SIInsertWaitcnts][NFC] Move static array definition (#178014)
Move the array out of the member function.
Commit: 528c99df3ac09c7dd8043e6ceacca691280b60d8
https://github.com/llvm/llvm-project/commit/528c99df3ac09c7dd8043e6ceacca691280b60d8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
ValueTracking: Use m_CheckedFp in isKnownIntegral (#178019)
Commit: ac454a2706540e2957396c0eaeea1888b8e03934
https://github.com/llvm/llvm-project/commit/ac454a2706540e2957396c0eaeea1888b8e03934
Author: Yi-Chi Lee <55395582+yichi170 at users.noreply.github.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Guard pooling shape inference on unranked inputs (#177999)
Fix #177946
poolingInferReturnTypes didn't properly guard the unknown rank,
triggering an assertion in ShapeAdaptor::getDimSize.
Commit: f9069a5f305df2acfe1a68984a36fcdfaf11c25d
https://github.com/llvm/llvm-project/commit/f9069a5f305df2acfe1a68984a36fcdfaf11c25d
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M libcxx/test/benchmarks/spec.gen.py
A libcxx/utils/parse-time-output
Log Message:
-----------
[libc++] Measure additional metrics when running SPEC benchmarks (#177669)
This patch adds support for measuring additional metrics like
max RSS, retired instructions and more when running the SPEC
benchmarks.
Fixes #177611
Commit: 8092c997bca6eccf4bb0c281ab9a2c28a870f987
https://github.com/llvm/llvm-project/commit/8092c997bca6eccf4bb0c281ab9a2c28a870f987
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
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/ordering/TestDataFormatterStdOrdering.py
Log Message:
-----------
[lldb] Add MSVC STL std::*_ordering summary providers (#175070)
Added summary providers for std::*_ordering from MSVC STL
Commit: c999e9a4fe8870f7943551d9ff8b575eb282d16d
https://github.com/llvm/llvm-project/commit/c999e9a4fe8870f7943551d9ff8b575eb282d16d
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
M llvm/lib/Target/SystemZ/SystemZCallingConv.td
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/lib/Target/SystemZ/SystemZRegisterInfo.td
M llvm/test/CodeGen/SystemZ/atomic-memops.ll
M llvm/test/CodeGen/SystemZ/canonicalize-vars.ll
A llvm/test/CodeGen/SystemZ/fp-half-vector-binops.ll
A llvm/test/CodeGen/SystemZ/fp-half-vector-conv.ll
A llvm/test/CodeGen/SystemZ/fp-half-vector-fcmp-select.ll
A llvm/test/CodeGen/SystemZ/fp-half-vector-mem.ll
A llvm/test/CodeGen/SystemZ/fp-half-vector-move.ll
R llvm/test/CodeGen/SystemZ/fp-half-vector.ll
A llvm/test/CodeGen/SystemZ/vec-abi-01.ll
A llvm/test/CodeGen/SystemZ/vec-abi-02.ll
A llvm/test/CodeGen/SystemZ/vec-abi-03.ll
A llvm/test/CodeGen/SystemZ/vec-abi-04.ll
A llvm/test/CodeGen/SystemZ/vec-abi-05.ll
M llvm/test/CodeGen/SystemZ/vec-cmp-09.ll
M llvm/test/CodeGen/SystemZ/vec-eswap-01.ll
M llvm/test/CodeGen/SystemZ/vec-eswap-02.ll
M llvm/test/CodeGen/SystemZ/vec-move-04.ll
M llvm/test/CodeGen/SystemZ/vec-move-05.ll
M llvm/test/CodeGen/SystemZ/vec-move-07.ll
M llvm/test/CodeGen/SystemZ/vec-move-10.ll
M llvm/test/CodeGen/SystemZ/vec-move-12.ll
M llvm/test/CodeGen/SystemZ/vec-perm-01.ll
M llvm/test/CodeGen/SystemZ/vec-perm-03.ll
Log Message:
-----------
[SystemZ] Support fp16 vector ABI and basic codegen. (#171066)
- Make v8f16 a legal type so that arguments can be passed in vector
registers. Handle fp16 vectors so that they have the same ABI as other
fp vectors.
- Set the preferred vector action for fp16 vectors to "split". This will
scalarize all operations, which is not always necessary (like with
memory operations), but it avoids the superfluous operations that result
after first widening and then scalarizing a narrow vector (like v4f16).
Fixes #168992
Commit: 487b69ae0a952c23802548d23ef95ff178f510f4
https://github.com/llvm/llvm-project/commit/487b69ae0a952c23802548d23ef95ff178f510f4
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/test/CodeGen/builtins-nvptx-ptx60.cu
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/nvptx_attributes.c
M clang/test/CodeGenCUDA/convergent.cu
M clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
M clang/test/Headers/gpuintrin.c
M flang/lib/Frontend/CompilerInstance.cpp
M flang/test/Lower/OpenMP/target_cpu_features.f90
M llvm/lib/Target/NVPTX/NVPTX.td
M llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/test/CodeGen/NVPTX/clusterlaunchcontrol-multicast.ll
M llvm/test/CodeGen/NVPTX/convert-sm100a.ll
M llvm/test/CodeGen/NVPTX/convert-sm103a.ll
M llvm/test/CodeGen/NVPTX/f32-ex2.ll
M llvm/test/CodeGen/NVPTX/fexp2.ll
M llvm/test/CodeGen/NVPTX/flog2.ll
M llvm/test/CodeGen/NVPTX/i128.ll
M llvm/test/CodeGen/NVPTX/nvvm-reflect-arch-O0.ll
A llvm/test/CodeGen/NVPTX/ptx-version-validation.ll
M llvm/test/CodeGen/NVPTX/rsqrt.ll
M llvm/test/CodeGen/NVPTX/sm-version.ll
M llvm/test/CodeGen/NVPTX/surf-tex.py
R llvm/test/CodeGen/NVPTX/wmma-ptx86-sm120a.py
M mlir/include/mlir/Dialect/GPU/Pipelines/Passes.h
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
Log Message:
-----------
Reland "[NVPTX] Validate user-specified PTX version against SM version" (#177459)
Original commit message:
> When users explicitly specify a PTX version via -mattr=+ptxNN that's
insufficient for their target SM, we now emit a fatal error. Previously,
we silently upgraded the PTX version to the minimum required for the
target SM.
>
>When no SM or PTX version is specified, we now use PTX 3.2 (the minimum
for the default SM 3.0) instead of PTX 6.0.
---
The following commits should fix the failures that arose when I
previously tried to land this commit:
- 9fc5fd0ad689eed94f65b1d6d10f9c5642935e68 should address the
`llvm-nvptx*-nvidia-*` build failures:
https://github.com/llvm/llvm-project/pull/174834#issuecomment-3742242651
- 600514a63760c6730e4cd970d2fcead9c5a897b3 should address the MLIR
failures
Commit: d139a31c0dcedea7bfd9741898dae8e87cd6a1f7
https://github.com/llvm/llvm-project/commit/d139a31c0dcedea7bfd9741898dae8e87cd6a1f7
Author: Florian Mayer <fmayer at google.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/test/CodeGen/AArch64/stack-tagging-split-lifetime.ll
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
Log Message:
-----------
[HWASan] [MTE] allow lifetimes with multiple starts (#175608)
Commit: dc5f905a87a9894ad473698cc00358c40883b278
https://github.com/llvm/llvm-project/commit/dc5f905a87a9894ad473698cc00358c40883b278
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
M flang/test/Transforms/licm.fir
Log Message:
-----------
[flang,openacc] Limit operations hoisting from acc.loop. (#177727)
This patch implements `OperationMoveOpInterface::canMoveOutOf()`
method for `acc.loop`, such that even Pure operations are not hoisted
by LICM if any of their operands are referenced in the data operands
of `acc.loop`. Related to #175108.
Commit: e516dd1bf265dadd703629110c648bb1f1d4edb4
https://github.com/llvm/llvm-project/commit/e516dd1bf265dadd703629110c648bb1f1d4edb4
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Log Message:
-----------
[ConstraintElim] Strip IsKnownNonNegative (NFC) (#177993)
The IsKnownNonNegative field is redundant, as the use of ValueTracking's
isKnownNonNegative subsumes this.
Proof: https://github.com/dtcxzyw/llvm-opt-benchmark/pull/3390
Commit: 693a018dcf08e8ec66419b65e71d016655ed76ce
https://github.com/llvm/llvm-project/commit/693a018dcf08e8ec66419b65e71d016655ed76ce
Author: Anikesh Parashar <106880513+an1k3sh at users.noreply.github.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/logf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/logf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/logf.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refractor logf to Header only (#176834)
Resolves #175368
Commit: df739ba008152707db83174ff78fe3e8ba5c0b60
https://github.com/llvm/llvm-project/commit/df739ba008152707db83174ff78fe3e8ba5c0b60
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/GPU/IR/GPUBase.td
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
M mlir/lib/Conversion/GPUToNVVM/GPUToNVVM.td
M mlir/lib/Conversion/GPUToROCDL/GPUToROCDL.td
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir
A mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl-barrier.mlir
M mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
M mlir/test/Dialect/GPU/canonicalize.mlir
M mlir/test/Dialect/GPU/ops.mlir
Log Message:
-----------
[mlir][gpu] Add address space modifier to gpu.barrier (#177425)
This is a takeover of PR ##110527
This commit adds an optional list of memory fences to gpu.barrier,
allowing users to specify which memory scopes they wish to fence
explicitly, while leaving the default semantics (which are equivalent to
calling for a global and local fence by analogy to CUDA's __syncthreads)
unchanged. The new expanded semantics are implemented for SPIR-V and for
the AMDGPU backend.
See also
https://discourse.llvm.org/t/rfc-add-memory-scope-to-gpu-barrier/81021/2?u=fmarno,
where the default behavior of a gpu.barrier was hashed out (though note
that the examples based on VMCNT are outdated for AMDGPU in that memory
fences can now be annotated with the correct set of address spaces).
This commit also deprecates amdgpu.lds_barrier for usecases that don't
involve targeting a gfx908.
Assisted-by: Cursor/Claude code (tests and extending amdgpu.lds_barrier
pattern while copying it over)
---------
Co-authored-by: Finlay Marno <finlay.marno at codeplay.com>
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Co-authored-by: Alan Li <alan.li at me.com>
Commit: 55979032401ebdb62085f677770fc6c5793b584e
https://github.com/llvm/llvm-project/commit/55979032401ebdb62085f677770fc6c5793b584e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M openmp/device/include/Synchronization.h
M openmp/device/src/Synchronization.cpp
Log Message:
-----------
[OpenMP] Cleanup synchronization primitives (#177710)
Summary:
These shouldn't be so different after we moved away from variants. It's
much simpler to define this in-line with a single preprocessor
definition. This should be equivalent less a few unnecessary function
definitions with the advantage that SPIR-V now has less work to do.
Commit: 0926743e2eac0854ea80e60908f914cd15882fbd
https://github.com/llvm/llvm-project/commit/0926743e2eac0854ea80e60908f914cd15882fbd
Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/test/Dialect/XeGPU/subgroup-distribute-unit.mlir
Log Message:
-----------
[MLIR][XeGPU] Add uniform values distribution pattern (#176737)
Commit: b285745dc1a4c0018c1b2cf24f689d63322459c4
https://github.com/llvm/llvm-project/commit/b285745dc1a4c0018c1b2cf24f689d63322459c4
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__config
A libcxx/include/__configuration/attributes.h
M libcxx/include/__configuration/language.h
M libcxx/include/module.modulemap.in
Log Message:
-----------
[libc++][NFC] Move attribute macros out of __config into a detail header (#176903)
This patch moves all macros which expand to attributes into a detail
header, including the relatively complex visibility and ABI-hiding
attributes. This also adds sections for attributes that are important to
not be ignored. At the bottom there is a catch-all section for
attributes which can safely be ignored and are only important for the
quality of implementation.
Commit: f430f0f2945ef4b473485dfdd3f3bae10ab951b2
https://github.com/llvm/llvm-project/commit/f430f0f2945ef4b473485dfdd3f3bae10ab951b2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/R600ISelLowering.h
M llvm/test/CodeGen/AMDGPU/kernel-args.ll
Log Message:
-----------
R600: Really remove softPromoteHalfType (#178040)
This was the core change in #177420, which somehow got lost
before submitting.
Commit: d23cb79ba497281de050ef609cb91b91058bf323
https://github.com/llvm/llvm-project/commit/d23cb79ba497281de050ef609cb91b91058bf323
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/test/CodeGen/builtins-nvptx-ptx60.cu
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/nvptx_attributes.c
M clang/test/CodeGenCUDA/convergent.cu
M clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
M clang/test/Headers/gpuintrin.c
M flang/lib/Frontend/CompilerInstance.cpp
M flang/test/Lower/OpenMP/target_cpu_features.f90
M llvm/lib/Target/NVPTX/NVPTX.td
M llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/test/CodeGen/NVPTX/clusterlaunchcontrol-multicast.ll
M llvm/test/CodeGen/NVPTX/convert-sm100a.ll
M llvm/test/CodeGen/NVPTX/convert-sm103a.ll
M llvm/test/CodeGen/NVPTX/f32-ex2.ll
M llvm/test/CodeGen/NVPTX/fexp2.ll
M llvm/test/CodeGen/NVPTX/flog2.ll
M llvm/test/CodeGen/NVPTX/i128.ll
M llvm/test/CodeGen/NVPTX/nvvm-reflect-arch-O0.ll
R llvm/test/CodeGen/NVPTX/ptx-version-validation.ll
M llvm/test/CodeGen/NVPTX/rsqrt.ll
M llvm/test/CodeGen/NVPTX/sm-version.ll
M llvm/test/CodeGen/NVPTX/surf-tex.py
A llvm/test/CodeGen/NVPTX/wmma-ptx86-sm120a.py
M mlir/include/mlir/Dialect/GPU/Pipelines/Passes.h
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
Log Message:
-----------
Revert "Reland "[NVPTX] Validate user-specified PTX version against SM version"" (#178046)
Reverts llvm/llvm-project#177459
`mlir-nvidia` and `mlir-nvidia-gcc7` Buildbots are failing.
The blamelist is small and likely because of my change. Preemptively
reverting.
Commit: 1251751c16e1119a303c3f766d6035369c2e2ef8
https://github.com/llvm/llvm-project/commit/1251751c16e1119a303c3f766d6035369c2e2ef8
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Consistently check ComputeReductionResult in prepareForEpi (NFCI)
Always use the information from ComputeReductionResult to identify
recurrence kinds when connecting main and epilogue plans. Connecting the
live-outs involves the reduction result computations, so it is natural
and more accurate to check the reduction result for the correct
structure.
Suggested cleanup from https://github.com/llvm/llvm-project/pull/170223
Commit: 5786ca7bd0350df1e9ddb3bb58999a0f11723222
https://github.com/llvm/llvm-project/commit/5786ca7bd0350df1e9ddb3bb58999a0f11723222
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/PhaseOrdering/X86/pr48223.ll
Log Message:
-----------
[SLP]Model disjoint or reduction of shl(zext, (0, stride, 2* stride)) as bitcast
Patch models the cost and lowering of disjoint or reduction of shl(zext,
(0, stride, 2* stride)) as bitcast via modeling as combined ops.
Reviewers: RKSimon, hiraditya
Pull Request: https://github.com/llvm/llvm-project/pull/177041
Commit: 2e5eb5d2122b159312cec44b07fb184b6b857239
https://github.com/llvm/llvm-project/commit/2e5eb5d2122b159312cec44b07fb184b6b857239
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M libcxx/include/string
Log Message:
-----------
[libc++][NFC] Forward string observer functions when appropriate (#171120)
Instead of unwrapping the arguments to string's observer functions
everywhere, simply unwrap the specific argument and then forward all of
them to a single function which does the final unwrapping of `*this`.
This simplifies the code a bit.
Commit: 7b917b9a08e2dac495fd9e83dc8cf152c8df6fde
https://github.com/llvm/llvm-project/commit/7b917b9a08e2dac495fd9e83dc8cf152c8df6fde
Author: Ian Anderson <iana at apple.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
A clang/test/Driver/darwin-depfile-sdksettings-maccatalyst.m
M clang/unittests/Basic/DarwinSDKInfoTest.cpp
Log Message:
-----------
macCatalyst: add SDKSettings.json as a dependency file if its potentially needed by the compiler (#177748)
Co-authored-by: Alex Lorenz <arphaman at gmail.com>
Commit: c3564b09f7f6c72af4cfa105091f3e7097d3b228
https://github.com/llvm/llvm-project/commit/c3564b09f7f6c72af4cfa105091f3e7097d3b228
Author: Peng Xie <helianthus547 at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
R libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_in_geometric_progression.pass.cpp
A libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/allocate_mem.pass.cpp
Log Message:
-----------
[libc++] Update the status for lwg-3143 (#116971)
Current implementation uses the larger one either requested bytes or
growth factor multiply previous buffer size.
This patch updates the status of LWG 3143 and adds a libc++-specific
test case to test geometric progression.
Close #104258
Commit: 295d5484c09943d2af2c45c764157dc045d4a0d9
https://github.com/llvm/llvm-project/commit/295d5484c09943d2af2c45c764157dc045d4a0d9
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa/gfx90a/libclc.bc
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa/libclc.bc
M clang/test/Driver/opencl-libclc.cl
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
Reapply "[libclc] Rework libclc naming convention to use the triple (#177465)" (#178033)
This reverts commit 2c9efd0177910753008767a8c50e62f676721443.
Commit: cd79290926c92f6467c1b5efcf9f6c6c4d76dd4f
https://github.com/llvm/llvm-project/commit/cd79290926c92f6467c1b5efcf9f6c6c4d76dd4f
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCBase.td
A mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOpsTypes.td
Log Message:
-----------
[nfc][mlir][acc] Create new file to hold intermediate representation ops (#178048)
As the OpenACC dialect is decomposed and further lowered, we need a
dedicated home for operations that do not represent direct mappings of
OpenACC language constructs. This patch introduces OpenACCCGOps.td,
included from OpenACCOps.td, to hold such intermediate operations.
The `acc.kernel_environment` and `acc.firstprivate_map` operations are
moved to this new file.
Commit: 16c8a02f2d2e94aeccd8e2107382bf1f246644d5
https://github.com/llvm/llvm-project/commit/16c8a02f2d2e94aeccd8e2107382bf1f246644d5
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-select.ll
Log Message:
-----------
[InstCombine] Propagate profile metadata when combining selects (#177883)
When we simplify a pair of selects, we want to propagate profile
information when the condition remains the same and drop it when it does
not. Before this patch, we were keeping incorrect profile data in
addition to not annotating any new select instructions that had the same
value as a previous one.
Noticed by looking at 80d9df6b054cebfbe97d709195be4e61a7acc694.
Commit: 537c648fc07390d92e0aa3a71a36c6124c7d1375
https://github.com/llvm/llvm-project/commit/537c648fc07390d92e0aa3a71a36c6124c7d1375
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/select-index.ll
M llvm/test/Transforms/LoopVectorize/select-smin-first-index.ll
Log Message:
-----------
[LV] Precommit extra argmin/argmax tests for #170223.
Precommit extra tests for
https://github.com/llvm/llvm-project/pull/170223
Commit: 09e59745fc7bc011e908b4e0298327de96ebffaa
https://github.com/llvm/llvm-project/commit/09e59745fc7bc011e908b4e0298327de96ebffaa
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
R clang/test/CIR/CodeGen/X86/prefetchw-builtin.c
A clang/test/CIR/CodeGenBuiltins/X86/prefetchw-builtins.c
Log Message:
-----------
[CIR][NFC] Move prefetchw builtin tests to the CodeGenBuiltins directory (#178051)
This moves a test that was added in the wrong subdirectory in the test
tree.
Commit: 5caf27eff3c971aabcd24093283ae996375d3828
https://github.com/llvm/llvm-project/commit/5caf27eff3c971aabcd24093283ae996375d3828
Author: Nico Weber <thakis at chromium.org>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/sinf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/sinf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/sinf.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor sinf implementation to header-only in src/__support/math folder. (#177963)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 078ef9110c26fa95695ea434c615cd32051ad5c6
https://github.com/llvm/llvm-project/commit/078ef9110c26fa95695ea434c615cd32051ad5c6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrFormatsV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Rename RVInstV->RVInstVUnary. NFC (#177900)
I'd like RVInstV to be only a prefix name for vector related classes.
Commit: 4555d5382bdd34ee59d0ad0811390b66f40780c1
https://github.com/llvm/llvm-project/commit/4555d5382bdd34ee59d0ad0811390b66f40780c1
Author: Sean Perry <perry at ca.ibm.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Sema/SemaAttr.cpp
Log Message:
-----------
[SystemZ][asan] Improve error handling for pragma export as a statement (#177979)
The changes in https://github.com/llvm/llvm-project/pull/141671 had a
failure in some asan bots. The code for parsing pragma export is the
same as for the MS pragmas. I did noticed that the MS pragma handling
code says the tokens are reinjected when calling EnterTokenStream(). Do
the same for pragma export.
The tokens on the MS pragma and pragma export are handled by:
1. PragmaMSPragma::HandlePragma
- collect the tokens into an array
- an annotated token is created with the pragma token & array of tokens
- calls EnterToken() adds the annotated token
2. Parser::HandlePragmaMSPragma()
- takes the array of tokens off the annotated token can adds them to the
stream using EnterTokenStream()
- this call says the tokens are reinjected.
Commit: a7d48bd305ef3aa4bd543da6f4cd8682a3d35c32
https://github.com/llvm/llvm-project/commit/a7d48bd305ef3aa4bd543da6f4cd8682a3d35c32
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
Log Message:
-----------
DAG: Remove TypePromoteFloat (#177427)
Remove the now unimplemented target hook and associated DAG machinery
for the old half legalization path.
Really fixes #97975
Commit: 648cb364f84b78740b98b11466207bef193473e9
https://github.com/llvm/llvm-project/commit/648cb364f84b78740b98b11466207bef193473e9
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Fix Bazel build for cd79290 (#178065)
Co-authored-by: Pranav Kant <prka at google.com>
Commit: 460c9b2db144e4ef736a31f29c0b366e565f2574
https://github.com/llvm/llvm-project/commit/460c9b2db144e4ef736a31f29c0b366e565f2574
Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M llvm/include/llvm/BinaryFormat/MachO.h
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
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/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMachObjectWriter.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/MC/RISCV/Relocations/mc-dump.s
M llvm/test/MC/RISCV/macho.s
A llvm/test/MC/RISCV/riscv-relocs-macho-data.s
A llvm/test/MC/RISCV/riscv-relocs-macho.s
M llvm/tools/llvm-objdump/MachODump.cpp
Log Message:
-----------
[RISC-V][Mach-O] Add assembler support for Mach-O relocations. (#177446)
This patch adds comprehensive assembler (MC layer) support for the
Mach-O object file format on RISC-V targets, enabling assembly and
disassembly of RISC-V code targeting Apple platforms.
Key changes:
- Define RISC-V-specific Mach-O relocation types in BinaryFormat/MachO.h
- Implement RISCVMachObjectWriter with full relocation handling for:
- PCREL_HI/LO pairs for PC-relative addressing
- GOT relocations for external symbols
- Branch relocations (CALL, unconditional/conditional branches)
- Data section relocations
Test files include llvm-otool dumps to verify the generated relocations.
This code is based on code originally written by Tim Northover.
Commit: 78f9d78b13423ecfc354579ef00599f68e0f5b88
https://github.com/llvm/llvm-project/commit/78f9d78b13423ecfc354579ef00599f68e0f5b88
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M lldb/test/API/python_api/file_handle/TestFileHandle.py
M lldb/test/Shell/ScriptInterpreter/Python/io.test
Log Message:
-----------
[lldb] Fix Python stderr redirection in test (#177970)
Python's internal stderr may differ from sys.stderr.
When Python writes errors, it uses its internal stderr rather than the
overwritten sys.stderr.
This may not be the same file/handle
Fix the test to explicitly write to the specified stderr.
Commit: dfd284fb14eda47d121a144b459e1fb1a039750e
https://github.com/llvm/llvm-project/commit/dfd284fb14eda47d121a144b459e1fb1a039750e
Author: Argyrios Kyrtzidis <kyrtzidis at apple.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/unittests/CAS/CASTestConfig.cpp
Log Message:
-----------
[llvm/unittests/CAS] Fix compilation for builds where `LLVM_ENABLE_ONDISK_CAS=NO` (#178057)
Commit: 02b4ee3bc514e5ab11bfd833a663abda818c5979
https://github.com/llvm/llvm-project/commit/02b4ee3bc514e5ab11bfd833a663abda818c5979
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
Log Message:
-----------
[NFC][ExpandVariadics] Pass VarargsTy instead of re-querying from alloca (#177434)
The struct type is already available at the call site, so pass it
through to initializeStructAlloca() instead of retrieving it via
getAllocatedType(). Reduces reliance on `getAllocatedType`.
Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
Commit: 5188d2e7454f101109fa0c6c80322148927f5f35
https://github.com/llvm/llvm-project/commit/5188d2e7454f101109fa0c6c80322148927f5f35
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
Log Message:
-----------
[NFCI][MemoryTaggingSupport] Replace getAllocatedType with getAllocationSize (#177436)
Replace the `isSized()` and `isScalableTy()` type predicate checks with
a more direct `getAllocationSize()` query. The `isSized` check seems
unnecessary since the verifier already rejects unsized alloca.
For context, I'm working on deleting (or at least minimizing uses of)
the getAllocatedType function, since many optimizations need to destroy
that info and just produce byte sized allocas. It is for the same
reason that opaque pointers were introduced–memory doesn't inherently
have a provenience type, only uses (load and stores) do.
Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
Commit: dc55e20483ac1e5d28bec002bcd9f185da24e307
https://github.com/llvm/llvm-project/commit/dc55e20483ac1e5d28bec002bcd9f185da24e307
Author: Jakob Koschel <jakobkoschel at google.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M libc/hdr/CMakeLists.txt
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/Elf32_Xword.h
M libc/include/CMakeLists.txt
M libc/include/elf.yaml
M libc/include/llvm-libc-macros/link-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/Elf32_Xword.h
Log Message:
-----------
[libc] Add Elf32_Xword type (#177915)
In a recent PR (https://github.com/llvm/llvm-project/pull/174772), we
introduced GnuPropertySection using ElfW(Xword). Since we are currently
missing Elf32_Xword, this is failing on 32bit architectures.
This commit adds the missing Elf32_Xword type that should always hold
64bit even on 32bit architectures.
Commit: c71f944d81b69aa749597033c7f60f6dcc98ac39
https://github.com/llvm/llvm-project/commit/c71f944d81b69aa749597033c7f60f6dcc98ac39
Author: Ian Anderson <iana at apple.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
R clang/test/Driver/darwin-depfile-sdksettings-maccatalyst.m
M clang/unittests/Basic/DarwinSDKInfoTest.cpp
Log Message:
-----------
Revert "macCatalyst: add SDKSettings.json as a dependency file if its potentially needed by the compiler (#177748)" (#178075)
This reverts commit 7b917b9a08e2dac495fd9e83dc8cf152c8df6fde.
Commit: 930cac19c187affd420581b43f6c7d1b463e42f4
https://github.com/llvm/llvm-project/commit/930cac19c187affd420581b43f6c7d1b463e42f4
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
A flang/test/Analysis/AliasAnalysis/modref-alloc-free-effects.fir
M mlir/include/mlir/Analysis/AliasAnalysis.h
Log Message:
-----------
[flang] Fixed MemAlloc/Free effects handling in FIR ModRef. (#177728)
We should ignore MemAlloc/Free effects as they are not
modifying/reading ones. This is what LocalAliasAnalysis
does. This patch also removes the operation-wide MemFree
effect from `fir.freemem`.
Commit: 7e66d1511dc1068c52347f048d43a15e5bae4a82
https://github.com/llvm/llvm-project/commit/7e66d1511dc1068c52347f048d43a15e5bae4a82
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
A flang/test/Transforms/CUF/cuf-kernel-licm.fir
Log Message:
-----------
[flang][CUF] Limit LICM for cuf.kernel. (#178073)
This patch prevents hoisting of operations with reference operands.
Such a hoisting may break the assumptions that later CUF passes
rely on.
Commit: 88257505b04b234847c08f64d3cfc605060e06ba
https://github.com/llvm/llvm-project/commit/88257505b04b234847c08f64d3cfc605060e06ba
Author: Alan Zhao <ayzhao at google.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-select.ll
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[InstCombine][profcheck] Fix missing branch data in InstCombineCompares.cpp (#178070)
These are trivial fixes where we create a new select instruction with
the same conditional as an existing select.
Tracking issue: #147390
Commit: 144a7fc08fdaea69876093c2ac886f5b3ad4c413
https://github.com/llvm/llvm-project/commit/144a7fc08fdaea69876093c2ac886f5b3ad4c413
Author: Nico Weber <thakis at chromium.org>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M libc/src/__support/math/atan2f_float.h
M libc/src/__support/math/atanf_float.h
M libc/src/__support/math/cbrt.h
M libc/src/__support/math/cbrtf.h
M libc/src/__support/math/cos.h
M libc/src/__support/math/cosf.h
M libc/src/__support/math/range_reduction.h
M libc/src/__support/math/range_reduction_fma.h
M libc/src/__support/math/sin.h
M libc/src/__support/math/sincosf_utils.h
M libc/src/__support/math/tan.h
M libc/src/__support/math/tanf.h
Log Message:
-----------
[libm] Update include guards in libc/src/__support/math (#178055)
...due to the feedback on #177963.
Patch generated by running
rg -l '\bLIBC_SRC' libc/src/__support/math | \
xargs sed -i '' -e \
's/LIBC_SRC___SUPPORT_MATH_\([A-Z0-9_]*\)/LLVM_LIBC_SRC___SUPPORT_MATH_\1/'
Commit: b26ad50604629f1faf2cd2541a308e1643bff8fc
https://github.com/llvm/llvm-project/commit/b26ad50604629f1faf2cd2541a308e1643bff8fc
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M lldb/include/lldb/Host/JSONTransport.h
M lldb/tools/lldb-dap/DAP.cpp
Log Message:
-----------
[lldb-dap][NFC] Use a lambda instead of std::bind. (#178023)
I find it easier to read what is happening, especially for member
functions.
Commit: 0c64017c9924573b81f0a74e6c7c6e3f48f41047
https://github.com/llvm/llvm-project/commit/0c64017c9924573b81f0a74e6c7c6e3f48f41047
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/utils/TableGen/CodeEmitterGen.cpp
Log Message:
-----------
[NFC][TableGen] Adopt IfDefEmitter in CodeEmitterGen (#178050)
Commit: 8db9774118ccdfc583ed230cbdde1c56567d0643
https://github.com/llvm/llvm-project/commit/8db9774118ccdfc583ed230cbdde1c56567d0643
Author: fineg74 <61437305+fineg74 at users.noreply.github.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M openmp/CMakeLists.txt
M openmp/device/CMakeLists.txt
M openmp/device/include/DeviceTypes.h
M openmp/device/include/State.h
M openmp/device/include/Synchronization.h
M openmp/device/src/Allocator.cpp
M openmp/device/src/Parallelism.cpp
M openmp/device/src/Synchronization.cpp
Log Message:
-----------
[OFFLOAD] Build DeviceRTL with SPIRV backend (#174675)
This PR adds configuration to build DeviceRTL with SPIRV backend. It is
primarily used for level-zero plugin for Intel GPUs
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 87b51a2fb00b24285eb68bf974ab44bab3a7f056
https://github.com/llvm/llvm-project/commit/87b51a2fb00b24285eb68bf974ab44bab3a7f056
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/utils/TableGen/CIRLoweringEmitter.cpp
Log Message:
-----------
[CIR] Add custom constructor declaration to CIR lowering TableGen (#176664)
While working on the lowering of `BlockAddressOp`, I ran into a
limitation of the current `CIRLoweringEmitter` infrastructure: some CIR
ops require shared mutable state across multiple lowering patterns, but
the generated patterns always use a fixed default constructor and cannot
accept additional context.
**Examples:**
* `BlockAddressOp` needs to coordinate with the lowering of its
referenced `LabelOp`, requiring shared bookkeeping (e.g.
`LLVMBlockAddressInfo`) to track lowered labels and resolve unresolved
block addresses once the corresponding `BlockTagOp` is available.
* This is not unique to block addresses: for example,
`CIRToLLVMAllocaOpLowering` will also need access to shared state such
as `stringGlobalsMap`, `argStringGlobalsMap`, and `argsVarMap`.
**Possible solution:**
* **Disable generated lowering**: mark the op with `hasLLVMLowering =
false` and manually define and register the lowering patterns. This
works, but feels misleading since the operation does have an LLVM
lowering it just cannot be generated automatically. This ambiguity also
suggests that `hasLLVMLowering` might be better named `genLLVMLowering`.
* **Custom constructors (this PR)**: extend the TableGen emitter to
allow defining a single custom constructor for the generated LLVM
lowering pattern, similar to MLIR’s `OpBuilder`. When a custom
constructor is provided, the default one is not generated and the
pattern must be manually registered in the RewritePatternSet.
Commit: 2e99240dce51ac97bbd7f58c51202a72e3697128
https://github.com/llvm/llvm-project/commit/2e99240dce51ac97bbd7f58c51202a72e3697128
Author: Anikesh Parashar <106880513+an1k3sh at users.noreply.github.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/sinhf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/sinhf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/sinhf.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refractor sinhf to Header only (#177336)
Part of #147386
Resolves #177644
Commit: 54c5dcbf7d5945ea6c3e6efc638162ec229bcbd9
https://github.com/llvm/llvm-project/commit/54c5dcbf7d5945ea6c3e6efc638162ec229bcbd9
Author: Ramshankar <87872158+Ramshankar07 at users.noreply.github.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/ilogbf128.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/ilogbf128.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/ilogbf128.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor ilogbf128 to Header Only (#175396)
Refactors the ilogbf128 implementation to be header-only and available via shared math.
fixes: #175345
Commit: 667703ed1b94e13de6cedb537670f2bc1b2c08c3
https://github.com/llvm/llvm-project/commit/667703ed1b94e13de6cedb537670f2bc1b2c08c3
Author: Anikesh Parashar <106880513+an1k3sh at users.noreply.github.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/sinhf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/sinhf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/sinhf16.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refractor sinhf16 to Header only (#177337)
Part of #147386
Resolves #177645
Commit: 61f272d5cc75ccecfdcd83b3e3002b30ccce9918
https://github.com/llvm/llvm-project/commit/61f272d5cc75ccecfdcd83b3e3002b30ccce9918
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUBarrierLatency.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
A llvm/test/CodeGen/AMDGPU/schedule-barrier-latency-gfx9.mir
Log Message:
-----------
[AMDGPU] Pre-GFX10 does not need added latency for workgroup fences (#177157)
Wait counts will not typically be introduced for workgroup scope fences
in pre-GFX10 ASICs.
Hence avoid adding scheduling latency for these.
Commit: 542e9b94ab2db4758b40d199e496b3b91a2fb356
https://github.com/llvm/llvm-project/commit/542e9b94ab2db4758b40d199e496b3b91a2fb356
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.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/test/CIR/CodeGen/pointer-to-member-func-cast.cpp
M clang/test/CIR/IR/invalid-struct.cir
Log Message:
-----------
[CIR] Upstream support for pointer-to-method casts (#178004)
This adds support in CIR for handling based-to-derived and
derived-to-base casts of pointer-to-member values that point to member
functions.
Co-authored-by: Sirui Mu <msrlancern at gmail.com>
Commit: eea64cefa2092bf6d0341ed1583d75b4ec61ee38
https://github.com/llvm/llvm-project/commit/eea64cefa2092bf6d0341ed1583d75b4ec61ee38
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func.cpp
Log Message:
-----------
[CIR] Add support for member pointer constants (#178074)
This adds support for initializing global variables of type
pointer-to-member that pointer to member functions.
Commit: acff9fa4dba2e39da73227d835dfd12be434645e
https://github.com/llvm/llvm-project/commit/acff9fa4dba2e39da73227d835dfd12be434645e
Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/test/CodeGen/NVPTX/cmpxchg-sm60.ll
M llvm/test/CodeGen/NVPTX/cmpxchg-sm70.ll
M llvm/test/CodeGen/NVPTX/cmpxchg-sm90.ll
M llvm/test/CodeGen/NVPTX/cmpxchg.py
Log Message:
-----------
Revert "[NVPTX] Weak cmpxchg unittests for NVPTX" (#178090)
Reverts llvm/llvm-project#176078
These changes break the NVPTX builders: llvm-nvptx[64]-nvidia-*
Commit: e2ee42f908d035fb8349a7d43211d71363fb0e96
https://github.com/llvm/llvm-project/commit/e2ee42f908d035fb8349a7d43211d71363fb0e96
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M libc/src/__support/math/asin.h
M libc/src/math/generic/asin.cpp
Log Message:
-----------
[libc][math] Fix parallel implementation for asin (#178100)
Commit: f4b77e67508ee4e3178103d7ffaf302b76d72b42
https://github.com/llvm/llvm-project/commit/f4b77e67508ee4e3178103d7ffaf302b76d72b42
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
Log Message:
-----------
[InstCombine] Replace getAllocatedType() with getAllocationSize() (#177435)
Replace uses of getAllocatedType() with the more semantic
getAllocationSize() method in the alloca dereferenceability check
and zero-size alloca merging logic.
This simplifies the code by:
- Eliminating manual isArrayAllocation() checks (handled by
getAllocationSize)
- Eliminating superfluous isSized() checks (the verifier rejects them
already)
- Using TypeSize::isScalable() for scalable vector handling (before
casting to uint64_t)
- Using TypeSize::isZero() for zero-size checks
Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
Commit: 04f3b568c51b0f3ca0398f95e3b99dbbe102823e
https://github.com/llvm/llvm-project/commit/04f3b568c51b0f3ca0398f95e3b99dbbe102823e
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
Log Message:
-----------
[FunctionSpecialization] Remove getAllocatedType() type check (#177439)
Change getConstantStackValue() to check the type of the promoted
constant rather than the alloca's declared type. This is more correct
semantically since we're interested in the actual stored value's type,
not what the alloca was declared as.
The change also handles type punning cases more conservatively - if an
alloca is declared as i64 but stores a float, the old code would pass
the integer type check but potentially return a non-integer constant.
The new code correctly rejects such cases.
Also remove a bit of dead code, since the argument is a pointer type, it
cannot also have been a constant integer (and this code would be wrong
if it was reachable). Originally introduced as dead code in
https://reviews.llvm.org/D106426
30fbb06979077740961ebc46853e28ab1f999f9d.
Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
Commit: cbb2aa170487927c6ed6ef6e1c1ccd45e0cc2307
https://github.com/llvm/llvm-project/commit/cbb2aa170487927c6ed6ef6e1c1ccd45e0cc2307
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Log Message:
-----------
[NFCI] Replace getAllocatedType with tracked value type in RewriteStatepointsForGC (#177440)
The allocas in RewriteStatepointsForGC are created with
LiveValue->getType(), so we can use Def->getType() (which equals the
alloca's type) instead of querying getAllocatedType().
Changes:
- Load instructions now use Def->getType() directly
- The ToClobber vector now stores (Type*, AllocaInst*) pairs to track
the original value's type for creating null constants
Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
Commit: 90bece366d5d602f674e62aa5679f51761520494
https://github.com/llvm/llvm-project/commit/90bece366d5d602f674e62aa5679f51761520494
Author: Lang Hames <lhames at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
A orc-rt/docs/ErrorHandling.md
Log Message:
-----------
[orc-rt] Add Error-handling documentation. (#177547)
Commit: 865b2e9e00eb5f5fa8dcaaf1d7e7543dc6199b54
https://github.com/llvm/llvm-project/commit/865b2e9e00eb5f5fa8dcaaf1d7e7543dc6199b54
Author: Vedant Neve <vedantneve13 at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/llogb.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/llogb.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/llogb.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor llogb to Header Only (#175524)
Fixes #175360
Commit: aba18cf1cc65d5333940c4299251d986f66dee9a
https://github.com/llvm/llvm-project/commit/aba18cf1cc65d5333940c4299251d986f66dee9a
Author: Ian Anderson <iana at apple.com>
Date: 2026-01-26 (Mon, 26 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/test/ClangScanDeps/P1689.cppm
M clang/test/ClangScanDeps/header_stat_before_open.m
M clang/test/ClangScanDeps/headerwithdirname.cpp
M clang/test/ClangScanDeps/headerwithdirnamefollowedbyinclude.cpp
M clang/test/ClangScanDeps/macro-expansions.cpp
M clang/test/ClangScanDeps/modules.cpp
M clang/test/ClangScanDeps/regular_cdb.cpp
M clang/test/ClangScanDeps/relative_directory.cpp
M clang/test/ClangScanDeps/subframework_header_dir_symlink.m
M clang/test/ClangScanDeps/target-filename.cpp
M clang/test/ClangScanDeps/vfsoverlay.cpp
A clang/test/Driver/darwin-depfile-sdksettings-maccatalyst.m
M clang/test/Frontend/dependency-gen-phony.c
M clang/unittests/Basic/DarwinSDKInfoTest.cpp
Log Message:
-----------
macCatalyst: add SDKSettings.json as a dependency file if its potentially needed by the compiler (#178077)
Co-authored-by: Alex Lorenz <arphaman at gmail.com>
Commit: a460c8e8dafc28fef240fce44dcbed043fe56a71
https://github.com/llvm/llvm-project/commit/a460c8e8dafc28fef240fce44dcbed043fe56a71
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
Log Message:
-----------
[NFCI][SROA] reduce calls to getAllocatedType() (#177437)
Replace repeated calls with getAllocationSize() and cached NewAllocaTy.
In AllocaSliceRewriter, the allocated type is already stored in the
NewAllocaTy member variable and now passed directly there. This change
replaces the remaining direct calls to `NewAI.getAllocatedType()` with
the cached NewAllocaTy to simplify and DRY the code.
Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
Commit: aca2c05439eab847fc86599f49046e02be2a08bd
https://github.com/llvm/llvm-project/commit/aca2c05439eab847fc86599f49046e02be2a08bd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrFormatsV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Rename vd->rd in the MC layer for vfirst.m/vcpop.m/vmv.x.s/vfmv.f.s. (#178081)
Add a new class for instructions that write GPR/FPR. Sink
RVVConstraint=NoConstraint into this class.
Commit: 05e2ee9664be391bf9332c2d90e4de4f279526ed
https://github.com/llvm/llvm-project/commit/05e2ee9664be391bf9332c2d90e4de4f279526ed
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/test/CodeGen/RISCV/rvb-intrinsics/zbc.c
M clang/test/CodeGen/RISCV/rvb-intrinsics/zbkc.c
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rv32zbc-zbkc-intrinsic.ll
M llvm/test/CodeGen/RISCV/rv64zbc-zbkc-intrinsic.ll
Log Message:
-----------
[RISCV] Replace riscv.clmul intrinsic with llvm.clmul (#178092)
I did not replace riscv.clmulh/clmulr since those require a multiple
instruction pattern match. I wanted to ensure that -O0 will select the
correct instructions without relying on combines.
Commit: 3aaeace4e2ce39d3a15acc4fe27222a2702c1f59
https://github.com/llvm/llvm-project/commit/3aaeace4e2ce39d3a15acc4fe27222a2702c1f59
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/num-teams-dims.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[OpenMP][MLIR] Add num_teams clause with dims modifier support (#169883)
PR adds support of openmp 6.1 feature `num_teams` with dims modifier.
llvmIR translation for num_teams with dims modifier is marked as NYI.
Commit: f5de33dbf59a30246a6113e507e0cb41c21b9e45
https://github.com/llvm/llvm-project/commit/f5de33dbf59a30246a6113e507e0cb41c21b9e45
Author: David Green <david.green at arm.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/ShrinkWrap.cpp
A llvm/test/CodeGen/AArch64/shrink-wrap-unreachable.ll
Log Message:
-----------
[ShrinkWrap] Ensure we do not crash on unreachable blocks. (#178009)
Since we started optimizating always-true branches in the AArch64
backend (like cbz wzr), shrink wrap has been exposed to some block
structures that it does not handle correctly, usually with unreachable
blocks. This prevents the call to FindIDom/findNearestCommonDominator
from failing when looking at the predecessors of a loop if one is
unreachable.
Fixes: #177866
Commit: 170ad2335e5c4a3bf53fdd5bfeeb9fe8350398b4
https://github.com/llvm/llvm-project/commit/170ad2335e5c4a3bf53fdd5bfeeb9fe8350398b4
Author: woruyu <1214539920 at qq.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
A llvm/test/TableGen/NotFirstMnemonic.td
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
[TableGen][AsmMatcher] Fix optional operand mask indexing when HasMnemonicFirst is false (#176868)
### Summary
Fix optional operand mask indexing in the generated asm matcher when
HasMnemonicFirst is false.
Commit: 2a335ec1453c082572fd73c674e8407f13a54ca0
https://github.com/llvm/llvm-project/commit/2a335ec1453c082572fd73c674e8407f13a54ca0
Author: Lang Hames <lhames at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M orc-rt/unittests/ErrorTest.cpp
Log Message:
-----------
[orc-rt] Add unit test for "re-throwing" errors in handleErrors. (#178112)
handleErrors supports several different handler signatures, including
handlers that take a unique_ptr<T> (where T is a descendant of
ErrorInfoBase) and return an Error: (std::unique_ptr<T>) -> Error. In
this case the handler should be able to create an Error value to wrap
the original ErrorInfoBase object without.
This functionality was not previously tested, and will be used in
upcoming commits. This commit adds the missing test coverage.
Commit: 60250aaa253b13450630878062c63d9915c1f18a
https://github.com/llvm/llvm-project/commit/60250aaa253b13450630878062c63d9915c1f18a
Author: Serosh <janmejayapanda400 at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/functions.cpp
Log Message:
-----------
[clang][bytecode] Fix crash in void functions returning non-void expr… (#176550)
The bytecode compiler was incorrectly emitting an
RVOPtr
opcode for void functions if the return expression had a non-void type
(e.g. from a conditional operator). This triggered an assertion in the
interpreter because void functions lack RVO metadata.
This patch updates
visitReturnStmt
to check the function’s return type and use
discard()
for the expression in void contexts, preventing erroneous RVO pathing.
Fixes #176536
Commit: ddecdcc85cb4c36b6da8d48817c865a6c733904a
https://github.com/llvm/llvm-project/commit/ddecdcc85cb4c36b6da8d48817c865a6c733904a
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/lib/CodeGen/MIR2Vec.cpp
M llvm/test/CodeGen/MIR2Vec/Inputs/reference_x86_vocab_print.txt
M llvm/test/CodeGen/MIR2Vec/Inputs/reference_x86_vocab_wo=0.5_print.txt
M llvm/unittests/Analysis/IR2VecTest.cpp
Log Message:
-----------
[IR2Vec] Change MIR2Vec vocab printer to not print non-zero entities (#178117)
This PR relaxes MIR2Vec tests, so that `reference_*_print.txt` files
need not be updated every time the list of MIR opcodes changes
Commit: a95a9465bfd261f7b7a464d79336faa74af780c0
https://github.com/llvm/llvm-project/commit/a95a9465bfd261f7b7a464d79336faa74af780c0
Author: Lang Hames <lhames at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M orc-rt/include/CMakeLists.txt
M orc-rt/include/orc-rt-c/CoreTypes.h
A orc-rt/include/orc-rt-c/Error.h
A orc-rt/include/orc-rt-c/Visibility.h
M orc-rt/include/orc-rt/Error.h
M orc-rt/lib/executor/Error.cpp
M orc-rt/unittests/CMakeLists.txt
A orc-rt/unittests/ErrorCAPITest.cpp
Log Message:
-----------
[orc-rt] Add C API for Errors, plus ORC_RT_C_ABI macro. (#178123)
This commit introduces a C interface for the ORC runtime's Error
handling system, enabling C clients and language bindings to work with
ORC errors.
The ORC_RT_C_ABI macro applies __attribute__((visibility("default")))
(on platforms that support it), ensuring C API symbols are exported when
building the ORC runtime as a shared library. In the future I expect
that this will be extended to support other platforms (e.g. dllexport on
Windows).
Commit: f4ceddd307cae62fd6d3fc5a5d4c7867f63065da
https://github.com/llvm/llvm-project/commit/f4ceddd307cae62fd6d3fc5a5d4c7867f63065da
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/CodeGen/RISCV/selectopt.ll
Log Message:
-----------
[RISCV] Support select optimization
AArch64 has enabled this in https://reviews.llvm.org/D138990, and
the measurement data still stands for RISCV in some cases.
And, similar optimization like #77284 is added too.
After this patch, the highly predictable branch will be converted
back to branches instead using selects.
This pass is disabled by default now, we can enable it by default
after more detailed investigation.
Reviewers: davemgreen, preames, dtcxzyw, lukel97, topperc, asb
Pull Request: https://github.com/llvm/llvm-project/pull/80124
Commit: 0817524c11fa6a938ca89c33ef994e82f4c94bb3
https://github.com/llvm/llvm-project/commit/0817524c11fa6a938ca89c33ef994e82f4c94bb3
Author: Luke Lau <luke at igalia.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Fix VRGATHER_V*_VL operands docs. NFC (#178124)
The passthru is third operand and the mask is the fourth
Commit: 92da1c0b9fc7d0502b8ac0cd73c836266e21f7d5
https://github.com/llvm/llvm-project/commit/92da1c0b9fc7d0502b8ac0cd73c836266e21f7d5
Author: Nishant Sachdeva <32475507+nishant-sachdeva at users.noreply.github.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/test/tools/llvm-ir2vec/error-handling.ll
M llvm/tools/llvm-ir2vec/lib/Utils.cpp
M llvm/tools/llvm-ir2vec/lib/Utils.h
M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
Log Message:
-----------
[llvm-ir2vec] vocab read refactor (#177837)
Modifying llvm-ir2vec vocab reading pipeline to use Vocabulary::fromFile
instead of a full pass invocation
Addresses - [comment](
https://github.com/llvm/llvm-project/pull/177092#pullrequestreview-3687563016)
and is a follow up of the patch
[here](https://github.com/llvm/llvm-project/pull/177348)
Commit: 95fdfcca9bcd4b1883e52e2aad32234729ffdaee
https://github.com/llvm/llvm-project/commit/95fdfcca9bcd4b1883e52e2aad32234729ffdaee
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-01-27 (Tue, 27 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/Dialect/Transforms/CIRCanonicalize.cpp
Log Message:
-----------
[CIR] Move BrOp block merging to canonicalize method (#178053)
Move the redundant branch removal pattern from CIRCanonicalize pass
to BrOp::canonicalize. This follows MLIR's convention where
canonicalization logic lives with the operation definition.
Changes:
- Add hasCanonicalizeMethod to BrOp in CIROps.td
- Implement BrOp::canonicalize in CIRDialect.cpp
- Auto-collect canonicalization patterns from all registered ops
in CIRCanonicalizePass (matching MLIR's Canonicalizer approach)
- Remove the standalone RemoveRedundantBranches pattern class
Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
Commit: 15365d31e6b407d78d6c26c7b64cecacccccfd39
https://github.com/llvm/llvm-project/commit/15365d31e6b407d78d6c26c7b64cecacccccfd39
Author: Yexuan Xiao <bizwen at nykz.org>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/lib/AST/FormatString.cpp
M clang/test/Sema/format-strings.c
Log Message:
-----------
[Sema] Fix ICE due to incorrect _Bool handling in format string checking (#174684)
Closes #174331
Commit: 46312083751d96dc85cdf9387414b3e4c91abc51
https://github.com/llvm/llvm-project/commit/46312083751d96dc85cdf9387414b3e4c91abc51
Author: Marcos Maronas <mmaronas at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions/cl_khr_extended_bit_ops.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions/cl_khr_extended_bit_ops_spv-friendly_only.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions/spirv-friendly_extended_bit_ops.ll
Log Message:
-----------
[SPIRV] Extend and fix SPV_KHR_bit_instructions testing. (#175825)
On one hand, this patch adds a couple of new testcases related to
SPV_KHR_bit_instructions. On the other hand, it fixes a couple of
testcases that were using `llvm.bitreverse.*`, while they were supposed
to use the SPIRV-friendly equivalent.
---------
Co-authored-by: Marcos Maronas <marcos.maronas at intel.com>
Commit: e0c12486dc9de08ed85e71042084f1e0416c109b
https://github.com/llvm/llvm-project/commit/e0c12486dc9de08ed85e71042084f1e0416c109b
Author: Keyi Zhang <Kuree at users.noreply.github.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialectBytecode.td
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/test/CAPI/llvm.c
M mlir/test/Dialect/LLVMIR/debuginfo.mlir
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[MLIR][LLVM] Add flags field to the DIDerivedType attribute (#177889)
This PR extends the `DIDerivedType` with the `flags` field.
Fixes https://github.com/llvm/llvm-project/issues/177725
Commit: 50e59af2a028b8cb8b5dcc6e307ee03fc39b8d7b
https://github.com/llvm/llvm-project/commit/50e59af2a028b8cb8b5dcc6e307ee03fc39b8d7b
Author: Ian Anderson <iana at apple.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/test/ClangScanDeps/target-filename.cpp
M clang/test/Frontend/dependency-gen-phony.c
Log Message:
-----------
[clang][test][NFC] Fix dependency test failures (#178113)
If the path to SDKSettings.json is short enough, it will go on the same
line as the file in the output.
Commit: 4a50d99a50ef10da020cc7de6d9f10a07398b25a
https://github.com/llvm/llvm-project/commit/4a50d99a50ef10da020cc7de6d9f10a07398b25a
Author: Gil Rapaport <gil.rapaport at mobileye.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/EmitC/Transforms/Transforms.h
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp
M mlir/test/Dialect/EmitC/form-expressions.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
Log Message:
-----------
[mlir][emitc] Fix recurring operands in expression (#175535)
The pretty-printing for `emitc.expression` breaks for expressions taking
the same value as operand multiple times.
Passing the same value as operand more than once is redundant, and is
therefore not the canonical form of `emitc.expression`. However, since
transformations affecting `emitc.expression` operands may cause this to
happen, `emitc.expression` must retain its support for recurring
operands.
This PR fixes this issue by shadowing the region arguments only when the
operands are unique, printing and parsing an explicit basic block
otherwise. In addition, a canonicalization pattern removing recurring
operands is added.
Fixes https://github.com/llvm/llvm-project/issues/172952.
Commit: d9332389b37accb0619d7f81114ac8674536fb8f
https://github.com/llvm/llvm-project/commit/d9332389b37accb0619d7f81114ac8674536fb8f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpState.h
Log Message:
-----------
[clang][bytecode][NFC] Make InterpState::Allocator private (#178129)
Commit: c8010da017bb82066e36c5f8d12877cbc8ab2bbd
https://github.com/llvm/llvm-project/commit/c8010da017bb82066e36c5f8d12877cbc8ab2bbd
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/docs/analyzer/checkers.rst
Log Message:
-----------
[analyzer][docs] Add basic description of checker 'core.CallAndMessage' (#177179)
The checker had very little documentation. Now a more detailed (but
still not much) description of the features and options is added.
Commit: 84882630c1d17224c5c3b98dd568ac61f4251761
https://github.com/llvm/llvm-project/commit/84882630c1d17224c5c3b98dd568ac61f4251761
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/aarch64/sme-libc-opt-memcpy-memmove-sve.S
M compiler-rt/lib/builtins/aarch64/sme-libc-opt-memcpy-memmove.S
Log Message:
-----------
[compiler-rt][aarch64][sme] Add SVE/FP variant of `__arm_sc_memcpy` (#127093)
When SVE is available use the `-sve` variant of memcpy from AOR for
`__arm_sc_memcpy`. From:
https://github.com/ARM-software/optimized-routines/blob/71e36403858ab3ff743fcde336fb31890e57af7e/string/aarch64/memcpy-sve.S
This implementation uses FPR/ZPR load/store instructions to do the copy,
so should not cause memory hazards if called in streaming mode (with the
memory later being accessed in the streaming mode with SVE/SME
instructions).
The implementation has been slightly modified from AOR to use local
labels (matching other compiler-rt functions) but still passes the
memcpy and memmove tests from AOR.
Commit: b232970172dd0df0c8ab6c8147b6bf81a477fa03
https://github.com/llvm/llvm-project/commit/b232970172dd0df0c8ab6c8147b6bf81a477fa03
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M libcxx/include/__ranges/join_with_view.h
M libcxx/include/__ranges/subrange.h
M libcxx/test/libcxx/ranges/range.adaptors/range.join.with/nodiscard.verify.cpp
A libcxx/test/libcxx/ranges/range.utility/range.subrange/nodiscard.verify.cpp
Log Message:
-----------
[libc++][ranges] Updated `[[nodiscard]]` implementation for `subrange` and `join_with_view` (#176936)
Added or removed `[[nodiscard]]` according to the guidelines and updated
the tests.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/range.subrange
- https://wg21.link/range.join.with.view
Towards #172124
Commit: ba833a616554ce50868a562e525faafea0d387d4
https://github.com/llvm/llvm-project/commit/ba833a616554ce50868a562e525faafea0d387d4
Author: Gil Rapaport <gil.rapaport at mobileye.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/EmitC/Transforms/Transforms.h
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp
M mlir/test/Dialect/EmitC/form-expressions.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
Log Message:
-----------
Revert "[mlir][emitc] Fix recurring operands in expression (#175535)"
This reverts commit 4a50d99a50ef10da020cc7de6d9f10a07398b25a.
Fails the buildbot.
Commit: e3284b96815d7ef9ac358724b49a25befc2c4439
https://github.com/llvm/llvm-project/commit/e3284b96815d7ef9ac358724b49a25befc2c4439
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
A llvm/test/Transforms/PreISelIntrinsicLowering/AMDGPU/expand-mem-intrinsics.ll
Log Message:
-----------
[LowerMemIntrinsics][AMDGPU] Propagate Debug Value (#178131)
Propagate debug value to expanded loops for `memcpy`, `memmove` and
`memset` intrinsics.
Commit: 14cd8f0fba2039fe37d8610065628a380273a2b8
https://github.com/llvm/llvm-project/commit/14cd8f0fba2039fe37d8610065628a380273a2b8
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/State.h
Log Message:
-----------
[clang][bytecode][NFC] Clean up InterpState includes (#178130)
Commit: c2d510f5bdabf71f4f5fde36a37faf5565762195
https://github.com/llvm/llvm-project/commit/c2d510f5bdabf71f4f5fde36a37faf5565762195
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
A flang/test/Lower/ivdep-array.f90
Log Message:
-----------
[flang] fix DIR IVDEP for array assignments inside loops (#177940)
The access attribute set on hlfir.assign for arrays was lost in
InlineHLFIRAssign.cpp. This patch propagates it to the creates loads and
stores.
Commit: 7687a14e6fcca3c8c931af8d15fec3eeb259f622
https://github.com/llvm/llvm-project/commit/7687a14e6fcca3c8c931af8d15fec3eeb259f622
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/docs/GettingInvolved.rst
Log Message:
-----------
[docs] Update ics for my office hours
Commit: 8dfca82a7cb3ee4d9f768a6c3a61236ffb329a22
https://github.com/llvm/llvm-project/commit/8dfca82a7cb3ee4d9f768a6c3a61236ffb329a22
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M libcxx/include/__algorithm/equal.h
Log Message:
-----------
[libc++][NFC] Don't use std::distance in std::equal (#177113)
We don't need to use `std::distance`, since we know for a fact that we
have random access iterators in that place. Instead, we can just
subtract the iterators, avoiding a bunch of template machinery and
imrpoving compile times a bit.
Commit: fcb96d89414523b8dbedac38eefc85b4a2ad9c8b
https://github.com/llvm/llvm-project/commit/fcb96d89414523b8dbedac38eefc85b4a2ad9c8b
Author: David Green <david.green at arm.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-load-rcpc_immo.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-store-rcpc_immo.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-integer-ll.ll
M llvm/test/CodeGen/AArch64/GlobalISel/inline-asm.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-vector-deinterleave2.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-vector-interleave2.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-concat-vectors.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-merge-values.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-xtn.mir
M llvm/test/CodeGen/AArch64/GlobalISel/pr57349.ll
M llvm/test/CodeGen/AArch64/aarch64-mixed-ptr-sizes.ll
M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
M llvm/test/CodeGen/AArch64/dup.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/stack-probing-dynamic.ll
M llvm/test/CodeGen/AArch64/vararg-tallcall.ll
M llvm/test/CodeGen/AArch64/win64-fpowi.ll
M llvm/test/CodeGen/AArch64/xtn.ll
Log Message:
-----------
[AArch64][GlobalISel] Remove -global-isel-abort=2 from a number of tests. NFC
This cleans up some -global-isel-abort=2 uses, either removing the unnecessary
flags or cleaning up the tests that use them.
Commit: 13c293486603d9c2e03888866a60df7d42f8e068
https://github.com/llvm/llvm-project/commit/13c293486603d9c2e03888866a60df7d42f8e068
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
Log Message:
-----------
[clang-tidy] Add invalidation function name to bugprone-use-after-move (#178042)
Make clearer messages because of reports
https://github.com/llvm/llvm-project/pull/170346#issuecomment-3798583117.
---------
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Commit: 08654adc62c1d7c9a0f8fe40138fe4317a941f3b
https://github.com/llvm/llvm-project/commit/08654adc62c1d7c9a0f8fe40138fe4317a941f3b
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/num-threads-dims.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[OpenMP][MLIR] Add num_threads clause with dims modifier support (#171767)
PR adds support of openmp 6.1 feature num_threads with dims modifier.
llvmIR translation for num_threads with dims modifier is marked as NYI.
Commit: ec57636ae447247683716c00437552645a52ba68
https://github.com/llvm/llvm-project/commit/ec57636ae447247683716c00437552645a52ba68
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
A mlir/include/mlir/Dialect/Bufferization/Extensions/AllExtensions.h
A mlir/include/mlir/Dialect/Bufferization/Extensions/ShardingExtensions.h
R mlir/include/mlir/Dialect/Tensor/IR/ShardingInterfaceImpl.h
M mlir/lib/Dialect/Bufferization/CMakeLists.txt
A mlir/lib/Dialect/Bufferization/Extensions/AllExtensions.cpp
A mlir/lib/Dialect/Bufferization/Extensions/CMakeLists.txt
A mlir/lib/Dialect/Bufferization/Extensions/ShardingExtensions.cpp
M mlir/lib/Dialect/Tensor/Extensions/ShardingExtensions.cpp
M mlir/lib/RegisterAllExtensions.cpp
A mlir/test/Dialect/Bufferization/shard-partition.mlir
Log Message:
-----------
[mlir][shard, bufferization] Adding sharding extensions for bufferization ops (#177378)
Adding trivial sharding support for `bufferization.alloc_tensor`,
`bufferization.dealloc_tensor` and
`bufferization.materialize_in_destination`.
include/mlir/Dialect/Tensor/IR/ShardingInterfaceImpl.h -> mlir/include/mlir/Dialect/Bufferization/Extensions/ShardingExtensions.h
---------
Co-authored-by: Adam Siemieniuk <adam.siemieniuk at intel.com>
Commit: 3278ff7a4fa8f90c60081c88f3d441cf1468e84c
https://github.com/llvm/llvm-project/commit/3278ff7a4fa8f90c60081c88f3d441cf1468e84c
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
Log Message:
-----------
[LifetimeSafety] Fix 'clang::lifetimebound' ignored on template method definition (#178000)
Closes https://github.com/llvm/llvm-project/issues/177798.
Same pattern with `getTemplateInstantiationPattern()` for attrs checking
is already used in other LLVM places, e.g.:
https://github.com/llvm/llvm-project/blob/b19238d0d0a7d026de8e2ad28775db57afccb01d/clang/lib/CodeGen/CodeGenModule.cpp#L2830-L2839
Commit: 7287f95b1c3ee86d0dffd1703a7e7654ef1707f7
https://github.com/llvm/llvm-project/commit/7287f95b1c3ee86d0dffd1703a7e7654ef1707f7
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port ec57636ae447247683716c00437552645a52ba68 (#178151)
Commit: eaf6c1446d4e99a385bde14552535cbc18b61c02
https://github.com/llvm/llvm-project/commit/eaf6c1446d4e99a385bde14552535cbc18b61c02
Author: Henry Kleynhans <henry.kleynhans at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/www/get_started.html
M clang/www/hacking.html
Log Message:
-----------
[Clang] Remove gnuwin32 documentation references (#177557)
Remove the documentation references to GnuWin32. The project is no
longer maintained, and as LLVM is now using Git, `llvm-lit` is now using
the GNU core utilities packaged with it rather than requiring a separate
installation.
This appears to have been on
[discourse](https://discourse.llvm.org/t/gnuwin32-alternatives-for-tests-of-msvc-build/42846/3)
but not implemented yet.
Commit: 00fb401a902105a164bb1ecaa63ce8ba1677c9c2
https://github.com/llvm/llvm-project/commit/00fb401a902105a164bb1ecaa63ce8ba1677c9c2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-exp.ll
Log Message:
-----------
InstCombine: Add a few more tests for SimplifyDemandedeFPClass exp handling (#178147)
These got lost in various merges. Test a few cases where flags are
inferred from context.
Commit: b7c68c3a394660fd2a8e8cf496ebb5c684aa84de
https://github.com/llvm/llvm-project/commit/b7c68c3a394660fd2a8e8cf496ebb5c684aa84de
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/release-vgprs.mir
Log Message:
-----------
[AMDGPU] Add test for a bug in the early release VGPRs optimization (#178141)
Commit: e74e970036645553459e4768dfaf48b618b48de2
https://github.com/llvm/llvm-project/commit/e74e970036645553459e4768dfaf48b618b48de2
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
Log Message:
-----------
[flang][OpenMP][DoConcurrent] Add `collapse` clause to generated `omp.loop_nest` op (#178138)
Adds the collpase clause to the generated loop nest both on host and
device.
Commit: 34f434e45d03ae0571bce5a8a1a1c4ccb27992dd
https://github.com/llvm/llvm-project/commit/34f434e45d03ae0571bce5a8a1a1c4ccb27992dd
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
A llvm/test/Transforms/PreISelIntrinsicLowering/AMDGPU/lit.local.cfg
Log Message:
-----------
[NFC][AMDGPU] Add missing `lit.local.cfg` to `PreISelIntrinsicLowering` tests (#178154)
Add `lit.local.cfg` to restrict the `PreISelIntrinsicLowering/AMDGPU`
tests to AMDGPU only.
These tests were previously being run for all targets.
Commit: 96165b8390621ecedee9ac8ab86c916911338653
https://github.com/llvm/llvm-project/commit/96165b8390621ecedee9ac8ab86c916911338653
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-log.ll
Log Message:
-----------
InstCombine: Add more log nnan/ninf log intrinsic inference tests (#178160)
These got lost in various merges.
Commit: fe3f7cd1ca0fbbf1ea1e6cd2ee1d701758ae19a3
https://github.com/llvm/llvm-project/commit/fe3f7cd1ca0fbbf1ea1e6cd2ee1d701758ae19a3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
Log Message:
-----------
InstCombine: Stop preserving undef in SimplifyDemandedFPClass (#178163)
If we know there are no valid values, fold to poison. Previously this
would leave values that started as undef alone.
Commit: b8cccd6cef063764eabf1956999fd5a96413d982
https://github.com/llvm/llvm-project/commit/b8cccd6cef063764eabf1956999fd5a96413d982
Author: Lleu Yang <hello at megakite.icu>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Analysis/ValueTracking/knownbits-clmul.ll
Log Message:
-----------
[Analysis] computeKnownBitsFromOperator - add @llvm.clmul knownbits handling and tests (#177893)
This adds knownbits handling for `Intrinsic::clmul` inside
`computeKnownBitsFromOperator`. Tests are also included.
Closes #177550
Commit: a63696edca8b9cd64d76fc4205071709c47a0a63
https://github.com/llvm/llvm-project/commit/a63696edca8b9cd64d76fc4205071709c47a0a63
Author: cooperp <peter_cooper at apple.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
A clang/test/CodeGen/stack-protector-vars.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Sema/stack_protector_ignore.c
Log Message:
-----------
Allow the no_stack_protector attribute on local variables (#173311)
This attribute is currently only permitted on functions, but sometimes
it can be useful to opt out a specific local variable. That way the
function can still get a stack protector if other locals require it, but
locals which are opted out won't have the overhead of a stack protector
if not needed.
This is paired with an LLVM change which has already landed, which uses
the new metadata to opt specific alloca instructions out of requiring a
stack protector.
Commit: ab85d5f6429d4237bf861781271eee6108ba6200
https://github.com/llvm/llvm-project/commit/ab85d5f6429d4237bf861781271eee6108ba6200
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
A llvm/test/MC/AMDGPU/gfx13_asm_vop1.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop1_dpp16.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop1_dpp8.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop1_t16_err.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop1_t16_promote.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1_dpp16.s
A llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1_dpp8.s
Log Message:
-----------
[AMDGPU] Add VOP1 support for gfx13 (#177603)
Co-authored-by: Ivan Kosarev <ivan.kosarev at amd.com>
Commit: 8b93eeef74d89fb6c68e7be6b792b1dc633b1c74
https://github.com/llvm/llvm-project/commit/8b93eeef74d89fb6c68e7be6b792b1dc633b1c74
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M lldb/source/Expression/UserExpression.cpp
Log Message:
-----------
[lldb][UserExpression] Delay deletion of failed user expression (#177921)
Instead of creating a new `UserExpressionSP` for the fix-it expression,
just re-use the existing `user_expression_sp`. We used to always reset
it when an expression failed, even if no fix-it was available. An
upcoming patch will need the `user_expression_sp` to be alive at the
point where we set up the diagnostic errors. So this patch removes the
unconditional `reset()` on `!parse_success` in favour of resetting it to
the new fixed expression, if one is available.
Commit: 55f0ed91ef9f6f2f2771533cc61d21019ba79153
https://github.com/llvm/llvm-project/commit/55f0ed91ef9f6f2f2771533cc61d21019ba79153
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/OpenMP/LowerWorkdistribute.cpp
A flang/test/Lower/OpenMP/thread-limit-dims.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[OpenMP][MLIR] Add thread_limit with dims modifier support (#171825)
PR adds support of openmp 6.1 feature thread_limit with dims modifier.
llvmIR translation for thread_limit with dims modifier is marked as NYI.
Commit: 0e84f659b87c2f8c57382539284af1e671b6ff98
https://github.com/llvm/llvm-project/commit/0e84f659b87c2f8c57382539284af1e671b6ff98
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
M llvm/unittests/Target/AArch64/AArch64SelectionDAGTest.cpp
Log Message:
-----------
Support EXTRACT_SUBVECTOR in computeKnownBits for scalable vectors (#177163)
Rather than not supporting this case it would just be more conservative
as it will need to prove known bits for all elements.
Follows on from #176883
Commit: 90829e51cf6bde39ce84d9560bfdb07ca67374b2
https://github.com/llvm/llvm-project/commit/90829e51cf6bde39ce84d9560bfdb07ca67374b2
Author: Nico Weber <thakis at chromium.org>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/sinf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/sinf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/sinf16.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor sinf16 implementation to header-only in src/__support/math folder. (#178062)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 7cd14638d49ffefc877d66027d2290cde1072fca
https://github.com/llvm/llvm-project/commit/7cd14638d49ffefc877d66027d2290cde1072fca
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Support/KnownBits.cpp
M llvm/lib/Support/Mustache.cpp
M llvm/lib/Support/Path.cpp
Log Message:
-----------
[perf] Replace copy-assign by move-assign in llvm/lib/Support/* (#178167)
Commit: 47bfb42bed9d7cf0900e2390c6130c0adeed71be
https://github.com/llvm/llvm-project/commit/47bfb42bed9d7cf0900e2390c6130c0adeed71be
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
M llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
M llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
Log Message:
-----------
[perf] Replace copy-assign by move-assign in llvm/lib/ExecutionEngine/* (#178173)
Commit: 25a18889c63a9a63fe194ed1a02663cd0e60048b
https://github.com/llvm/llvm-project/commit/25a18889c63a9a63fe194ed1a02663cd0e60048b
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M libcxx/docs/CodingGuidelines.rst
Log Message:
-----------
[libc++] Document that backported language features should be used (#176993)
We've been using language extensions from newer language modes quite
liberally throughout the code base for a while now and didn't encounter
major problems. This patch documents that practice in the coding
guidelines.
Commit: 47fa46c1c4ad9fb0b44e463aa80ab65fc08c3a9d
https://github.com/llvm/llvm-project/commit/47fa46c1c4ad9fb0b44e463aa80ab65fc08c3a9d
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[perf] Replace copy-assign by move-assign in llvm/lib/Target/* (#178179)
Commit: c2457742c0023e1d9ff8a0f7dd154e58e265fe0c
https://github.com/llvm/llvm-project/commit/c2457742c0023e1d9ff8a0f7dd154e58e265fe0c
Author: Luke Lau <luke at igalia.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
Log Message:
-----------
[VPlan] Make class_match variadic, reuse for m_LiveIn. NFC (#178196)
Commit: a40f9710b7493df743557f2d2dd53e3e4d3a1cb7
https://github.com/llvm/llvm-project/commit/a40f9710b7493df743557f2d2dd53e3e4d3a1cb7
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Refine VPValue types in tryToFoldLiveIns (NFC) (#178183)
tryToFoldLiveIns operates on live-ins (that is, both VPIRValues and
VPSymbolicValues), and returns a VPIRValue. Clarify this.
Commit: 05443a9807bca50e8dee8936f10b5d574a981e83
https://github.com/llvm/llvm-project/commit/05443a9807bca50e8dee8936f10b5d574a981e83
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M libcxx/include/string
Log Message:
-----------
[libc++] Refactor how we do amortized growth (#171117)
When doing amortized growth we currently have separate functions for
calculating the new capacity and allocating. However, we set the size to
the calculated capacity that way instead of the actually required size.
This makes the interface quite confusing, since the size has to be set
manually. Instead, this patch refactors the function to get the
amortized growth capacity to instead allocate and set the size
correctly.
Commit: fa3f78ebedfaf03c671fece8c3b42f16ef7b24d6
https://github.com/llvm/llvm-project/commit/fa3f78ebedfaf03c671fece8c3b42f16ef7b24d6
Author: Nico Weber <thakis at chromium.org>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Tooling/InterpolatingCompilationDatabase.cpp
Log Message:
-----------
[clangd] Support clang-cl flags /std:c++23preview and /std:clatest (#178080)
Related to https://github.com/clangd/clangd/issues/527 and
https://github.com/clangd/clangd/issues/1850.
Previously: https://github.com/llvm/llvm-project/pull/160030
Commit: dba9397b3173bee1591830f2829abd5ef5538946
https://github.com/llvm/llvm-project/commit/dba9397b3173bee1591830f2829abd5ef5538946
Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M .github/workflows/ids-check.yml
Log Message:
-----------
[GHA] Disable the ids-check workflow (#178170)
The workflow is too disruptive as it is because we are still missing too
many `LLVM_ABI` annotations. Disable it for the time being.
See #109483 for details.
Commit: c1152f0fb250a8321dbb2aa73e2a8d6c798f2127
https://github.com/llvm/llvm-project/commit/c1152f0fb250a8321dbb2aa73e2a8d6c798f2127
Author: Lukas Sommer <lukas.sommer at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Transforms/test-legalizer-rollback.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir] Avoid segfault in 'MoveBlockRewrite' rollback (#178148)
Prior to this change, rollback of the `MoveBlockRewrite` could result in
segfault if the block wasn't contained in a region anymore.
That situation could arise if the previous rollback of another rewrite
orphaned the block by removing it from its region, as demonstrated by
the new test pattern.
Signed-off-by: Lukas Sommer <lukas.sommer at amd.com>
Commit: d5bc5f9b3070eeacefdb415e22977044ff2270ba
https://github.com/llvm/llvm-project/commit/d5bc5f9b3070eeacefdb415e22977044ff2270ba
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
Log Message:
-----------
[LifetimeSafety] Add fixit verification of lifetimebound suggestions (NFC) (#177763)
We first run -fixit mode and apply fixes in-place, then check with
-Werror=lifetime-safety-suggestions if something is left unfixed (which
means annotations are missing)
Commit: 1c870d0dfe9573160df469fdb00d90f2d097662d
https://github.com/llvm/llvm-project/commit/1c870d0dfe9573160df469fdb00d90f2d097662d
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
A llvm/test/MC/AMDGPU/gfx13_asm_sop1.s
A llvm/test/MC/AMDGPU/gfx13_asm_sop1_alias.s
Log Message:
-----------
[AMDGPU] Add SOP1 support for gfx13 (#177618)
Co-authored-by: Jay Foad <jay.foad at amd.com>
Commit: d3b3940a71d63190f49db730af14dd4f333c11f1
https://github.com/llvm/llvm-project/commit/d3b3940a71d63190f49db730af14dd4f333c11f1
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Log Message:
-----------
[ConstraintElim] Use try_emplace to improve code (NFC) (#178186)
Commit: 737db63fafa273a840d84594ca7c96fef113c8f2
https://github.com/llvm/llvm-project/commit/737db63fafa273a840d84594ca7c96fef113c8f2
Author: Ryutaro Okada <140468571+sakupan102 at users.noreply.github.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/test/Dialect/Linalg/bufferize.mlir
Log Message:
-----------
[mlir][Linalg] implement bufferization for `linalg.pack` (#177982)
Add a BufferizableOpInterface implementation for linalg.pack now that
pack supports memref semantics
https://github.com/llvm/llvm-project/commit/4b066c7fff3455dc547fabb676583391febe41e9.
This completes the op’s bufferization path and avoids copy-before-write
for destination operands.
---------
Signed-off-by: Ryutaro Okada <1015ryu88 at gmail.com>
Commit: d456e56f27814a82ba125499186a30e44517f415
https://github.com/llvm/llvm-project/commit/d456e56f27814a82ba125499186a30e44517f415
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
A flang/test/Lower/OpenACC/acc-deviceptr.f90
Log Message:
-----------
[flang][acc] remap variable in device_ptr clauses (#177018)
I previously disabled the variable remapping to data operand results in
the IR for the deviceptr clause because it was not clear how fir.box
would be dealt with and the remapping increased the usage of fir.box.
Since then, it was clarified that lowering could use fir.box and that it
would be up to the runtime to deal with the fact that the fir.box is
implemented by a descriptor allocated on the host and containing the
base address of an entity on the device.
Remove the workaround.
Commit: 4848313824ef17e85a474331c1f4f7b261c7ec77
https://github.com/llvm/llvm-project/commit/4848313824ef17e85a474331c1f4f7b261c7ec77
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
A flang/test/Lower/HLFIR/ivdep-elemental.f90
A flang/test/Lower/HLFIR/ivdep-where.f90
Log Message:
-----------
[flang] propagate IVDEP in array expressions optimization (#178171)
Follow-up on https://github.com/llvm/llvm-project/pull/177940.
This propagates the access attribute in cases where hlfir.assign is
being transformed in array expression optimizations.
It also adds handling for the cases where there are WHERE/FORALL or user
defined assignments inside the loop and that an hlfir.region_assign is
first being generated.
Commit: 45102be5e541a316cdf75bcf877684a5ce3ad620
https://github.com/llvm/llvm-project/commit/45102be5e541a316cdf75bcf877684a5ce3ad620
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M flang/include/flang/Lower/ConvertCall.h
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/test/Lower/HLFIR/calls-f77.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/where.f90
M flang/test/Lower/Intrinsics/storage_size-2.f90
M flang/test/Lower/OpenMP/omp-declare-reduction-derivedtype.f90
M flang/test/Lower/array-elemental-calls-char-dynamic.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/io-statement-clean-ups.f90
M flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
Log Message:
-----------
[flang] emit declare for function result before call (#177615)
This change moves the declare of result storage alloca before the call
so that alias analysis can revert to linking fir.declare to the fisrt
dominating dummy_scope instead of the dominating one.
This is only relevant when MLIR inlining is enabled and is the first
step to fix issues recent TBAA changes that placed target data in its
own tree exposed an issue with the result storage of a TARGET result.
After inlining, the usages of the result storage inside the callee and
after the call ended-up being placed in different nodes (target and non
target) of the same TBAA tree (for the dominating function).
The fact that both nodes are placed in the same tree stems from
https://github.com/llvm/llvm-project/pull/146006 that fixed another TBAA
issue related to MLIR inlining and function result where the function
result was placed into the wrong TBAA tree, which with nested inlining
could end-up being the tree of a callee where the result storage was a
dummy, causing the TBAA to wrongfully tell that any access to the result
storage inside the nested callee did not alias with any access after the
call.
By moving the declare before the call that will be inlined, this patch
will allow reverting #146006 and fixing both issues: the TBAA emit for
usages of the result storage after the call will always be placed in a
different TBAA tree than any usages of the result storage inside the
callee.
Commit: 9a39c2ff75d0df9dbdf613e5e2ab638176555451
https://github.com/llvm/llvm-project/commit/9a39c2ff75d0df9dbdf613e5e2ab638176555451
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
R flang/test/Transforms/tbaa-for-local-vars.fir
M flang/test/Transforms/tbaa-target-inlined-results.fir
M flang/test/Transforms/tbaa-with-dummy-scope2.fir
Log Message:
-----------
Revert "[flang] Use outermost fir.dummy_scope for TBAA of local allocations. (#146006) (#177617)
This reverts commit 90da61634a4accc9869b4e1cb1ac3736158c33e6.
See https://github.com/llvm/llvm-project/pull/177615 for more context
about why this patch is and can now be reverted.
Commit: 051d93195744fa7bfe8fd0b8813274ec7574dc11
https://github.com/llvm/llvm-project/commit/051d93195744fa7bfe8fd0b8813274ec7574dc11
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
Log Message:
-----------
[flang] remove AbstractConverter.h include from IntrinsicCall.h (#178150)
AbstractConverter.h is pulling a lot of headers, including some from
Evaluate. This causes any library using IntrinsicCall.h to have to link
against FortranEvaluate and FortranSupport while there is no actual
need/usage of Evaluate data structures.
I opened https://github.com/llvm/llvm-project/issues/178142 to fully
remove the AbstractConverter from IntrinsicCall.cpp, but for now this
patch should at least prevent the consumers of IntrinsicCall.h to
bring-in these extra libraries.
Should solve the DEBUG build problem from
https://github.com/llvm/llvm-project/pull/178076.
Commit: 48565d9e7224c29c991674769822ab61a89bc9d2
https://github.com/llvm/llvm-project/commit/48565d9e7224c29c991674769822ab61a89bc9d2
Author: lonely eagle <2020382038 at qq.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M mlir/include/mlir/Analysis/DataFlow/IntegerRangeAnalysis.h
M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
M mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp
M mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp
Log Message:
-----------
[mlir][dataflow] Drop the firstIndex argument of visitNonControlFlowArguments (#175210)
This PR improves the signature of `visitNonControlFlowArguments`:
- The function now takes non-successor-inputs ("non-control-flow
arguments") instead of successor inputs. This is more consistent with
the naming of the function.
- `firstIndex` is no longer needed and dropped. (It was needed only to
identify the non-successor-inputs among the block arguments / op
results.)
Background: Successor inputs are forwarded values (e.g., iter_args / op
results of an `scf.for`) and non-successor-inputs are all other block
arguments / op results (e.g., the loop induction variable of an
`scf.for`.)
Note for LLVM integration: `visitNonControlFlowArguments` now receives
the non-successor-input directly. You no longer have to find those among
the list of all block arguments / op results based on `firstIndex`.
RFC:
https://discourse.llvm.org/t/rfc-drop-the-firstindex-argument-of-visitnoncontrolflowarguments-of-sparseforwarddataflowanalysis/89419/5
Commit: a73bdba2e80c6cff91ec135b5502909b14934d68
https://github.com/llvm/llvm-project/commit/a73bdba2e80c6cff91ec135b5502909b14934d68
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/openmp-modifiers.cpp
M flang/test/Semantics/OpenMP/clause-validity01.f90
A flang/test/Semantics/OpenMP/linear-clause03.f90
Log Message:
-----------
[flang][OpenMP] Update semantic checks for LINEAR clause (#177055)
Fixes https://github.com/llvm/llvm-project/issues/173980.
In particular, make step-simple-modifier be compatible (i.e. not
exclusive) for OpenMP spec versions < 52, and update the modifier
validity checks for the construct on which the clause is located.
Commit: cdb1948b616a075ce80598e38e06b49a362d0750
https://github.com/llvm/llvm-project/commit/cdb1948b616a075ce80598e38e06b49a362d0750
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Fix Bazel build for 90829e51 (#178210)
Commit: c41691c8b6a86a7703314a556f84b98df92a688c
https://github.com/llvm/llvm-project/commit/c41691c8b6a86a7703314a556f84b98df92a688c
Author: Maryam Moghadas <maryammo at ca.ibm.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
A llvm/test/CodeGen/PowerPC/peephole-livevars-tracking.mir
Log Message:
-----------
[PowerPC] Fix XXPERMDI peephole and ISEL LiveVariables bugs (#172122)
Fixes https://github.com/llvm/llvm-project/issues/159116
Prevent XXPERMDI splat optimization when the splat output register is
used in other instructions, which caused undefined register references.
Also track removed ISEL operands in simplifyToLI to prevent
LiveVariables corruption during ISEL-to-COPY conversion.
Commit: 21b0fdf8ec703e8c64e2c979b13c12030239cce0
https://github.com/llvm/llvm-project/commit/21b0fdf8ec703e8c64e2c979b13c12030239cce0
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/defaultmap.f90
A offload/test/offloading/fortran/target-defaultmap-implicit-mapper.f90
Log Message:
-----------
[Flan][OpenMP] Implement TODO support for compatible defaultmap types for implicit mappers (#177389)
Make implicit default mapper generation respect defaultmap categories so
unrelated defaultmap clauses no longer suppress mappers for derived
types.
Added related tests.
Commit: f0bf97281f981f130eee0b7672a5eb223bb8bc01
https://github.com/llvm/llvm-project/commit/f0bf97281f981f130eee0b7672a5eb223bb8bc01
Author: Zhuoran Yin <zhuoryin at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/MultiBuffer.cpp
M mlir/test/Dialect/MemRef/multibuffer.mlir
Log Message:
-----------
[MemRef] Propagate strided layout through view-like ops in multiBuffer (#176941)
The memref::multiBuffer transformation replaces an allocation with a
multi-buffered allocation and creates a strided memref.subview at each
loop iteration. When the original allocation is used through view-like
ops, the existing code only handles SubViewOp, leaving other view-like
ops with incorrect types.
This patch extends replaceUsesAndPropagateType to handle ExpandShapeOp,
CollapseShapeOp, and CastOp using TypeSwitch. For each view-like op, we
compute the correct result type (or assert on failure) and create a new
operation, then recursively propagate the updated type through chains.
New FileCheck tests cover expand_shape, collapse_shape, cast, and a
chained expand_shape->cast case.
A single ViewLikeOpInterface hook is not practical here: view-like ops
have distinct type inference and validity rules (e.g., subview uses
offset/size/stride inference, expand/collapse use reassociation, cast
requires compatibility checks). Ops like memref.view or
memref.reinterpret_cast need additional layout/size validation beyond
what multi-buffering currently tracks, so this patch handles the common
safe cases directly.
Commit: 0a53a557705fd8ccba924b18c7ca70c41b30f1bf
https://github.com/llvm/llvm-project/commit/0a53a557705fd8ccba924b18c7ca70c41b30f1bf
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/emergency-slot.mir
Log Message:
-----------
[RISCV] Remove 'implicit $vl' from PseudoVMV_X_S in emergency-slot.mir. NFC (#178015)
This instruction doesn't use VL and the pseudo doesn't have a VL
operand. According to VSETVLIInserter tests, this instruction only gets
implicit $vtype added to it.
Commit: 3d07cc3c1b9083d688148b48c89b3e339d97d74a
https://github.com/llvm/llvm-project/commit/3d07cc3c1b9083d688148b48c89b3e339d97d74a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmacc-sdnode.ll
Log Message:
-----------
[RISCV] Reorder some check-prefixes in a way that makes the update script work. NFC (#178120)
Prior to this, the update_llc_test_checks script would generate ZVFBFA
and ZVFBFWMA checks that were already included in ZVFHMIN.
Commit: e7063e820637498355a184a45c42c19fa58ff2f3
https://github.com/llvm/llvm-project/commit/e7063e820637498355a184a45c42c19fa58ff2f3
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/test/Dialect/SPIRV/IR/composite-ops.mlir
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Dialect/SPIRV/IR/group-ops.mlir
M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
M mlir/test/Dialect/SPIRV/IR/intel-ext-ops.mlir
M mlir/test/Dialect/SPIRV/IR/logical-ops.mlir
M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
Log Message:
-----------
[mlir][spirv] Enforce `SPIRV_Vector` to have rank of one (#178185)
Currently only vector length is enforced however this allows vectors of
rank >1 to pass the verification as long as the length agrees. This
change restricts `SPIRV_Vector`s to be of rank 1 as required by the
SPIR-V spec.
This also fixes a bug where `SPIRV_Composite` allowed high ranked
vectors but `spirv::CompositeType` did not leading to cast assertions
where the composite type was assumed.
Finally, this change adds two new common constraints that can enforce
all three: rank, length and type.
fixes #178127
Commit: f32c00f6d8aa8d2d57bf8afb47f3c99bdf7ac537
https://github.com/llvm/llvm-project/commit/f32c00f6d8aa8d2d57bf8afb47f3c99bdf7ac537
Author: Valery Pykhtin <valery.pykhtin at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/include/llvm/CodeGen/LiveIntervalUnion.h
M llvm/include/llvm/CodeGen/LiveRegMatrix.h
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/LiveIntervalUnion.cpp
M llvm/lib/CodeGen/LiveRegMatrix.cpp
M llvm/lib/CodeGen/RegAllocBase.cpp
M llvm/lib/Target/AMDGPU/SIPreAllocateWWMRegs.cpp
Log Message:
-----------
[regalloc][LiveRegMatrix][AMDGPU] Fix LiveInterval dangling pointers in LiveRegMatrix. (#168556)
This patch correctly removes segments from LiveRegMatrix that reference LiveIntervals removed after spilling. Added validity check that LiveRegMatrix doesn't contain invalid references to intervals.
Commit: 28d621e752f898643bb16beee9607b95dad1d753
https://github.com/llvm/llvm-project/commit/28d621e752f898643bb16beee9607b95dad1d753
Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/PFTBuilder.cpp
A flang/test/Lower/do-while-to-scf-while.f90
Log Message:
-----------
[flang] Lowering fortran structured do-while loops to `scf.while` (#177476)
WIP. Implemented structured do-while loops (i.e., the only control-flow
edge that can leave the outer loop is the one taken when the DO WHILE
condition becomes false) lowering to `scf.while`.
Commit: c48be319db367326511d5650ba9b097714129e5e
https://github.com/llvm/llvm-project/commit/c48be319db367326511d5650ba9b097714129e5e
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M libcxx/include/__algorithm/ranges_swap_ranges.h
M libcxx/include/__algorithm/swap_ranges.h
Log Message:
-----------
[libc++] Forward calls to ranges::swap_ranges to the 3-leg implementation if possible (#176762)
This allows us to make use of any optimizations to `std::swap_ranges` in
`ranges::swap_ranges`.
This patch also moves some code specific to `ranges::swap_ranges` into
`ranges_swap_ranges.h`.
Commit: a871f8783015abddca18092da2e8acae4bd1fe74
https://github.com/llvm/llvm-project/commit/a871f8783015abddca18092da2e8acae4bd1fe74
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M flang-rt/unittests/Runtime/Reduction.cpp
Log Message:
-----------
[flang-rt] Use std::numeric_limits::infinity (#178166)
#175373 introduces a divide-by-zero to create an infinity value, which
is undefined behavior in C++ (C++20 [expr.mul] §4), even when done at
compile-time. This cases flaky test fails with the flang-x86_64-windows
buildbot. Visual Studio 2026 refuses to compile it with error C2124.
Use `std::numeric_limits<float>::infinity()` instead.
Commit: 94e21bcec061c1691cd0d5382e3c6f420e0386c4
https://github.com/llvm/llvm-project/commit/94e21bcec061c1691cd0d5382e3c6f420e0386c4
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/level_check.mlir
Log Message:
-----------
[mlir][tosa] Improve level check error messages (#174980)
This commit adds expected and actual values to the level check error
messages, making it easier for a user to diagnose issues.
Commit: 51f40ea58f21da79216e29200432b9a570bb3002
https://github.com/llvm/llvm-project/commit/51f40ea58f21da79216e29200432b9a570bb3002
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Remove VL from VMV_X_S/VFMV_F_S implicit uses in MC layer. (#178043)
Commit: c8646f52482aef5e059c4012d3d75418af132c3a
https://github.com/llvm/llvm-project/commit/c8646f52482aef5e059c4012d3d75418af132c3a
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgDialect.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for misc-use-internal-linkage in LinalgDialect.cpp (NFC)
Commit: 01a4b528376b6784d6c3350a262a3139af5fc38b
https://github.com/llvm/llvm-project/commit/01a4b528376b6784d6c3350a262a3139af5fc38b
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for misc-use-internal-linkage in TransformOps.cpp (NFC)
Commit: 24b5cf154b2c92d7cc4cbafb4188bf9abe958a42
https://github.com/llvm/llvm-project/commit/24b5cf154b2c92d7cc4cbafb4188bf9abe958a42
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M mlir/lib/Dialect/GPU/Transforms/EliminateBarriers.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for llvm-else-after-return in EliminateBarriers.cpp (NFC)
Commit: 8a6be403da5aaf79c7dd6c481388cde979b7b4fa
https://github.com/llvm/llvm-project/commit/8a6be403da5aaf79c7dd6c481388cde979b7b4fa
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for performance-unnecessary-value-param in TestLinalgTransforms.cpp (NFC)
Commit: 6f8cea3f90596c1a80e89e2c1e2d2aa75cc9e4e8
https://github.com/llvm/llvm-project/commit/6f8cea3f90596c1a80e89e2c1e2d2aa75cc9e4e8
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M flang-rt/include/flang-rt/runtime/terminator.h
M flang-rt/lib/runtime/main.cpp
M flang-rt/lib/runtime/stop.cpp
M flang-rt/lib/runtime/terminator.cpp
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Runtime/stop.h
M flang/lib/Lower/Runtime.cpp
M flang/lib/Optimizer/Builder/Runtime/Main.cpp
M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
M flang/test/Fir/MIF/init.mlir
Log Message:
-----------
[flang][MIF] Adding Stop and ErrorStop PRIF call procedures (#166787)
This PR proposes to add `Stop` and `ErrorStop` PRIF call procedures to the MIF
dialect. If the `-fcoarray` flag is passed, then all calls to `STOP` and `ERROR
STOP` will use those of PRIF in flang-rt. Thes procedure has been registered
during the initialization (mif::InitOp).
---------
Co-authored-by: Dan Bonachea <dobonachea at lbl.gov>
Commit: ccea75dc12e9c8022e1fa07ebb4bfb686170f35a
https://github.com/llvm/llvm-project/commit/ccea75dc12e9c8022e1fa07ebb4bfb686170f35a
Author: David Tenty <daltenty at ibm.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/unittests/TargetParser/Host.cpp
Log Message:
-----------
[llvm][AIX][unit] skip AIXTargetVersionDetect when target env in effect (#178017)
The unit tests expects OS levels in the default triple to match the
host, but if we are overriding the compiled in default with an
environment setting that may not be the case.
Commit: ecaefc96786604b3b55857c3b8e29164fe7fd9d2
https://github.com/llvm/llvm-project/commit/ecaefc96786604b3b55857c3b8e29164fe7fd9d2
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/level_check.mlir
Log Message:
-----------
Revert "[mlir][tosa] Improve level check error messages" (#178239)
Reverts llvm/llvm-project#174980
Commit: 20014885c36ab2fab24da463d3837e699d02f364
https://github.com/llvm/llvm-project/commit/20014885c36ab2fab24da463d3837e699d02f364
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
A libcxx/cmake/caches/Generic-asan-in-tests-only.cmake
M libcxx/include/__debug_utils/sanitizers.h
M libcxx/include/deque
M libcxx/include/string
A libcxx/test/extensions/libcxx/asan/diagnose_container_overflow_checks_disablement.verify.cpp
A libcxx/test/extensions/libcxx/asan/disable_container_overflow_checks.pass.cpp
M libcxx/test/libcxx/containers/strings/basic.string/asan.pass.cpp
M libcxx/test/libcxx/containers/strings/basic.string/asan_short.pass.cpp
M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
M libcxx/test/support/asan_testing.h
M libcxx/utils/ci/run-buildbot
M libcxx/utils/libcxx/test/features/libcxx_macros.py
Log Message:
-----------
[libc++] Honor __SANITIZER_DISABLE_CONTAINER_OVERFLOW__ in libc++ (#168955)
Address sanitizer recently got a new macro __SANITIZER_DISABLE_CONTAINER_OVERFLOW__
which is intended to disable container overflow checks in libraries (either the
standard library or user libraries that might provide such checks). This patch makes
libc++ honor that macro and, in addition, cleans up how these checks are enabled for
string (which is special) by introducing a macro just for string.
rdar://166234942
Commit: 9e5ef1f13c6159f3222de3e3842e8fb030e532c3
https://github.com/llvm/llvm-project/commit/9e5ef1f13c6159f3222de3e3842e8fb030e532c3
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[Github] Add glob patterns for `clang:ssaf` label (#178079)
This change updates the `new-prs-labeler.yml` file to automatically add
`clang:ssaf` label to PRs that add or modify SSAF headers,
implementation, tests and documentation.
Commit: 24862c2b6003c2b8f7f08aad571eb47355037d3d
https://github.com/llvm/llvm-project/commit/24862c2b6003c2b8f7f08aad571eb47355037d3d
Author: Mikhail Gudim <mgudim at qti.qualcomm.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-emergency-slot.mir
Log Message:
-----------
[RISCV][test] Simplify a test. (#178052)
Commit: 79f5bc4927ecae52138953879f4430a77bfe31e3
https://github.com/llvm/llvm-project/commit/79f5bc4927ecae52138953879f4430a77bfe31e3
Author: kwyatt-ext <kwyatt.external at hpe.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M flang/docs/FortranStandardsSupport.md
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Lower/rank-clause02.f90
A flang/test/Parser/unparse-rank-clause.f90
A flang/test/Semantics/rank-clause01.f90
Log Message:
-----------
[flang] Implemented the RANK clause of an attr-spec, per the Fortran 2023 Standard (#176979)
This implements the RANK clause per the Fortran 2023 Standard. This
includes both the parsing/semantics and un-parsing functionality. It is
a fairly straight-forward change.
An executable test was added that tests the examples from the Fortran
2023 What's New document.
check-flang, check-flang-rt, and llvm-lit tests have been executed
against this change.
---------
Co-authored-by: Kevin Wyatt <kwyatt at hpe.com>
Commit: ae24a90ce6337e24311c6f93d5afc88d96a37481
https://github.com/llvm/llvm-project/commit/ae24a90ce6337e24311c6f93d5afc88d96a37481
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/disjoint-or-reductions.ll
Log Message:
-----------
[SLP][NFC]Add disojoint reduction or tests, which can be represented as bitcasts/bswaps
Commit: d3ebc63fb8744a0474dd52f56d3c56a399744d22
https://github.com/llvm/llvm-project/commit/d3ebc63fb8744a0474dd52f56d3c56a399744d22
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M clang/test/Driver/cl-options.c
Log Message:
-----------
[clang-cl] Handle -fmacro-prefix-map= (#177917)
Commit: fbdb9d32cc2e752ea2d1ea8b2c3606839798d9f4
https://github.com/llvm/llvm-project/commit/fbdb9d32cc2e752ea2d1ea8b2c3606839798d9f4
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/bug177502.f90
Log Message:
-----------
[flang] Symbol for ENTRY with RESULT has Subroutine flag set (#177671)
When creating a HostAssocDetails symbol for an ENTRY statement with an
explicit RESULT, name resolution unconditionally sets the Subroutine
flag on the symbol. Don't do that.
Fixes https://github.com/llvm/llvm-project/issues/177502.
Commit: d69ad211b5da5a1c34848451366f1b0ddb123ccc
https://github.com/llvm/llvm-project/commit/d69ad211b5da5a1c34848451366f1b0ddb123ccc
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/bug177601.f90
Log Message:
-----------
[flang] Missing function-vs-subroutine checks on bindings (#177699)
Derived type procedure bindings aren't always subject to the checks of
the function-vs-subroutine classification flags on their symbol table
entries in name resolution, and we're missing some cases that aren't
caught later in expression semantics, which assumed that name resolution
would have already handled them. So check function-vs-subroutine errors
on bindings in expression semantics entirely.
Fixes https://github.com/llvm/llvm-project/issues/177601.
Commit: cc04746802cb899dcce844383af9e430c2800855
https://github.com/llvm/llvm-project/commit/cc04746802cb899dcce844383af9e430c2800855
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Object/GOFFObjectFile.cpp
M llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
M llvm/lib/ObjectYAML/CodeViewYAMLTypes.cpp
Log Message:
-----------
[perf] Replace copy-assign by move-assign in llvm/lib/Object(YAML)/* (#178177)
Commit: 84cccfc828448bfbde8dc00e13b4219af2c67b44
https://github.com/llvm/llvm-project/commit/84cccfc828448bfbde8dc00e13b4219af2c67b44
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/SampleProfileInference.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[perf] Replace copy-assign by move-assign in llvm/lib/Transforms/* (#178178)
Commit: 4803b0b2696b7c51a8934b3c9b348017de6d07de
https://github.com/llvm/llvm-project/commit/4803b0b2696b7c51a8934b3c9b348017de6d07de
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/SandboxIR/Context.cpp
Log Message:
-----------
[perf] Replace copy-assign by move-assign in llvm/lib/SandboxIR/* (#178180)
Commit: b794baf8e7d315a2eef65d34b32fdeb06d2680b7
https://github.com/llvm/llvm-project/commit/b794baf8e7d315a2eef65d34b32fdeb06d2680b7
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/AMDGPU/R600TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/R600TargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Analysis/CostModel/AArch64/insert-extract.ll
Log Message:
-----------
[TTI] Add VectorInstrContext for context-aware insert/extract costs. (#175982)
This commit introduces the VectorInstrContext (VIC) infrastructure to
improve cost estimates for insert/extracts based on the context
instruction in which the insert/extract is used.
This is similar to CastContextHint, and allows providing context on how
the insert/extract is going to be used before creating IR. This is
useful in the LoopVectorizer, where costs need to estimated before
creating IR.
The new hint currently only replaces an existing check in AArch64,
but new uses will be introduced in follow-ups, including
https://github.com/llvm/llvm-project/pull/177201.
PR: https://github.com/llvm/llvm-project/pull/175982
Commit: 023bfa20131f93a35c405117af3f5267921baa0e
https://github.com/llvm/llvm-project/commit/023bfa20131f93a35c405117af3f5267921baa0e
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/test/CIR/CodeGen/cleanup.cpp
Log Message:
-----------
[CIR] ExprWithCleanups for Complex expr (#178032)
Upstream support ExprWithCleanups for Complex expr
Commit: 23a05130154107fca71e9c4881f6279c42a88cc5
https://github.com/llvm/llvm-project/commit/23a05130154107fca71e9c4881f6279c42a88cc5
Author: David Peixotto <dpeixotto at nvidia.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/RegAllocBasic.h
M llvm/test/CodeGen/AMDGPU/register-killed-error-after-alloc-failure0.mir
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/RegAllocBasicTest.cpp
Log Message:
-----------
[regalloc][basic] Fix non-deterministic codegen in basic register allocator (#177998)
The basic register allocator's priority queue exhibited
non-deterministic behavior when multiple LiveIntervals had identical
spill weights. This caused different register allocation decisions
between ASAN and non-ASAN builds, leading to spurious test failures on
some internal tests.
Root Cause:
The CompSpillWeight comparator only compared spill weights:
```
return A->weight() < B->weight();
```
When two LiveIntervals had equal weights, the comparator returned false
for both comp(A,B) and comp(B,A), making them equivalent in the heap
ordering. The C++ standard does not specify the relative order of
equivalent elements in a heap. In practice, the heap's internal
structure for equivalent elements depends on implementation details and
memory layout. ASAN changes memory layout, leading to different valid
heap configurations and thus different dequeue order.
Fix:
Add an explicit stable tie-breaker using virtual register numbers:
```
return std::tuple(A->weight(), A->reg()) <
std::tuple(B->weight(), B->reg());
```
Register numbers are stable integers independent of memory layout,
ensuring deterministic behavior across all build configurations. When
spill weights are equal, higher-numbered virtual registers are allocated
first, which is equally valid and deterministic.
Test Updates:
Updated test expectations in
CodeGen/AMDGPU/register-killed-error-after-alloc-failure0.mir to reflect
the new deterministic allocation order. When LiveIntervals have equal
spill weights, the allocator now consistently processes them in register
number order rather than in an implementation-defined order.
Commit: 81fa743e3db47f965373138f7e26a812f2967b7e
https://github.com/llvm/llvm-project/commit/81fa743e3db47f965373138f7e26a812f2967b7e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/include/llvm/Support/KnownFPClass.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Support/KnownFPClass.cpp
Log Message:
-----------
ValueTracking: Move sin/cos computeKnownFPClass handling to support (#178240)
These are the same for now but keep the separate names for future
use.
Commit: bfb326e196a0a3361b0c14b32a0107267c98352b
https://github.com/llvm/llvm-project/commit/bfb326e196a0a3361b0c14b32a0107267c98352b
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
Log Message:
-----------
[RegisterCoalescer] Remove unneeded definesFullReg check (#178241)
An equivalent check is already done inside
TargetInstrInfo::isReMaterializable.
Commit: a692d171ec6b278fe502da11f12d636b577d9209
https://github.com/llvm/llvm-project/commit/a692d171ec6b278fe502da11f12d636b577d9209
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Support/KnownFPClass.cpp
M llvm/test/Transforms/Attributor/AMDGPU/nofpclass-amdgcn-log.ll
M llvm/test/Transforms/Attributor/nofpclass-log.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-log.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
ValueTracking: log never returns denormal (#178234)
Commit: 4ca6d8a6bf6b3ab1864a920b7e958f2790b324b7
https://github.com/llvm/llvm-project/commit/4ca6d8a6bf6b3ab1864a920b7e958f2790b324b7
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/level_check.mlir
Log Message:
-----------
Reland: [mlir][tosa] Improve level check error messages (#178248)
This commit adds expected and actual values to the level check error
messages, making it easier for a user to diagnose issues.
Commit: e80de08aa6a4301b8e306607750eaf83c9241e13
https://github.com/llvm/llvm-project/commit/e80de08aa6a4301b8e306607750eaf83c9241e13
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
A llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.atomic.cmpxchg.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-atomic-cmpxchg.mir
Log Message:
-----------
[AMDGPU][GlobalISel] Add RegBankLegalize support for G_ATOMIC_CMPXCHG (#178066)
>From the legalizer, G_ATOMIC_CMPXCHG is legal with local and region pointers.
Global and flat pointers are converted into G_AMDGPU_ATOMIC_CMPXCHG. Implement
rules for both variants.
Commit: 828f14483dc3f194c3e8de730f5fa8ea6348864f
https://github.com/llvm/llvm-project/commit/828f14483dc3f194c3e8de730f5fa8ea6348864f
Author: Justin Stitt <justinstitt at google.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[Clang] Invert emptiness check for correctness (#178068)
Fix a bug in a deferred call which was supposed to clear the `DeclForInitializer` field but was doing so incorrectly because the emptiness check needs to be inverted.
Commit: 2158b83f61a788a4027f5f22d24f86eac43f42a5
https://github.com/llvm/llvm-project/commit/2158b83f61a788a4027f5f22d24f86eac43f42a5
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
A clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
A clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
Add nodelete annotation for WebKit checkers with a new checker for validation (#177839)
This PR adds the support for specifying
`[[clang::annotate_type("webkit.nodelete")]]` on a function return type,
in which case, the whole function is considered "trivial" or more
precisely that it does not trigger any destruction of an object.
This PR also introduces alpha.webkit.NoDeleteChecker which validates
soundness of the annotation by examining the function body. The checker
will warn if `[[clang::annotate_type("webkit.nodelete")]]` is specified
on a function with a body which does not pass the triviality test.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: ff79d7d1bf0415e52ad542b059c55f0e92b3bad6
https://github.com/llvm/llvm-project/commit/ff79d7d1bf0415e52ad542b059c55f0e92b3bad6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
Log Message:
-----------
InstCombine: Apply demanded mask at recursion limit in SimplifyDemandedFPClass (#178157)
This fixes missed flag inference in some cases, due to not inferring
no-nan result implies no-nan source. Also start treating explicit
nofpclass
attributes as a leaf value, like a constant or argument.
Commit: 909041e4802c4b9a2223ca04099f35bf1dbbd460
https://github.com/llvm/llvm-project/commit/909041e4802c4b9a2223ca04099f35bf1dbbd460
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/copysign.ll
Log Message:
-----------
InstCombine: Check one use before trying to simplify copysign sign (#178251)
Fixes #178245
Commit: 934638cc6e0548a1eaae90a32761d9e11822020a
https://github.com/llvm/llvm-project/commit/934638cc6e0548a1eaae90a32761d9e11822020a
Author: Ayush Kumar Gaur <132849148+Ayush3941 at users.noreply.github.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M mlir/lib/Conversion/TosaToSCF/TosaToSCF.cpp
A mlir/test/Conversion/TosaToSCF/tosa-to-scf-invalid.mlir
Log Message:
-----------
[MLIR][TOSA] Guard scatter lowering against unranked operand (#178188)
### What the problem
--tosa-to-scf crashes when lowering tosa.scatter if operands are
unranked, because the lowering assumes RankedTensorType and later builds
tensor.extract_slice, which asserts on unranked tensors.
### Why it Happened
The current pattern does not check operand ranks before lowering, even
though the implementation hardcodes 3D (N,W,C) semantics and cannot
handle unranked or differently-ranked tensors.
### Whats The Fix
Add rank/type guards in ScatterOpConverter and fail the rewrite unless
operands are ranked with expected ranks (values/input: rank-3, indices:
rank-2), allowing legalization to fail gracefully instead of crashing.
Fixes #177966
Commit: a451344abac1b3be5172539811c7a75056940498
https://github.com/llvm/llvm-project/commit/a451344abac1b3be5172539811c7a75056940498
Author: Jakob Koschel <jakobkoschel at google.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
Log Message:
-----------
[libc] fix LIBC_CONF_ENABLE_STRONG_STACK_PROTECTOR (#178136)
In order to apply the stack protector correctly to the compile options,
we need to make sure to use the same config name everywhere.
`LIBC_CONF_ENABLE_STACK_PROTECTOR` seems to be outdated and all other
places specify `LIBC_CONF_ENABLE_STRONG_STACK_PROTECTOR` and it should
therefore be updated here as well.
Commit: 6826f1a6f35b690b604bc81bfe73a5b743905303
https://github.com/llvm/llvm-project/commit/6826f1a6f35b690b604bc81bfe73a5b743905303
Author: Andrew Haberlandt <ahaberlandt at apple.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M compiler-rt/lib/asan/asan_rtl.cpp
Log Message:
-----------
[ASan] Fix UnpoisonDefaultStack stack bottom estimation (#178137)
UnpoisonDefaultStack estimates the stack bottom as:
```
bottom = ((uptr)&local_stack - page_size) & ~(page_size - 1);
```
However, this can try to poision memory that doesn't have a shadow (i.e.
AddrIsInMem(x) is false) if the local_stack variable is within two pages
of the actual bottom of the space available for stack. This causes the
unpoison-alternate-stack.cpp test (which allocates a very small stack)
to fail.
This PR changes this computation to check AddrIsInMem before subtracting
the additional page.
rdar://82645815
Commit: 42ce6f1b532d21197a8207f4ccd0b6f93220807e
https://github.com/llvm/llvm-project/commit/42ce6f1b532d21197a8207f4ccd0b6f93220807e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/tools/llvm-tli-checker/llvm-tli-checker.cpp
Log Message:
-----------
llvm-tli-checker: Print custom name instead of standard name (#178265)
Previously this always printed the standard name if the function
was available, leaving any custom name override untested. Print the
target's name instead. The message should possibly include the standard
name for reference.
Closes #142537
Commit: c960499255a04e402d118d86a00ebcf1a8942ac9
https://github.com/llvm/llvm-project/commit/c960499255a04e402d118d86a00ebcf1a8942ac9
Author: Steven Perron <stevenperron at google.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
Log Message:
-----------
Revert "[HLSL] Improve HLSL resource method generation" (#178266)
Reverts llvm/llvm-project#176806
This is causing memsan failures related to the source locations for cast
instructions we are not generating. The failure is not straight forward
to fix, so I will revert this while I work on a fix.
Commit: 3f5a5d45d18a514f086f3e07c9676ca5fb95bbe9
https://github.com/llvm/llvm-project/commit/3f5a5d45d18a514f086f3e07c9676ca5fb95bbe9
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/constant_folding.mlir
Log Message:
-----------
[mlir][tosa] Add constant folding support for `tosa.dim` (#176975)
This enhances shape inference.
Commit: beb440566496fb0577ac82c76c2cc3bf28b6bae5
https://github.com/llvm/llvm-project/commit/beb440566496fb0577ac82c76c2cc3bf28b6bae5
Author: Nico Weber <thakis at chromium.org>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/CAS/BUILD.gn
Log Message:
-----------
[gn] Handle llvm_enable_ondisk_cas better for CASTests
Commit: 16722ff5e2579bcaf4de2024aa2aeaccc84a1be2
https://github.com/llvm/llvm-project/commit/16722ff5e2579bcaf4de2024aa2aeaccc84a1be2
Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/include/llvm/Support/BranchProbability.h
M llvm/include/llvm/Support/SourceMgr.h
Log Message:
-----------
llvm: Add `LLVM_ABI` annotations in SourceMgr and BranchProbability (#177344)
These were found as part of an unrelated change in #174892 [1].
This effort is tracked in #109483.
[1]
https://github.com/llvm/llvm-project/pull/174892#issuecomment-3740884157
Commit: 774279f012ab56ae24730a9436f97d1160955f78
https://github.com/llvm/llvm-project/commit/774279f012ab56ae24730a9436f97d1160955f78
Author: Lucas Chollet <lucas.chollet at free.fr>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-cov.rst
M llvm/test/tools/llvm-cov/ignore-filename-regex.test
A llvm/test/tools/llvm-cov/include-and-exlude-filename-regex.test
A llvm/test/tools/llvm-cov/include-filename-regex.test
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/tools/llvm-cov/CoverageFilters.cpp
M llvm/tools/llvm-cov/CoverageFilters.h
Log Message:
-----------
[llvm-cov] Introduce `-include-filename-regex` (#175779)
This allows to filter the source directory so the coverage outputs only includes the files matching the regex.
Commit: 4ccdd2ffaccf619bb45482e9591c2aae5b5c53f8
https://github.com/llvm/llvm-project/commit/4ccdd2ffaccf619bb45482e9591c2aae5b5c53f8
Author: Michael G. Kazakov <mike.kazakov at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M libcxx/include/__algorithm/pstl.h
M libcxx/include/__pstl/backend_fwd.h
M libcxx/include/__pstl/backends/default.h
M libcxx/test/libcxx/algorithms/pstl.nodiscard.verify.cpp
A libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/pstl.is_sorted.pass.cpp
A libcxx/test/std/algorithms/alg.sorting/alg.sort/is.sorted/pstl.is_sorted_comp.pass.cpp
M libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp
Log Message:
-----------
[libc++][pstl] Generic implementation of parallel std::is_sorted (#176129)
This PR implements a generic backend-agnostic parallel `std::is_sorted`
based on `std::transform_reduce`.
While this approach is suboptimal comparing a direct backend-specific
implementation, since it doesn't support early termination and requires
a reduction operation, it does show speedup when the dataset is large
enough and the comparator is not absolutely trivial.
Parent issue: #99938
Commit: 18280cfd933368463b2a9ab5216e87224e112be0
https://github.com/llvm/llvm-project/commit/18280cfd933368463b2a9ab5216e87224e112be0
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.h
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCTypeInterfaces.td
M mlir/unittests/Dialect/OpenACC/CMakeLists.txt
A mlir/unittests/Dialect/OpenACC/OpenACCTypeInterfacesTest.cpp
Log Message:
-----------
[flang][acc] Use ReducibleType interface on LogicalType (#178253)
Introduce a new ReducibleType type interface in the OpenACC dialect that
provides a type-aware mechanism for translating OpenACC reduction
operators to arith::AtomicRMWKind values. This interface should be
attached to value types that can participate in OpenACC reductions.
For FIR, implement this interface on fir::LogicalType to handle the
AccLand and AccLor reduction operators, which map to
arith::AtomicRMWKind::andi and ori respectively.
Commit: a2fb416b53c0505c191f1913e9eb2a3b9b877f9d
https://github.com/llvm/llvm-project/commit/a2fb416b53c0505c191f1913e9eb2a3b9b877f9d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
R libcxx/test/benchmarks/algorithms/lower_bound.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/lower_upper_bound.bench.cpp
Log Message:
-----------
[libc++] Rewrite the std::lower_bound benchmark to be more efficient and add an upper_bound benchmark (#177180)
The current benchmark is incredibly slow to run. This patch refactors
the benchmark to be faster and also adds an equivalent benchmark for
`std::upper_bound`.
Fixes #177026
Commit: bdfe03bbceeb063b5ff9df9bcb31a3db870fcf62
https://github.com/llvm/llvm-project/commit/bdfe03bbceeb063b5ff9df9bcb31a3db870fcf62
Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/test/CodeGen/Mips/musttail-forward-declaration.c
A clang/test/CodeGen/Mips/musttail-pic.c
A clang/test/CodeGen/Mips/musttail-visibility.c
A clang/test/CodeGen/Mips/musttail-weak.c
A clang/test/CodeGen/Mips/musttail.c
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
A llvm/test/CodeGen/Mips/musttail.ll
Log Message:
-----------
[MIPS][ISel] Fix musttail (#161860)
Properly handle clang::musttail attribute on MIPS backend.
It fixes: https://github.com/llvm/llvm-project/issues/161193
Commit: c183af34af4d94ea58a17ec189471cb0df24f326
https://github.com/llvm/llvm-project/commit/c183af34af4d94ea58a17ec189471cb0df24f326
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGen/noreturn.cpp
M clang/test/CIR/CodeGenBuiltins/builtin_call.cpp
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/func.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/function-attributes.ll
M mlir/test/Target/LLVMIR/Import/instructions.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[CIR] Implement 'noreturn' attribute for functions/calls. (#177978)
This mirrors what LLVM does, and requires propagating into the LLVM
dialect: When the user specifies 'noreturn' we propagate this down
throughout the stack.
Note the similar 'willreturn' is too strong of a guarantee (in that they
are not opposites of each other, as there is a 'unknown' implied by all
others), so we cannot use that on non-noreturn functions.
Commit: 2753e1dedfff36596cb1af2c6522614094db6cbf
https://github.com/llvm/llvm-project/commit/2753e1dedfff36596cb1af2c6522614094db6cbf
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/arith-int.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/load-binop-store.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
Log Message:
-----------
[RISCV] Set the reciprocal throughtput cost for division to TTI::TCC_Expensive (#177516)
Fixes #176208. Scaled back version of #176515 that only affects the RISCV backend.
Only modifies the cost for cases when DIV is a legal operation.
Updates the cost for both Scalar and Vector types.
Used `TTI::TCC_Expensive` as suggested by
https://github.com/llvm/llvm-project/issues/176208#issuecomment-3760902537.
---------
Co-authored-by: Luke Lau <luke_lau at icloud.com>
Commit: 9ec6a12dda5061db1b4a190881c152fb3bd0d1d6
https://github.com/llvm/llvm-project/commit/9ec6a12dda5061db1b4a190881c152fb3bd0d1d6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Replace VPatBinaryV_VX_VROTATE with VPatBinaryV_VX. NFC (#178254)
VPatBinaryV_VX_VROTATE appeared to be almost exact copy and paste of
VPatBinaryV_VX except it used 'XLenVT' instead of 'vti.Scalar'.
'vti.Scalar' is 'XLenVT' for integer vectors so this wasn't a real
difference.
This change allows VV_VX or VV_VX_VI combination classes to be used,
further reducing the code.
No tablegen outputs change with this patch.
Commit: f2921e536bb03bbef73a0e5740c518545cf997ee
https://github.com/llvm/llvm-project/commit/f2921e536bb03bbef73a0e5740c518545cf997ee
Author: Alan Zhao <ayzhao at google.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-with-selects.ll
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[InstCombine][profcheck] More fixes for missing branch data in InstCombineCompares.cpp (#178084)
Again, these fixes are trivial as we're creating new select instructions
with predicates from existing select instructions.
In this case, we create one select instruction from two existing select
instructions, but since both existing select instructions have the same
predicate, their profile data should be the same, so we can reuse the
profile data from either instruction. Therefore, we arbitrarily reuse
the profile data from the first select instruction.
Tracking issue: #147390
Commit: bc6aab2a3a56149f33f8dd7a9d7cb5f017bba865
https://github.com/llvm/llvm-project/commit/bc6aab2a3a56149f33f8dd7a9d7cb5f017bba865
Author: valadaptive <79560998+valadaptive at users.noreply.github.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/round-fptosi-sat-scalar.ll
M llvm/test/CodeGen/AArch64/round-fptoui-sat-scalar.ll
Log Message:
-----------
[AArch64] Add missing GlobalISel patterns to round+convert multiclass (#177799)
This allows GlobalISel to fuse floating point round+convert operations
in the same way as SelectionDAG.
Commit: e470fa2e1b9dadd58a2affcbc79013fce3d441ac
https://github.com/llvm/llvm-project/commit/e470fa2e1b9dadd58a2affcbc79013fce3d441ac
Author: dyung <douglas.yung at sony.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/test/CodeGen/stack-protector-vars.cpp
Log Message:
-----------
Add -emit-llvm to RUN line for test added in #173311. (#178271)
Should fix the test failure on buildbots that do not build the x86
backend such as
https://lab.llvm.org/buildbot/#/builders/190/builds/35171 and
https://lab.llvm.org/buildbot/#/builders/154/builds/26976.
Commit: 4239e858fee7998b0dbc1decf24f230cddc2e83d
https://github.com/llvm/llvm-project/commit/4239e858fee7998b0dbc1decf24f230cddc2e83d
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/test/CodeGen/AArch64/nontemporal-load.ll
M llvm/test/Transforms/LoopVectorize/AArch64/nontemporal-load-store.ll
Log Message:
-----------
[AArch64] Align nontemporal store/load little-endian checks (#177468)
This patch aims to align all nontemporal store/load handling to
systematically enforce a little-endian target. This has been the
effective support LLVM had for NT store/load lowering (there has been no
effective support for big-endian, even with the inconsistencies).
The change in `llvm/lib/Target/AArch64/AArch64InstrInfo.td` is
effectively a NFC, because the only lowering of LDNP, in
`llvm/lib/Target/AArch64/AArch64ISelLowering.cpp`, have already checked
for `isLittleEndian`. The change in
`llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h` affects its
single caller
`llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp`. The
previous logic has been wrong, enabling vectorization of effectively
illegal nontemporal store/load instructions on big-endian.
Commit: 85812fde9e09fe870f3005cbf54c0144df21eaaa
https://github.com/llvm/llvm-project/commit/85812fde9e09fe870f3005cbf54c0144df21eaaa
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M polly/lib/Transform/ZoneAlgo.cpp
Log Message:
-----------
[Polly][DeLICM] Check for error state (#178281)
When the ISL max-operations is exceeded, `is_wrapping` will return an
error state. Propagate the error state to the caller.
Fixes #175953
Commit: 94f8a32f3d8fc62a84200210179f04fd41774f66
https://github.com/llvm/llvm-project/commit/94f8a32f3d8fc62a84200210179f04fd41774f66
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Fix macOS lldb BUILD (#178274)
Missing dep + a layering_check violation in macOS only deps (not tested
on current CI)
Commit: 72147b4f61c52e095aab2cab3423d1c4161bd9d8
https://github.com/llvm/llvm-project/commit/72147b4f61c52e095aab2cab3423d1c4161bd9d8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrFormatsV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Remove RVInstV2. NFC (#177901)
It only as 2 users and RVInstV2 isn't a good name. We can use RVInstVX
and set vs2 to 0 at the definition.
Commit: 90cc5a4618903e0832517f3be0d58deaf9f49c2c
https://github.com/llvm/llvm-project/commit/90cc5a4618903e0832517f3be0d58deaf9f49c2c
Author: Vikas Patel <55973740+vkpatel186 at users.noreply.github.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add ObjCSpaceBeforeMethodDeclColon option to control space before Objective-C method return type (#170579)
[clang-format] Add ObjCSpaceBeforeMethodDeclColon option to control
space before Objective-C method return type
This patch introduces the ObjCSpaceBeforeMethodDeclColon style option,
allowing users to add or remove a space between the '-'/'+' and the
return type in Objective-C method declarations (e.g., '- (void)method'
vs '-(void)method').
Includes documentation and unit tests.
Commit: fcd0ef005d3fd7cf0d5f38bec20bbf3484f60092
https://github.com/llvm/llvm-project/commit/fcd0ef005d3fd7cf0d5f38bec20bbf3484f60092
Author: valadaptive <79560998+valadaptive at users.noreply.github.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-cvt-simd-fptoi.ll
M llvm/test/CodeGen/AArch64/round-conv.ll
M llvm/test/CodeGen/AArch64/round-fptosi-sat-scalar.ll
M llvm/test/CodeGen/AArch64/round-fptoui-sat-scalar.ll
Log Message:
-----------
[AArch64] Fuse froundeven+convert into single instruction (#177800)
Stacked on https://github.com/llvm/llvm-project/pull/177799.
We're already able to fuse `fceil`, `ffloor`, `ftrunc`, and `fround`
followed by a float-to-int conversion into a single "rounded conversion"
instruction. However, we were not doing this for `froundeven`, even
though there's a "convert to integer, rounding to even" instruction
(`FCVTNS`/`FCVTNU`).
Commit: f8e59085620cbe5b7f65d92e211d037c47a6197b
https://github.com/llvm/llvm-project/commit/f8e59085620cbe5b7f65d92e211d037c47a6197b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Log Message:
-----------
[gn build] Port 2158b83f61a7
Commit: 0e4ce03e7ebcff838cde28aa479cb0639ff61c13
https://github.com/llvm/llvm-project/commit/0e4ce03e7ebcff838cde28aa479cb0639ff61c13
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 23a051301541
Commit: e7780836e1d37e34bce003e0d9308fceb34506a2
https://github.com/llvm/llvm-project/commit/e7780836e1d37e34bce003e0d9308fceb34506a2
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port b285745dc1a4
Commit: 90b5ec12264967feb8bb257c17c7821f5b1f4dce
https://github.com/llvm/llvm-project/commit/90b5ec12264967feb8bb257c17c7821f5b1f4dce
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
A llvm/test/CodeGen/AMDGPU/debug-independence-revertScheduling.ll
Log Message:
-----------
[AMDGPU] revertScheduling must behave the same with or without debug (#177483)
When revertScheduling reorders instructions only update LiveIntervals if
non-debug instructions have been re-ordered. Otherwise code-generation
can change with debug info.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 4a60ee93328c9cbaf2e2acaec20ab6fa2211586b
https://github.com/llvm/llvm-project/commit/4a60ee93328c9cbaf2e2acaec20ab6fa2211586b
Author: Sean Perry <perry at ca.ibm.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/test/Sema/pragma-export-failing.cpp
Log Message:
-----------
[SystemZ][asan] Handle error of pragma in struct so memory clean up happens (#178243)
I missed the other failing case for pragmas in declarations with the fix
in #177979. Anytime the pragma is tokenized, the parser needs to call
HandlePragmaExport() so the allocated token is consumed completely by
EnterTokenStream().
Commit: 9e62b779cc9114fcb4e8bc48c6090c6e90eeb2e3
https://github.com/llvm/llvm-project/commit/9e62b779cc9114fcb4e8bc48c6090c6e90eeb2e3
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/ConstantRangeList.cpp
Log Message:
-----------
[perf] Replace copy-assign by move-assign in llvm/lib/IR/* (#178175)
Commit: 9bdaebbeae4ce2e5fda875d901eda402c47d8355
https://github.com/llvm/llvm-project/commit/9bdaebbeae4ce2e5fda875d901eda402c47d8355
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/__atomic/atomic_sync_timed.h
M libcxx/include/__atomic/atomic_waitable_traits.h
Log Message:
-----------
[libc++] Remove a bunch of unused includes from <atomic> detail headers (#178161)
Commit: 3446ff1e672e16347bb7e9bbc2b36ce501d471c7
https://github.com/llvm/llvm-project/commit/3446ff1e672e16347bb7e9bbc2b36ce501d471c7
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Transforms/AllReduceLowering.cpp
M mlir/test/Dialect/GPU/all-reduce-add.mlir
M mlir/test/Dialect/GPU/all-reduce-maxf.mlir
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir] Update all-reduce (& vector tests) to use workgroup barriers (#178285)
This commit updates the lowering of all-reduce operations to annotate
the generated barriers with `memfence [#gpu.address_space<workgroup>]`
so that these barriers do not force unrelated global memory operations
to complete. It similarly sets up the warp synchronization function in
the vectory distribuhte tests, since they also only read/write shared
memory.
In additon, this commit adds convenience builders for gpu.barrier, which
will allow it to either fence on a given address space or on the address
space of a provided memref.
Commit: 419f5583889d8bc02ccf62648335286f0ae76311
https://github.com/llvm/llvm-project/commit/419f5583889d8bc02ccf62648335286f0ae76311
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/IR/Intrinsics.cpp
A llvm/test/Assembler/invalid-interleave.ll
Log Message:
-----------
[Intrinsics] Check that element count is a valid multiple before calling VectorType::getOneNthElementsVectorType. (#178283)
Fixes #178275
Commit: e2427281c61f2cb60d09e717c56c0db7cdf4b423
https://github.com/llvm/llvm-project/commit/e2427281c61f2cb60d09e717c56c0db7cdf4b423
Author: timon-ul <timon.ulrich at advantest.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
Log Message:
-----------
[clangd] Find implementations recursively (#177564)
This makes `textDocument/implementation` return not just direct implementations
(e.g. directly derived classes) but indirect ones (e.g. derived classes of derived
classes) as well.
This is a step towards fixing https://github.com/clangd/clangd/issues/2499.
Commit: 36acae1124150287d046b0c2a51c8598d6faaf5c
https://github.com/llvm/llvm-project/commit/36acae1124150287d046b0c2a51c8598d6faaf5c
Author: GeorgeHuyubo <113479859+GeorgeHuyubo at users.noreply.github.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M lldb/include/lldb/Core/ModuleSpec.h
M lldb/source/Core/ModuleList.cpp
M lldb/source/Target/TargetList.cpp
M lldb/unittests/Target/LocateModuleCallbackTest.cpp
Log Message:
-----------
[lldb] Enable locate module callback for main executable in launch mode (#176266)
During target creation for launch mode, the locate module callback was
not invoked for the main executable because the Target doesn't exist yet
when ModuleList::GetSharedModule is called. This prevented custom module
location logic from being applied to the main executable.
This change adds a PlatformSP to ModuleSpec so that GetSharedModule can
call the locate module callback using the Platform directly, even when
Target is not available. The Platform is now set on the ModuleSpec in
TargetList::CreateTargetInternal before calling ResolveExecutable.
Co-authored-by: George Hu <georgehuyubo at gmail.com>
Commit: ba7b621c477f9824b52afa74d134f4806946ec84
https://github.com/llvm/llvm-project/commit/ba7b621c477f9824b52afa74d134f4806946ec84
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/test/Driver/riscv-cpus.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
R llvm/lib/Target/RISCV/RISCVSchedTTAscalonD8.td
A llvm/lib/Target/RISCV/RISCVSchedTTAscalonX.td
R llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/fp.s
R llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/fx.s
R llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/vdiv_vsqrt.s
R llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/vislide-vx.s
R llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/vle-vse-vlm.s
R llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/vlse-vsse.s
R llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/vlseg-vsseg.s
R llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/vlxe-vsxe.s
R llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/vmv.s
R llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/vreduce.s
R llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/vrgather-vcompress.s
R llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/vshift-vmul.s
A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-x/fp.s
A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-x/fx.s
A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-x/vdiv_vsqrt.s
A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-x/vislide-vx.s
A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-x/vle-vse-vlm.s
A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-x/vlse-vsse.s
A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-x/vlseg-vsseg.s
A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-x/vlxe-vsxe.s
A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-x/vmv.s
A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-x/vreduce.s
A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-x/vrgather-vcompress.s
A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-x/vshift-vmul.s
Log Message:
-----------
[RISCV] Rename Tenstorrent Ascalon D8 to Ascalon X (#178199)
As per the official release document. D8 is a former name, used
internally.
Ref: Brief from https://tenstorrent.com/en/ip/risc-v-cpu
Commit: a7f9621a498637102a57b85dd977585e9070796d
https://github.com/llvm/llvm-project/commit/a7f9621a498637102a57b85dd977585e9070796d
Author: valadaptive <79560998+valadaptive at users.noreply.github.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-vcvt-fptoi.ll
M llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
Log Message:
-----------
[AArch64] Add vector floating-point round+convert patterns (#177801)
Stacked on https://github.com/llvm/llvm-project/pull/177800.
We were previously able to fuse *scalar* floating-point round + convert
to integer sequences into a single "rounding conversion" instruction.
This PR extends that to vectors.
Commit: 93ed74c8905926a6fa97fd0c8cfd7954469d03f3
https://github.com/llvm/llvm-project/commit/93ed74c8905926a6fa97fd0c8cfd7954469d03f3
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
Log Message:
-----------
[lldb] Fix unchecked llvm::Expected in ObjectFileWasm (#178299)
Don't discard the llvm::Error when we fail to parse the module or field
name.
Commit: 5b98c9be179fb838d57e16fc40b2b18b417cf06c
https://github.com/llvm/llvm-project/commit/5b98c9be179fb838d57e16fc40b2b18b417cf06c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M openmp/device/CMakeLists.txt
M openmp/device/include/Synchronization.h
M openmp/device/src/Synchronization.cpp
Log Message:
-----------
[OpenMP] Small fixes after refactoring and adding SPIR-V support
Commit: 4aaf7ed74bba1a27ed6056177ad95deaec7e8b80
https://github.com/llvm/llvm-project/commit/4aaf7ed74bba1a27ed6056177ad95deaec7e8b80
Author: Hansang Bae <hansang.bae at intel.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M offload/include/Shared/Debug.h
Log Message:
-----------
[Offload] Allow specifying debug level with `all` debug type (#178213)
This change allows users to specify debug level with `all` debug type.
The effect of `all:<num>` is equivalent to `<num>`.
Commit: a46366d7ccaf7618e77751786cd089f8090c9127
https://github.com/llvm/llvm-project/commit/a46366d7ccaf7618e77751786cd089f8090c9127
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/test/CodeGen/Mips/musttail.c
Log Message:
-----------
[MIPS][ISel] Write irrelevant test output to /dev/null (#178304)
This allows the test to run on read-only file systems. Fixes
bdfe03bbceeb063b5ff9df9bcb31a3db870fcf62.
Commit: 35c3669898c02c30e5cb29e08ad8f81dbdb38354
https://github.com/llvm/llvm-project/commit/35c3669898c02c30e5cb29e08ad8f81dbdb38354
Author: Volodymyr Sapsai <vsapsai at apple.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/lib/Frontend/CompilerInstance.cpp
Log Message:
-----------
[Modules] Add information to stack dump about the built module when clang crashes. (#178108)
This patch adds the functionality to print current module name and
module file at a crash that mirrors `remark_module_build`'s output.
Commit: f368f52a8ddec00ed9b5a7a8b3985522875cccb4
https://github.com/llvm/llvm-project/commit/f368f52a8ddec00ed9b5a7a8b3985522875cccb4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/rv64zbc-intrinsic.ll
M llvm/test/CodeGen/RISCV/rv64zbc-zbkc-intrinsic.ll
Log Message:
-----------
[RISCV] Add signext attribute to llvm.clmul test caes in rv64zbc(-zbkc)-intrinsic.ll. NFC (#178236)
This shows an extra instruction in the clmulr case. We could replace
clmulh+srli+sext.w with clmulr+srai.
Commit: 3837db12e76c783f95a82804f74762453d6b4475
https://github.com/llvm/llvm-project/commit/3837db12e76c783f95a82804f74762453d6b4475
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvqdotq.td
Log Message:
-----------
[RISCV] Correct the Predicates for Zvqdotq patterns. NFC (#178295)
The _VL patterns only had GetTypePredicate. The intrinsic predicates
only had Zvqdot. This patch updates them both to use Zvqdot and
GetTypePredicate.
NFC because illegal types and opcodes shouldn't reach isel.
Commit: 956485d39a63e9bdeeb1bd3c5efc303935558125
https://github.com/llvm/llvm-project/commit/956485d39a63e9bdeeb1bd3c5efc303935558125
Author: Alex Langford <alangford at apple.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/source/Core/Module.cpp
Log Message:
-----------
[lldb][NFC] Remove ObjectFile::ResolveSymbolForAddress (#177479)
Nothing overrides this method and the base class's implementation
returns nullptr.
Commit: 9ca02a13a484ae351a4ba6dba725a4d232728dcb
https://github.com/llvm/llvm-project/commit/9ca02a13a484ae351a4ba6dba725a4d232728dcb
Author: Alex Langford <alangford at apple.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M lldb/include/lldb/Target/DynamicLoader.h
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Core/Address.cpp
M lldb/source/Core/Disassembler.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h
M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/JSON/SymbolFileJSON.cpp
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Symbol/SymbolFileOnDemand.cpp
M lldb/source/Symbol/Symtab.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrameRecognizer.cpp
M lldb/source/Target/ThreadPlanShouldStopHere.cpp
M lldb/unittests/ObjectFile/MachO/TestObjectFileMachO.cpp
M lldb/unittests/Symbol/SymtabTest.cpp
Log Message:
-----------
[lldb][NFC] Mark Symbol pointers as const where easily possible (#177472)
These are the places that required no modifications to surrounding code.
Commit: 339f7795708921fbd07ce063956abaa6238d49fe
https://github.com/llvm/llvm-project/commit/339f7795708921fbd07ce063956abaa6238d49fe
Author: Abhinav Gaba <abhinav.gaba at intel.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/test/OpenMP/declare_mapper_codegen.cpp
M clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_codegen.cpp
M clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_codegen.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
M offload/libomptarget/omptarget.cpp
A offload/test/mapping/declare_mapper_target_checks.cpp
Log Message:
-----------
Reland "[OpenMP][Mappers] Fix ref-count tracking for maps inserted by mappers. (#177059)" (#177673)
This reverts commit 5a457837dd988aa01c65820848381a5b99a74c0a.
Includes the test fix from
https://github.com/llvm/llvm-project/pull/177659.
The test had to be updated to exclude a scenario that was failing
with/without the change (involving mapping a struct with a byref member
with a mapper).
-----
**Original PR's description:**
This is a fix for https://github.com/llvm/llvm-project/issues/61636.
Ravi had this implemented downstream before he retired. This PR is a
chery-pick of that.
The test is taken from @jdoerfert's WIP change in
https://github.com/jdoerfert/llvm-project/commit/527bf4b1293f452aac1f872c4f771c7950b911f9.
The change partially undoes the changes done in
0caf736d7e1d16d1059553fc28dbac31f0b9f788, so @alexey-bataev might need
to take a look.
Commit: 1d379d05d46d77b5f008349cc14de27dd055f4b9
https://github.com/llvm/llvm-project/commit/1d379d05d46d77b5f008349cc14de27dd055f4b9
Author: Akshay Deodhar <adeodhar at nvidia.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
R llvm/test/CodeGen/NVPTX/atomicrmw-expand.ll
A llvm/test/CodeGen/NVPTX/atomicrmw-sm60.ll
A llvm/test/CodeGen/NVPTX/atomicrmw-sm70.ll
A llvm/test/CodeGen/NVPTX/atomicrmw-sm90.ll
A llvm/test/CodeGen/NVPTX/atomicrmw.py
M llvm/test/CodeGen/NVPTX/atomics-sm60.ll
R llvm/test/CodeGen/NVPTX/atomics-sm70.ll
R llvm/test/CodeGen/NVPTX/atomics-sm90.ll
M llvm/test/CodeGen/NVPTX/atomics.ll
M llvm/test/CodeGen/NVPTX/distributed-shared-cluster.ll
M llvm/test/CodeGen/NVPTX/lit.local.cfg
Log Message:
-----------
[NVPTX][AtomicExpandPass] Complete support for AtomicRMW in NVPTX (#176015)
This PR adds full support for atomicrmw in NVPTX. This includes:
- Memory order and syncscope support (changes in AtomicExpandPass.cpp,
NVPTXIntrinsics.td)
- Script-generated tests for integer and atomic operations
(atomicrmw.py, atomicrmw-sm*.ll in tests/CodeGen/NVPTX). Existing
atomics tests which are subsumed by these have been removed
(atomics-sm*.ll, atomics.ll, atomicrmw-expand.ll).
- ~~Changes shouldExpandAtomicRMWInIR to take a constant argument: This
is to allow some other TargetLowering constant-argument functions to
call it. This change touches several backends. An alternative solution
exists, but to me, this seems the "right" way.~~ Has been split out into
https://github.com/llvm/llvm-project/pull/176073. Rebased.
- NOTE: The initial load issued for atomicrmw emulation loops (and
cmpxchg emulation loops) must be a strong load. Currently,
AtomicExpandPass issues a weak load. Fixing this breaks several
backends. I'm planning to follow up with a separate PR.
Commit: 3b0880a2c270c3bd493f39b2812afc7984198d8c
https://github.com/llvm/llvm-project/commit/3b0880a2c270c3bd493f39b2812afc7984198d8c
Author: Ian Anderson <iana at apple.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang/test/ClangScanDeps/modules.cpp
Log Message:
-----------
[clang][test][NFC] Fix more dependency test failures (#178313)
The bots found another spot where the path to SDKSettings.json is short
enough to go on the same line as the file in the output.
Commit: 8a62457c10229c2e3bb4d6a2499f0e63b3901ddc
https://github.com/llvm/llvm-project/commit/8a62457c10229c2e3bb4d6a2499f0e63b3901ddc
Author: Akshay Deodhar <adeodhar at nvidia.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/atomicrmw-expand.ll
R llvm/test/CodeGen/NVPTX/atomicrmw-sm60.ll
R llvm/test/CodeGen/NVPTX/atomicrmw-sm70.ll
R llvm/test/CodeGen/NVPTX/atomicrmw-sm90.ll
R llvm/test/CodeGen/NVPTX/atomicrmw.py
M llvm/test/CodeGen/NVPTX/atomics-sm60.ll
A llvm/test/CodeGen/NVPTX/atomics-sm70.ll
A llvm/test/CodeGen/NVPTX/atomics-sm90.ll
M llvm/test/CodeGen/NVPTX/atomics.ll
M llvm/test/CodeGen/NVPTX/distributed-shared-cluster.ll
M llvm/test/CodeGen/NVPTX/lit.local.cfg
Log Message:
-----------
Revert "[NVPTX][AtomicExpandPass] Complete support for AtomicRMW in NVPTX (#176015)" (#178329)
This reverts commit 1d379d05d46d77b5f008349cc14de27dd055f4b9. This
change breaks llvm-nvptx-nvidia-win in the buildbot.
Commit: cf4ce383b3c7776c06ee744acebfec1e0c1c946d
https://github.com/llvm/llvm-project/commit/cf4ce383b3c7776c06ee744acebfec1e0c1c946d
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/cmake/caches/hexagon-unknown-linux-musl-clang-cross.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-dylib.cmake
Log Message:
-----------
[hexagon] Add dylib cmake + toolchain_only (#177247)
The toolchains take up much less space when we enable dylib, so let's
create an option to build them that way.
Also: TOOLCHAIN_ONLY was ineffective in
hexagon-unknown-linux-musl-clang-cross.cmake because cmake takes the
first setting from hexagon-unknown-linux-musl-clang.cmake with
precedence. FORCE it to fix that issue.
Signed-off-by: Brian Cain <brian.cain at oss.qualcomm.com>
Commit: d733771113339608aff6002d1fa89aaf4a51c502
https://github.com/llvm/llvm-project/commit/d733771113339608aff6002d1fa89aaf4a51c502
Author: Nico Weber <thakis at chromium.org>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
Log Message:
-----------
Revert "[SLP]Support for tree throttling in SLP graphs with gathered loads"
This reverts commit 0666a777ec8138f58ebc7fc41a2fb8097328308a.
Makes clang assert, see repro at
https://github.com/llvm/llvm-project/pull/177855#issuecomment-3808529832
Commit: 9d5d2eec215b98da04f30a9bdb62e663fefb38d5
https://github.com/llvm/llvm-project/commit/9d5d2eec215b98da04f30a9bdb62e663fefb38d5
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/test/CodeGen/SPIRV/pointers/array-skips-gep.ll
M llvm/test/CodeGen/SPIRV/pointers/load-struct.ll
M llvm/test/CodeGen/SPIRV/pointers/store-struct.ll
M llvm/test/CodeGen/SPIRV/pointers/store-to-array-first-element.ll
M llvm/test/Instrumentation/AddressSanitizer/asan-stack-safety.ll
Log Message:
-----------
[Mem2Reg] Remove extraneous getAllocatedType() check (#177438)
Replace uses of getAllocatedType() in PromoteMemoryToRegister.cpp with
type tracking from actual loads and stores. This makes the promotion
logic more semantic - it now checks that all loads/stores use a
consistent type rather than requiring them to match the alloca's
declared type.
Changes:
- isAllocaPromotable() now tracks the first load/store type seen and
ensures all subsequent accesses use the same type
- AllocaInfo gains a ValueType field populated during AnalyzeAlloca()
- PromoteMem2Reg tracks AllocaValueTypes alongside other per-alloca info
- PHI nodes and UndefValues are created using the tracked type
This is semantically more permissive - an alloca declared as i64 but
only accessed as i32 is now promotable. This is correct because the
alloca is just a blob of memory; what matters for Mem2Reg is consistent
access patterns.
Test changes:
- asan-stack-safety.ll: Changed loads/stores to volatile to prevent
promotion while preserving ASAN stack safety analysis behavior
- SPIRV pointer tests (array-skips-gep.ll, load-struct.ll,
store-struct.ll, store-to-array-first-element.ll): Added escape calls to
prevent alloca promotion, as these tests verify SPIRV backend handling
of Function-storage-class pointers
Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
Commit: 6c22adcaee4cc9620927a743cc0cbea952f3debe
https://github.com/llvm/llvm-project/commit/6c22adcaee4cc9620927a743cc0cbea952f3debe
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M clang/lib/CodeGen/CGClass.cpp
M clang/test/CodeGenCXX/inheriting-constructor.cpp
M clang/test/CodeGenCXX/vtt-address-space.cpp
Log Message:
-----------
[clang] consistent addrspace for GetVTTParameter result (#177044)
Avoid using VTT->getValueType() and VoidPtrTy and DRY the code to more
accurately get and set the addrspace without relying on the behavior of
struct indexing into a GlobalValue declared type.
Commit: 115d170e3e6022c35c1cc70a9f13d40a00c91161
https://github.com/llvm/llvm-project/commit/115d170e3e6022c35c1cc70a9f13d40a00c91161
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Make RVInstIVI_VROR inherit from RVInstVBase. NFC (#178293)
Commit: 0ed8e7230f82ab0da92730200268ccada64e8484
https://github.com/llvm/llvm-project/commit/0ed8e7230f82ab0da92730200268ccada64e8484
Author: Jim Lin <jim at andestech.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/scalable-predication.ll
Log Message:
-----------
[VPlan] Create SCEV before any VPIRInstructions to check for overflow (#177911)
This PR tried to fix the assertion fail at VPlanTransforms.cpp:4862
since SCEV was created after VPIRInstructions.
The tripcount in scalable-predication.ll was changed from constant value
256 to non-constant value %n to avoid VPIRInstructions optimized out,
which cannot trigger the assertion fail.
The orders in ir-bb<entry> from:
ir-bb<entry>:
EMIT vp<%2> = EXPAND SCEV (1 umax %n)
EMIT vp<%3> = sub ir<-1>, vp<%2>
EMIT vp<%4> = EXPAND SCEV (4 * vscale)<nuw>
EMIT vp<%5> = icmp ult vp<%3>, vp<%4>
EMIT branch-on-cond vp<%5>
Successor(s): scalar.ph, vector.ph
to:
ir-bb<entry>:
EMIT vp<%2> = EXPAND SCEV (1 umax %n)
EMIT vp<%3> = EXPAND SCEV (4 * vscale)<nuw>
EMIT vp<%4> = sub ir<-1>, vp<%2>
EMIT vp<%5> = icmp ult vp<%4>, vp<%3>
EMIT branch-on-cond vp<%5>
Successor(s): scalar.ph, vector.ph
Commit: 72c9304bb9973becccee885e4375d604913036c5
https://github.com/llvm/llvm-project/commit/72c9304bb9973becccee885e4375d604913036c5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Add missing HasStdExtZvkb Predicate to some of the vector rotate patterns. NFC (#178250)
We already had it on the rotl with immediate patterns, but not any of
the others. This reduces the isel table size by a few hundred bytes by
allowing additional factoring with the rotl with immediate patterns.
This is NFC because these patterns shouldn't make it to isel if the
predicate wasn't already satisfied.
Commit: 2f92d440438e6049e46e1e8c75e4b1806b835a51
https://github.com/llvm/llvm-project/commit/2f92d440438e6049e46e1e8c75e4b1806b835a51
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/RISCV/sink-to-early-exit.ll
A llvm/test/Transforms/LoopVectorize/sink-to-early-exit.ll
Log Message:
-----------
[LV] Pre-commit test for sinking the recipe into vector early exit block. nfc (#177954)
Pre-commit for #168031
Commit: bf408aa842872df0348b61cc931561befe198088
https://github.com/llvm/llvm-project/commit/bf408aa842872df0348b61cc931561befe198088
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/unittests/TargetParser/Host.cpp
Log Message:
-----------
[NFC] Fix unused but set variable
Fixes https://github.com/llvm/llvm-project/pull/178017#issuecomment-3808860054.
Commit: e421ef25324e3be0fe1efcfd6b5f60455652c703
https://github.com/llvm/llvm-project/commit/e421ef25324e3be0fe1efcfd6b5f60455652c703
Author: Wenju He <wenju.he at intel.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Make output filename configurable; rename top-level targets (#178119)
This PR relates to c5cb48c39701.
Pass `OUTPUT_FILENAME` to `add_libclc_builtin_set` to allow downstream
output naming (e.g. libspirv in
https://github.com/intel/llvm/tree/sycl/libclc).
Rename top-level target to `libclc-${ARG_TRIPLE}` to avoid collision
with `library-${ARG_ARCH_SUFFIX}` in our downstream when libclc TRIPLE
matches libspirv ARCH_SUFFIX.
---------
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Commit: 4c11b005f2969092b739dd50f8879ac8fded787e
https://github.com/llvm/llvm-project/commit/4c11b005f2969092b739dd50f8879ac8fded787e
Author: Prajwal KP <prajwal.kp.1817 at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/sqrtf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/sqrtf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/sqrtf16.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor sqrtf16 to Header Only (#177726)
closes: #177651
Commit: 2c54fc8be547b88a18f0c36a0b4a7a9660bcc55b
https://github.com/llvm/llvm-project/commit/2c54fc8be547b88a18f0c36a0b4a7a9660bcc55b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Make sure Zvk* and Zvb* predicates are always paired with a GetVTypePredicates<vti>.Predicates. NFC (#178269)
We were inconsistent about this. Being consistent reduces the
number of unique predicate checks in the generated file.
NFC because illegal types don't make it to isel.
Commit: 15a81fd494fb2746f652252f187027a3bc7f4836
https://github.com/llvm/llvm-project/commit/15a81fd494fb2746f652252f187027a3bc7f4836
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/test/CoverageMapping/single-byte-counters.cpp
M llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.proftext
M llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.yaml
M llvm/test/tools/llvm-cov/Inputs/branch-c-general.c
M llvm/test/tools/llvm-cov/Inputs/branch-macros-single.proftext
M llvm/test/tools/llvm-cov/Inputs/branch-macros-single.yaml
M llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.proftext
M llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.yaml
Log Message:
-----------
[Coverage][Single] Enable Branch coverage for CondOp (#113110)
Depends on: #112730 #113114
https://discourse.llvm.org/t/rfc-integrating-singlebytecoverage-with-branch-coverage/82492
Commit: 04402d32a5b6d8aa2512230a96a4878e88501c30
https://github.com/llvm/llvm-project/commit/04402d32a5b6d8aa2512230a96a4878e88501c30
Author: Sersawy <65075626+Abdelrhmansersawy at users.noreply.github.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/llogbf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/llogbf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/llogbf16.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor llogbf16 to header-only (#178078)
Closes #175351
Commit: be0907b10891dc8a08a244b108249e2afb39f473
https://github.com/llvm/llvm-project/commit/be0907b10891dc8a08a244b108249e2afb39f473
Author: Ian Anderson <iana at apple.com>
Date: 2026-01-27 (Tue, 27 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/FakeOS1.0.sdk/SDKSettings.json
M clang/test/Driver/darwin-builtin-modules.c
Log Message:
-----------
[clang][driver][darwin] Switch back to using CanonicalName to identify the SDK instead of SupportedTargets (#178115)
The SDK's SupportedTarget for its CanonicalName doesn't necessarily have
an LLVMTargetTripleSys/LLVMTargetTripleEnvironment that matches the
CanonicalName. e.g. sometimes new SDKs use arm64-apple-ios1.0 during
bringup, but their CanonicalName is set to the new platform. Go back to
using CanonicalName to identify the SDK as a Triple::OSType, and expose
the Triple::EnvironmentType used to build the SDKPlatformInfo when
SupportedTargets isn't present.
Commit: f92948fa9b52c6c64255d0cf0dfb0ef64c8e83fd
https://github.com/llvm/llvm-project/commit/f92948fa9b52c6c64255d0cf0dfb0ef64c8e83fd
Author: DannyDaoBoYang <daobo.yang41 at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/sinpif.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/sinpif.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/sinpif.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor sinpif to Header Only. (#176580)
closes [#176477](https://github.com/llvm/llvm-project/issues/176477)
Part of https://github.com/llvm/llvm-project/issues/147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 69e855bb1bcad5cf2a684d424d5094ff61075da8
https://github.com/llvm/llvm-project/commit/69e855bb1bcad5cf2a684d424d5094ff61075da8
Author: Dasha Buka <dvbuka at proton.me>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/ilogb.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/ilogb.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/ilogb.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor ilogb implementation to header-only in src/__support/math folder. (#175504)
closes #175348
Commit: 56ad5241c90567bda0484ccea9cd1fd8030029af
https://github.com/llvm/llvm-project/commit/56ad5241c90567bda0484ccea9cd1fd8030029af
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
A clang/test/Modules/modulemap-with-named-module.cppm
Log Message:
-----------
[NFC] [C++20] [Modules] Make sure we can use named module with module map
Commit: c8b1ff90f30134602f051cb415aea3822f95b5fe
https://github.com/llvm/llvm-project/commit/c8b1ff90f30134602f051cb415aea3822f95b5fe
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Hoist a duplicate setOperationAction to a common place. NFC (#178364)
Commit: b9070bb1b0e6a19972811ff29ebb886c00c397a0
https://github.com/llvm/llvm-project/commit/b9070bb1b0e6a19972811ff29ebb886c00c397a0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrFormatsC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqccmp.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXwch.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZcmop.td
Log Message:
-----------
[RISCV] Add OPC_C0/C1/C2 named values to tablegen. NFC (#178325)
This adds named opcodes for the compressed instructions like we have for
the 32-bit instructions.
Commit: 2624d8411035ae0ba4bf0fee6469c7bf493d9b15
https://github.com/llvm/llvm-project/commit/2624d8411035ae0ba4bf0fee6469c7bf493d9b15
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
Log Message:
-----------
[RISCV] Remove unnecessary 'let' from VFWMACCBF16_V. NFC (#178367)
earlyclobber and RVVConstraint are already handled in VWMAC_FV_V_F.
Commit: adbbe856d7e65351b5d786bb7c9c4cbcf2f81b86
https://github.com/llvm/llvm-project/commit/adbbe856d7e65351b5d786bb7c9c4cbcf2f81b86
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/TargetInstrInfo.cpp
Log Message:
-----------
[perf] Replace copy-assign by move-assign in llvm/lib/CodeGen/* (#178172)
Commit: da3f2934c3d49624e49c353012d8d7a4e8fc9bfb
https://github.com/llvm/llvm-project/commit/da3f2934c3d49624e49c353012d8d7a4e8fc9bfb
Author: Snehasish Kumar <mail at snehasish.net>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/branch.ll
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[InstCombine][profcheck] Propogate profile metadata when transforming br (X && !Y) to br (!X || Y) (#175939)
Updated visitBranchInst to propagate and swap !prof metadata when transforming br (X && !Y) to br (!X || Y).
Commit: fc7ad8127a80f9284f805ce3f04109e6033e885e
https://github.com/llvm/llvm-project/commit/fc7ad8127a80f9284f805ce3f04109e6033e885e
Author: Snehasish Kumar <mail at snehasish.net>
Date: 2026-01-27 (Tue, 27 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/binop-select.ll
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[InstCombine][profcheck] Preserve !prof metadata when folding select. (#177707)
The new select `InstCombinerImpl::foldBinOpSelectBinOp` reuses the same
condition in the same BB as the original so the profile info can be
trivially copied over.
Commit: f58b37b1fe3d67b43ed1b8a74b9fa64171b06219
https://github.com/llvm/llvm-project/commit/f58b37b1fe3d67b43ed1b8a74b9fa64171b06219
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[docs] [C++20] [Modules] Offer a method to use clang module map with named modules (#178368)
See the doc for details.
Commit: a21001ab41742939afa57b557239239506653b9f
https://github.com/llvm/llvm-project/commit/a21001ab41742939afa57b557239239506653b9f
Author: int-zjt <zhangjiatong.0 at bytedance.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
Log Message:
-----------
[JumpThreading] Avoid unnecessary map resizing in gatherIncomingValuesToPhi (#173596)
Previously, `gatherIncomingValuesToPhi` populated the `IncomingValues`
map with *all* non-undef incoming values from the PHI node. For PHI
nodes with a large number of incoming blocks, this caused the
`SmallDenseMap` to grow significantly, triggering expensive resizing and
rehashing operations, even when the caller
(`redirectValuesFromPredecessorsToPhi`) was only interested in a small
subset of predecessors.
This patch optimizes the logic to prevent this unnecessary map growth.
Instead of collecting all values, we now:
1. Initialize the `IncomingValues` map specifically for the blocks in
`BBPreds` (setting them to `nullptr` initially).
2. Iterate through the PHI node and update the map entries only if the
incoming block is already present in the map.
This ensures that the size of the map is bounded by the size of
`BBPreds`. Since `BBPreds` is typically small, this change keeps the map
within the `SmallDenseMap`'s inline storage in most cases, eliminating
heap allocations and resizing overhead for large PHI nodes.
The `selectIncomingValueForBlock` and `replaceUndefValuesInPhi` helpers
are also updated to handle map entries where the value is `nullptr`.
Commit: 5e3b7084dc676fe1237041fda5b606bd4e655c90
https://github.com/llvm/llvm-project/commit/5e3b7084dc676fe1237041fda5b606bd4e655c90
Author: Fangrui Song <i at maskray.me>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M lld/ELF/Arch/Mips.cpp
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/RelocScan.h
Log Message:
-----------
[ELF] Simplify RelocScan after #163138 (#178375)
Commit: 3ddddf7a490007660ab49277231e917ff75578d2
https://github.com/llvm/llvm-project/commit/3ddddf7a490007660ab49277231e917ff75578d2
Author: Sladyn <sladygit98 at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
Log Message:
-----------
Use reportFatalUsageError in llvm-omp-kernel-replay (#178371)
All error cases in this tool are usage errors (bad user input, missing
files, malformed JSON) rather than internal LLVM bugs, so
`reportFatalUsageError` is the appropriate replacement.
Commit: 1e0114c21d926b02bfe9a003436904593bf10d5e
https://github.com/llvm/llvm-project/commit/1e0114c21d926b02bfe9a003436904593bf10d5e
Author: Sam Parker <sam.parker at arm.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/test/CodeGen/WebAssembly/simd-relaxed-fmax.ll
M llvm/test/CodeGen/WebAssembly/simd-relaxed-fmin.ll
Log Message:
-----------
[WebAssembly] Zero and NaN checks for min/max (#177968)
Custom lower FMINNUM, FMINIMUMNUM, FMAXNUM and FMAXIMUMNUM to generate
relaxed_min and relaxed_max when the inputs cannot be NaN or signed
zero.
Tablegen patterns have also been modified to check the above conditions
when trying to match relaxed min/max using the pmin/pmax pattern.
Commit: f4b593a792a61a53068f43b83854b39e304c03f9
https://github.com/llvm/llvm-project/commit/f4b593a792a61a53068f43b83854b39e304c03f9
Author: Rick Gaiser <rgaiser at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/test/Misc/target-invalid-cpu-note/mips.c
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsABIFlagsSection.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/Mips64InstrInfo.td
M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.td
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/lib/Target/Mips/MipsSubtarget.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/test/CodeGen/Mips/cpus.ll
A llvm/test/CodeGen/Mips/r5900-short-loop.ll
A llvm/test/MC/Mips/r5900-invalid.s
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[Mips] Add r5900 (PlayStation 2 Emotion Engine) CPU support (#176666)
This PR adds basic support for the MIPS R5900 CPU, the Emotion Engine
processor used in the PlayStation 2.
**LLVM changes:**
- Add r5900 CPU definition (with soft float support for now)
- Disable instructions not supported by r5900 (64-bit multiply/divide,
LL/SC atomics, COP3)
- Add r5900 specific short loop delay slot fix (hardware errata
workaround)
- Set ISA extension `AFL_EXT_5900` in ELF flags for proper ABI
identification
**Clang changes:**
- Add r5900 as a valid CPU target for `-mcpu=r5900`
- Add r5900 to CPU test coverage
Commit: 355898a6ce901bf9285a428888068e008b5557e9
https://github.com/llvm/llvm-project/commit/355898a6ce901bf9285a428888068e008b5557e9
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/Driver/ToolChains/Clang.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
A llvm/test/CodeGen/SystemZ/patchable-function-entry.ll
Log Message:
-----------
[SystemZ] Enable -fpatchable-function-entry=M,N (#178191)
This PR enables the option `-fpatchable-function-entry` for SystemZ. It
utilizes existing common code and just adds the emission of nops after
the function label in the backend.
SystemZ provides multiple nop options of varying length, making the
semantics of this option somewhat ambiguous. In order to align with what
`gcc` does with that same option, we#re choosing `nopr` as the
canoonical nop for this purpose.
For test, this adapts an existing test file from aarch64.
Commit: 4a5c5b5929ccd5779ee2ffb34759aea7847ead3d
https://github.com/llvm/llvm-project/commit/4a5c5b5929ccd5779ee2ffb34759aea7847ead3d
Author: David Spickett <david.spickett at arm.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M lldb/test/API/commands/help/TestHelp.py
Log Message:
-----------
[lldb] Make "help format" test more strict (#178216)
Originally added in a81bd7f1014f316b42bf7274f76a340b833e663b /
https://reviews.llvm.org/D35525, this test either was not strict enough,
or lldb's behaviour has drifted since.
I think the intention was to check exactly when the output of "help
format" would wrap. Which should happen when we have printed up to the
terminal width, minus a few characters because we walk backwards to the
closest whitespace point to break at (so we don't split a word).
I've updated the test to check the exact outputs and cover printing one
line and two instances where we need to split different amounts onto a
second line.
Commit: 9d800ad0a4e9845cba0bf3418878ea729001edea
https://github.com/llvm/llvm-project/commit/9d800ad0a4e9845cba0bf3418878ea729001edea
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
M llvm/lib/Target/AMDGPU/R600Instructions.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/divergence-driven-buildvector.ll
Log Message:
-----------
[AMDGPU] Use FPImmLeaf for float constants, fix build_vector patterns (#178018)
Commit: c064244fa28ba15d37e22ff1f1485ce114935a83
https://github.com/llvm/llvm-project/commit/c064244fa28ba15d37e22ff1f1485ce114935a83
Author: Julian Pokrovsky <raventid at users.noreply.github.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
A llvm/test/CodeGen/X86/fixup-vpermq-to-vinsert.mir
Log Message:
-----------
[X86] X86FixupInstTunings - attempt to convert VPERMQri to VINSERTI128rri (#177327)
When the immediate is 0x44, VPERMQ/VPERMPD duplicates the lower 128-bit
lane to both lanes. This is equivalent to inserting the lower 128-bits
into the upper 128-bit position, which VINSERTI128/VINSERTF128 can
potentially do more efficiently on some targets.
This patch enables X86FixupInstTuning to convert:
VPERMQ ymm, ymm, 0x44 -> VINSERTI128 ymm, ymm, xmm, 1
VPERMPD ymm, ymm, 0x44 -> VINSERTF128 ymm, ymm, xmm, 1
Resolves #159410
Commit: 482a3bc861759ada060415be135dc5ef2a1ec8d0
https://github.com/llvm/llvm-project/commit/482a3bc861759ada060415be135dc5ef2a1ec8d0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/pr176906.ll
Log Message:
-----------
[SLP][X86] Add test case for #176906 (#178386)
Commit: af0d34894c6905b2d106aa134f311bff47986b38
https://github.com/llvm/llvm-project/commit/af0d34894c6905b2d106aa134f311bff47986b38
Author: Steffen Larsen <sholstla at amd.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-fmed3-const-combine.ll
Log Message:
-----------
[AMDGPU] Fix legacy index in fmed3 optimization (#177426)
The `matchFPMed3ToClamp` implementation incorrectly used the old
indexing for arguments from when it was wrapped in an intrinsic
instruction (i.e. the arguments would start at index 2). This missed
case was however in a conditional part of the optimization that would
only be hit if none of the other optimizations were hit. This commit
fixes this path and adds a test ensuring the path is tested in the
future.
Signed-off-by: Steffen Holst Larsen <HolstLarsen.Steffen at amd.com>
Co-authored-by: Steffen Holst Larsen <HolstLarsen.Steffen at amd.com>
Commit: 6cbefe0016c56077513de1afa2c9a54c12b1f1a9
https://github.com/llvm/llvm-project/commit/6cbefe0016c56077513de1afa2c9a54c12b1f1a9
Author: Steffen Larsen <sholstla at amd.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
A llvm/test/CodeGen/AMDGPU/opencl-printf-invalid-signature.ll
Log Message:
-----------
[AMDGPU] Skip printf runtime binding if function signature is unexpected (#177573)
When creating the binding for OpenCL printf calls, we expect the
signature of the function to match the OpenCL specification. If the
signature is unexpected, this patch makes the pass skip creating the
binding to avoid incorrect behavior and crashes.
---------
Signed-off-by: Steffen Holst Larsen <HolstLarsen.Steffen at amd.com>
Co-authored-by: Steffen Holst Larsen <HolstLarsen.Steffen at amd.com>
Commit: fd1b5048e9dc4d80dbf04996afea35e40d44a62e
https://github.com/llvm/llvm-project/commit/fd1b5048e9dc4d80dbf04996afea35e40d44a62e
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Shard/Transforms/Partition.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for performance-unnecessary-value-param in Partition.cpp (NFC)
Commit: ec6b988877cb9af5dd2d01f3f6c0ae55fb04fabe
https://github.com/llvm/llvm-project/commit/ec6b988877cb9af5dd2d01f3f6c0ae55fb04fabe
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for llvm-qualified-auto in GPUToLLVMConversion.cpp (NFC)
Commit: 67b217ae6c913ed3da50fd4610cb69d97991fde0
https://github.com/llvm/llvm-project/commit/67b217ae6c913ed3da50fd4610cb69d97991fde0
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for readability-container-size-empty in SCFToGPU.cpp (NFC)
Commit: 24bf018be2055e131c440ffd1b8251e660d3d226
https://github.com/llvm/llvm-project/commit/24bf018be2055e131c440ffd1b8251e660d3d226
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/performance/enum-size.cpp
Log Message:
-----------
[clang-tidy] performance-enum-size should ignore enums within extern "C" (#178233)
Closes [#178114](https://github.com/llvm/llvm-project/issues/178114)
Commit: 51845a53fd2e2f6b0a18dfad3f912e9f676a5fc9
https://github.com/llvm/llvm-project/commit/51845a53fd2e2f6b0a18dfad3f912e9f676a5fc9
Author: Soumik15630m <soumik15630m at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/crash-on-out-of-bound-extract.ll
Log Message:
-----------
[SLP] Fix crash on extractelement with out-of-bounds index.....Fixes … (#176918)
…The cose modeling logic was attempting to set a bit in APInt for an
out-of-bounds index, causing an assertion failure. This patch ignores
OOB indices as they produce poison- which is already handled.
Fixes #176780
this is the same test result which produces this bug
<img width="1600" height="964" alt="image"
src="https://github.com/user-attachments/assets/80593902-9d15-4e18-850b-a558bca8518e"
/>
Commit: 44763603657da164df59d4d3d9a45c95ed7174a8
https://github.com/llvm/llvm-project/commit/44763603657da164df59d4d3d9a45c95ed7174a8
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
A flang/test/Lower/const-arg-glob.f90
Log Message:
-----------
[flang][NFC] Separated test for --enable-constant-argument-globalisation (#178350)
The test for --enable-constant-argument-globalisation was added to
existing lowering test as part of
https://github.com/llvm/llvm-project/commit/de528ffb17ebce96e0bc4dde1749146c41ca1d0d
Decouple this test from the other lowering tests to ease conversion to
HLFIR lowering.
Co-authored-by: Jean Perier <jperier at nvidia.com>
Co-authored-by: Jean Perier <jperier at nvidia.com>
Commit: 11081eb1d3e3eb31520667a784873726a3cf67d1
https://github.com/llvm/llvm-project/commit/11081eb1d3e3eb31520667a784873726a3cf67d1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Transforms/SLPVectorizer/X86/pr176906.ll
Log Message:
-----------
[CostModel][X86] reduce_add(vXi1) will lower as a scalar ctpop (#178400)
Fixes #176906
Commit: 16d8d4b84edd257a81b243767d7b6bd62bbfb9fa
https://github.com/llvm/llvm-project/commit/16d8d4b84edd257a81b243767d7b6bd62bbfb9fa
Author: hanbeom <kese111 at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
A llvm/test/CodeGen/WebAssembly/simd-shuffle-widen.ll
Log Message:
-----------
[WebAssembly] Fix crash in ReplaceNodeResults for ANY_EXTEND_VECTOR_INREG (#178374)
Fixes a crash during type legalization by allowing
ISD::ANY_EXTEND_VECTOR_INREG to fall back to default expansion instead
of hitting llvm_unreachable.
Fixed: #177209
Commit: 7c3a2113febd1df48b31c2ada5cbcf1935053807
https://github.com/llvm/llvm-project/commit/7c3a2113febd1df48b31c2ada5cbcf1935053807
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[clang][ExprConst] Fix rendering of explicit this parameters (#177551)
in compile-time backtraces.
The two test cases used to be rendered as `foo(s, 0)` and `foo2(s)`.
Commit: eb64fb6d1208d7a97039f4b042b9b55afa7da0e6
https://github.com/llvm/llvm-project/commit/eb64fb6d1208d7a97039f4b042b9b55afa7da0e6
Author: Gil Rapaport <gil.rapaport at mobileye.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp
M mlir/test/Dialect/EmitC/form-expressions.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
Log Message:
-----------
[mlir][emitc] Fix recurring operands in expression (#178382)
Relanding #175535 which got reverted for failing the buildbot.
New canonicalization pattern moved to dialect code.
Commit: dd76d3382c5ba4ad050b3e336f72e40ff8b83bcb
https://github.com/llvm/llvm-project/commit/dd76d3382c5ba4ad050b3e336f72e40ff8b83bcb
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
R openmp/README.rst
A openmp/docs/Building.md
M openmp/docs/SupportAndFAQ.rst
M openmp/docs/_themes/llvm-openmp-theme/static/agogo.css_t
M openmp/docs/conf.py
M openmp/docs/index.rst
M openmp/runtime/README.txt
M openmp/runtime/doc/doxygen/libomp_interface.h
Log Message:
-----------
[OpenMP][docs] Revise building manual (#176175)
Go into more detail on the two non-legacy build modes.
I decided use create a dedicated document documention the build process.
`index.rst` only keeps the "Getting Started" part. `README.rst` is
vastly outdated with the still valid parts integrated into the new
documentation. `SupportAndFAQ.rst` is unstructured and keeps only the
non-building parts.
The the new building document is written in Meltdown, following the
decision from LLVM.
Commit: 9e75d690c280bf766c1f5c4e73d01ca4075c9fd0
https://github.com/llvm/llvm-project/commit/9e75d690c280bf766c1f5c4e73d01ca4075c9fd0
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/docs/CommandGuide/FileCheck.rst
M llvm/docs/ReleaseNotes.md
M llvm/test/FileCheck/check-multiple-prefixes-mixed.txt
M llvm/utils/FileCheck/FileCheck.cpp
Log Message:
-----------
[FileCheck] Allow -check-prefix to take multiple prefixes (#178187)
There was no real benefit to disallowing this, and it sometimes caused
unnecessary churn in the RUN lines of tests which were updated from
single-to-multiple or multiple-to-single prefixes.
This effectively makes -check-prefixes the primary option and
-check-prefix just an alias of it. The documentation is upated
accordingly.
Commit: 775f02521d705625cc5b3c4047e8141c36c303b0
https://github.com/llvm/llvm-project/commit/775f02521d705625cc5b3c4047e8141c36c303b0
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/release-vgprs.mir
Log Message:
-----------
[AMDGPU] Fix buggy insertion of DEALLOC_VGPRS message (#178401)
We inserted the DEALLOC_VGPRS message if there were no pending scratch
stores the first time an S_ENDPGM instruction was visited. But because
this pass uses a worklist to revisit blocks until it reaches a fixed
point, it is possible that pending scratch stores are only discovered on
the second or later visit to a block. Fix this by storing a flag for
each S_ENDPGM instruction which can be updated by later visits.
Commit: f44ecfd0702518ad2cfaec1c13549ef9c0aa2f73
https://github.com/llvm/llvm-project/commit/f44ecfd0702518ad2cfaec1c13549ef9c0aa2f73
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M lldb/include/lldb/Host/FileAction.h
M lldb/source/Host/common/FileAction.cpp
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
Log Message:
-----------
[lldb][windows] fix an invalid cast from a file descriptor to a HANDLE (#178238)
Commit: c494b74020a2f9440f7f92fe1401a513af53d940
https://github.com/llvm/llvm-project/commit/c494b74020a2f9440f7f92fe1401a513af53d940
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
Log Message:
-----------
[mlir][emitc] Remove unused #include
Commit: 47e9c1db618c4d4a7dc6d9880160cc32b317b686
https://github.com/llvm/llvm-project/commit/47e9c1db618c4d4a7dc6d9880160cc32b317b686
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Analysis/CFG.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/FlowSensitive/AdornedCFG.cpp
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/Facts.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
M clang/lib/Analysis/LifetimeSafety/Origins.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/Analysis/lifetime-cfg-output.cpp
M clang/test/Analysis/scopes-cfg-output.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
A clang/test/Sema/warn-lifetime-safety-dangling-field.cpp
M clang/test/Sema/warn-lifetime-safety-dataflow.cpp
M clang/test/Sema/warn-lifetime-safety-noescape.cpp
Log Message:
-----------
[LifetimeSafety] Detect dangling fields (#177363)
Detect dangling field references when stack memory escapes to class
fields. This change extends lifetime safety analysis to detect a common
class of temporal memory safety bugs where local variables or parameters
are stored in class fields but outlive their scope.
- Added a new `FieldEscapeFact` class to represent when an origin
escapes via assignment to a field
- Refactored `OriginEscapesFact` into a base class with specialized
subclasses for different escape scenarios
- Added detection for stack memory escaping to fields in constructors
and member functions
- Implemented new diagnostic for dangling field references with
appropriate warning messages
Importantly,
- Added `AddParameterDtors` option to CFG to add parameter dtors and
lifetime ends behind an option. In principle, parameters ctors and dtors
do not belong in the function context but in the caller context. This
becomes incorrect to include in function's CFG when we have inlined CFGs
like some analyses in the analyzer (produces double dtors for
arguments). Therefore this provides a way to opt-in to know about
destructed params on function exits.
Commit: bf7e2b81e779713cc535c884e287ec6cf02fcfef
https://github.com/llvm/llvm-project/commit/bf7e2b81e779713cc535c884e287ec6cf02fcfef
Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/test/Preprocessor/has_attribute_errors.cpp
A clang/test/Preprocessor/has_c_attribute_errors.c
Log Message:
-----------
[Clang] prevent preprocessor crash on incomplete scoped __has_cpp_attribute arguments (#178273)
Fixes #178098
---
This patch addressed the issue when `__has_cpp_attribute` is expanded
with incomplete scoped attributes. The scoped name parsing can lex to
`eof`/`eod` at
https://github.com/llvm/llvm-project/blob/3f5a5d45d18a514f086f3e07c9676ca5fb95bbe9/clang/lib/Lex/PPMacroExpansion.cpp#L1877-L1881
and then proceed with
https://github.com/llvm/llvm-project/blob/3f5a5d45d18a514f086f3e07c9676ca5fb95bbe9/clang/lib/Lex/PPMacroExpansion.cpp#L1425-L1430
since `eof`/`eod` is not guarded at
https://github.com/llvm/llvm-project/blob/3f5a5d45d18a514f086f3e07c9676ca5fb95bbe9/clang/lib/Lex/PPMacroExpansion.cpp#L1367-L1372
this could lead to a preprocessor crash
https://github.com/llvm/llvm-project/blob/3f5a5d45d18a514f086f3e07c9676ca5fb95bbe9/clang/lib/Lex/PPMacroExpansion.cpp#L1370
Commit: ef6d452768a8a660035bb1217ce0578796a5b174
https://github.com/llvm/llvm-project/commit/ef6d452768a8a660035bb1217ce0578796a5b174
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/pr178410.ll
Log Message:
-----------
[X86] vectorizeExtractedCast - don't assume vector source type is simple (#178414)
Fixes #178410
Commit: 6fe246e639aae37329f34d57e2b8729bf9d3cfab
https://github.com/llvm/llvm-project/commit/6fe246e639aae37329f34d57e2b8729bf9d3cfab
Author: Prajwal <fasfasmag at proton.me>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[DAG] SDPatternMatch - Add matchers for reassociatable additions with NSW/NUW flags (#177973)
Fixes #176809
Commit: 6682681fd2d79a2b1fc76a07605e580e0146daba
https://github.com/llvm/llvm-project/commit/6682681fd2d79a2b1fc76a07605e580e0146daba
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGen/misc-attrs.cpp
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/func.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/function-attributes.ll
M mlir/test/Target/LLVMIR/Import/instructions.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[CIR] Implement returns_twice, cold, hot, noduplicate, convergent func attrs (#178289)
Continuing my quest to get most of the attributes completed, this patch
implements 5 attributes for CIR/Clang CIR codegen.
4 of the 5 are also implemented in LLVM-MLIR, since 'convergent' was
already there.
As a part of this, we also had to make sure that attributes were handled
properly for Call operation lowering, like we do for function
attributes.
Commit: 5f755793486704e60556f8fddb2810556c5d2e81
https://github.com/llvm/llvm-project/commit/5f755793486704e60556f8fddb2810556c5d2e81
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang/test/Sema/const-ptr-int-ptr-cast.c
Log Message:
-----------
[clang][test] Replace stdint include with uintptr_t typedef (#178125)
This is what we usually do in tests.
Commit: 6074f9b6246686e61e48d9e3aafc1c2069f93e5a
https://github.com/llvm/llvm-project/commit/6074f9b6246686e61e48d9e3aafc1c2069f93e5a
Author: Joshua Rodriguez <josh.rodriguez at arm.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
M llvm/test/CodeGen/AArch64/arm64-vshift.ll
Log Message:
-----------
[AArch64][GlobalISel] Add support for scalar variants of neon right shifts (#178207)
Neon intrinsics are able to operate on single-element vectors (e.g <1 x
i64>). However, LLVM doesn't allow single-element vectors, and instead
converts them to scalar values (e.g i64) in the frontend.
To get around this, the backend must place these scalar values onto an
fpr register bank, in order for the intrinsic to operate on the value as
a vector.
Previously, scalar right shift intrinsics were not legalising due to
misconfigured logic in AArch64LegalizerInfo, which treated non-vector
variants of these intrinsics as invalid.
This has been fixed so that the following can lower:
sqshrn
sqshrun
sqrshrn
sqrshrun
uqshrn
uqrshrn
Commit: a512065206383a6575e5d7d1770186c95c249b5a
https://github.com/llvm/llvm-project/commit/a512065206383a6575e5d7d1770186c95c249b5a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M libc/config/gpu/config.json
Log Message:
-----------
[libc] Do not use stack protectors or frame pointers on GPU
Summary:
This doesn't work because they're unused in some contexts. Added in
https://github.com/llvm/llvm-project/pull/178136
Commit: 762ba885f95bc2145cb1dcc312aea6517e4f0c9c
https://github.com/llvm/llvm-project/commit/762ba885f95bc2145cb1dcc312aea6517e4f0c9c
Author: Damian Heaton <Damian.Heaton at arm.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fdot-product.ll
Log Message:
-----------
[LV] Add support for llvm.vector.partial.reduce.fadd (#163975)
Allows the Loop Vectorizer to generate `llvm.vector.partial.reduce.fadd`
intrinsics when sequences which match its requirements are found.
Commit: aa8e292e616ef8905afc09044d56f22b196a893a
https://github.com/llvm/llvm-project/commit/aa8e292e616ef8905afc09044d56f22b196a893a
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M flang/test/Lower/c-interoperability-c-pointer.f90
M flang/test/Lower/c-interoperability.f90
M flang/test/Lower/character-elemental.f90
M flang/test/Lower/character-local-variables.f90
M flang/test/Lower/complex-operations.f90
Log Message:
-----------
[flang] Converted five tests from old lowering to new lowering (part 9) (#176310)
Tests converted from test/Lower: c-interoperability-c-pointer.f90,
c-interoperability.f90, character-elemental.f90,
character-local-variables.f90, complex-operations.f90
Commit: 8c944d0a4ccb7741d677acf31f20cebc4c290ea7
https://github.com/llvm/llvm-project/commit/8c944d0a4ccb7741d677acf31f20cebc4c290ea7
Author: Victor Campos <victor.campos at arm.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
Log Message:
-----------
[AArch64] Refactor PACM emission in Pointer Authentication (NFC) (#175937)
Refactor the emission of PACM instructions in the AArch64 Pointer
Authentication code to simplify the control flow and reduce duplication.
This change consolidates the PACM generation logic, making the code
easier to follow and less error-prone, while preserving the existing
behavior and generated output.
No functional change is intended beyond the internal refactoring.
Commit: 8e362e10c79a73438a8678dbb1f9be29b3c01cae
https://github.com/llvm/llvm-project/commit/8e362e10c79a73438a8678dbb1f9be29b3c01cae
Author: Victor Campos <victor.campos at arm.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
Log Message:
-----------
[AArch64] Remove dead code emission in Pointer Authentication (#175989)
The AArch64 Pointer Authentication pass was emitting address
materialization instructions that were never used. These instructions
formed dead code and served no purpose in the final control flow.
Remove the unnecessary ADRP/ADD sequence from the Pointer Auth codegen
and update the corresponding test to reflect the simplified output.
This avoids generating dead instructions and keeps the PAUTH LR sequence
minimal and correct.
Commit: 4ec35a0b0e13f15ad38a2fa668004c892a365795
https://github.com/llvm/llvm-project/commit/4ec35a0b0e13f15ad38a2fa668004c892a365795
Author: Mitch Briles <mitchbriles at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/AMDGPU/combine-scalar-selects.ll
Log Message:
-----------
[VectorCombine] Fix crash when folding select of bitcast (#177183)
Fixes #177144. Nits appreciated.
The fold in question does the following transformation:
Before
```
%bc = bitcast <4 x i32> %src to <16 x i8>
%e0 = extractelement <16 x i8> %bc, i32 0
%s0 = select i1 %cond, i8 %e0, i8 0
%e1 = extractelement <16 x i8> %bc, i32 1
%s1 = select i1 %cond, i8 %e1, i8 0
...
```
After
```
%sel = select i1 %cond, <4 x i32> %src, <4 x i32> zeroinitializer
%bc = bitcast <4 x i32> %sel to <16 x i8>
%e0 = extractelement <16 x i8> %bc, i32 0
%e1 = extractelement <16 x i8> %bc, i32 1
...
```
If every select shares the condition and has 0 in the false branch, the
bitcast can be replaced with a select between the original vector and
`zeroinitializer`, followed by a bitcast. Then each `select(cond,
extelt(...), 0)` can be replaced with `extelt(...)`.
The crash happens when the condition is defined after the original
bitcast, because the bitcast is replaced with the select + bitcast, and
now the select references a condition not yet defined.
Commit: 68450ba210f315b9bb102f5f93f6f0049ef2ecaa
https://github.com/llvm/llvm-project/commit/68450ba210f315b9bb102f5f93f6f0049ef2ecaa
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
Log Message:
-----------
[SLP]Support for tree throttling in SLP graphs with gathered loads
Gathered loads forming DAG instead of trees in SLP vectorizer. When
doing the throttling analysis for such graphs, need to consider partially
matched gathered loads DAG nodes and consider extract and/or gather
operations and their costs.
The patch adds this analysis and allows cutting off the expensive
sub-graphs with gathered loads.
Reviewers: hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/177855
Recommit after revert in d733771113339608aff6002d1fa89aaf4a51c502, which
was related to a crash in SelectionDAG
Commit: 3a60a1e6fe561eb97f9a7404ee112211bc003af4
https://github.com/llvm/llvm-project/commit/3a60a1e6fe561eb97f9a7404ee112211bc003af4
Author: puneeth_aditya_5656 <myakampuneeth at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[mlir][Arith] Fix crash when folding operations with dynamic-shaped tensors (#178428)
- Add static shape check in `getBoolAttribute` to prevent crash when
folding comparison operations with dynamic-shaped tensor types
- Add static shape check in `SelectOp::fold` before creating
`DenseElementsAttr` for the result
- Add test case to verify the fix
Fixes #178415.
Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
Commit: f9222cdb30c3d0e8451539ce33dc5446739271d9
https://github.com/llvm/llvm-project/commit/f9222cdb30c3d0e8451539ce33dc5446739271d9
Author: Steven Perron <stevenperron at google.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang/include/clang/AST/TypeLoc.h
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
Log Message:
-----------
Reapply "[HLSL] Improve HLSL resource method generation" (https://github.com/llvm/llvm-project/pull/178266) (#178427)
This reverts commit
https://github.com/llvm/llvm-project/commit/c960499255a04e402d118d86a00ebcf1a8942ac9,
and fixes the msan error.
Commit: 2489e034fdacb4c834a31b3af501d07085c89a75
https://github.com/llvm/llvm-project/commit/2489e034fdacb4c834a31b3af501d07085c89a75
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
A llvm/test/CodeGen/AArch64/pr161013.ll
A llvm/test/CodeGen/X86/pr161013.ll
Log Message:
-----------
[LegalizeIntegerTypes] Add `PromoteIntOp_ANY_EXTEND_VECTOR_INREG` (#178144)
Fixes #161013
Commit: e36cd26618c773bf2b4163afe03ccef7f81f12e4
https://github.com/llvm/llvm-project/commit/e36cd26618c773bf2b4163afe03ccef7f81f12e4
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
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.h
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
Log Message:
-----------
[VPlan] Remove non-reductions after simplifications. (#176795)
In some cases, we identify patterns as reductions, even though they can
be simplified to a non-reduction.
Mark VPReductionPHIRecipe as not reading from memory & not having
side-effects, to clean them up.
We also need to remove ComputeReductionResult VPInstructions with
live-in arguments. This means there is actually no reduction, and we
need to fold it to the live in. Otherwise we would incorrectly reduce
the live-in.
PR: https://github.com/llvm/llvm-project/pull/176795
Commit: 562c0b002c155098cf95e08b6f3e85b656f5eee9
https://github.com/llvm/llvm-project/commit/562c0b002c155098cf95e08b6f3e85b656f5eee9
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++] Use the fast path for move assignment in __tree if the allocator is_always_equal (#177115)
This avoids instantiating some code that we know is dead. This is also a
prerequisite for #134330, since we avoid trying to `const_cast` in the
common case now.
Commit: 5feb2028a0bb82a6e0035b1ecfedbd0c01c010cd
https://github.com/llvm/llvm-project/commit/5feb2028a0bb82a6e0035b1ecfedbd0c01c010cd
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaTypes.td
M mlir/include/mlir/IR/OpBase.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVTosaOps.cpp
M mlir/test/Dialect/SPIRV/IR/tosa-ops-verification.mlir
M mlir/test/Dialect/SPIRV/IR/tosa-ops.mlir
M mlir/test/Target/SPIRV/tosa-ops.mlir
Log Message:
-----------
[mlir][spirv] Add Pooling, Fourier Transform, and MatMul operations (#177585)
to TOSA Extended Instruction Set (001000.1)
This patch expands support for the TOSA Extended Instruction Set
(001000.1) to the SPIR-V dialect in MLIR. The TOSA extended instruction
set provides a standardized set of machine learning operations designed
to be used within spirv.ARM.Graph operations (corresponding to
OpGraphARM in SPV_ARM_graph) and typed with !spirv.arm.tensor<...>
(corresponding to OpTypeTensorARM in SPV_ARM_tensor).
The change introduces:
* Extending dialect plumbing for import, serialization, and
deserialization of the TOSA extended instruction set.
* The spirv.Tosa.*Pool* pooling operations, spirv.Tosa.MatMul, and
spirv.Tosa.*FFT* (Fourier Transform) operations from TOSA extended
instruction, each lowering to the corresponding OpExtInst.
* Verification enforcing that new convolution operations appears only
within spirv.ARM.Graph regions, operates on !spirv.arm.tensor<...>
types, and is well-formed according to the TOSA 001000.1 specification.
All these operations from TOSA 001000.1 extended instructions are
introduced: [parser, printer, verifier, and round-trip tests using
MLIR’s SPIR-V serialization/deserialization infrastructure are included.
This work aligns with Khronos SPIR-V TOSA specifications.
Specification:
https://github.khronos.org/SPIRV-Registry/extended/TOSA.001000.1.html
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 1873c746c6a79fcfd3f5e5884b42f3843cc7c5aa
https://github.com/llvm/llvm-project/commit/1873c746c6a79fcfd3f5e5884b42f3843cc7c5aa
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
A llvm/test/CodeGen/AMDGPU/release-vgprs-spill.ll
Log Message:
-----------
[AMDGPU] Add test for early release VGPRs with spills (#178444)
Commit: 362c39d36dd87c5659b0caa3115dfa67f592cdf6
https://github.com/llvm/llvm-project/commit/362c39d36dd87c5659b0caa3115dfa67f592cdf6
Author: Marek Sedláček <mr.mareksedlacek at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
A llvm/test/Transforms/LoopUnroll/unroll-multi-exit-loop-heuristics.ll
Log Message:
-----------
[LoopUnroll] Use branch probability in multi-exit loop unrolling (#164799)
This patch improves multi-exit loop unrolling by taking into account
branch probability and not only other exit being deopting one.
This implementation uses branch metadata directly because of unstable
state of BPI in this part of code (runtime unrolling invalidates the
state of the map and using BPI in my tests has caused errors).
If branch probability metadata are not present then the current deopt
heuristic is still used.
---------
Co-authored-by: Marek Sedlacek <msedlacek at azul.com>
Commit: 5413a22e79189b8e4f76efb9c1b6425298c9c4bc
https://github.com/llvm/llvm-project/commit/5413a22e79189b8e4f76efb9c1b6425298c9c4bc
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/disjoint-or-reductions.ll
Log Message:
-----------
[SLP] Reordered disjoint or reduction of shl(zext, (0, stride, 2* stride)) modelled as bitcast
Added support for reorder reduction of shl(zext)-like construct. Such
constructs are modelled currently as shuffle + bitcast.
Reviewers: RKSimon, hiraditya
Pull Request: https://github.com/llvm/llvm-project/pull/178292
Commit: c3d4375729e5f3c83d97a788a4d0d7853dae1fae
https://github.com/llvm/llvm-project/commit/c3d4375729e5f3c83d97a788a4d0d7853dae1fae
Author: Vladimir Gorsunov <gorsunov at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
A lldb/test/Shell/SymbolFile/NativePDB/invalid-inlinee-not-in-ipi.yaml
M lldb/test/Shell/SymbolFile/NativePDB/lit.local.cfg
M llvm/include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h
M llvm/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp
Log Message:
-----------
[lldb][NativePDB] Fix crash in debugger when PDB has bad type index value (#166455)
Fix crash when an inline site record in the PDB file contains type index
which is out of bounds
Commit: 596a8354510e0c35ed8bcedf1691bc2c9453c8e4
https://github.com/llvm/llvm-project/commit/596a8354510e0c35ed8bcedf1691bc2c9453c8e4
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M mlir/test/Dialect/Arith/expand-ops.mlir
M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
Log Message:
-----------
[MLIR] Fix typo "LABLE" in test checks (#178448)
Commit: 5d018e93fe98811ccdc44ac065d49fd9d4956470
https://github.com/llvm/llvm-project/commit/5d018e93fe98811ccdc44ac065d49fd9d4956470
Author: macurtis-amd <macurtis at amd.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
M llvm/test/CodeGen/AMDGPU/kernel-argument-dag-lowering.ll
M llvm/test/CodeGen/AMDGPU/permute_i8.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/trunc-store.ll
M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
Log Message:
-----------
AMDGPU: Perform zero/any extend combine into permute (#177370)
Increases opportunities to generate permutes.
Motivated sub-optimal code generation of a CK kernel.
Commit: fa3b3a0be13c3921d983375b1d0ac03d3d2b725d
https://github.com/llvm/llvm-project/commit/fa3b3a0be13c3921d983375b1d0ac03d3d2b725d
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
Log Message:
-----------
[lldb-dap] Fix debugger initialisation order in DAP::InitializeDebugger (#178022)
Validate the debugger before assigning it to the member debugger to
avoid setting an invalid debugger on error.
We usually have an existing session with that debugger ends up messing
with that session.
Commit: 68695090ccf1fc7d1b6245d3f6efc18cabd7633b
https://github.com/llvm/llvm-project/commit/68695090ccf1fc7d1b6245d3f6efc18cabd7633b
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
Log Message:
-----------
[alpha.webkit.NoDeleteChecker] Fix a nullptr deference crash during lookupInBases (#178351)
Added a null check in the lambda passed to lookupInBases.
Commit: e72c4fc73464c78b32b68ade8e8774ce4097e444
https://github.com/llvm/llvm-project/commit/e72c4fc73464c78b32b68ade8e8774ce4097e444
Author: byteforge <stormcraft318 at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
Log Message:
-----------
[clang][constexpr] Move inf/nan/denormal handling into FP binop callbacks (#178421)
Update the callback signature for `EvaluateFpBinOpExpr` and
`interp__builtin_elementwise_fp_binop` to return
`std::optional<APFloat>`, allowing individual callbacks to decide
whether to handle special floating-point cases (inf/nan/denormal).
Previously, the helper functions had hardcoded validation that forced
all callbacks to reject these cases. This blocked intrinsics needing
custom validation (e.g., rounding mode checks). Now each callback
controls its own validation and returns `std::nullopt` when the fold is
invalid.
Fixes #178416
Commit: 39431347f8691ce9487a620de342bd42c09ea934
https://github.com/llvm/llvm-project/commit/39431347f8691ce9487a620de342bd42c09ea934
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
Log Message:
-----------
[clang-tidy] Fix false positive in readability-non-const-parameter for dependent expression (#177345)
Closes #176623
Commit: 662acc21de4cd52e6cc99930dd5b53b8870d88c5
https://github.com/llvm/llvm-project/commit/662acc21de4cd52e6cc99930dd5b53b8870d88c5
Author: David Green <david.green at arm.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/fcvt_combine.ll
Log Message:
-----------
[AArch64][GlobalISel] Update testing for fixed point fcvt. NFC
This adds GlobalISel test coverage for fcvt_combine.ll and adds more variants
for testing.
Commit: c113a1405a7b36db3e9d1d8ad2c4b87c157d3a2e
https://github.com/llvm/llvm-project/commit/c113a1405a7b36db3e9d1d8ad2c4b87c157d3a2e
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M flang/test/Lower/c_ptr-constant-init.f90
M flang/test/Lower/complex-real.f90
M flang/test/Lower/computed-goto.f90
M flang/test/Lower/constant-literal-mangling.f90
M flang/test/Lower/control-flow.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 10) (#178357)
Tests converted from test/Lower: c_ptr-constant-init.f90,
complex-real.f90,
computed-goto.f90, constant-literal-mangling.f90, control-flow.f90
---------
Co-authored-by: Jean Perier <jperier at nvidia.com>
Commit: ffeb7d73f317e78caa22025330abf0b5106b2f83
https://github.com/llvm/llvm-project/commit/ffeb7d73f317e78caa22025330abf0b5106b2f83
Author: lonely eagle <2020382038 at qq.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M mlir/lib/Analysis/DataFlowFramework.cpp
Log Message:
-----------
[mlir][dataflow ] Drop LLVM_DEBUG of DATAFLOW_DEBUG (NFC) (#177398)
We kept the DATAFLOW_DEBUG macro because when
LLVM_ENABLE_ABI_BREAKING_CHECKS is 0, the debugName in AnalysisState is
not defined, which prevents us from printing debug logs(In this case, we
define DATAFLOW_DEBUG(X) as an empty macro, so it won't print any logs).
Therefore, this PR only removes LLVM_DEBUG. We are now using LDBG, so
LLVM_DEBUG is no longer needed.
https://github.com/llvm/llvm-project/pull/176911
Commit: 7e3859cee22f26cf3d45ab8b261c18d8dae58e38
https://github.com/llvm/llvm-project/commit/7e3859cee22f26cf3d45ab8b261c18d8dae58e38
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerBUILD_VECTORvXbf16 - pull out repeated MVT::f16/bf16 selection. NFC. (#178467)
Commit: fd45140ed66573ddfef59b6eb78901b77e01d946
https://github.com/llvm/llvm-project/commit/fd45140ed66573ddfef59b6eb78901b77e01d946
Author: Anikesh Parashar <106880513+an1k3sh at users.noreply.github.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/tbz-tbnz.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-trunc-to-i1.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
M llvm/test/CodeGen/LoongArch/lsx/vmskcond.ll
M llvm/test/CodeGen/RISCV/bittest.ll
M llvm/test/CodeGen/RISCV/float-intrinsics.ll
M llvm/test/CodeGen/SystemZ/tdc-05.ll
M llvm/test/CodeGen/X86/combine-smax.ll
M llvm/test/CodeGen/X86/combine-smin.ll
M llvm/test/CodeGen/X86/combine-umax.ll
M llvm/test/CodeGen/X86/combine-umin.ll
M llvm/test/CodeGen/X86/is_fpclass-fp80.ll
M llvm/test/CodeGen/X86/test-shrink.ll
Log Message:
-----------
[DAG] SimplifyDemandedBits - ICMP_SLT(X,0) - only sign mask of X is required (#164946)
Resolves #164589
Commit: c75d371f57608b01bfee12092e707c99124b5341
https://github.com/llvm/llvm-project/commit/c75d371f57608b01bfee12092e707c99124b5341
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/test/CodeGen/AArch64/stp-opt-with-renaming-undef-assert.mir
M llvm/test/CodeGen/AArch64/sve-calling-convention.ll
M llvm/test/CodeGen/AMDGPU/postra-bundle-memops.mir
M llvm/test/CodeGen/Mips/optimizeAndPlusShift.ll
M llvm/test/CodeGen/X86/tailregccpic.ll
M llvm/test/MC/AsmParser/altmacro_string_escape.s
M llvm/test/Transforms/LoopVectorize/memdep.ll
M llvm/utils/DSAclean.py
Log Message:
-----------
[LLVM] Fix typo "LABLE" in test checks (#178451)
Commit: 3db365d06eb72d3adf268405e9d6d7d419d5bf45
https://github.com/llvm/llvm-project/commit/3db365d06eb72d3adf268405e9d6d7d419d5bf45
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M flang/include/flang/Runtime/extensions.h
Log Message:
-----------
[flang-rt] Fix defining `pid_t` on GPU builds (#178470)
Summary:
We support building flang-rt on GPU targets. These do not have POSIX
types so we should not include this if it's not present.
Commit: e45ea95dbe236e233ad978067688789e7478541a
https://github.com/llvm/llvm-project/commit/e45ea95dbe236e233ad978067688789e7478541a
Author: Rose Hudson <rose.hudson at sony.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
A cross-project-tests/dtlto/fat-lto-objects.test
M lld/ELF/Driver.cpp
M lld/test/ELF/dtlto/timetrace.test
M llvm/include/llvm/LTO/LTO.h
M llvm/lib/DTLTO/DTLTO.cpp
Log Message:
-----------
[DTLTO] support distributing bitcode from FatLTO objects (#176928)
We already have code to extract bitcode files from archives so they can
be distributed. Extend this code to extract bitcode from FatLTO objects
too, which otherwise cannot be used with DTLTO.
Commit: 46585a3082811501dff7d15ad6d7d54653c660f0
https://github.com/llvm/llvm-project/commit/46585a3082811501dff7d15ad6d7d54653c660f0
Author: John Harrison <harjohn at google.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/attach-commands/TestDAP_attachCommands.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
M lldb/test/API/tools/lldb-dap/breakpoint-events/TestDAP_breakpointEvents.py
M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
R lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_args.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_basic.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_commands.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_cwd.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_debuggerRoot.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_disableSTDIO.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_environment_with_array.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_environment_with_object.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_extra_launch_commands.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_failing_console.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_failing_launch_commands.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_invalid_launch_commands_and_console.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_invalid_program.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_no_lldbinit_flag.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_shellExpandArguments_disabled.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_shellExpandArguments_enabled.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_sourcePath.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_stdio_redirection.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_stdio_redirection_and_console.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_stopOnEntry.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_terminate_commands.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_termination.py
A lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_version.py
M lldb/test/API/tools/lldb-dap/module-event/TestDAP_module_event.py
M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_console.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/EventHelper.h
Log Message:
-----------
[lldb-dap] Improve test performance by removing negative assertions. (#178041)
Investigating some of the biggest slow downs during tests, the biggest
offender is 'wait_for_stopped' requiring a negative assertion around the
'stopped' event.
It currently waits for a negative predicate to fail before continuing.
This means it must wait for the full DEFAULT_TIMEOUT (50s) before the
test is allowed to continue.
To mitigate this, I added a new `collect_events` helper that will wait
for the given event to occur with the DEFAULT_TIMEOUT, then wait for a
quiet period (0.25s) before returning.
This greatly reduces the amount of idle waiting during tests.
Additionally, looking a the performance of individual test files,
`TestDAP_launch` is the slowest overall test. No individual test is that
slow, but the fact it has so many tests in the same file results in the
test harness waiting for that one file to finish.
To mitigate that, I split `TestDAP_launch` into individual test files
that run in parallel, reducing the runtime locally from over 2mins to
~5s.
Commit: 89ce70920a536c759f8f452a93cab29d64dfb41d
https://github.com/llvm/llvm-project/commit/89ce70920a536c759f8f452a93cab29d64dfb41d
Author: Alan Zhao <ayzhao at google.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/div.ll
M llvm/test/Transforms/InstCombine/fmul-bool.ll
M llvm/test/Transforms/InstCombine/mul.ll
M llvm/test/Transforms/InstCombine/rem.ll
M llvm/test/Transforms/InstCombine/sdiv-canonicalize.ll
M llvm/test/Transforms/InstCombine/urem-via-cmp-select.ll
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[InstCombine][profcheck] Add unknown branch weight to all selects in InstCombineMulDivRem.cpp (#178308)
These select instructions originate from code without existing branches,
so there's no existing branch weight data. Therefore, we add unknown
branch weights to all of them.
Tracking issue: #147390
Commit: 5ad82667180b5ec539c2cc9934a5a95dd997bcb1
https://github.com/llvm/llvm-project/commit/5ad82667180b5ec539c2cc9934a5a95dd997bcb1
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
R lld/test/wasm/pic-static.ll
A lld/test/wasm/pic-static.s
Log Message:
-----------
[lld][WebAssembly] Convert pic-static test to assembly. NFC (#178321)
The expectations and the `RUN` commands here are otherwise unmodified.
Commit: 9ed058cc5dbad579e702d2166bc91deb504e5e62
https://github.com/llvm/llvm-project/commit/9ed058cc5dbad579e702d2166bc91deb504e5e62
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/utils/TableGen/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[DAGISel][NFC] Add XForm/Convert/CopyToReg Comments (#178379)
Thus updates the TableGen comments (both in the TableGen source, and the
code that TableGen produces) to make it clearer what is being
represented by the ConvertToTarget emitter, the XForm emitter, and the
CopyToReg emitter.
Commit: b52dc8cc8c96a327c787b0155a6bbe91170d426b
https://github.com/llvm/llvm-project/commit/b52dc8cc8c96a327c787b0155a6bbe91170d426b
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
Log Message:
-----------
[LifetimeSafety] Track transparent member functions for "all" GSL pointers (#177660)
Track transparent member functions (like data, begin, end, operator*,
etc) for all gsl::Pointer types and not just for STL types. This is a
change in semantics of `gsl::Pointer` annotations which now handles
specially **named** functions differently.
1. Tracking more methods that return pointers or references to objects
owned by the implicit object argument
2. Ensuring that methods like `data()`, dereference operators, and
begin/end iterators are properly tracked
The changes allow the analyzer to detect more cases where addresses of
stack memory are returned, particularly when working with GSL pointer
types that provide access to their underlying objects through methods
like `data()` or operators like `*` and `->`.
One particular idiom that is now detected is iterators involved in
range-based for-loops.
```cpp
View ContainerMyObjReturnView(Container<MyObj> c) {
for (const MyObj& x : c) { // expected-warning {{address of stack memory is returned later}}
return x; // expected-note {{returned here}}
}
for (View x : c) { // expected-warning {{address of stack memory is returned later}}
return x; // expected-note {{returned here}}
}
return Global;
}
```
Commit: a58038307a604096bcc2ba0e6635be339ea704b7
https://github.com/llvm/llvm-project/commit/a58038307a604096bcc2ba0e6635be339ea704b7
Author: Dan Bonachea <dobonachea at lbl.gov>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M flang/docs/FortranStandardsSupport.md
M flang/docs/ParallelMultiImageFortranRuntime.md
Log Message:
-----------
[flang] Document experimental support for multi-image features (#178011)
This PR updates flang's Fortran standard conformance documentation to
reflect the recent addition of experimental support for multi-image
features.
PRs implementing that support include:
* #151675
* #154081
* #154770
* #154166
* #165573
Commit: d75537aba04fc7491054c1ab1cb7e2b24ff18be1
https://github.com/llvm/llvm-project/commit/d75537aba04fc7491054c1ab1cb7e2b24ff18be1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/test/CodeGen/X86/pclmulqdq.ll
Log Message:
-----------
[X86] pclmulqdq.ll - add clmul vector test coverage for #176879 (#178473)
Commit: 701f7e627b64a601421aaf7b2e1a3b2cb8cc2b2e
https://github.com/llvm/llvm-project/commit/701f7e627b64a601421aaf7b2e1a3b2cb8cc2b2e
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang/test/CIR/CodeGen/vtt.cpp
Log Message:
-----------
[CIR][NFC?] Fix vtt.cpp test (#178469)
It isn't clear whether this is the correct fix, but this is the changes
required to make this test pass.
Commit: 3e68df04daa191ed02578848fab70cdc6f2bc2aa
https://github.com/llvm/llvm-project/commit/3e68df04daa191ed02578848fab70cdc6f2bc2aa
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/rv32p-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Update P extension to 019. (#178031)
This renames two scalar instructions to not start with P. P means
"packed".
Commit: 9607d81b5b536608251a2318276a6f6f23652a9d
https://github.com/llvm/llvm-project/commit/9607d81b5b536608251a2318276a6f6f23652a9d
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang-tools-extra/clangd/index/Background.cpp
M clang-tools-extra/clangd/index/IndexAction.cpp
M clang-tools-extra/clangd/index/IndexAction.h
M clang-tools-extra/clangd/indexer/IndexerMain.cpp
M clang-tools-extra/clangd/unittests/IndexActionTests.cpp
Log Message:
-----------
[clangd] Unify IndexAction callbacks into one (#178132)
This allows users of IndexAction who create the action but do not call
it (e.g. the call will happen through ToolExecutor) to do some work when
the action is complete, without assuming that a particular one of the
individual callbacks (e.g. include graph) will be called last.
Commit: 97faac1a714755b1a9ae2c3f62da6e36dd4ccb5e
https://github.com/llvm/llvm-project/commit/97faac1a714755b1a9ae2c3f62da6e36dd4ccb5e
Author: Grigory Pastukhov <99913765+grigorypas at users.noreply.github.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/include/llvm/IR/DebugInfoMetadata.h
A llvm/test/Transforms/AddDiscriminators/pseudo-probe-discriminator.ll
Log Message:
-----------
[CSSPGO] Preserve pseudo-probe discriminators in cloneWithBaseDiscriminator (#178267)
In the O0 pipeline, `SampleProfileProbePass` runs before
`AddDiscriminatorsPass`. The
pseudo-probe pass stores probe IDs in the discriminator field using a
special encoding
(bits [2:0] = 0x7 as marker). When `AddDiscriminatorsPass` later
processes instructions
on the same source line, it calls `cloneWithBaseDiscriminator()` which
overwrites these
pseudo-probe discriminators with DWARF base discriminators, breaking
sample profile
matching.
This patch adds a check to `cloneWithBaseDiscriminator()` to detect and
preserve
pseudo-probe discriminators, similar to the existing check in
`cloneByMultiplyingDuplicationFactor()`.
In optimized pipelines (O1+), AddDiscriminators runs before pseudo-probe
instrumentation,
so this issue doesn't manifest. However, the fix makes the code robust
regardless of
pass ordering.
Commit: 95a5ff1d1c13c2cff024d1dd3e3296ab626c25ca
https://github.com/llvm/llvm-project/commit/95a5ff1d1c13c2cff024d1dd3e3296ab626c25ca
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[flang][openacc][NFC] Fix header format (#178477)
Commit: 0c41758502e6952f0501acf4d8c2c13bf5b2b4b5
https://github.com/llvm/llvm-project/commit/0c41758502e6952f0501acf4d8c2c13bf5b2b4b5
Author: RattataKing <46631728+RattataKing at users.noreply.github.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M mlir/include/mlir/Bindings/Python/IRCore.h
M mlir/lib/Bindings/Python/IRCore.cpp
Log Message:
-----------
[MLIR][Python] Remove partial LLVM APIs in python bindings (#178290)
mlir-py bindings should only rely on C mlir APIs.
This PR replaced partial LLVM utilities (`Twine`, `ArrayRef`,
`SmallVector`, `StringRef`) with equivalent STL, and added a `join()`
helper function in `IRCore.cpp` to concat strings.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: 5136b04dd2aaeb3cbc724c0015e7f06ed2408e1a
https://github.com/llvm/llvm-project/commit/5136b04dd2aaeb3cbc724c0015e7f06ed2408e1a
Author: Katherine Rasmussen <krasmussen at lbl.gov>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/test/Semantics/c7108.f90
M flang/test/Semantics/generic09.f90
M flang/test/Semantics/resolve11.f90
M flang/test/Semantics/resolve17.f90
M flang/test/Semantics/resolve18.f90
M flang/unittests/Common/FortranFeaturesTest.cpp
Log Message:
-----------
[flang] Remove `AmbiguousStructureConstructor` warnings (#178088)
Remove `AmbiguousStructureConstructor` warnings. This removes harmless
warnings about standards-conforming generic function references that
are never ambiguous with structure constructors.
Commit: c856c3d045932171c3c6e82437877ba47b6b2b24
https://github.com/llvm/llvm-project/commit/c856c3d045932171c3c6e82437877ba47b6b2b24
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-mapper-combined-entry.mlir
A offload/test/offloading/fortran/default-mapper-derived-enter-data-teams-collapse.f90
Log Message:
-----------
[MLIR][OpenMP] Fix mapper being attached to partial maps. (#178247)
Fix OpenMP mapper lowering by attaching user-defined/default mappers
only to the base parent entry, not combined/segment entries. This
prevents mapper calls with partial sizes. Added relevant tests.
Commit: efe75626cd3a0ef30e28194f6f64f4bee22b8817
https://github.com/llvm/llvm-project/commit/efe75626cd3a0ef30e28194f6f64f4bee22b8817
Author: Nathan Corbyn <n_corbyn at apple.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/abs-intrinsic.ll
Log Message:
-----------
[InstCombine] Add combines for unsigned comparison of absolute value to constant (#176148)
This patch implements the following two peephole optimisations:
1. ``` abs(X) u> K --> K >= 0 ? `X + K u> 2 * K` : `false` ```;
2. If `abs(INT_MIN)` is `poison`, ```abs(X) u< K --> K >= 1 ? `X + (K -
1) u<= 2 * (K - 1)` : K != 0```.
See the following Alive2 proofs:
[1](https://alive2.llvm.org/ce/z/J2SRSv) and
[2](https://alive2.llvm.org/ce/z/tfxTrU).
Commit: 9aec188b77b4b4a5c3ecf55d8726c87d06811b4b
https://github.com/llvm/llvm-project/commit/9aec188b77b4b4a5c3ecf55d8726c87d06811b4b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[DAG] SDPatternMatch - allow m_BinOp / m_c_BinOp to take an optional SDNodeFlags required for matching (#178435)
BinaryOpc_match is already wired up for this - but allow us to use
m_BinOp/m_c_BinOp with the required flags directly
Updated the foldShiftToAvg folds to make use of this
Commit: 3327eea67ff834f525b0a124d1d303be8e627e08
https://github.com/llvm/llvm-project/commit/3327eea67ff834f525b0a124d1d303be8e627e08
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M libcxx/test/benchmarks/spec.gen.py
Log Message:
-----------
[libc++] Reduce the number of warnings when running SPEC (#160366)
We don't care about warnings in the SPEC suite, so just use -w to turn
them off.
Commit: 37e93811a6777c907e7a529dc99cb87dea4f7a59
https://github.com/llvm/llvm-project/commit/37e93811a6777c907e7a529dc99cb87dea4f7a59
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/ops.mlir
Log Message:
-----------
[mlir][tosa] Fix pad op verifier when padding is dynamic (#177622)
When padding is dynamic the verifier should not return failure, it
shouldn't try to check the pad values.
Commit: 59e44799bd6496877f8e369ce71f83f3ebdc90ab
https://github.com/llvm/llvm-project/commit/59e44799bd6496877f8e369ce71f83f3ebdc90ab
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
M mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp
M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/FoldMemRefsOps.cpp
M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp
M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Transforms/AsyncRegionRewriter.cpp
M mlir/lib/Dialect/GPU/Transforms/EliminateBarriers.cpp
M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/SimplifyDepthwiseConv.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/MemRef/Transforms/FlattenMemRefs.cpp
M mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitDeclare.cpp
M mlir/lib/Dialect/PDL/IR/PDL.cpp
M mlir/lib/Dialect/SCF/Transforms/LoopCanonicalization.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/lib/Rewrite/ByteCode.cpp
M mlir/lib/TableGen/Operator.cpp
M mlir/lib/TableGen/Type.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/lib/Target/IRDLToCpp/IRDLToCpp.cpp
M mlir/lib/Target/IRDLToCpp/TranslationRegistration.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/Ptr/PtrToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgElementwiseFusion.cpp
M mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
Log Message:
-----------
[mlir] Fix new clang-tidy warning llvm-type-switch-case-types. NFC. (#178487)
Pre-commiting this before landing the new check in
https://github.com/llvm/llvm-project/pull/177892
Commit: 6f79891cf582aba7998c5caba9d7a03fd7cc61bc
https://github.com/llvm/llvm-project/commit/6f79891cf582aba7998c5caba9d7a03fd7cc61bc
Author: Daniel Thornburgh <mysterymath at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Sema/attr-modular-format.c
Log Message:
-----------
[clang] Check that first modular_format argument is an identifier (#178322)
This fixes an oversight discovered in #147431.
Commit: b88d49ef12a9e2a863b21ac04c687f7453264164
https://github.com/llvm/llvm-project/commit/b88d49ef12a9e2a863b21ac04c687f7453264164
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CUDA/CUFComputeSharedMemoryOffsetsAndSize.cpp
M flang/test/Fir/CUDA/cuda-shared-offset.mlir
Log Message:
-----------
[flang][cuda] Do not initialize shared variable (#178489)
Commit: 53438419b9a07b9d6200a8d4e737d3a7f88e1202
https://github.com/llvm/llvm-project/commit/53438419b9a07b9d6200a8d4e737d3a7f88e1202
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
Log Message:
-----------
[SDPatternMatch][NFC] Use empty SDNodeFlags instead of std::optional (#178483)
I think we can avoid using std::optional for SDNodeFlags in
UnaryOpc_match.
NFC.
Commit: 024b8ac74eb856644987195fc6e0bbccd5989018
https://github.com/llvm/llvm-project/commit/024b8ac74eb856644987195fc6e0bbccd5989018
Author: Sersawy <65075626+Abdelrhmansersawy at users.noreply.github.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/llogbf128.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/llogbf128.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/llogbf128.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor llogbf128 to header-only (#175617)
Commit: df0c6f4caacb8a6eec9e653d9da450b8aec48a49
https://github.com/llvm/llvm-project/commit/df0c6f4caacb8a6eec9e653d9da450b8aec48a49
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
Log Message:
-----------
[OpenMP] Rename some data members in ConstructDecompositionT for clar… (#178475)
…ity, NFC
Commit: 07ee61d59ef9f568166116300a4a59e2b615ea10
https://github.com/llvm/llvm-project/commit/07ee61d59ef9f568166116300a4a59e2b615ea10
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUtils.cpp
Log Message:
-----------
[LoopUnroll] Fix unused variable warning (#178490)
Fixes 362c39d36dd87c5659b0caa3115dfa67f592cdf6.
Commit: a8913a22290d4049e6c20f3712908c11b3b6b9ed
https://github.com/llvm/llvm-project/commit/a8913a22290d4049e6c20f3712908c11b3b6b9ed
Author: cpist (He / Him) <tinyfrog12 at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/logf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/logf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/logf16.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor logf16 to header-only shared math (#175408)
## Summary
Following the discussion in the RFC [1], Refactors logf16 to a
header-only shared math.
[1]
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
## Implementation
- Moved the core logic and lookup tables from `generic/logf16.cpp` to
`__support/math/logf16.h`
- Updated `generic/logf16.cpp` to include the new header and call
`internal::logf16`
- Updated `CMakeLists.txt` and `BUILD.bazel` to reflect the dependency
changes and new header library
Fix : https://github.com/llvm/llvm-project/issues/175367
Commit: 7cf11edd53a822139bdce6b79c31919ece18ccf0
https://github.com/llvm/llvm-project/commit/7cf11edd53a822139bdce6b79c31919ece18ccf0
Author: Jonathan Cohen <joncoh at apple.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/EarlyIfConversion.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
A llvm/test/CodeGen/AArch64/early-ifcvt-load-to-cond-br.mir
A llvm/test/CodeGen/AArch64/early-ifcvt-remarks.mir
Log Message:
-----------
[EarlyIfConversion] Add analysis for data-dependent conditional branches(#174457)
Add infrastructure to identify conditional branches on values loaded from
memory. Such branches are likely to be harder to predict accurately since
branch history (probably) provides little useful information.
This analysis walks the def-use chain from the branch condition to find
loads that feed into it. Several cases are excluded from consideration:
- Loads from constant pools (predictable values)
- Dereferenceable invariant loads (loop-invariant)
- Branches with biased probability (null checks, etc.)
- Loads not "close in program time" to the branch (must be in the same
basic block with no intervening calls)
The analysis is disabled by default behind -enable-early-ifcvt-data-dependent.
Commit: cd4c9d200beeafaf6710e3226c11845794d5ffa9
https://github.com/llvm/llvm-project/commit/cd4c9d200beeafaf6710e3226c11845794d5ffa9
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/Transforms/Transforms.h
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/test/Dialect/XeGPU/propagate-layout-inst-data.mlir
M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
M mlir/test/Dialect/XeGPU/propagate-layout.mlir
A mlir/test/Dialect/XeGPU/resolve-layout-conflicts.mlir
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
Log Message:
-----------
[mlir][xegpu] Add initial support for layout conflict handling. (#173090)
This PR adds initial support for layout conflict resolution in XeGPU.
Layout conflict occurs when some op's use point expects a different
layout than what the op can currently provide. This conflict needs to be
resolved by adding certain other xegpu ops.
Initially, We only focus conflict handling at tensor desc use points.
Commit: 3f3190e72d20fe360a0749ba5fae962106acd23a
https://github.com/llvm/llvm-project/commit/3f3190e72d20fe360a0749ba5fae962106acd23a
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
Log Message:
-----------
[NFC] update doc comment on `setLoopEstimatedTripCount` (#178091)
See [this
discussion](https://github.com/llvm/llvm-project/pull/174896#issuecomment-3802361713)
prompted by PR #174896.
A 0-0 encoding in branch weights is invalid (the probability of an edge
is computed as a fraction where the denominator is the sum of the
weights and the numerator is its - the edge's - weight). So BPI actually
handles it as 1-1, which then results in raising the BFI of the loop
body that's meant to be cold.
The aforementioned PR addressed this, but didn't update the doc comment.
Commit: 7075f38109b59912751fbf7298e871a5626bca76
https://github.com/llvm/llvm-project/commit/7075f38109b59912751fbf7298e871a5626bca76
Author: Mingming Liu <mingmingl at google.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
M llvm/test/Transforms/PGOProfile/data-access-profile.ll
Log Message:
-----------
[StaticDataLayout][MemProf] Annotate string literal hotness by making use of data access profiles. (#178333)
The change is gated under a new option
`memprof-annotate-string-literal-section-prefix` so we can flag-gate it
for rollout purposes.
A follow-up PR https://github.com/llvm/llvm-project/pull/178336/changes
updates the codegen pass to reconcile the hotness similar to the
reconciliation for other global variables.
Commit: 43f58a86f36162cb1d1bb595f2d238ad3d93ad09
https://github.com/llvm/llvm-project/commit/43f58a86f36162cb1d1bb595f2d238ad3d93ad09
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/test/lit.cfg.py
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
Exclude some target-specific tests from profcheck (#178500)
Commit: 18925d131b5c3c7ac79eb12333263bd89375e817
https://github.com/llvm/llvm-project/commit/18925d131b5c3c7ac79eb12333263bd89375e817
Author: Atharv Mane <atharvamane19 at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/fsqrtl.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/fsqrtl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/fsqrtl.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] [math] Refactor fsqrtl to be header-only (#176169)
This PR refactors fsqrtl to be header only as discussed. No functional
change intended. Test and build files were updated as required by the
refactor
Fixes #175335
Commit: d6ca3d085e254f93d9592d1e9d32c46c84625b5f
https://github.com/llvm/llvm-project/commit/d6ca3d085e254f93d9592d1e9d32c46c84625b5f
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Object/WasmObjectFile.cpp
Log Message:
-----------
[WebAssembly] Dump more info when printing symbols. NFC (#178328)
Commit: 2615005982c3d20e6eb7fd46f2759373ad1eab74
https://github.com/llvm/llvm-project/commit/2615005982c3d20e6eb7fd46f2759373ad1eab74
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU][SIInsertWaitcnts] Cleanup: Remove WaitEventMaskForInst member variable (#178030)
The event mask is constant and target dependent it should be accessed
through the WCG object.
Commit: 9d3d1ddd95429416ccadf8c50cd23fd417dd7e8d
https://github.com/llvm/llvm-project/commit/9d3d1ddd95429416ccadf8c50cd23fd417dd7e8d
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/MC/WasmObjectWriter.cpp
Log Message:
-----------
[MC][WebAssembly] Use `contains` over `count` for map membership. NFC (#178348)
Commit: 28e980fbdd724fa193681316adbfb41e115106d3
https://github.com/llvm/llvm-project/commit/28e980fbdd724fa193681316adbfb41e115106d3
Author: Usama Hameed <u_hameed at apple.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/test/CodeGen/AArch64/stack-tagging-prologue.ll
Log Message:
-----------
[MTE][Darwin] This patch extends support for the stack frame history buffer to Darwin. (#178049)
Darwin reserves slot 231 for storing a pointer to the history ring
buffer. It also uses bits 60-62 to store the size of the ring buffer
rdar://168176496
Commit: 570d5e3318c23aacfb44c50d5cdc824a8c39107d
https://github.com/llvm/llvm-project/commit/570d5e3318c23aacfb44c50d5cdc824a8c39107d
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M libcxx/CMakeLists.txt
Log Message:
-----------
[libc++] Don't define _LIBCPP_INSTRUMENTED_WITH_ASAN for hwasan builds (#178278)
This macro should not be defined if `LLVM_USE_SANITIZER` is `HWAddress`.
Commit: b3f3aa81e0207dd6d778db8f2b5d42df1f9c4716
https://github.com/llvm/llvm-project/commit/b3f3aa81e0207dd6d778db8f2b5d42df1f9c4716
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M libc/src/__support/math/CMakeLists.txt
Log Message:
-----------
[libc][math] Fix AMD build errors. (#178507)
Commit: dbce14f0d65e75517398890c467daf31a9276a09
https://github.com/llvm/llvm-project/commit/dbce14f0d65e75517398890c467daf31a9276a09
Author: Roland McGrath <mcgrathr at google.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M libc/include/llvm-libc-macros/pthread-macros.h
R libc/include/pthread.h.def
M libc/include/pthread.yaml
Log Message:
-----------
[libc] Clean up pthread.yaml (#178327)
Remove pthread.h.def and use pure generation. Fix YAML records
for standards to correct syntax and remove redundancies.
Don't declare NULL, which is not specified for <pthread.h>.
Do declare PTHREAD_NULL.
Commit: 55fbb71db10fb08cc04c9b50eaafc18ce9462214
https://github.com/llvm/llvm-project/commit/55fbb71db10fb08cc04c9b50eaafc18ce9462214
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
Log Message:
-----------
[llvm] Fix new clang-tidy warning llvm-type-switch-case-types. NFC. (#178502)
Pre-commiting this before landing the new check in
https://github.com/llvm/llvm-project/pull/177892
Commit: 10c5d7562357194bc8a14ca96eb342b2006b77e0
https://github.com/llvm/llvm-project/commit/10c5d7562357194bc8a14ca96eb342b2006b77e0
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCUtils.cpp
M flang/lib/Optimizer/OpenMP/LowerNontemporal.cpp
Log Message:
-----------
[flang] Fix new clang-tidy warning llvm-type-switch-case-types. NFC. (#178512)
Pre-commiting this before landing the new check in
https://github.com/llvm/llvm-project/pull/177892
Commit: 779d8062605a1a2fd57f9c88260a45277b676020
https://github.com/llvm/llvm-project/commit/779d8062605a1a2fd57f9c88260a45277b676020
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang-tools-extra/clang-tidy/llvm/CMakeLists.txt
M clang-tools-extra/clang-tidy/llvm/LLVMTidyModule.cpp
A clang-tools-extra/clang-tidy/llvm/TypeSwitchCaseTypesCheck.cpp
A clang-tools-extra/clang-tidy/llvm/TypeSwitchCaseTypesCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/llvm/type-switch-case-types.rst
A clang-tools-extra/test/clang-tidy/checkers/llvm/type-switch-case-types.cpp
Log Message:
-----------
[clang-tidy] Add llvm-type-switch-case-types check (#177892)
Adds a new check for `llvm::TypeSwitch`:
* `.Case<T>([](T *X) { ... })` --> `.Case([](T *X) { ... } )`
* `.Case<T>([](auto X) { ... })` --> warning only
I ran this on mlir to make sure the warning make sense and that all
fixits compile:
https://gist.github.com/kuhar/a2276a2364325521ea6f39d2098497b9.
Assisted-by: claude
Commit: 8d9df60efb92b1e41ffc490233c523d6275d0223
https://github.com/llvm/llvm-project/commit/8d9df60efb92b1e41ffc490233c523d6275d0223
Author: Jonathan Cohen <joncoh at apple.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/EarlyIfConversion.cpp
Log Message:
-----------
[EarlyIfConversion] Fix lambda capture in `callInRange` (#178504)
Post merge failure in windows buildbot:
https://lab.llvm.org/buildbot/#/builders/46/builds/29831
Commit: b686bc45ae5f6763184b731a4011379478e6c2e5
https://github.com/llvm/llvm-project/commit/b686bc45ae5f6763184b731a4011379478e6c2e5
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/llvm/BUILD.gn
Log Message:
-----------
[gn build] Port 779d8062605a
Commit: 241de80d38d4482eeecc2c7f51dc1f2b7f06ad69
https://github.com/llvm/llvm-project/commit/241de80d38d4482eeecc2c7f51dc1f2b7f06ad69
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/CMakeLists.txt
A mlir/include/mlir/Dialect/MemRef/IR/MemoryAccessOpInterfaces.h
A mlir/include/mlir/Dialect/MemRef/IR/MemoryAccessOpInterfaces.td
M mlir/lib/Dialect/MemRef/IR/CMakeLists.txt
A mlir/lib/Dialect/MemRef/IR/MemoryAccessOpInterfaces.cpp
Log Message:
-----------
[mlir][memref] Define interfaces for ops that access memrefs at an index (#177013)
This commit defines interfaces for operations that perform certain kinds
of indexed access on a memref. These interfaces are defined so that
passes like fold-memref-alias-ops and the memref flattener can be made
generic over operations that, informally, have the forms `op ... %m[%i0,
%i1, ...] ...` (an IndexedAccessOpInterface) or the form `op %src[%s0,
%s1, ...], %dst[%d0, %d1, ...] size ...` (an IndexedMemCopyOpInterface).
These interfaces have been designed such that all the passes under
MemRef/Transforms that currently have a big switch-case on memref.load,
vector.load, nvgpu.ldmatrix, etc. can be migrated to use them.
(This'll also let us get rid of the awkward fact that we have memref
transforms depending on the GPU and NVGPU dialects)
While the interface doesn't currently contemplate changing element types
(enabling, for example, writing a bf16 => u16 update to be done in
place), future extensions to allow such transformations could be worth
exploring.
This commit only defines the interfaces so that it'll be easier to
review the design - the implementation is in a future PR.
---------
Co-authored-by: Jakub Kuderski <jakub at nod-labs.com>
Commit: 536670bce2c3612c47f3c567bfe13a4d0b644874
https://github.com/llvm/llvm-project/commit/536670bce2c3612c47f3c567bfe13a4d0b644874
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M .github/workflows/libcxx-check-generated-files.yml
Log Message:
-----------
[Github] Make libcxx-check-generated-files.yml not run in forks
This is best practice according to
https://llvm.org/docs/CIBestPractices.html. Found this when looking at
PRs on forks and saw one running for libc++.
Commit: 22d28e6ee6aabc0714ac0ab003ff24fabc26aa56
https://github.com/llvm/llvm-project/commit/22d28e6ee6aabc0714ac0ab003ff24fabc26aa56
Author: Kelvin Li <kli at ca.ibm.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M flang/test/Lower/volatile-openmp.f90
Log Message:
-----------
[flang][AIX] update type format in LIT (NFC) (#178505)
Commit: 97e1df149de213b760aae4060ee9e25dc9908125
https://github.com/llvm/llvm-project/commit/97e1df149de213b760aae4060ee9e25dc9908125
Author: Andrei Elovikov <a.elovikov at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
A llvm/test/Transforms/LoopVectorize/vplan-print-after-all.ll
M llvm/unittests/Transforms/Vectorize/VPlanUncountableExitTest.cpp
Log Message:
-----------
[VPlan] Add hidden `-vplan-print-after-all` option (#175839)
This consists of the following changes:
* Merge several overloads of `VPlanTransforms::runPass` into a single
function
to avoid code duplication.
* Add helper macro `RUN_VPLAN_PASS` to capture the transformation name
and pass it to the helper above for printing.
* Add new `-vplan-print-after-all` option (somewhat similar to existing
`-vplan-verify-each`).
* Add two empty passes `printAfterInitialConstruction`/`printFinalVPlan`
so that initial/final
VPlans would be supported in `-vplan-print-after-all`
This follows the original future plans in
https://github.com/llvm/llvm-project/pull/123640.
Commit: e882aed1f94a117e762351d8c5bd840f5d60ad65
https://github.com/llvm/llvm-project/commit/e882aed1f94a117e762351d8c5bd840f5d60ad65
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV] Add assertions that binary and ternary classes are being used correctly in RISCVInstrInfoP.td. NFC (#178520)
The P extension defines an 'R' bit in some encodings that when set
indicates the instruction reads the destination register.
We had some problems in the past where we weren't using the ternary
classes for these cases. This patch adds asserts to better check this.
Commit: 032accdce98dd60a33739e995056a22a750443d8
https://github.com/llvm/llvm-project/commit/032accdce98dd60a33739e995056a22a750443d8
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenPGO.h
Log Message:
-----------
[clang][coverage] Introduce `hasSkipCounter` instead of `getIsCounterPair` (#178397)
The return value of `getIsCounterPair(S)` was `std::pair<bool,bool>` but
its `hasExec` wasn't used. So, introduce just the `hasSkipCounter(S)`.
It'd be better to name `getExecSkipCounterExistence` if
`std::pair<bool,bool>` would be resurrected in the future.
Commit: 599c2a006324ef42cceb0fd1c626e767a4cbbef8
https://github.com/llvm/llvm-project/commit/599c2a006324ef42cceb0fd1c626e767a4cbbef8
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/test/CoverageMapping/single-byte-counters.cpp
M llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.proftext
M llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.yaml
M llvm/test/tools/llvm-cov/Inputs/branch-c-general.c
M llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.proftext
M llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.yaml
Log Message:
-----------
[Coverage][Single] Enable Branch coverage for loop statements (#113109)
Depends on: #112730 #113114
https://discourse.llvm.org/t/rfc-integrating-singlebytecoverage-with-branch-coverage/82492
Commit: 5b9751b99b6bf37eb8d2d7d0e5085a4b560544b6
https://github.com/llvm/llvm-project/commit/5b9751b99b6bf37eb8d2d7d0e5085a4b560544b6
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix build for 241de80d38d4482eeecc2c7f51dc1f2b7f06ad69 (#178527)
Commit: 913344bea1467cac1907ee18fe936300271e8964
https://github.com/llvm/llvm-project/commit/913344bea1467cac1907ee18fe936300271e8964
Author: Marco Elver <elver at google.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/docs/AddressSanitizer.rst
M clang/docs/MemorySanitizer.rst
M clang/docs/ThreadSanitizer.rst
Log Message:
-----------
[Clang] Improve documentation for __builtin_allow_sanitize_check() (#175106)
Clarify that the builtin is intended for guarding explicit sanitizer
checks that use the runtime API to perform such checks. Update the
description to use "allowed" instead of "active" to better reflect the
intended usage and semantics, which would allow policy refinements in
future [1]. Also make the examples more concrete.
[1] https://discourse.llvm.org/t/explicit-sanitizer-checks-with-builtin-allow-sanitize-check/89383
Commit: 18fd154e7c4580ed18078a9394e344b008ef8d52
https://github.com/llvm/llvm-project/commit/18fd154e7c4580ed18078a9394e344b008ef8d52
Author: Greg Clayton <gclayton at fb.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
A llvm/test/tools/llvm-gsymutil/X86/elf-invalid-llvm-stmt-sequence.yaml
A llvm/test/tools/llvm-gsymutil/X86/elf-llvm-stmt-sequence.yaml
Log Message:
-----------
Modify llvm-gsymutil to work around invalid DW_AT_LLVM_stmt_sequence attributes. (#178034)
The DW_AT_LLVM_stmt_sequence attribute is an attribute that can be added
to a DW_TAG_subprogram DIE to uniquely identify the exact line tables
entries for a given function. This helps when we merge functions in the
same compile unit and end up with multiple sequences in the line table
that describe the same address range. Having this attribute on a
function allows us to select the right line table entries for a
function. This also helps us convert to GSYM and always get the line
tables right.
We have seen a large amount of errors when binaries have
DW_AT_LLVM_stmt_sequence attributes on functions but their values have
invalid .debug_line sequence offsets. When this would happen, the
conversion to GSYM would not emit any line table entries for that
function. This patch tries to use the DW_AT_LLVM_stmt_sequence attribute
when finding all line entries for a function, but it will fall back to
not using and requiring it to be correct. This ensures we always get the
most information in the GSYM even when DW_AT_LLVM_stmt_sequence values
are not valid. Others are working on fixing the compiler or LTO/Bolt
issues that cause invalid DW_AT_LLVM_stmt_sequence values to be in a
final executable, but this patch will help track and mitigate the issue.
Commit: 1630dc44cf4a0d22004e9e339c57b4548f01f56f
https://github.com/llvm/llvm-project/commit/1630dc44cf4a0d22004e9e339c57b4548f01f56f
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M lldb/include/lldb/Host/FileAction.h
M lldb/source/Host/common/FileAction.cpp
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
Log Message:
-----------
Revert "[lldb][windows] fix an invalid cast from a file descriptor to a HANDLE (#178238)" (#178532)
Commit: fcd609762cd47fdf7e90b879d58c4621fd8c520a
https://github.com/llvm/llvm-project/commit/fcd609762cd47fdf7e90b879d58c4621fd8c520a
Author: Zachary Yedidia <zyedidia at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M lld/ELF/Writer.cpp
M lld/test/ELF/fill-trap.s
Log Message:
-----------
[lld] Fill section gaps with trap instructions (#176845)
Fills unused parts of code segments with trap instructions instead of
zeroes. This is especially useful on x86-64 since 0x00 0x00 is a
two-byte instruction that performs a memory access. Benefits:
- Provides an explicit trap when executing invalid code.
- Required for security reasons when targeting LFI.
- Makes disassembling easier, especially without symbol information.
Previously an odd number of zero bytes between sections could cause a
disassembler to incorrectly disassemble the remainder of the program.
Commit: 502d2d43db06cb94206be972f51ae62d55304dd7
https://github.com/llvm/llvm-project/commit/502d2d43db06cb94206be972f51ae62d55304dd7
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang/include/clang/Lex/ModuleMap.h
M clang/lib/Lex/ModuleMap.cpp
Log Message:
-----------
[clang][modulemap] Don't call translateFile (#176288)
In some cases `SourceManager::translateFile` ends up spending a lot of
time loading source locations from PCMs, significantly slowing down
module scanning. The actual requirements are that we use local FileIDs
for module maps so that we can compute affecting module maps, and that
there is only one FileID per module map per compiler instance. This
patch simply records the FileEntry to FileID mapping and reuses it when
needed.
Commit: c54b288461646e0c9d0a0d3bc0cf9ff13eda234e
https://github.com/llvm/llvm-project/commit/c54b288461646e0c9d0a0d3bc0cf9ff13eda234e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
Log Message:
-----------
[RISCV] Use IntImmLeaf/FPImmLeaf. NFC (#178525)
Commit: eabcdb572b00605379a2a18704803bad77ee639c
https://github.com/llvm/llvm-project/commit/eabcdb572b00605379a2a18704803bad77ee639c
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
R llvm/test/Transforms/LoopVectorize/vplan-print-after-all.ll
M llvm/unittests/Transforms/Vectorize/VPlanUncountableExitTest.cpp
Log Message:
-----------
Revert "[VPlan] Add hidden `-vplan-print-after-all` option (#175839)" (#178544)
This reverts commit 97e1df149de213b760aae4060ee9e25dc9908125.
It looks like the commit caused some build bot failures. Revert back to green
so the failures can be investigated.
https://lab.llvm.org/buildbot/#/builders/159/builds/39803
https://lab.llvm.org/buildbot/#/builders/2/builds/43204
Commit: 5b4f424454a0b83411111224b349e3e28f8d58f8
https://github.com/llvm/llvm-project/commit/5b4f424454a0b83411111224b349e3e28f8d58f8
Author: Wenju He <wenju.he at intel.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M libclc/CMakeLists.txt
R libclc/clc/include/clc/clctypes.h
M libclc/clc/include/clc/float/definitions.h
M libclc/clc/include/clc/integer/clc_upsample.h
M libclc/clc/include/clc/integer/definitions.h
M libclc/clc/include/clc/integer/gentype.inc
M libclc/clc/include/clc/integer/gentype24.inc
M libclc/clc/include/clc/internal/clc.h
M libclc/clc/include/clc/math/gentype.inc
M libclc/clc/include/clc/math/tables.h
M libclc/clc/include/clc/relational/clc_all.h
M libclc/clc/include/clc/relational/clc_any.h
M libclc/clc/include/clc/relational/clc_isequal.h
M libclc/clc/include/clc/relational/clc_isinf.h
M libclc/clc/include/clc/relational/clc_isnan.h
M libclc/cmake/modules/AddLibclc.cmake
M libclc/opencl/include/clc/opencl/opencl-base.h
Log Message:
-----------
[libclc][NFC] Fix build warning typedef-redefinition (#177888)
Fix downstream build warning:
redefinition of typedef 'ushort8' is a C11 feature [-Wtypedef-redefinition]
clctypes.h re-defines typedef from opencl-c-base.h. Both files are
included in libclc/opencl folder.
This PR deletes clctypes.h and includes opencl-c-base.h for both CLC and
OpenCL libraries.
Previously opencl-c-base.h was only included in OpenCL library.
Commit: b79f5b56f0628442cefbc4550e745c94690e9093
https://github.com/llvm/llvm-project/commit/b79f5b56f0628442cefbc4550e745c94690e9093
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
A clang/test/CIR/CodeGen/no-odr-use.cpp
Log Message:
-----------
[CIR] Add handling for non-ODR use DeclRefLValues (#178323)
This upstreams the code to handle decl ref l-values for non-odr uses.
Commit: d698b3a0670b2c4c3ac4039b5f42d4eef6acc53f
https://github.com/llvm/llvm-project/commit/d698b3a0670b2c4c3ac4039b5f42d4eef6acc53f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M .github/workflows/prune-unused-branches.py
Log Message:
-----------
[Github] Filter only origin branches in prune unused branches workflow
We should only have branches from the origin remote when actually
running the workflow, but this makes the script easier to test locally
where I have branches from several different remotes.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/178540
Commit: 0cd50b0d3b37ebe349972548d5386cca99fca955
https://github.com/llvm/llvm-project/commit/0cd50b0d3b37ebe349972548d5386cca99fca955
Author: Luohao Wang <luohaothu at live.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[Clang][Sema] Avoid crash in overload diagnostics for invalid static deducing-this (#177783)
Fix #177741
Overload candidate diagnostics reserve a conversion slot for the object
argument. For static methods this slot does not correspond to a real
parameter, and for ill-formed declarations with an explicit object
parameter we could index past the parameter list and crash in assert
builds.
Use isExplicitObjectMemberFunction() when mapping conversion slots to
parameters and guard parameter-range computation to keep notes robust.
Commit: 43dd36216555c9414af04166801beaf2ea82bb41
https://github.com/llvm/llvm-project/commit/43dd36216555c9414af04166801beaf2ea82bb41
Author: John Harrison <harjohn at google.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setExceptionBreakpoints.py
M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
M lldb/test/API/tools/lldb-dap/exception/cpp/TestDAP_exception_cpp.py
M lldb/test/API/tools/lldb-dap/exception/objc/TestDAP_exception_objc.py
A lldb/test/API/tools/lldb-dap/exception/runtime-instruments/Makefile
A lldb/test/API/tools/lldb-dap/exception/runtime-instruments/TestDAP_runtime_instruments.py
A lldb/test/API/tools/lldb-dap/exception/runtime-instruments/categories
A lldb/test/API/tools/lldb-dap/exception/runtime-instruments/main.c
M lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
A lldb/tools/lldb-dap/SBAPIExtras.h
Log Message:
-----------
[lldb-dap] Adding more details to 'exceptionInfo'. (#176465)
In the exceptionInfo request I've added additional information for crash
data, instrumentation data and more detailed exception data.
For example, when UBSan is enabled, you now see additional information
in the exception stack trace about the detected issue:
<img width="1728" height="538" alt="Screenshot 2026-01-15 at 3 05 08 PM"
src="https://github.com/user-attachments/assets/b761af2c-90ac-4eb7-9926-3ab133f1b753"
/>
I included a new test for stopping at `lldb::eStopReasonInstrumentation`
and ensuring we have additional information reported.
---------
Co-authored-by: Ebuka Ezike <yerimyah1 at gmail.com>
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: ea509d2857606750218ab80b082ffcae43aef7fc
https://github.com/llvm/llvm-project/commit/ea509d2857606750218ab80b082ffcae43aef7fc
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/test/CoverageMapping/single-byte-counters.cpp
M llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.proftext
M llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.yaml
M llvm/test/tools/llvm-cov/Inputs/branch-c-general.c
Log Message:
-----------
[Coverage][Single] Enable Branch coverage for SwitchStmt (#113112)
Depends on: #112730 #113114
https://discourse.llvm.org/t/rfc-integrating-singlebytecoverage-with-branch-coverage/82492
Commit: f6fe6fc86a0ce3253c7a6cca2841a905ad6cf3a3
https://github.com/llvm/llvm-project/commit/f6fe6fc86a0ce3253c7a6cca2841a905ad6cf3a3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/deleted-instructions-clear.ll
M llvm/test/Transforms/SLPVectorizer/X86/parent-node-split-non-schedulable.ll
A llvm/test/Transforms/SLPVectorizer/X86/split-node-marked-to-gather.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-vectorize-gathered-def-after-use.ll
Log Message:
-----------
[SLP]Do not vectorize subtrees of the split node, marked as gathers.
If the split node was marked as gather/buildvector nodes, the vectorizer
should not vectorize its subtrees, which are marked as deleted.
Commit: 5968e29dad63d9c866675dbce9cc284fcec8a900
https://github.com/llvm/llvm-project/commit/5968e29dad63d9c866675dbce9cc284fcec8a900
Author: Greg Clayton <gclayton at fb.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M lldb/source/Core/DynamicLoader.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.h
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
A lldb/test/API/functionalities/postmortem/elf-core/linux-x86_64-no-exe.core
Log Message:
-----------
[lldb] Add the ability to load ELF core file executables and shared libraries from memory (#177289)
This patch enables ELF core files to be loaded and still show
executables and shared libraries. Functionality includes:
- Load executable and shared libraries from memory if ELF headers are
available
- Create placeholder for missing shared libraries and executable.
Previously you just wouldn't get anything in the "image list" if no
executable was provided.
Commit: 16149ca93227d0d26a2f7387e95ad30971e99f43
https://github.com/llvm/llvm-project/commit/16149ca93227d0d26a2f7387e95ad30971e99f43
Author: Greg Clayton <gclayton at fb.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
A lldb/test/Shell/SymbolFile/DWARF/Inputs/gnu-ref-strp-alt.yaml
A lldb/test/Shell/SymbolFile/DWARF/gnu-ref-strp-alt.test
Log Message:
-----------
Add support for DW_FORM_GNU_ref_alt and DW_FORM_GNU_strp_alt. (#176056)
LLDB's DWARF parser didn't support parsing DW_FORM_GNU_ref_alt and
DW_FORM_GNU_strp_alt forms which would cause any file loaded by LLDB to
fail to parse any DWARF. Added support for parsing this information
only, not for actually finding the debug info reference to an alternate
file or a string in an alternate file. These extensions are used by DWZ
files which are present in some linux distros, so it will be good for
LLDB to just be able to parse these without emitting an error like:
(lldb) b bar
warning: (arm64) /tmp/a.out unsupported DW_FORM values: 0x1f20 0x1f21
Commit: 495a783d069665dea3bcbe35c6f5f44aa0a137a7
https://github.com/llvm/llvm-project/commit/495a783d069665dea3bcbe35c6f5f44aa0a137a7
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/include/llvm/CodeGen/LivePhysRegs.h
Log Message:
-----------
[NFC][CodeGen] Simplify fullyRecomputeLiveIns (#178045)
Use range for loop and simplify the convergence loop.
Commit: 9fb61d97221350cfefed15d07258d33a981bd2ea
https://github.com/llvm/llvm-project/commit/9fb61d97221350cfefed15d07258d33a981bd2ea
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lld/ELF/Arch/Mips.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
Log Message:
-----------
[NFCI][ELF][Mips] Refactor MipsGotSection to avoid explicit writes (#178561)
Splitting the VA / addend calculations between build and writeTo means
having to keep them in sync and duplicating some of the logic. Move all
such calculations into build, mirroring how the normal non-MIPS code in
Relocations.cpp ensures the addend and initial memory contents are set.
Commit: 9aaf0b89f5ab3c84f8ad24213992a8158d344b96
https://github.com/llvm/llvm-project/commit/9aaf0b89f5ab3c84f8ad24213992a8158d344b96
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/include/mlir/Tools/PDLL/AST/Types.h
M mlir/lib/Analysis/Presburger/Simplex.cpp
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Affine/Transforms/DecomposeAffineOps.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
M mlir/lib/Dialect/Func/IR/FuncOps.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/GPUHeuristics.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConstantFold.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertConv2DToImg2Col.cpp
M mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseToLinalg.cpp
M mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
M mlir/lib/Dialect/Linalg/Transforms/Split.cpp
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitData.cpp
M mlir/lib/Dialect/Quant/IR/TypeParser.cpp
M mlir/lib/Dialect/Quant/Transforms/NormalizeQuantTypes.cpp
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/Tensor/IR/TensorInferTypeOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorInterleave.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/TransformOps/XeGPUTransformOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/IR/AffineExpr.cpp
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/lib/Target/LLVMIR/Transforms/TargetToTargetFeatures.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/BytecodeDialectGen.cpp
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
Log Message:
-----------
[mlir] Apply clang-tidy check llvm-use-vector-utils. NFC. (#178526)
Commit: ed4aab07ec7eb335f6a082245885c15f1185472a
https://github.com/llvm/llvm-project/commit/ed4aab07ec7eb335f6a082245885c15f1185472a
Author: puneeth_aditya_5656 <myakampuneeth at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M offload/liboffload/src/OffloadImpl.cpp
Log Message:
-----------
[Offload][AMDGPU] Fix olQueryQueue uninitialized output parameter (#178464)
## Summary
- Fix uninitialized output parameter in `olQueryQueue_impl` when
`Queue->AsyncInfo->Queue` is null
- Set `IsQueueWorkCompleted` to `true` when no underlying queue exists
(no pending work)
- Resolves test failure on AMDGPU for
`olQueryQueueTest.SuccessEmptyAsyncQueueCheckResult`
Fixes #178462.
## Test plan
- [x] Fixed
`OffloadAPI/queue.unittests/olQueryQueueTest/SuccessEmptyAsyncQueueCheckResult/AMDGPU_AMD_Radeon_RX_7700_XT_0`
test
- [ ] CI tests pass
---------
Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 3404537393f5896650ddc71f0e1285977c8f8aa4
https://github.com/llvm/llvm-project/commit/3404537393f5896650ddc71f0e1285977c8f8aa4
Author: Saina Daneshmand <66389676+SainaDaneshmandjahromi at users.noreply.github.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/sqrt.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/sqrt.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/sqrt.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor sqrt to header-only (#178335)
This refactors `sqrt` to be header-only, following the libc math
refactoring plan.
Part of #147386
Closes #177648
Commit: eef6b62dccde684bce421de3939b2a85f48a896f
https://github.com/llvm/llvm-project/commit/eef6b62dccde684bce421de3939b2a85f48a896f
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/Analysis/MemoryBuiltins.cpp
M llvm/lib/CodeGen/SafeStack.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
M llvm/test/Instrumentation/BoundsChecking/runtimes.ll
M llvm/test/Instrumentation/BoundsChecking/simple.ll
M llvm/test/Instrumentation/MemorySanitizer/alloca.ll
M llvm/test/Transforms/LowerConstantIntrinsics/objectsize_basic.ll
Log Message:
-----------
[NFCI][IRBuilder] Add CreateAllocationSize helper (#178346)
Create a new `IRBuilderBase::CreateAllocationSize` method to compute the
runtime size of an alloca as a Value*. This handles both static and
dynamic allocas by computing `ArraySize * ElementSize`, and using
CreateTypeSize to properly handle scalable vectors.
This de-duplicates code across multiple instrumentation and analysis
passes and increases consistency.
Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
Commit: 46606bbc530e01e6e2d4547f6012f0a262253e31
https://github.com/llvm/llvm-project/commit/46606bbc530e01e6e2d4547f6012f0a262253e31
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix formatting for #178527 (#178582)
Fixes 5b9751b99b6bf37eb8d2d7d0e5085a4b560544b6.
Commit: bacba0605899c2a4815e0046ff9002e3cbc2be3c
https://github.com/llvm/llvm-project/commit/bacba0605899c2a4815e0046ff9002e3cbc2be3c
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/Analysis/Lint.cpp
Log Message:
-----------
[Lint] Replace getAllocatedType with getAllocationSize (#178353)
This now also handles constant array allocations (getAllocationSize
returns total size for constant array allocations, whereas the old code
explicitly excluded isArrayAllocation from linting support).
Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
Commit: 218d0c2ed1b7c1ad6c8589e869f73aa6b3bdd60c
https://github.com/llvm/llvm-project/commit/218d0c2ed1b7c1ad6c8589e869f73aa6b3bdd60c
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
Log Message:
-----------
[NFC][CodeGen] Use getAllocationSize instead of manual size computation (#178360)
Replace manual alloca size computation with `getAllocationSize` API.
This reduces dependency on `getAllocatedType` when just needed for size
and vscale queries.
Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
Commit: b7c1a6f8b447fba6fff47d309eb7ba1bc22e8c53
https://github.com/llvm/llvm-project/commit/b7c1a6f8b447fba6fff47d309eb7ba1bc22e8c53
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SafeStack.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/Transforms/SafeStack/X86/debug-loc.ll
Log Message:
-----------
[CodeGen] Only use actual alloca alignment (#178361)
Remove getPrefTypeAlign calls and use only the alloca's explicit
alignment, since the type may not be semantically useful, there is no
useful reason to change alignment to support it.
The alloca's explicit alignment (from getAlign()) is already optimally
correct; we don't need to derive alignment from the allocated type.
Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
Commit: 7dfa132936a89a966befb6045f306cb9905c6dab
https://github.com/llvm/llvm-project/commit/7dfa132936a89a966befb6045f306cb9905c6dab
Author: Fangrui Song <i at maskray.me>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
M lld/test/ELF/riscv-vendor-relocations.s
Log Message:
-----------
[ELF,RISCV] Fix code style after #169273 (#178365)
Commit: f86fab6105ec76097dc46abe587463e3aef852d8
https://github.com/llvm/llvm-project/commit/f86fab6105ec76097dc46abe587463e3aef852d8
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/test/CoverageMapping/single-byte-counters.cpp
M llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.proftext
M llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.yaml
M llvm/test/tools/llvm-cov/Inputs/branch-c-general.c
M llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed-single.proftext
M llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed-single.yaml
M llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed.cpp
M llvm/test/tools/llvm-cov/Inputs/branch-templates-single.proftext
M llvm/test/tools/llvm-cov/Inputs/branch-templates-single.yaml
M llvm/test/tools/llvm-cov/Inputs/branch-templates.cpp
M llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.proftext
M llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.yaml
M llvm/test/tools/llvm-cov/branch-templates.test
Log Message:
-----------
[Coverage][Single] Enable Branch coverage for IfStmt (#113111)
Depends on: #112730 #113114
https://discourse.llvm.org/t/rfc-integrating-singlebytecoverage-with-branch-coverage/82492
Commit: 7901e2d04c553f6b9e17800059be8cd702c65bac
https://github.com/llvm/llvm-project/commit/7901e2d04c553f6b9e17800059be8cd702c65bac
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M .github/workflows/release-tasks.yml
Log Message:
-----------
workflows/release-tasks: Add missing needs tag to release-lit job (#178224)
The job references variables from the validate-tag job, so it needs to
have it listed in the 'needs' tag. This is why this job failed for the
22.1.0-rc2 release.
Commit: 7a4d26635d6cf631a6256d35d4b1bec3a6a8e30e
https://github.com/llvm/llvm-project/commit/7a4d26635d6cf631a6256d35d4b1bec3a6a8e30e
Author: Jie Fu <jiefu at tencent.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SafeStack.cpp
Log Message:
-----------
[CodeGen] Remove unused variable (NFC)
/llvm-project/llvm/lib/CodeGen/SafeStack.cpp:666:11:
error: unused variable 'Ty' [-Werror,-Wunused-variable]
Type *Ty = AI->getAllocatedType();
^
1 error generated.
Commit: 667c981ac07a91d5c6fef512c2fcb0a7166dc0ad
https://github.com/llvm/llvm-project/commit/667c981ac07a91d5c6fef512c2fcb0a7166dc0ad
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Fix build for #178526 (#178593)
Fix 9aaf0b89f5ab3c84f8ad24213992a8158d344b96.
Commit: 0d562c96689de6bce7ca06bd1890724c72d9c536
https://github.com/llvm/llvm-project/commit/0d562c96689de6bce7ca06bd1890724c72d9c536
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
Log Message:
-----------
[clang][bytecode] Only check static lambda captures if we have to (#178452)
Call `getCaptureFields()` only if the function is static, because we
only care about the captures in that case.
Commit: 3a5978124638944a188f5327154f4558a40f08b4
https://github.com/llvm/llvm-project/commit/3a5978124638944a188f5327154f4558a40f08b4
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SafeStack.cpp
Log Message:
-----------
[SafeStack] remove unused variable (#178589)
An accidental conflict between two of my PRs that each removed one of
the two uses of this variable.
Commit: 223e750afea14c9190f889847937c67db0441d62
https://github.com/llvm/llvm-project/commit/223e750afea14c9190f889847937c67db0441d62
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Fix build for #177289 (#178596)
Fix 5968e29dad63d9c866675dbce9cc284fcec8a900.
Co-authored-by: Pranav Kant <prka at google.com>
Commit: 08f5ce893cb4152a394c32ac45b67bcaeab58c64
https://github.com/llvm/llvm-project/commit/08f5ce893cb4152a394c32ac45b67bcaeab58c64
Author: woruyu <1214539920 at qq.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
A llvm/test/CodeGen/LoongArch/pr177863.ll
Log Message:
-----------
[LoongArch][DAG] Custom lowering for vector SETCC operations (#177904)
### Summary
This PR resolves https://github.com/llvm/llvm-project/issues/177863
Commit: b6c412814a946b060561c6d88043f8b44180c3a2
https://github.com/llvm/llvm-project/commit/b6c412814a946b060561c6d88043f8b44180c3a2
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.proftext
M llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.yaml
M llvm/test/tools/llvm-cov/Inputs/branch-c-general.c
M llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed-single.proftext
M llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed-single.yaml
M llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed.cpp
M llvm/test/tools/llvm-cov/Inputs/branch-macros-single.proftext
M llvm/test/tools/llvm-cov/Inputs/branch-macros-single.yaml
M llvm/test/tools/llvm-cov/Inputs/branch-macros.cpp
M llvm/test/tools/llvm-cov/branch-macros.test
Log Message:
-----------
[Coverage][Single] Enable Branch coverage for `BinLAnd` and `BinLOr` (#113113)
Depends on: #113109 #113110 #113111
https://discourse.llvm.org/t/rfc-integrating-singlebytecoverage-with-branch-coverage/82492
Commit: e5d6ed68fd3f3b48d12cbe76aecc7800e5b0eb61
https://github.com/llvm/llvm-project/commit/e5d6ed68fd3f3b48d12cbe76aecc7800e5b0eb61
Author: Pradeep Kumar <pradeepku at nvidia.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/nvvm/redux-sync-invalid.mlir
A mlir/test/Target/LLVMIR/nvvm/tcgen05-ld-red-invalid.mlir
A mlir/test/Target/LLVMIR/nvvm/tcgen05-ld-red.mlir
M mlir/test/python/dialects/nvvm.py
Log Message:
-----------
[mlir][NVVM] Add support for tcgen05.ld.red Op (#177330)
The commit adds the following:
- Adds tcgen05.ld.red Op with tests under tcgen05-ld-red.mlir and
tcgen05-ld-red-invalid.mlir
- Renamed ReduxKind to ReductionKind and renamed it across NVVM and GPU
Dialects
- Replaced Tcgen05LdRedOperationAtr with ReductionKindAttr
- Updated tcgen05.ld.red and nvvm.redux.sync tests
Commit: 2b14f33e5534eb3c60d7d55a436ce4a17e2f3dcd
https://github.com/llvm/llvm-project/commit/2b14f33e5534eb3c60d7d55a436ce4a17e2f3dcd
Author: Petr Hosek <phosek at google.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[GitHub] Include memory tagging sources in sanitizer (#178604)
These are part of sanitizer implementation.
Commit: 507d1856ccef4193ed48edabc010fe4661c9216c
https://github.com/llvm/llvm-project/commit/507d1856ccef4193ed48edabc010fe4661c9216c
Author: bala-bhargav <penugondabalabharghav at gmail.com>
Date: 2026-01-28 (Wed, 28 Jan 2026)
Changed paths:
M clang/unittests/DirectoryWatcher/CMakeLists.txt
Log Message:
-----------
[clang][unittests] Fix linker error for DirectoryWatcherTest with CLANG_LINK_CLANG_DYLIB (#178455)
Move clangDirectoryWatcher from LINK_LIBS to CLANG_LIBS so it gets
replaced by clang-cpp when building with CLANG_LINK_CLANG_DYLIB=ON.
When using both CLANG_LINK_CLANG_DYLIB=ON and LLVM_ENABLE_LTO=Thin, the
test would fail with:
ld.lld: error: undefined symbol:
clang::DirectoryWatcher::create(llvm::StringRef, std::function<void
(llvm::ArrayRef
This happens because clangDirectoryWatcher was being linked as a
separate library alongside clang-cpp (which already contains
clangDirectoryWatcher), causing duplicate symbol issues with LTO.
The fix correctly categorizes:
- clangDirectoryWatcher → CLANG_LIBS (Clang library, bundled in
clang-cpp)
- LLVMTestingSupport → LINK_LIBS (LLVM library, always linked directly)
#178302
Commit: d8da229d7172700f4f93fafe3ac22144ca04f6e9
https://github.com/llvm/llvm-project/commit/d8da229d7172700f4f93fafe3ac22144ca04f6e9
Author: Jhalak Patel <jhalakp at nvidia.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Utils/Utils.h
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/test/Dialect/SCF/trip_count.mlir
M mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
Log Message:
-----------
[mlir][scf] Interpret trip counts as unsigned integers (#178060)
Trip counts represent iteration counts and are always non-negative. This
PR fixes all call sites to correctly use `getZExtValue()` instead of
`getSExtValue()` when extracting trip count values from `APInt`. Also
documents to clarify results are unsigned.
Commit: 399f25f030cc083534c3d583abb4a1d445ced572
https://github.com/llvm/llvm-project/commit/399f25f030cc083534c3d583abb4a1d445ced572
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
Log Message:
-----------
[LifetimeSafety] Handle temporaries of non-trivial view types (#177878)
Fixes https://github.com/llvm/llvm-project/issues/177802
This enables the analysis to correctly track lifetimes through
non-trivial view types that require temporary binding due to having a
destructor.
This is fixed by handling `MaterializeTemporaryExpr` even for
lifetime-extended temporaries and fixing the flow of origins.
Commit: 12c13e0009bb1a0e07044ea8129ff114cb461184
https://github.com/llvm/llvm-project/commit/12c13e0009bb1a0e07044ea8129ff114cb461184
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.ll
Log Message:
-----------
[AMDGPU][GFX1250] Implement offset handling in s.buffer.load (#178389)
Divergent path of s.buffer.load must handle 32b offset extension
behaviour on GFX1250.
Tests in llvm.amdgcn.s.buffer.load.ll are rewritten to avoid using
export instructions not available on GFX1250.
Commit: ba0cddb43ee8fa677ecb44c848dd1a1539804b60
https://github.com/llvm/llvm-project/commit/ba0cddb43ee8fa677ecb44c848dd1a1539804b60
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M libcxx/include/__config
M libcxx/include/__cxx03/__config
R libcxx/test/libcxx-03/libcpp_freestanding.sh.cpp
R libcxx/test/libcxx/libcpp_freestanding.sh.cpp
Log Message:
-----------
[libc++][NFC] Remove _LIBCPP_FREESTANDING (#176907)
`_LIBCPP_FREESTANDING` isn't used and it is unclear what libc++'s
strategy is going to be for implementing freestanding at the moment.
Therefore, remove the macro.
Commit: 655c31dcab304cfced38dd15d2c15a4bea4145e4
https://github.com/llvm/llvm-project/commit/655c31dcab304cfced38dd15d2c15a4bea4145e4
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_wmma_w32.txt
Log Message:
-----------
[AMDGPU] Change scale_src2 encoding from vgpr0 to literal 0 (#178404)
This changes the fix from #167777 to use the encoding for literal 0
instead of the encoding for vgpr0, to match new SP3 behaviour and for
consistency with all other unused VALU source operands since #175753.
Commit: 822756c2181ea897afdfadc6b1e38c978db289bb
https://github.com/llvm/llvm-project/commit/822756c2181ea897afdfadc6b1e38c978db289bb
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/rv32zbs.ll
M llvm/test/CodeGen/RISCV/rv64zbs.ll
Log Message:
-----------
[RISCV] Add ISEL pattern to convert add (shl -1, X), Y to sub Y, (bset zero, X) (#178601)
Fixes #178588
Commit: a5ffce0faebe5f49d8befb774f4cb781b9e33df7
https://github.com/llvm/llvm-project/commit/a5ffce0faebe5f49d8befb774f4cb781b9e33df7
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/include/lldb/Host/MemoryMonitor.h
M lldb/source/Host/common/MemoryMonitor.cpp
Log Message:
-----------
[lldb] Fix memory monitor shutdown on Linux using eventfd (#178083)
The current linux implementation has a 1 second timeout when polling for
memory pressure. lldb-dap may take up to an extra 1 second to shutdown.
Use an event file descriptor to immediately stop the memory monitor
thread.
Fixes #150220
Commit: 12dd34260eccf4937a4a66cad5702f74f8777b47
https://github.com/llvm/llvm-project/commit/12dd34260eccf4937a4a66cad5702f74f8777b47
Author: David Spickett <david.spickett at arm.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/test/API/commands/help/TestHelp.py
Log Message:
-----------
[lldb][test] Add tests for formatting of command option descriptions (#178235)
These test the existing behaviour before I work on #177570.
I chose "breakpoint set" because it has options with ANSI underlines
in the description.
The tests cover no ANSI (use-colour off) and with ANSI (use-color on).
The latter is where we have problems right now.
Commit: a0e0f515419841a0c46e5192db318b207c6faab3
https://github.com/llvm/llvm-project/commit/a0e0f515419841a0c46e5192db318b207c6faab3
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/test/Driver/aarch64-mcpu-native.c
M clang/test/Driver/print-enabled-extensions/aarch64-grace.c
Log Message:
-----------
[AArch64][Driver] Enable host supported features with march=native. (#177128)
Currently, march=native enables the base features implied by the host
system architecture, such as Armv8.2-A, Armv9-A, etc, rather than the
actual features supported by the host (e.g. crypto). This is suboptimal
as it generally leaves optional but supported features disabled.
This patch aligns the behaviour of march=native with mcpu=native by
using the latter's decoding logic to decode the former as well. This
means both options should enable a similar set of features. We also set
the target-cpu accordingly, so that march=native becomes a drop-in
replacement for mcpu=native.
Commit: 224a6ffbc7a777ee12f3f0e108088a1b64e60d32
https://github.com/llvm/llvm-project/commit/224a6ffbc7a777ee12f3f0e108088a1b64e60d32
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M libcxx/include/__algorithm/specialized_algorithms.h
M libcxx/include/__algorithm/swap_ranges.h
M libcxx/include/__bit_reference
A libcxx/test/libcxx/algorithms/specialized_algorithms.compile.pass.cpp
Log Message:
-----------
[libc++] Refactor swap_ranges to use __specialized_algorithm for the vector<bool>::iterator specialization (#173384)
Commit: 8756292abb0072800190af329733f3d9217034fb
https://github.com/llvm/llvm-project/commit/8756292abb0072800190af329733f3d9217034fb
Author: puneeth_aditya_5656 <myakampuneeth at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M mlir/include/mlir/IR/BuiltinTypeInterfaces.td
M mlir/lib/IR/BuiltinTypeInterfaces.cpp
M mlir/lib/IR/BuiltinTypes.cpp
A mlir/test/Dialect/MemRef/high-rank-overflow.mlir
M mlir/unittests/IR/ShapedTypeTest.cpp
Log Message:
-----------
[mlir] Fix integer overflow in ShapedType::getNumElements and `makeCanonicalStridedLayoutExpr` (#178395)
Add to `ShapedTypeInterface` a new `tryGetNumElements()` API which
returns `std::optional<int64_t>` - returns `std::nullopt` on overflow
instead of UB, using `llvm::checkedMul` for proper overflow detection.
`getNumElements()` now uses this new API to assert on overflow.
Also fix `AffineExpr` canonicalization to avoid crashing on overflow
using `llvm::checkedMul`.
Fixes #178362
Fixes #177816
---------
Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
Commit: f9b0efef9cb5a8b2c9ae2b462ee30b707d7dbb42
https://github.com/llvm/llvm-project/commit/f9b0efef9cb5a8b2c9ae2b462ee30b707d7dbb42
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[AMDGPU] Remove obsolete comment again
Obsoleted by e4464bf3d458 "AMDGPU/GlobalISel: Select scalar v2s16 G_BUILD_VECTOR".
Removed by cb64455faa36 "[AMDGPU] Remove obsolete comment".
Accidentally reintroduced by a8d9d50762c4 "[AMDGPU] gfx90a support".
Commit: f1235bd624d60d048b1ef68e60321498bd63bb2c
https://github.com/llvm/llvm-project/commit/f1235bd624d60d048b1ef68e60321498bd63bb2c
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/source/Host/windows/MainLoopWindows.cpp
A lldb/test/Shell/DAP/TestSTDINConsole.test
Log Message:
-----------
[lldb-dap][windows] allow STDIN to be a console (#178409)
Co-authored-by: Ebuka Ezike <yerimyah1 at gmail.com>
Commit: 1dd9e200469262ffa5ab658d10143ef4f93d9adf
https://github.com/llvm/llvm-project/commit/1dd9e200469262ffa5ab658d10143ef4f93d9adf
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/test/API/functionalities/ubsan/basic/TestUbsanBasic.py
Log Message:
-----------
[lldb] Fix UbSan decorator (#177964)
the ubsan decorator previously assumes the platform is macOS.
macOS has an extra underscore in symbols names match two or more.
uses the llvm-nm that is built instead of the system's nm.
Commit: 4ebede7696417c3db98e26a30b96ac541fc67b1f
https://github.com/llvm/llvm-project/commit/4ebede7696417c3db98e26a30b96ac541fc67b1f
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/source/Host/windows/MainLoopWindows.cpp
R lldb/test/Shell/DAP/TestSTDINConsole.test
Log Message:
-----------
Revert "[lldb-dap][windows] allow STDIN to be a console (#178409)" (#178641)
Commit: 3fb8601273d8ad8b8586205bbfc13acb87439147
https://github.com/llvm/llvm-project/commit/3fb8601273d8ad8b8586205bbfc13acb87439147
Author: David Spickett <david.spickett at arm.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/source/Interpreter/Options.cpp
Log Message:
-----------
[lldb] Refactor command option printing (#178208)
So I have an easier time fixing #177570.
Changes I have made:
* Init a variable inside if statement to reduce scope.
* Added const to some variables.
* Early return if we print a single line, and dedent the "else" that
handles multiple lines.
* Only convert lldb's short codes into ansi codes once.
* Rename a couple of variables where they could have either referred to
the visible text or the raw data with the ansi codes in.
Commit: 73c7c562dd9e1ead9641aaee5f67d972e1b40c84
https://github.com/llvm/llvm-project/commit/73c7c562dd9e1ead9641aaee5f67d972e1b40c84
Author: David Sherwood <david.sherwood at arm.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
A llvm/test/CodeGen/AArch64/sve-ldst-sext.ll
A llvm/test/CodeGen/AArch64/sve-ldst-zext.ll
M llvm/test/CodeGen/X86/2007-10-29-ExtendSetCC.ll
M llvm/test/CodeGen/X86/avx512-ext.ll
M llvm/test/CodeGen/X86/iabs.ll
M llvm/test/CodeGen/X86/icmp-abs-C.ll
M llvm/test/CodeGen/X86/icmp-pow2-logic-npow2.ll
M llvm/test/CodeGen/X86/known-bits.ll
M llvm/test/CodeGen/X86/neg-abs.ll
M llvm/test/CodeGen/X86/widen-load-of-small-alloca-with-zero-upper-half.ll
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/basic.ll.expected
Log Message:
-----------
[LLVM][DAGCombiner] Look through freeze when combining extensions of loads (#175022)
Following on from https://github.com/llvm/llvm-project/pull/172484 I
have added support to tryToFoldExtOfLoad for looking through freezes, in
order to catch more cases of extending loads. This type of code is
sometimes seen being generated by the loop vectoriser. For now I've
limited this to cases where the load is only used by the freeze, since
otherwise it leads to worse code in some X86 tests.
Commit: 3f1386b9861758beb7a9ba15c24bdba3a9f8c03d
https://github.com/llvm/llvm-project/commit/3f1386b9861758beb7a9ba15c24bdba3a9f8c03d
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Log Message:
-----------
[AMDGPU] Add braces around a switch case. NFC. (#178637)
Commit: e17374a33f051d7580f35fcac5712d300bfdd9a2
https://github.com/llvm/llvm-project/commit/e17374a33f051d7580f35fcac5712d300bfdd9a2
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/source/Host/windows/MainLoopWindows.cpp
A lldb/test/Shell/DAP/TestSTDINConsole.test
Log Message:
-----------
[lldb-dap][windows] allow STDIN to be a console (#178642)
Commit: 245043fad49ecf989e462d1a82a380570165dd95
https://github.com/llvm/llvm-project/commit/245043fad49ecf989e462d1a82a380570165dd95
Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaType.cpp
M clang/test/SemaCXX/underlying_type.cpp
Log Message:
-----------
[Clang] avoid assertion in __underlying_type for enum redeclarations (#177984)
Fixes #177943
---
This patch addresses cases where `__underlying_type` is used with enum
redeclarations. The previously added assertion
(https://github.com/llvm/llvm-project/pull/155900) treated a missing
`int` on the referenced `EnumDecl` as an indicator of a _demoted
definition_, while this condition can also occur for redeclarations.
Commit: deafb6b10525df6b402c9fbe589714e4a6cd06e0
https://github.com/llvm/llvm-project/commit/deafb6b10525df6b402c9fbe589714e4a6cd06e0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/EvalEmitter.cpp
Log Message:
-----------
[clang][bytecode][NFC] Use `Block::deref()` in `EvalEmitter` (#178630)
Instead of doing the casting around `Block::data()` ourselves.
Commit: 40ebbb6362af00f412a8e0455621be02cce6db24
https://github.com/llvm/llvm-project/commit/40ebbb6362af00f412a8e0455621be02cce6db24
Author: Yingying Wang <3171290993 at qq.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/reduction2mem-limitation.ll
M llvm/test/Transforms/LoopInterchange/reduction2mem.ll
Log Message:
-----------
[LoopInterchange] Initialize new_var to InitValue on first iteration (#178370)
Fixed a bug found during testing:
- If it is the first iteration, `new_var` should be initialized to
'InitValue'.
Commit: 1e4b4fa1b26309a22c5c39e2f4452eadc1160204
https://github.com/llvm/llvm-project/commit/1e4b4fa1b26309a22c5c39e2f4452eadc1160204
Author: Sergio Afonso <safonsof at amd.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
M flang/test/Lower/OpenMP/declare-target-link-tarop-cap.f90
M flang/test/Lower/OpenMP/host-eval.f90
M flang/test/Lower/OpenMP/real10.f90
A flang/test/Transforms/OpenMP/function-filtering-host-ops.mlir
A flang/test/Transforms/OpenMP/function-filtering.mlir
R flang/test/Transforms/omp-function-filtering.mlir
Log Message:
-----------
[Flang][OpenMP] Minimize host ops remaining in device compilation (#137200)
This patch updates the function filtering OpenMP pass intended to remove
host functions from the MLIR module created by Flang lowering when
targeting an OpenMP target device.
Host functions holding target regions must be kept, so that the target
regions within them can be translated for the device. The issue is that
non-target operations inside these functions cannot be discarded because
some of them hold information that is also relevant during target device
codegen. Specifically, mapping information resides outside of
`omp.target` regions.
This patch updates the previous behavior where all host operations were
preserved to then ignore all of those that are not actually needed by
target device codegen. This, in practice, means only keeping target
regions and mapping information needed by the device. Arguments for some
of these remaining operations are replaced by placeholder allocations
and `fir.undefined`, since they are only actually defined inside of the
target regions themselves.
As a result, this set of changes makes it possible to later simplify
target device codegen, as it is no longer necessary to handle host
operations differently to avoid issues.
Commit: 4cc80831ea5d39c186fc29692556b762ffb6478b
https://github.com/llvm/llvm-project/commit/4cc80831ea5d39c186fc29692556b762ffb6478b
Author: Sergio Afonso <safonsof at amd.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
A flang/test/Integration/OpenMP/target-nesting-in-host-ops.f90
A flang/test/Integration/OpenMP/target-use-device-nested.f90
A flang/test/Integration/OpenMP/task-target-device.f90
A flang/test/Integration/OpenMP/threadprivate-target-device.f90
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/omptarget-constant-indexing-device-region.mlir
M mlir/test/Target/LLVMIR/omptarget-debug-loop-loc.mlir
M mlir/test/Target/LLVMIR/omptarget-debug-var-1.mlir
M mlir/test/Target/LLVMIR/omptarget-declare-target-to-device.mlir
M mlir/test/Target/LLVMIR/omptarget-memcpy-align-metadata.mlir
R mlir/test/Target/LLVMIR/omptarget-target-inside-task.mlir
R mlir/test/Target/LLVMIR/omptarget-threadprivate-device-lowering.mlir
M mlir/test/Target/LLVMIR/openmp-llvm-invalid.mlir
R mlir/test/Target/LLVMIR/openmp-target-nesting-in-host-ops.mlir
R mlir/test/Target/LLVMIR/openmp-target-use-device-nested.mlir
R mlir/test/Target/LLVMIR/openmp-task-target-device.mlir
Log Message:
-----------
[MLIR][OpenMP] Simplify OpenMP device codegen (#137201)
After removing host operations from the device MLIR module, it is no
longer necessary to provide special codegen logic to prevent these
operations from causing compiler crashes or miscompilations.
This patch removes these now unnecessary code paths to simplify codegen
logic. Some MLIR tests are now replaced with Flang tests, since the
responsibility of dealing with host operations has been moved earlier in
the compilation flow.
MLIR tests holding target device modules are updated to no longer
include now unsupported host operations.
Commit: 8a9f362e5151470a319c63c06867790a08eef488
https://github.com/llvm/llvm-project/commit/8a9f362e5151470a319c63c06867790a08eef488
Author: Miloš Poletanović <poletanovicmilos97 at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
A mlir/test/Conversion/SCFToSPIRV/signed-vector.mlir
Log Message:
-----------
[MLIR][Arith] Ensure ConstantOp validates signless integers for vectors (#177857)
Fixes #177818
`arith::ConstantOp::isBuildableWith()` was only checking scalar integers
for signlessness, allowing signed vector element types to pass
validation incorrectly.
---------
Co-authored-by: Milos Poletanovic <mpoletanovic at syrmia.com>
Commit: 24e95bae3655c2740d1525a3095652cfa98189da
https://github.com/llvm/llvm-project/commit/24e95bae3655c2740d1525a3095652cfa98189da
Author: Abhishek Varma <avarma094 at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
Log Message:
-----------
[mlir][Linalg] Preserve discardable/user-defined attributes during generalization (#178599)
-- As observed in a [downstream
project](https://github.com/iree-org/iree/pull/23294#discussion_r2734982998)
: the named to generize linalg op conversion wasn't preserving
discardable attributes.
-- This commit aims to fix the same.
-- Only a single test case is added as the change applies to any named
linalg op's generalization.
Signed-off-by: Abhishek Varma <abhvarma at amd.com>
Commit: d2e18bebe0b95d09ef8d0ac2ba0aa8d0e129be54
https://github.com/llvm/llvm-project/commit/d2e18bebe0b95d09ef8d0ac2ba0aa8d0e129be54
Author: Henry Linjamäki <henry.linjamaki at tuni.fi>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HIPSPV.h
A clang/test/Driver/Inputs/hipspv/lib/hip-device-lib/hipspv-spirv64-unknown-chipstar.bc
M clang/test/Driver/hipspv-link-static-library.hip
M clang/test/Driver/hipspv-pass-plugin.hip
A clang/test/Driver/hipspv-toolchain-rdc-separate.hip
M clang/test/Driver/hipspv-toolchain-rdc.hip
M clang/test/Driver/hipspv-toolchain.hip
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[Clang] Lift HIPSPV onto the new offload driver (#168043)
Update HIPSPV toolchain to support `--offload-new-driver`. Additionally,
tailor `llvm-spirv` invocation for
[chipStar](https://github.com/CHIP-SPV/chipStar) via
`spirv64-*-chipstar` offload triple.
Depends on one commit from #170467 and one from #170655.
---------
Co-authored-by: Henry Linjamäki <henry.mikael.linjamaki at intel.com>
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 312078b117c22ff9e592a5cd2dbefaf6188a971f
https://github.com/llvm/llvm-project/commit/312078b117c22ff9e592a5cd2dbefaf6188a971f
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/test/Sema/format-strings.c
Log Message:
-----------
[Sema] Fix format-strings test on 32-bit Arm (#178450)
Commit: 162267ee90019c6b8241dcf470a2d3fae2b306a7
https://github.com/llvm/llvm-project/commit/162267ee90019c6b8241dcf470a2d3fae2b306a7
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/get-active-lane-mask-extract.ll
Log Message:
-----------
[AArch64][SME2] Allow lowering to whilelo.x2 in non-streaming mode (#178399)
Since #145322 relaxed the SME predicate for the multi-register while
instructions, these instructions are allowed in non-streaming mode
when SME2 is available.
This patch removes the isStreaming() restriction from both
performActiveLaneMaskCombine & ReplaceGetActiveLaneMaskResults,
allowing the whilelo.x2 intrinsic to be used if SVE or streaming
SVE is available.
Commit: ac039c597713d0c5834cc7c11f58094f08a8cd2c
https://github.com/llvm/llvm-project/commit/ac039c597713d0c5834cc7c11f58094f08a8cd2c
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/ExpandIRInsts.cpp
A llvm/test/Transforms/ExpandIRInsts/X86/expand-fp-convert-small.ll
Log Message:
-----------
[ExpandIRInsts] Test fptoi expansion for small types
Allow testing fptoui/fptosi on half types, which are small enough
for alive2 to verify the result.
They currently pass for non-undef/poison input. (The fptoui
expansion is the same as fptosi, which is confusing, but not
incorrect, because the saturation it performs is not actually
required by fptoi.)
Commit: e509974d423f1f260d63ec374463b5f75b18625e
https://github.com/llvm/llvm-project/commit/e509974d423f1f260d63ec374463b5f75b18625e
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M .ci/buildbot/worker.py
M polly/ci/polly-x86_64-linux-test-suite.py
Log Message:
-----------
[Polly][CI] Unconditionally delete test-suite build
The test-suite should be recompiled every time, even in incremental
builds.
Commit: 9ae6d8f565515a0199b18d6f156b1a41f328af1a
https://github.com/llvm/llvm-project/commit/9ae6d8f565515a0199b18d6f156b1a41f328af1a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/test/Driver/hipspv-link-static-library.hip
M clang/test/Driver/hipspv-toolchain.hip
Log Message:
-----------
[Clang] Try to fix HIPSPV tests after #168043
Summary:
https://github.com/llvm/llvm-project/pull/168043 seems to not have
specified the target triple for the tests so different architectures
fail these tests. Try to set it manually. If this doesn't clear up the
bots I'll revert both.
Commit: b1f845df32ffa7f0ac85dd824ae52c64ec6b021a
https://github.com/llvm/llvm-project/commit/b1f845df32ffa7f0ac85dd824ae52c64ec6b021a
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[MLIR][OpenMP] Fix unused variable warning for #137201 (#178659)
Fixes 4cc80831ea5d39c186fc29692556b762ffb6478b.
Commit: 8fa48070ec4055191239ed48c29e039c2358d48a
https://github.com/llvm/llvm-project/commit/8fa48070ec4055191239ed48c29e039c2358d48a
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/ExpandIRInsts.cpp
Log Message:
-----------
[ExpandIRInsts] Simplify constant construction (NFC)
Don't go through IRBuilder for constants we can create with
APInt APIs.
Commit: 43108bf7bb0d019bade7db7c1c526d9544c33dbb
https://github.com/llvm/llvm-project/commit/43108bf7bb0d019bade7db7c1c526d9544c33dbb
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[openmp] Build doxygen in bootstrapping builds (#178298)
When LLVM_ENABLE_DOXYGEN=ON, forward the `doxygen-openmp` build target
from the nested (default target) runtimes build. When
LLVM_BUILD_DOCS=ON, also trigger `doxygen-build` with `ninja doxygen`.
LLVM_INCLUDE_DOCS=ON is required in the runtimes build, which is the
default.
This is required to update the OpenMP doxygen documentation at
https://openmp.llvm.org/doxygen by the publish-doxygen-docs buidbot,
discussed here:
https://github.com/llvm/llvm-zorg/pull/716#pullrequestreview-3713032311
Commit: a482eb793ad4c565482f703b5f9325d1d973eabe
https://github.com/llvm/llvm-project/commit/a482eb793ad4c565482f703b5f9325d1d973eabe
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/exception/runtime-instruments/TestDAP_runtime_instruments.py
Log Message:
-----------
[lldb-dap] Conditionally check UBSan stack trace on Darwin only (#178655)
non-darwin platforms may have incorrect stop information location
heuristics. Enable assertion once UBSan stopInfo heuristic is updated.
I hit this locally, I don't see it hitting any CI bot but should, Mostly
likely the CI linux bots may not have `compiler_rt` run time enabled.
see
https://github.com/llvm/llvm-project/pull/177964#discussion_r2732271531
Commit: dea1d29d73f761901bcc9f4a6e4e7217a08d0983
https://github.com/llvm/llvm-project/commit/dea1d29d73f761901bcc9f4a6e4e7217a08d0983
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
A clang-tools-extra/docs/clang-reorder-fields.rst
M clang-tools-extra/docs/index.rst
Log Message:
-----------
[clang-tools-extra][docs] Add documentation for clang-reorder-fields (#178446)
Add comprehensive documentation for the clang-reorder-fields tool,
addressing #35520. The tool has existed in the repository but was
previously undocumented.
The documentation includes:
- Basic usage examples for C and C++ structs/classes
- Constructor initializer list reordering
- Designated initializer support (C++20)
- Detailed limitations and caveats
- Command line option reference
- Common use cases (memory layout optimization, etc.)
Fixes #35520
---------
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Commit: ac00a1142f8af4cfbe8feaa2471290af66fed2c9
https://github.com/llvm/llvm-project/commit/ac00a1142f8af4cfbe8feaa2471290af66fed2c9
Author: Frederik Harwath <frederik.harwath at amd.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
A llvm/test/CodeGen/AMDGPU/mfma-convergent.mir
Log Message:
-----------
[AMDGPU] Ensure v_mfma_scale_f32_{16x16x128|32x32x64}_f8f6f4 instructions are convergent (#178627)
The scaled variants of mfma instructions are not properly marked as
"convergent" and hence the machine-sink pass sinks them which is
incorrect.
This patch ensures that the instructions get marked as "convergent". The
new test also covers other mfma variants, but only the scale variants
are mistreated without the changes from this patch.
Commit: 3b97c1a1fcdec66e42d49ed1a4ee79dceb9f923a
https://github.com/llvm/llvm-project/commit/3b97c1a1fcdec66e42d49ed1a4ee79dceb9f923a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HIPSPV.h
R clang/test/Driver/Inputs/hipspv/lib/hip-device-lib/hipspv-spirv64-unknown-chipstar.bc
M clang/test/Driver/hipspv-link-static-library.hip
M clang/test/Driver/hipspv-pass-plugin.hip
R clang/test/Driver/hipspv-toolchain-rdc-separate.hip
M clang/test/Driver/hipspv-toolchain-rdc.hip
M clang/test/Driver/hipspv-toolchain.hip
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
Revert "[Clang] Lift HIPSPV onto the new offload driver (#168043)"
This reverts commit 9ae6d8f565515a0199b18d6f156b1a41f328af1a.
This reverts commit d2e18bebe0b95d09ef8d0ac2ba0aa8d0e129be54.
Commit: 02771a3eaff153002ec544c3dc4427d56ccd4456
https://github.com/llvm/llvm-project/commit/02771a3eaff153002ec544c3dc4427d56ccd4456
Author: Fateme Hosseini <quic_fhossein at quicinc.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
A llvm/test/CodeGen/Hexagon/livedebugvalues-bundle-terminator.mir
Log Message:
-----------
Fix insert DBG_VALUE after terminator Failure for Hexagon (#173401)
This patch fixes an assertion failure on VLIW targets like Hexagon,
where a packet can contain both a terminator and a spill/copy. The
existing code did not look inside bundles, hence, it could leave a
transfer anchored on a terminator. When LiveDebugValues later
attempted to insert a DBG_VALUE after that packet, it hit:
Assertion `!TR.TransferInst->isTerminator() && "Cannot insert
DBG_VALUE after terminator"' failed
The change switches to instr_iterator and walks each packet with
getBundleStart/getBundleEnd. Packets containing a terminator are skipped
for insertion; non‑terminator ops in other packets are still processed
normally. This avoids illegal insertion points while keeping spill/copy
tracking intact.
Commit: a8768c4838f67dfad0b3c1b2518e8521c9f6440f
https://github.com/llvm/llvm-project/commit/a8768c4838f67dfad0b3c1b2518e8521c9f6440f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/build-vector-128.ll
M llvm/test/CodeGen/X86/build-vector-512.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
Log Message:
-----------
[X86] Canonicalise insertps(insertps(v,s,c0),s,c1) patterns to blend(v,splat(s)) (#178649)
Avoid situations where SimplifyDemandedVectorElts / shuffle combining
keeps messing with the zero masks of inner insertps - usually this is
benign but if they share operands it can cause infinite loops
Fixes #178538
Commit: 1c0c4f4cf58c1f49fb531d733fdb7ce5e62bf0fa
https://github.com/llvm/llvm-project/commit/1c0c4f4cf58c1f49fb531d733fdb7ce5e62bf0fa
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
[lldb][SymbolFileDWARF][NFC] Call base class implementation of GetTypeSystemForLanguage (#178667)
Removes duplicated code by simply calling into the base-class.
Motivation is just that I stumbled upon this when making changes in the
surrounding area.
Commit: f37bf0ce65b14fd5fb969743c47ab2958a7dad06
https://github.com/llvm/llvm-project/commit/f37bf0ce65b14fd5fb969743c47ab2958a7dad06
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/lib/Basic/Targets/RISCV.h
M clang/test/CodeGen/RISCV/bitint.c
M clang/test/CodeGen/ext-int-cc.c
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
R llvm/test/CodeGen/RISCV/bitint-fp-conv-200.ll
M llvm/test/CodeGen/RISCV/fpclamptosat.ll
Log Message:
-----------
Revert "[RISCV] Support RISCV BitInt larger than 128 (#175515)" (#178311)
This reverts commit e3156c531da5aa4ec604605ed4e19638879d773c.
We need to resolve a crash on trunk and LLVM 22. Reverting makes it
easier to backport.
Fixes #176637.
Commit: 25f6470f8f2e2f09a2382d309990cdf1915905e2
https://github.com/llvm/llvm-project/commit/25f6470f8f2e2f09a2382d309990cdf1915905e2
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp
M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.h
M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.h
M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.h
M lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.h
M lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_i386.cpp
Log Message:
-----------
[lldb] [Process/FreeBSD] [Process/FreeBSDKernel] Run clang-format (#178676)
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
Commit: 99e63bbbabbbd7f441dee4f87919686921b01024
https://github.com/llvm/llvm-project/commit/99e63bbbabbbd7f441dee4f87919686921b01024
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/ExpandIRInsts.cpp
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-fp-convert-small.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptosi129.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptoui129.ll
Log Message:
-----------
[ExpandIRInsts] Improve variable naming
Improve naming of variables/blocks, both in the code and the
generated IR.
Commit: 7deea9db700a26c2b15afebe573b914febe030ac
https://github.com/llvm/llvm-project/commit/7deea9db700a26c2b15afebe573b914febe030ac
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] Move WaitcntBrackets::simplifyXcnt near other simplify functions. NFC. (#178673)
Commit: 91dad7e7cab490693bbfeaf7a4c454bd779ae82f
https://github.com/llvm/llvm-project/commit/91dad7e7cab490693bbfeaf7a4c454bd779ae82f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/merge-consecutive-loads-256.ll
Log Message:
-----------
[X86] canonicalizeLaneShuffleWithRepeatedOps - avoid folding vperm2x128(vpshufd(load()),undef) -> vpshufd(vperm2x128(load(),undef)) (#178675)
There's no benefit to letting vperm2x128 handle the fold in an unary
shuffle and llvm-mca assumes there's an extra register dependency, which
confuses analysis.
Fixes #178632
Commit: 1a384ffc82a4c83adc89dae744e2309415df9f85
https://github.com/llvm/llvm-project/commit/1a384ffc82a4c83adc89dae744e2309415df9f85
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
Log Message:
-----------
[NFCI][OpenMPOpt] replace call to getAllocatedType with getAllocationSize (#178356)
Removes reliance on the exact structure of the declared alloca type,
without changing the behavior of the code here.
Commit: 53ec484ebf6c1b08c68bb449c728f8845fecf7d7
https://github.com/llvm/llvm-project/commit/53ec484ebf6c1b08c68bb449c728f8845fecf7d7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/unittests/CodeGen/SelectionDAGNodeConstructionTest.cpp
Log Message:
-----------
[SelectionDAG] Add CTLS to FoldConstantArithmetic and optimize i1 CTLS to 0. (#178552)
Since we don't have a CTLS intrinsic, it likely gets constant folded
while it is still a CTLZ pattern so I'm using a unittest to test it.
Commit: f05b4c408581f087e250e5f85d36c41177ac7acd
https://github.com/llvm/llvm-project/commit/f05b4c408581f087e250e5f85d36c41177ac7acd
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Extensions/Extensions.cpp
Log Message:
-----------
[NFC][LLVM] Fix macro redefinition warning in Extensions.cpp (#178555)
Also add missing file header and fixed code to used nested namespace for
definining the anchor function.
Commit: 2ea77ed013a6c8165d9ef685eb8c4dc1ed0b07c7
https://github.com/llvm/llvm-project/commit/2ea77ed013a6c8165d9ef685eb8c4dc1ed0b07c7
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/disjoint-or-reductions.ll
Log Message:
-----------
[SLP]Support for bswap pattern for bytes-based disjoint or reductions
If the reduction forms reversed bitcast, we can represent it as
a bitcast + bswap, if the source elements are byte sized
Reviewers: hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/178513
Commit: dfe05b84b36588d6d576b668933377f0d464aca7
https://github.com/llvm/llvm-project/commit/dfe05b84b36588d6d576b668933377f0d464aca7
Author: Ryan Cowan <ryan.cowan at arm.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/lib/CodeGen/ResetMachineFunctionPass.cpp
Log Message:
-----------
[GlobalISel] Provide a fast path for ResetMachineFunctionPass when the function is empty (#177341)
As part of https://github.com/llvm/llvm-project/pull/174746 I
encountered a compile time regression due to ResetMachineFunction
performing full resets on empty functions. In normal operation, this
behaviour is not likely to impact compile time, as the pass is only
inserted when using GlobalISel.
https://github.com/llvm/llvm-project/pull/174746 includes GlobalISel
passes in the SDAG pipeline (only on AArch64) and skips them if a given
function is not optnone surfacing this. By checking if the
MachineFunction is empty we can perform a more lightweight reset that
just sets the required flags, reducing the impact of this change.
Commit: ad1a45b903b87f8e0c36a20f054d170ff2b5b2d5
https://github.com/llvm/llvm-project/commit/ad1a45b903b87f8e0c36a20f054d170ff2b5b2d5
Author: Ryan Cowan <ryan.cowan at arm.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/MachineDominators.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.h
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/gisel-commandline-option.ll
A llvm/test/CodeGen/AArch64/GlobalISel/optnone-llc.ll
A llvm/test/CodeGen/AArch64/GlobalISel/optnone-mixed.ll
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
M llvm/test/CodeGen/AArch64/cfguard-checks.ll
M llvm/test/CodeGen/AArch64/csr-copy-hint.mir
M llvm/test/CodeGen/AArch64/large-stack.ll
M llvm/test/CodeGen/AArch64/ldrpre-ldr-merge.mir
M llvm/test/CodeGen/AArch64/literal_pools_float.ll
M llvm/test/CodeGen/AArch64/machine-outliner-remarks.ll
M llvm/test/CodeGen/AArch64/multi-vector-load-size.ll
M llvm/test/CodeGen/AArch64/multi-vector-store-size.ll
M llvm/test/CodeGen/AArch64/semantic-interposition-memtag.ll
M llvm/test/CodeGen/AArch64/strpre-str-merge.mir
M llvm/test/CodeGen/AArch64/swift-error-unreachable-use.ll
M llvm/test/CodeGen/MIR/AArch64/print-parse-overloaded-intrinsics.mir
M llvm/test/DebugInfo/Generic/debug-label-mi.ll
M llvm/test/Feature/optnone-llc.ll
Log Message:
-----------
[AArch64] Use GISel for optnone functions (#174746)
Currently, when SDAG is run on AArch64 and an `optnone` function is
encountered, the selector is chosen as FastISel. AArch64 makes use of
GlobalISel at O0 and this patch aims to align `optnone` with this
functionality.
A flag is exposed to enable this functionality for a given backend but,
as AArch64 is currently the only backend I could find using GlobalISel
at O0 this is the only one with it implemented. This flag is set when
the target supports GlobalISel & GlobalISel hasn't been forced by the
user, the target machine or by being at an optimisation level lower than
`EnableGlobalISelAtO`.
If this happens, the GlobalISel passes are included as shown in
`llvm/test/CodeGen/AArch64/O3-pipeline.ll` and skipped by IRTranslator
for functions not marked as `optnone`.
In updating the tests based on this functionality, I found some unused
check lines or run lines that mixed SDAG with GlobalISel pass names
which have been fixed.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 7c07cb6542a0c5e4340e09a9a247e3e5123c6567
https://github.com/llvm/llvm-project/commit/7c07cb6542a0c5e4340e09a9a247e3e5123c6567
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A offload/test/offloading/fortran/recursive-default-mapper.f90
Log Message:
-----------
[MLIR][OpenMP] Fix recursive mapper emission. (#178453)
Recursive types can cause re-entrant mapper emission. The mapper
function is created by OpenMPIRBuilder before the callbacks run, so it
may already exist in the LLVM module even though it is not yet
registered in the ModuleTranslation mapping table. Reuse and register it
to break the recursion. Added offloading test.
Commit: fdb16234505805a028f04397bca18b1bee4a6ab0
https://github.com/llvm/llvm-project/commit/fdb16234505805a028f04397bca18b1bee4a6ab0
Author: Dark Steve <Prasoon.Mishra at amd.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp
A llvm/test/CodeGen/AMDGPU/si-late-branch-lowering-preserve-loop-info.mir
Log Message:
-----------
[AMDGPU] Teach SILateBranchLowering pass to preserve MachineLoopInfo (#178276)
When splitting blocks inside loops due to SI_EARLY_TERMINATE_SCC0
handling, add the split block to the loop to keep MachineLoopInfo valid.
Commit: 8a4244b560f3e760e07c50f543ef3810859d1e46
https://github.com/llvm/llvm-project/commit/8a4244b560f3e760e07c50f543ef3810859d1e46
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/include/lldb/Target/ProcessStructReader.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/ValueObject/ValueObject.cpp
Log Message:
-----------
[lldb][windows] fix unchecked Expected<T> (#178681)
This patch fixes unchecked `Expected<T>` returns from the
`CompilerType::GetByteSize` method.
Commit: 1f8058ec64a69443f5ce2373557eff1c4d877010
https://github.com/llvm/llvm-project/commit/1f8058ec64a69443f5ce2373557eff1c4d877010
Author: John Harrison <harjohn at google.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
R lldb/tools/lldb-dap/Handler/BreakpointLocationsHandler.cpp
A lldb/tools/lldb-dap/Handler/BreakpointLocationsRequestHandler.cpp
R lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp
A lldb/tools/lldb-dap/Handler/CompletionsRequestHandler.cpp
Log Message:
-----------
[lldb-dap] NFC Renaming files for consistency. (#178560)
I noticed recently that CompletionsHandler.cpp and
BreakpointLocationsHandler.cpp do not follow the same naming pattern as
the rest of the request handlers.
Renaming to include `Request` for consistency.
Commit: be3309a5b61dfecf4094dd56a664803852664296
https://github.com/llvm/llvm-project/commit/be3309a5b61dfecf4094dd56a664803852664296
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port 1f8058ec64a6
Commit: 69c0f929e06535effb368fa237eabafa51f50158
https://github.com/llvm/llvm-project/commit/69c0f929e06535effb368fa237eabafa51f50158
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
A clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
M clang/include/clang/Analysis/Scalable/TUSummary/TUSummary.h
M clang/lib/Analysis/Scalable/CMakeLists.txt
A clang/lib/Analysis/Scalable/Serialization/SerializationFormat.cpp
Log Message:
-----------
[SSAF] Add SerializationFormat Interface (#177719)
To support multiple serialization formats in SSAF this PR adds a common
serialization format interface. We will separately implement a
serialization format registry similar to
[this](https://github.com/llvm/llvm-project/pull/173290) PR, followed by
a JSON-based serialization format.
Commit: 22c4f9534a404680c798cbe22784fca6ebdd4dc4
https://github.com/llvm/llvm-project/commit/22c4f9534a404680c798cbe22784fca6ebdd4dc4
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
A lld/test/wasm/merge-undefined-symbols.s
M lld/wasm/SymbolTable.cpp
Log Message:
-----------
[lld][WebAssembly] Improve merging multiple occurrences of an undefined symbol (#178550)
This change renames `setImportAttributes` to `updateExistingUndefined`
which better defines what it does. We also now call this function for
all different symbol types.
In addition we preserve the `NO_STRIP` symbol attribute if any undefined
reference is tagged as such.
This is partial fix for #174676, although there seems to be anther crash
that occurs after this issue is fixed.
Commit: 2a7662127639b1e3437f12629904dbd14ee5888a
https://github.com/llvm/llvm-project/commit/2a7662127639b1e3437f12629904dbd14ee5888a
Author: Osman Yasar <37121924+osmanyasar05 at users.noreply.github.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/test/CodeGen/AArch64/GlobalISel/combine-integer.mir
Log Message:
-----------
[GlobalISel] Add integer_reassoc_combines from SelectionDAG (#177931)
This PR converts two DAGCombiner fold patterns to GlobalISel MIR
patterns:
- `((A + (B - C)) - B) -> A - C`
- `((A - (B - C)) - C) -> A - B`
Original patterns:
https://github.com/llvm/llvm-project/blob/5b4811eddb28264ef1ccacc93c0f7d8cb0da31c8/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp#L4359
The patterns do not include hasOneUse checks since the instruction count
remains the same even when both intermediate results have other uses (3
ops → 3 ops).
Commit: 9377c1d68b64d9c3dc70f5e04d2e7843c680ea76
https://github.com/llvm/llvm-project/commit/9377c1d68b64d9c3dc70f5e04d2e7843c680ea76
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2026-01-29 (Thu, 29 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
M mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
Log Message:
-----------
[mlir][spirv] Enforce `GroupNonUniformQuadSwap` direction values using an attribute (#178684)
The direction can only take one of the three values {0, 1, 2} so we use
a SPIR-V attribute to enforce it. This property cannot be enforced when
the direction is a constant value as the verifier cannot test for
non-local properties.
Commit: f3ecf490a458c9d95ca3448437a19c0966a07bd6
https://github.com/llvm/llvm-project/commit/f3ecf490a458c9d95ca3448437a19c0966a07bd6
Author: Florian Mayer <fmayer at google.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[GitHub] add MemoryTaggingSupport.cpp in sanitizer (#178705)
Commit: caae29c4b98f5e4b7fc7f2b2725bec1907993d83
https://github.com/llvm/llvm-project/commit/caae29c4b98f5e4b7fc7f2b2725bec1907993d83
Author: AidinT <at.aidin at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M mlir/include/mlir/IR/CMakeLists.txt
M mlir/include/mlir/IR/Interfaces.td
A mlir/include/mlir/IR/OpAsmDialectInterface.td
M mlir/include/mlir/IR/OpImplementation.h
M mlir/include/mlir/TableGen/Interfaces.h
M mlir/lib/IR/CMakeLists.txt
M mlir/lib/TableGen/Interfaces.cpp
M mlir/test/mlir-tblgen/dialect-interface.td
M mlir/tools/mlir-tblgen/DialectInterfacesGen.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[MLIR] convert OpAsmDialectInterface using ODS (#171488)
This PR converts OpAsmDialectInterface using ODS.
It also introduces a new Interface Method class `InterfaceMethodDeclaration` which will declare the function without definition.
Commit: 243f011577193c99358ccc4142b296d4fa80ea11
https://github.com/llvm/llvm-project/commit/243f011577193c99358ccc4142b296d4fa80ea11
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M mlir/docs/ReleaseNotes.md
M mlir/include/mlir/Dialect/GPU/Pipelines/Passes.h
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
Log Message:
-----------
[mlir][GPU|NVVM] Update the default SM to 7.5 (#177469)
Update MLIR's default SM to `sm_75`. This matches the behavior of
offline compilation tools in the CUDA Toolkit (`nvcc`, `ptxas`, ...) and
follows suit with 9fc5fd0ad689eed94f65b1d6d10f9c5642935e68.
Additionally, `sm_75` is the oldest GPU variant compatible with the
widest range of recent major CUDA Toolkit versions (11/12/13).
Commit: d9c65f94b11f2fed7b78af3a8e7bec6c84bdf219
https://github.com/llvm/llvm-project/commit/d9c65f94b11f2fed7b78af3a8e7bec6c84bdf219
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/XeGPU/Transforms/Transforms.h
M mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
M mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
A mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToWiDistributeExperimental.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
A mlir/test/Dialect/XeGPU/sg-to-wi-experimental-unit.mlir
A mlir/test/Dialect/XeGPU/sg-to-wi-experimental.mlir
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
Log Message:
-----------
[mlir][xegpu] Add `XeGPUSgToWiDistributeExperimental` pass. (#177492)
Currently XeGPU lowering pipeline uses `XeGPUSubgroupDistribute` pass to
subgroup to work item distribution of ops. This pass is well established
and relies on vector distribution's `WarpOp` based distribution
mechanism. However, recent experiments with larger kernels have shown
that this pass is very expensive in terms of compile time (see below).
This prompted us to create a new pass that does not rely on `WarpOp`
based distribution. This PR adds the initial infra to move away from the
old way and align Wg To WI distribution with Wg to Sg distribution. New
pass also uses context-aware type conversion based on XeGPU layouts to
distributed vector types from SG to WI.
This PR adds the following changes:
* SG to WI distribution pass based on context-aware type conversions
using `OpConversionPatterns`
* Test pass for testing individual patterns
(`TestXeGPUSgToWiDistributeExperimental`)
* `XeGPUSgToWiDistributeExperimentalPass` which will eventually replace
`XeGPUSubgroupDistribute`
Flash attention e2e compilations stats:
```
----Wall Time---- ----Name----
0.0032 ( 0.2%) Parser
0.0008 ( 0.0%) CSE
0.0000 ( 0.0%) (A) DominanceInfo
0.0002 ( 0.0%) GpuXeVMAttachTarget
1.1427 ( 58.7%) 'gpu.module' Pipeline
0.0019 ( 0.1%) XeGPUWgToSgDistribute
0.0003 ( 0.0%) CSE
0.0000 ( 0.0%) (A) DominanceInfo
0.0002 ( 0.0%) LowerAffinePass
0.0001 ( 0.0%) CSE
0.0000 ( 0.0%) (A) DominanceInfo
0.0008 ( 0.0%) XeGPUPropagateLayout
0.0056 ( 0.3%) XeGPUBlocking
0.0010 ( 0.1%) Canonicalizer
0.0004 ( 0.0%) CSE
0.0000 ( 0.0%) (A) DominanceInfo
0.0015 ( 0.1%) XeGPUPropagateLayout
0.0007 ( 0.0%) XeGPUOptimizeBlockLoads
0.0010 ( 0.0%) Canonicalizer
0.0004 ( 0.0%) CSE
0.0000 ( 0.0%) (A) DominanceInfo
0.0015 ( 0.1%) XeGPUPropagateLayout
1.1274 ( 57.9%) XeGPUSubgroupDistribute
0.7959 ( 40.9%) Output
0.0022 ( 0.1%) Rest
1.9461 (100.0%) Total
```
Commit: 40006a767dbae755affc1c7a84e9bd9a176b7851
https://github.com/llvm/llvm-project/commit/40006a767dbae755affc1c7a84e9bd9a176b7851
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Analysis/Scalable/BUILD.gn
Log Message:
-----------
[gn build] Port 69c0f929e065
Commit: f04b6610b23805ec8aade16d554b466a20c0f3cd
https://github.com/llvm/llvm-project/commit/f04b6610b23805ec8aade16d554b466a20c0f3cd
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M .github/workflows/prune-branches.yml
M .github/workflows/prune-unused-branches.py
Log Message:
-----------
[Github] Make prune branches workflow save branch patches
This patch makes the prune branches workflow create patches for the
branches that it is about to prune containing all their changes. These
are then uploaded as a Github artifact with a 90 day experiation just in
case there was something in a branch that someone will later need and is
not available elsewhere.
Reviewers: petrhosek, vbvictor, cmtice
Pull Request: https://github.com/llvm/llvm-project/pull/178539
Commit: 3222670c681cb3d1ac57fbd0faffec8957a7403a
https://github.com/llvm/llvm-project/commit/3222670c681cb3d1ac57fbd0faffec8957a7403a
Author: Christopher Di Bella <cjdb at google.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M libcxx/include/__split_buffer
Log Message:
-----------
[libc++] Fix `__split_buffer_size_layout` bugs (#178341)
As `__split_buffer` doesn't have any unit tests, and because #139632
disassociated adding `__split_buffer` support for both pointer-based and
size-based layouts from its `vector` counterpart, libc++ had no way to
expose `__split_buffer_size_layout` bugs until the size-based vector
patch integrated #139632. This commit fixes the two problems that were
identified while working on #155330.
Commit: 696ea11b94d119416c9618b5add09d5ac09428aa
https://github.com/llvm/llvm-project/commit/696ea11b94d119416c9618b5add09d5ac09428aa
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Debugging/ELFDebugObjectPlugin.cpp
A llvm/test/ExecutionEngine/JITLink/x86-64/ELF_no_debug_info.s
Log Message:
-----------
[ELFDebugObjectPlugin] Do not wait for std::future in post-fixup phase in the absent of debug info (#178541)
If there is no debug information, we wouldn't call
`DebugObject::collectTargetAlloc` in the post-allocation phase.
Therefore, when it's in the post-fixup phase,
`DebugObject::awaitTargetMem` will fail with _"std::future_error: No
associated state"_ because the std::future was not even populated.
Commit: 84c66f4f0d2917fbf21f8a37718b9cbe56a19db1
https://github.com/llvm/llvm-project/commit/84c66f4f0d2917fbf21f8a37718b9cbe56a19db1
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
A mlir/test/Dialect/Vector/vector-emulate-narrow-type-aligned-store-only.mlir
M mlir/test/lib/Dialect/MemRef/TestEmulateNarrowType.cpp
Log Message:
-----------
[mlir][vector] Add assumeAligned mode to vector.store narrow type emulation (#178565)
The revision adds a new `assumeAligned` mode to the emulation, so
downstream projects can use simple path when it meets the requirements.
E.g., if the offset is always aligned with container's element type, we
can skip the check of front padding sizes.
---------
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: d8d4096c0be0a6a3248c8deae96608913a85debf
https://github.com/llvm/llvm-project/commit/d8d4096c0be0a6a3248c8deae96608913a85debf
Author: Osman Yasar <37121924+osmanyasar05 at users.noreply.github.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-shl-from-extend-narrow.postlegal.mir
M llvm/test/CodeGen/RISCV/GlobalISel/combine.mir
M llvm/test/CodeGen/RISCV/GlobalISel/div-by-constant.ll
Log Message:
-----------
[GlobalISel] Rewrite binop_left_to_zero using MIR Patterns (#177924)
Following 2d87319f06ef936233ba6aaa612da9586c427d68, this PR rewrites the
`binop_left_to_zero` rule using MIR Patterns.
The new pattern uses `GIReplaceReg` in the apply clause. According to
[MIRPatterns.rst](https://github.com/llvm/llvm-project/blob/5b4a5cf51f37cb42c5e0bdb22b43acde137281c8/llvm/docs/GlobalISel/MIRPatterns.rst?plain=1#L222),
`GIReplaceReg` checks `canReplaceReg`, so the new apply pattern is
equivalent to the old `matchOperandIsZero` implementation.
Added tests for all the opcodes covered by this rule `(G_SHL, G_LSHR,
G_ASHR, G_SDIV, G_UDIV, G_SREM, G_UREM, G_MUL)`.
Commit: 6d27fa75919e4236db66bb55a7e8bd91844543b8
https://github.com/llvm/llvm-project/commit/6d27fa75919e4236db66bb55a7e8bd91844543b8
Author: Andrei Elovikov <a.elovikov at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/utils/update_analyze_test_checks.py
Log Message:
-----------
[NFC][UTC] Avoid copy-paste in `update_analyze_test_checks.py` (#178456)
I'm going to extend it to support VPlan dump tests soon and this cleanup
avoids future growth of the `if/elif/elif` chain.
Commit: 73dc25c1b66e66da0f574299c4e39d66d95235cd
https://github.com/llvm/llvm-project/commit/73dc25c1b66e66da0f574299c4e39d66d95235cd
Author: Roland McGrath <mcgrathr at google.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M libc/include/pthread.yaml
A libc/src/pthread/pthread_getattr_np.h
Log Message:
-----------
[libc] Add pthread_getattr_np declaration (#178549)
Add header declaration and implementation header for the GNU
extension function pthread_getattr_np. An actual implementation
can come later.
Commit: 8513cadd0e1e0d8f0bab990b63d12d3feb530050
https://github.com/llvm/llvm-project/commit/8513cadd0e1e0d8f0bab990b63d12d3feb530050
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck] Add ExpandIRInsts test to profcheck-xfail.txt
There are in-flight patches to fix the remaining ExpandIRInsts failures
that should fix this. Disable for now to get the bot back to green.
Commit: 830236204ec56fe2e268ca3e386e69d8a2a1b114
https://github.com/llvm/llvm-project/commit/830236204ec56fe2e268ca3e386e69d8a2a1b114
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
A offload/cmake/caches/FlangOffload.cmake
M openmp/docs/Building.md
Log Message:
-----------
[Offload] Provide a cache file for building OpenMP w/ Flang offloading (#178472)
Summary:
This build is more annoying, enables everything required for this
version of the runtime.
Commit: ea251669ba3ff16ad459358287f7c273c28e0f8d
https://github.com/llvm/llvm-project/commit/ea251669ba3ff16ad459358287f7c273c28e0f8d
Author: Wei Xiao <wei3.xiao at intel.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/X86/masked_expandload_isel.ll
Log Message:
-----------
[CodeGen] Fix MachineMemOperand Size of MaskedLoad (#156398)
Fix MIR printing unknown-size issue of MaskedLoad.
Commit: cba7dcd10724b348a673e472560f4cdcbc337b8b
https://github.com/llvm/llvm-project/commit/cba7dcd10724b348a673e472560f4cdcbc337b8b
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-load-store-pointers.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-schedule.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-value-addrspaces.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.format.f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.format.f32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.store.format.f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.store.format.f32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.tbuffer.store.i8.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.tbuffer.store.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.tbuffer.store.i8.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.tbuffer.store.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.store.format.f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.store.format.f32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.store.format.f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.store.format.f32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/merge-buffer-stores.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.struct.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.struct.ptr.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/buffer-rsrc-ptr-ops.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.ll
M llvm/test/CodeGen/AMDGPU/ptr-buffer-alias-scheduling.ll
M llvm/test/CodeGen/AMDGPU/unaligned-buffer.ll
Log Message:
-----------
[AMDGPU][GlobalISel] Add RegBankLegalize rules for buffer store variants (#178488)
Add rules for G_AMDGPU_BUFFER_STORE, G_AMDGPU_BUFFER_STORE_FORMAT,
G_AMDGPU_BUFFER_STORE_FORMAT_D16, and G_AMDGPU_TBUFFER_STORE_FORMAT.
Commit: 9eb797ee3599c1ac6c20a7e86533de20226277cd
https://github.com/llvm/llvm-project/commit/9eb797ee3599c1ac6c20a7e86533de20226277cd
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/TargetPassConfig.cpp
Log Message:
-----------
[CodeGen] Remove -gc-empty-basic-blocks alias flag (#178716)
This was deprecated earlier and switched to an alias so we would have
some time to update things through our internal compiler release
process. That has completed, so we can now remove the flag upstream.
Commit: eb33585b7d299d2dea5b6b36a28a8dd6cbeeda50
https://github.com/llvm/llvm-project/commit/eb33585b7d299d2dea5b6b36a28a8dd6cbeeda50
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToWiDistributeExperimental.cpp
Log Message:
-----------
[mlir][xegpu] Remove unused headers added in #177492 (#178719)
Remove unused headers added in #177492
Commit: ddaf107e266f0539253b7d8173101eecef97a855
https://github.com/llvm/llvm-project/commit/ddaf107e266f0539253b7d8173101eecef97a855
Author: joaosaffran <joaosaffranllvm at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sinh-overloads.hlsl
Log Message:
-----------
[HLSL] Make log10, exp2, sinh overload tests stricter NFC (#177495)
This patch updates log10, exp2, sinh overload tests to use -O1 instead
of -disable-llvm-passes; also, the checks are updated to match the
change accordingly.
This work is part of https://github.com/llvm/llvm-project/issues/138016.
Commit: 312d798f12e5c5c14ba07018a00f84bbe2efcf22
https://github.com/llvm/llvm-project/commit/312d798f12e5c5c14ba07018a00f84bbe2efcf22
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll
Log Message:
-----------
[AMDGPU][GlobalISel] Add RegBankLegalize rules for global_load_tr_b* (#178545)
Commit: c31e13a7123737e9b41adc5e6e3aeab64d8f729c
https://github.com/llvm/llvm-project/commit/c31e13a7123737e9b41adc5e6e3aeab64d8f729c
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.groupstaticsize.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.groupstaticsize.ll
Log Message:
-----------
[AMDGPU][GlobalISel] Add RegBankLegalize rules for groupstaticsize (#178618)
Commit: f951f6305ecc8b2406efb1a1a57193655a9aa6de
https://github.com/llvm/llvm-project/commit/f951f6305ecc8b2406efb1a1a57193655a9aa6de
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M flang/include/flang/Optimizer/OpenACC/Passes.h
M flang/include/flang/Optimizer/OpenACC/Passes.td
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.h
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCUtils.h
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCUtils.cpp
A flang/lib/Optimizer/OpenACC/Transforms/ACCOptimizeFirstprivateMap.cpp
M flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt
A flang/test/Transforms/OpenACC/acc-optimize-firstprivate-map.fir
M mlir/include/mlir/Dialect/OpenACC/OpenACCOpsInterfaces.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[flang][acc] Add ACCOptimizeFirstprivateMap pass (#178546)
This pass optimizes acc.firstprivate_map operations generated during
OpenACC recipe materialization when acc.firstprivate is materialized
into the mapping and a private allocation inside region. The
optimization applies to scalar variables of trivial types (integers,
reals, logicals) as long as they are not optional.
The pass hoists loads from the firstprivate variable to before the
compute region, converting the firstprivate copy to a pass-by-value
pattern. This eliminates the need for runtime copying the firstprivate
variable since only its value is needed for initializing private copies.
Commit: db6b186e47e57536d5f9f3a0bf0772c32e1f9743
https://github.com/llvm/llvm-project/commit/db6b186e47e57536d5f9f3a0bf0772c32e1f9743
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel][[mlir][xegpu] Fix build for #177492 (#178728)
Fix d9c65f94b11f2fed7b78af3a8e7bec6c84bdf219.
Commit: 58f623c504d14743e465f988848f9c16dc220a3b
https://github.com/llvm/llvm-project/commit/58f623c504d14743e465f988848f9c16dc220a3b
Author: Aman LaChapelle <aman.lachapelle at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/include/lldb/API/SBValue.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/source/API/SBValue.cpp
M lldb/source/ValueObject/ValueObject.cpp
Log Message:
-----------
[lldb] Move ValueImpl and ValueLocker to ValueObject, NFC. (#178573)
This patch moves ValueImpl and ValueLocker to ValueObject.{h,cpp}. This follows the example set in TypeImpl/SBType, where we have something that SBType uses internally that needs to be exposed in the layer below. In this case, SBValue uses ValueImpl, which wraps ValueObject. The wrapper helps avoid bugs, so we want to keep it, but the script interpreter needs to use it and said interpreter is conceptually *below* the SB layer...which means we can't use methods on SBValue.
This patch is purely the code motion part of that, future patches will actually make use of this moved code.
Commit: c92e24b7d34f20f41a8cd4f8728d608339778b21
https://github.com/llvm/llvm-project/commit/c92e24b7d34f20f41a8cd4f8728d608339778b21
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/source/Target/Statistics.cpp
M lldb/test/API/functionalities/stats_api/TestStatisticsAPI.py
A lldb/test/API/functionalities/stats_api/minidump.yaml
Log Message:
-----------
[LLDB][Statistics] Add coreFile to Target stats (#161448)
This patch adds the coreFilePath, if applicable, to the target
statistics for LLDB. My primary motivation here is sanity check user
reports when they say I had an issue with a specific corefile and then
validating it was in fact that specifies corefile, as right now there is
no guaruntee the filename and the process/target name will be the same.
Commit: 75f03a62d1f9b0081fff57ceebb29a3ae1560a61
https://github.com/llvm/llvm-project/commit/75f03a62d1f9b0081fff57ceebb29a3ae1560a61
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/test/CodeGen/Hexagon/regalloc-bad-undef.mir
A llvm/test/CodeGen/RISCV/pr176001.ll
Log Message:
-----------
[InlineSpiller] Hoist spills only when all of its subranges are available (#177703)
Context:
https://github.com/llvm/llvm-project/issues/176001#issuecomment-3793846479
When we're hoisting a spill to another block, and storing one of its
sibling values there instead, we need to make sure all sub ranges of
that sibling value is alive at the insertion point. Otherwise, we might
accidentally store compromised subranges values back to the spill slot.
Commit: 8122d0e4bc8b536e0bb6bb5fae97e8216986ee28
https://github.com/llvm/llvm-project/commit/8122d0e4bc8b536e0bb6bb5fae97e8216986ee28
Author: Aman LaChapelle <aman.lachapelle at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/bindings/python/python-wrapper.swig
M lldb/include/lldb/API/SBValue.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
Log Message:
-----------
[lldb] Add conversions for SBValueList and SBValue to the python bridge. (#178574)
This patch adds support for:
- PyObject -> SBValueList (which was surprisingly not there before!)
- PyObject -> SBValue
- SBValue -> ValueObjectSP using the ScriptInterpreter
These three are the main remaining plumbing changes necessary before we can get to the meat of actually using ScriptedFrame to provide values to the printer/etc. Future patches build off this change in order to allow ScriptedFrames to provide variables and get values for variable expressions.
Commit: a617b901cdbb4abfd4e4513546945846389f078d
https://github.com/llvm/llvm-project/commit/a617b901cdbb4abfd4e4513546945846389f078d
Author: n2h9 <13541181+n2h9 at users.noreply.github.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/bindings/interface/SBInstructionExtensions.i
M lldb/include/lldb/API/SBInstruction.h
M lldb/include/lldb/API/SBStructuredData.h
M lldb/include/lldb/Core/Disassembler.h
M lldb/source/API/SBInstruction.cpp
M lldb/source/Core/Disassembler.cpp
M lldb/test/API/functionalities/disassembler-variables/TestVariableAnnotationsDisassembler.py
Log Message:
-----------
[lldb] [disassembler] chore: add GetVariableAnnotations to SBInstruction api (#177676)
## Description
Contribution to this topic [Rich Disassembler for
LLDB](https://discourse.llvm.org/t/rich-disassembler-for-lldb/76952),
this part.
```
The rich disassembler output should be exposed as structured data and made available through LLDB’s scripting API so more tooling could be built on top of this
```
----
This pr replaces #174847
As was suggested in [this
comment](https://github.com/llvm/llvm-project/pull/174847#issuecomment-3757015552),
implement access to variable annotations from `SBInstruction` class
itself.
Notes:
- :white_check_mark: did run black formatter on the python file;
## Testing
Run test with
```sh
./build/bin/lldb-dotest -v -p TestVariableAnnotationsDisassembler.py lldb/test/API/functionalities/disassembler-variables
```
all tests (9 existing + 1 newly added) are passing
<details>
<summary>screenshot 2026-01-23</summary>
build from the latest commit 08f00730b5768a8e3f7039d810084fabaaa24470
<img width="1506" height="562" alt="image"
src="https://github.com/user-attachments/assets/69516353-3432-47df-ae45-c40b51ec14c4"
/>
</details>
<details>
<summary>screenshot 2026-01-29</summary>
build from the latest commit f48a1a2c10f96a457ca6844be2ccc9406d3d57a0
<img width="1232" height="740" alt="image"
src="https://github.com/user-attachments/assets/9d104ce6-36c3-430b-98fe-f028f83a6b6d"
/>
</details>
---------
Signed-off-by: Nikita B <n2h9z4 at gmail.com>
Commit: dbd42401305b45e4a2854d24a1987d0f01b75754
https://github.com/llvm/llvm-project/commit/dbd42401305b45e4a2854d24a1987d0f01b75754
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/release-vgprs-spill.ll
Log Message:
-----------
[AMDGPU] Fix DEALLOC_VGPRS in the presence of spills to scratch (#178461)
Commit: ac5dc54d509169d387fcfd495d71853d81c46484
https://github.com/llvm/llvm-project/commit/ac5dc54d509169d387fcfd495d71853d81c46484
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/bad-reduction.ll
Log Message:
-----------
[SLP][NFC]Add disjoint or forms of tests, which actually should lead to scalar identity/bswap, NFC
Commit: 3c45148e9266bbd9830c2b977c497795d9307c72
https://github.com/llvm/llvm-project/commit/3c45148e9266bbd9830c2b977c497795d9307c72
Author: joaosaffran <joaosaffranllvm at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/test/CodeGenHLSL/builtins/cosh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
Log Message:
-----------
[HLSL] Make cosh, exp, normalize overload tests stricter. NFC (#177507)
This patch changes the run lines for cosh, exp, normalize overload test
to use -O1 instead of -disable-llvm-passes and rewrite the tests to
actually look at the whole function.
This work is part of https://github.com/llvm/llvm-project/issues/138016.
---------
Co-authored-by: Joao Saffran <jderezende at microsoft.com>
Commit: 695d72a1c9ecd9144b43a607bb36150e59c19ecb
https://github.com/llvm/llvm-project/commit/695d72a1c9ecd9144b43a607bb36150e59c19ecb
Author: joaosaffran <joaosaffranllvm at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tanh-overloads.hlsl
Log Message:
-----------
[HLSL] Make frac, tanh, degrees overload tests stricter. NFC (#177657)
This patch changes the run lines for frac, tanh, degrees overload test
to use -O1 instead of -disable-llvm-passes and rewrite the tests to
actually look at the whole function.
This work is part of https://github.com/llvm/llvm-project/issues/138016.
Commit: ff502209f0e2210d66384db08f2097eb4b0312dc
https://github.com/llvm/llvm-project/commit/ff502209f0e2210d66384db08f2097eb4b0312dc
Author: joaosaffran <joaosaffranllvm at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
Log Message:
-----------
[HLSL] Make log, asin, acos overload tests stricter. NFC (#177664)
This patch changes the run lines for log, asin, acos overload test to
use -O1 instead of -disable-llvm-passes and rewrite the tests to
actually look at the whole function.
This work is part of https://github.com/llvm/llvm-project/issues/138016.
Commit: e2e7c127c1ed4dded6404965b8cfcf7168752e4f
https://github.com/llvm/llvm-project/commit/e2e7c127c1ed4dded6404965b8cfcf7168752e4f
Author: joaosaffran <joaosaffranllvm at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/test/CodeGenHLSL/builtins/isinf-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
Log Message:
-----------
[HLSL] Make step, isinf, rsqrt overload tests stricter. NFC (#177697)
This patch changes the run lines for step, isinf, rsqrt overload test to
use -O1 instead of -disable-llvm-passes and rewrite the tests to
actually look at the whole function.
This work is part of https://github.com/llvm/llvm-project/issues/138016.
Commit: d32a18bed5a1adf609f6490250b0f71f15f70733
https://github.com/llvm/llvm-project/commit/d32a18bed5a1adf609f6490250b0f71f15f70733
Author: joaosaffran <joaosaffranllvm at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tan-overloads.hlsl
Log Message:
-----------
[HLSL] Make log2, tan overload tests stricter. NFC (#177700)
This patch changes the run lines for log2, tan overload test to use -O1
instead of -disable-llvm-passes and rewrite the tests to actually look
at the whole function.
This work is part of https://github.com/llvm/llvm-project/issues/138016.
Commit: 289ebd87a845fdd267208f096a0e707be9ad5d72
https://github.com/llvm/llvm-project/commit/289ebd87a845fdd267208f096a0e707be9ad5d72
Author: joaosaffran <joaosaffranllvm at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
Log Message:
-----------
[HLSL] Make atan, sin, sqrt overload tests stricter. NFC (#177702)
This patch changes the run lines for atan, sin, sqrt overload test to
use -O1 instead of -disable-llvm-passes and rewrite the tests to
actually look at the whole function.
This work is part of https://github.com/llvm/llvm-project/issues/138016.
Commit: d3ed8f95d66662008f8c7d869cbec7d64d505d57
https://github.com/llvm/llvm-project/commit/d3ed8f95d66662008f8c7d869cbec7d64d505d57
Author: joaosaffran <joaosaffranllvm at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
Log Message:
-----------
[HLSL] Make round, trunc, floor overload tests stricter. NFC (#178508)
This patch changes the run lines for round, trunc, floor overload test
to use -O1 instead of -disable-llvm-passes and rewrite the tests to
actually look at the whole function.
This work is part of https://github.com/llvm/llvm-project/issues/138016.
Commit: 293a668329624459ac07c65104cbf697dfbe0da7
https://github.com/llvm/llvm-project/commit/293a668329624459ac07c65104cbf697dfbe0da7
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/WavePrefixCountBits.hlsl
A clang/test/SemaHLSL/BuiltIns/WavePrefixCountBits-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll
A llvm/test/CodeGen/DirectX/WavePrefixBitCount.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WavePrefixCountBits.ll
Log Message:
-----------
[HLSL] Add wave prefix count bits function (#178059)
This PR adds the WavePrefixCountBits function to HLSL, including spirv
and DXIL code generation.
Fixes https://github.com/llvm/llvm-project/issues/99171
Commit: 8cfe11119bc79291caf53c54a030d8446757a534
https://github.com/llvm/llvm-project/commit/8cfe11119bc79291caf53c54a030d8446757a534
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
A clang/test/Analysis/suppress-namespace-redecl-core.cpp
A clang/test/Analysis/suppress-namespace-redecl-webkit.cpp
Log Message:
-----------
[analyzer] Fix [[clang::suppress]] for tricky template specializations (#178441)
The code assumed that taking the lexical parent decl context of a node
and traversing it will eventually visit the node itself. While this is
certeanly true for most AST constructs, template specializations (aka.
instantiations) might inject their AST to surprising lexical parents,
depending on when they get instantiated.
This means that just taking the lexical parent of a template
specialization might land us on some AST node that won't contain (thus
visit) the definition, and consequently, miss the Suppress attribute...
To fix this, we must take special care for template specializations. For
a regular instantiation select the primary template (that has the definition).
For an instantiation coming from a partial specialization, pretend if it
was the partial specialization instead.
Once we canonicalize to the primary template/partial specialization
definition, the usual "walk the lexical parents" logic covers the rest
as usual.
Assisted-by: claude
rdar://168941095
Commit: 34b2fc603c53d2690ae691bad28bc40b6658ffbb
https://github.com/llvm/llvm-project/commit/34b2fc603c53d2690ae691bad28bc40b6658ffbb
Author: Andrei Elovikov <a.elovikov at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/include/llvm/Analysis/DominanceFrontier.h
M llvm/include/llvm/Analysis/DominanceFrontierImpl.h
Log Message:
-----------
[NFC][DominanceFrontier] Remove unused return value (#178708)
Commit: c1ab08e29cbc7c537da19becc480637faae2a023
https://github.com/llvm/llvm-project/commit/c1ab08e29cbc7c537da19becc480637faae2a023
Author: Priyanshu Kumar <10b.priyanshu at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
A clang/test/CIR/CodeGenBuiltins/X86/avx512-select-builtins.c
Log Message:
-----------
[CIR][X86]Implement handling for Select/Selectsh builtins in CIR (#174003)
Related to: #167765
Commit: f1928b9f1e80a8907a22da866347f42114613f17
https://github.com/llvm/llvm-project/commit/f1928b9f1e80a8907a22da866347f42114613f17
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
Log Message:
-----------
[lldb-dap] Improve DetectReplMode (#178740)
When DetectReplMode is called without a valid frame, we cannot check if
an expression refers to a variable in scope.
This avoids unnecessary checks when completing expressions.
Commit: a5e388def7b06b12fcefbb91fb94090fc3c84bb8
https://github.com/llvm/llvm-project/commit/a5e388def7b06b12fcefbb91fb94090fc3c84bb8
Author: Osman Yasar <osmanyas05 at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/test/CodeGen/AArch64/GlobalISel/combine-add.mir
Log Message:
-----------
[GlobalISel] Fold Add Shift combine from SelectionDAG (#177371)
This PR adds the combine rule `fold (add x, shl(0 - y, n)) -> sub(x,
shl(y, n))` to GlobalISel, corresponding to an existing SelectionDAG
combine in
[DAGCombiner::visitADDLikeCommutative](https://github.com/llvm/llvm-project/blame/fcba3040107944604904aeb146c26ec0628160f4/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp#L3367).
Co-authored-by: Sarah Kuhn <sarahlinhkuhn at gmail.com>
---------
Co-authored-by: Sarah Kuhn <sarahlinhkuhn at gmail.com>
Co-authored-by: Luisa Cicolini <48860705+luisacicolini at users.noreply.github.com>
Commit: aad7259ff68752f79f522540c294a4fddaab03bf
https://github.com/llvm/llvm-project/commit/aad7259ff68752f79f522540c294a4fddaab03bf
Author: Osama Abdelkader <osama.abdelkader at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memset.mir
M llvm/test/CodeGen/AArch64/aarch64-mops.ll
M llvm/test/CodeGen/AArch64/arm64-memset-inline.ll
M llvm/test/CodeGen/AArch64/memcpy-scoped-aa.ll
M llvm/test/CodeGen/AArch64/memset-inline.ll
M llvm/test/CodeGen/AArch64/memset-vs-memset-inline.ll
M llvm/test/CodeGen/AArch64/mops-register-alias.ll
M llvm/test/Instrumentation/HWAddressSanitizer/stack-coloring.ll
Log Message:
-----------
[AArch64] Optimize memset to use NEON DUP instruction for more sizes (#166030)
This change improves memset code generation for non-zero values on
AArch64 by using NEON's DUP instruction instead of
the less efficient multiplication with 0x01010101 pattern.
For small sizes, the value is extracted from a larger DUP. For
non-power-of-two sizes, overlapping stores are used in some cases.
TargetLowering::findOptimalMemOpLowering is modified to allow explicitly
specifying the size of the constant in cases where the constant is
larger than the store operations.
Fixes #165949
Commit: 5396f7951c31e54d00ceafefe6e16f919d3eb6b9
https://github.com/llvm/llvm-project/commit/5396f7951c31e54d00ceafefe6e16f919d3eb6b9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/test/TableGen/CPtrWildcard.td
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[SelectionDAGISel][TableGen] Remove trailing 0 from isel table. NFC (#178744)
I suspect this was here to prevent a trailing comma. If we actually
reach this byte in isel, it will be treated as OPC_Scope not a
terminator.
Commit: 80cbd1d69669713e68d2cb9279b8139a12f8da92
https://github.com/llvm/llvm-project/commit/80cbd1d69669713e68d2cb9279b8139a12f8da92
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
A llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
Log Message:
-----------
[RISCV] Support ISD::CLMUL/CLMULH for i64 scalable vectors with Zvbc. (#178340)
We also get some i32->i64 promotion for CLMULH. The DAGCombiner
change is to prevent an infinite loop from that.
Test file was rewritten to cover all types and split between clmul
and clmulh.
I added a couple masked tests to show that VectorPeephole works.
The test outputs were already large so I didn't want to add more than a couple.
Commit: bdb74d23c71d34f9d579ba903e068f786399feaa
https://github.com/llvm/llvm-project/commit/bdb74d23c71d34f9d579ba903e068f786399feaa
Author: Andrew Haberlandt <ahaberlandt at apple.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
Log Message:
-----------
[sanitizers] [Darwin] Fix erroneous warning when external_symbolizer_path="" (#178743)
Some tools pass external_symbolizer_path="", which means it is not
expected to have any symbolizers in the list at the point we inserted a
(Darwin-only) warning.
This moves the symbolizer warning into ChooseExternalSymbolizer, after
the external_symbolizer_path="" case has been handled.
rdar://169137614
Commit: 4aaa2d7e4d9f5ae7ae6dbef736dfdb643689d6d5
https://github.com/llvm/llvm-project/commit/4aaa2d7e4d9f5ae7ae6dbef736dfdb643689d6d5
Author: Rohan Jacob-Rao <rohanjr at google.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
Log Message:
-----------
[Clang][-Wunsafe-buffer-usage] Allow safe form of libc memset. (#178107)
This allows a common, memory-safe form of memset, `memset(&x, val,
sizeof(x))`. There are potentially other safe forms that we can allow in
later PRs. The tests cover some of the possible cases.
Commit: 718f7480dbf76b3f14e44987d39b00bf6cf2af8c
https://github.com/llvm/llvm-project/commit/718f7480dbf76b3f14e44987d39b00bf6cf2af8c
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M flang/test/Lower/dense-attributed-array.f90
M flang/test/Lower/goto-statement.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/return-statement.f90
M flang/test/Lower/stop-statement.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 11) (#178577)
Tests converted from test/Lower: dense-attributed-array.f90,
goto-statement.f90, infinite_loop.f90, return-statement.f90,
stop-statement.f90
Commit: 78e22cbcb32ee50aa2649dc48fa52ec22f700349
https://github.com/llvm/llvm-project/commit/78e22cbcb32ee50aa2649dc48fa52ec22f700349
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/GCEmptyBasicBlocks.cpp
Log Message:
-----------
[LLVM] Remove pass initialization from pass constructor (#178729)
Remove pass initialization from pass constructor for
GCEmptyBasicBlocksLegacy pass.
Commit: d0a8834e85e0d35a65ea6c065bb44b5dd28d0b16
https://github.com/llvm/llvm-project/commit/d0a8834e85e0d35a65ea6c065bb44b5dd28d0b16
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lld/test/wasm/export-all.s
M lld/test/wasm/mutable-global-exports.s
M lld/test/wasm/pic-static.s
M lld/wasm/SymbolTable.cpp
Log Message:
-----------
[lld][WebAssembly] Honor export flags in addOptionalGlobalSymbol. NFC (#178754)
This change updates addOptionalGlobalSymbol to match
addOptionalDataSymbol.
The effected tests here are all using the `--export-all` flag.
Commit: 8286f824aecff9f6520a59db257f0859c5227f94
https://github.com/llvm/llvm-project/commit/8286f824aecff9f6520a59db257f0859c5227f94
Author: Florian Mayer <fmayer at google.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
Log Message:
-----------
[NFC] [MTE] Factor out getSlotPtr (#178755)
Commit: dd90057d9e55166b648fc9c58be593875baa4e31
https://github.com/llvm/llvm-project/commit/dd90057d9e55166b648fc9c58be593875baa4e31
Author: Ian Anderson <iana at apple.com>
Date: 2026-01-29 (Thu, 29 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/XROS1.0.sdk/SDKSettings.json
A clang/test/Driver/Inputs/XRSimulator1.0.sdk/SDKSettings.json
M clang/test/Driver/darwin-sdk-with-prefix.c
M clang/test/Driver/incompatible_sysroot.c
M clang/test/Driver/xros-driver-requires-darwin-host.c
Log Message:
-----------
[clang][driver][darwin] Prefer DarwinSDKInfo for platform identification and compatibility over the -isysroot path (#176541)
Using the file system path to identify the SDK platform, and determine
which platforms the SDK supports, is unreliable. In particular, the
SDK's file name prefix is usually significant, and dropping it usually
gives incorrect results. Instead, use information from SDKinfo to
positively identify its platform/environment, and to identify which
triples are compatible.
Commit: 501b7e9cfb4c09e021231334f4a243aa3a8fc700
https://github.com/llvm/llvm-project/commit/501b7e9cfb4c09e021231334f4a243aa3a8fc700
Author: adams381 <adams at nvidia.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGen/builtin-memchr.c
A clang/test/CIR/IR/libc-memchr.cir
Log Message:
-----------
[CIR] Add MemChrOp for __builtin_char_memchr and __builtin_memchr (#175234)
This PR adds support for the memchr builtin functions:
## Changes
- Define `CIR_MemChrOp` (`cir.libc.memchr`) operation in CIROps.td
- Add builtin handling for `__builtin_char_memchr` and
`__builtin_memchr` in CIRGenBuiltin.cpp
- Add LLVM lowering to call the `memchr` library function
- Add CodeGen and IR tests with CIR, LLVM, and OGCG checks
The operation searches for a pattern byte in a memory region and returns
a pointer to the first occurrence or null.
Commit: 60bc9d15f5428a5b1727f7db55948a98255769e2
https://github.com/llvm/llvm-project/commit/60bc9d15f5428a5b1727f7db55948a98255769e2
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/test/Driver/spirv-tools-err.c
Log Message:
-----------
[clang][lit] Disable spirv-tools-err.c on Windows (#178751)
Seems to fail when run from PowerShell, and we
[shouldn't](https://github.com/llvm/llvm-project/pull/173313) use
`REQUIRES: shell` anymore.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: 20b925a28a29f69819728e2b527b6fbddea3b298
https://github.com/llvm/llvm-project/commit/20b925a28a29f69819728e2b527b6fbddea3b298
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/Transforms/Transforms.h
M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
A mlir/test/Dialect/MemRef/emulate-narrow-type-non-atomic.mlir
M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir
M mlir/test/lib/Dialect/MemRef/TestEmulateNarrowType.cpp
Log Message:
-----------
[mlir][memref] Add non-atomic RMW option for emulated memref.store. (#178498)
The revision follows
https://github.com/llvm/llvm-project/commit/f0e1857c84186263ab3bd8b9420b54c8c5810136
to add an option for supporting non-atomic RMW emulation. The 0D case
uses non-atomic option unconditionally because it writes the entire
value.
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: 8d26233e3d5163d672018ec803276883081dc0dc
https://github.com/llvm/llvm-project/commit/8d26233e3d5163d672018ec803276883081dc0dc
Author: Sadaf Ebrahimi <sadafebrahimi at google.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/primary64.h
Log Message:
-----------
[scudo] Add missing space to getStats (#178537)
Commit: 0c99ca3494c64e64465d44d45bebfaf1be6170d0
https://github.com/llvm/llvm-project/commit/0c99ca3494c64e64465d44d45bebfaf1be6170d0
Author: RattataKing <46631728+RattataKing at users.noreply.github.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
Log Message:
-----------
[MLIR][Python] Remove partial LLVM APIs in python bindings (2/n) (#178529)
This PR continues work from #178290.
Cleaned up LLVM utilities in IRCore.cpp: `enumerate`, `zip`, `ArrayRef`,
`hash_value`.
Commit: dc949e396668375b92fef348de215278fd95f9ec
https://github.com/llvm/llvm-project/commit/dc949e396668375b92fef348de215278fd95f9ec
Author: Chibuoyim (Wilson) Ogbonna <ogbonnachibuoyim12 at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGen/clear-cache.c
Log Message:
-----------
[CIR] Upstream ClearCacheOp support for __builtin___clear_cache (#178260)
Adds CIR `ClearCacheOp` and lowers `__builtin___clear_cache` through CIR
to the LLVM `llvm.clear_cache` intrinsic. Includes codegen + lowering
support and a test.
Commit: 1644e7d09bd7b925b24d10e4e55c813cb998d07e
https://github.com/llvm/llvm-project/commit/1644e7d09bd7b925b24d10e4e55c813cb998d07e
Author: Ian Wood <ianwood2024 at u.northwestern.edu>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] Fix return type for ExtractSlice canonicalizer (#178118)
The `OpWithOffsetSizesAndStridesConstantArgumentFolder` pattern for
tensor.extract_slice was incorrectly using
`inferCanonicalRankReducedResultType()` to compute the result type after
folding constant offsets. This function infers a canonical rank
reduction (dropping the first N unit dimensions), which breaks when the
original operation used a non-canonical rank reduction. This change is
similar to the existing correct behavior in
`SubViewReturnTypeCanonicalizer` for `memref.subview`.
For example, extracting `tensor<1x4xf16>` from `tensor<1x1x8x1xf16>` by
dropping dims 0 and 3 would incorrectly produce tensor<4x1xf16>
(canonical: drop dims 0 and 1).
---------
Signed-off-by: Ian Wood <ianwood at u.northwestern.edu>
Commit: 1ae93c634a16adc0eff8d5693496425cc4725033
https://github.com/llvm/llvm-project/commit/1ae93c634a16adc0eff8d5693496425cc4725033
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
A clang/docs/LLVMExceptionHandlingCodeGen.rst
M clang/docs/index.rst
Log Message:
-----------
[clang][docs] Add documentation for EH codegen (#176236)
This adds a document describing the implementation of LLVM IR generation
for exceptions and C++ cleanup handling. This will be used as a point of
reference for future CIR exception handling design work.
This document was generated using AI, with some manual modifications
afterwards.
Commit: 52dfcab327fe959074563603b6ebaaed314e9677
https://github.com/llvm/llvm-project/commit/52dfcab327fe959074563603b6ebaaed314e9677
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
A mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUAttrs.td
A mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUBase.td
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUDialect.h
A mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUEnums.td
A mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
A mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUTypes.td
M mlir/include/mlir/Dialect/AMDGPU/IR/CMakeLists.txt
A mlir/lib/Dialect/AMDGPU/IR/AMDGPUAttrs.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
A mlir/lib/Dialect/AMDGPU/IR/AMDGPUEnums.cpp
A mlir/lib/Dialect/AMDGPU/IR/AMDGPUOps.cpp
A mlir/lib/Dialect/AMDGPU/IR/AMDGPUTypes.cpp
M mlir/lib/Dialect/AMDGPU/IR/CMakeLists.txt
Log Message:
-----------
[NFC][mlir][AMDGPU] Partition dialect .td into multiple files (#178562)
Follow the style of other dialects by having a distiinct .td file for
each category of thing (type, attribdut, operation, enum) generated for
the AMDGPU dialect.
Nothing has changed, but a lot of things have been copy-pasted.
Commit: f949e4011b4995114957e3532348700d9e3209b5
https://github.com/llvm/llvm-project/commit/f949e4011b4995114957e3532348700d9e3209b5
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/label-values.c
Log Message:
-----------
[CIR] Add lowering for BlockAddressOp, IndirectBrOp and LabelOp (#178106)
This PR introduces lowering support for gcc `labels-as-values` by
handling `LabelOp`, `BlockAddressOp` and `IndirectBrOp`.
Block tags are emitted to mark the target location in the IR,while block
address users may be created before their corresponding tag is
available. `LLVMBlockAddressInfo` is used to record unresolved
references and resolve them once all block tags have been emitted.
This enables a two phase lowering where block address users are first
materialized with placeholders and later updated with the resolved block
tag information.
Commit: 2aa020f49bb458b42549b76b50384414f275c214
https://github.com/llvm/llvm-project/commit/2aa020f49bb458b42549b76b50384414f275c214
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/include/lldb/Core/Module.h
M lldb/include/lldb/Core/ModuleSpec.h
M lldb/include/lldb/Expression/ObjectFileJIT.h
M lldb/include/lldb/Host/HostInfoBase.h
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/include/lldb/Utility/DataExtractor.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/source/Core/Module.cpp
M lldb/source/Expression/ObjectFileJIT.cpp
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h
M lldb/source/Plugins/ObjectContainer/Big-Archive/ObjectContainerBigArchive.cpp
M lldb/source/Plugins/ObjectContainer/Big-Archive/ObjectContainerBigArchive.h
M lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.cpp
M lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.h
M lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
M lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.h
M lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp
M lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h
M lldb/source/Plugins/ObjectFile/COFF/ObjectFileCOFF.cpp
M lldb/source/Plugins/ObjectFile/COFF/ObjectFileCOFF.h
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
M lldb/source/Plugins/ObjectFile/JSON/ObjectFileJSON.cpp
M lldb/source/Plugins/ObjectFile/JSON/ObjectFileJSON.h
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp
M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h
M lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp
M lldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.h
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.h
M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/source/Symbol/ObjectFile.cpp
M lldb/unittests/Core/ModuleSpecTest.cpp
M lldb/unittests/ObjectFile/MachO/TestObjectFileMachO.cpp
M lldb/unittests/TestingSupport/TestUtilities.h
Log Message:
-----------
[lldb][NFC] Module, ModuleSpec, GetSectionData use DataExtractorSP (#178347)
In a PR last month I changed the ObjectFile CreateInstance etc methods
to accept an optional DataExtractorSP instead of a DataBufferSP, and
retain the extractor in a shared pointer internally in all of the
ObjectFile subclasses. This is laying the groundwork for using a
VirtualDataExtractor for some Mach-O binaries on macOS, where the
segments of the binary are out-of-order in actual memory, and we add a
lookup table to make it appear that the TEXT segment is at offset 0 in
the Extractor, etc. Working on the actual implementation, I realized we
were still using DataBufferSP's in ModuleSpec and Module, as well as in
ObjectFile::GetModuleSpecifications.
I originally was making a much larger NFC change where I had all
ObjectFile subclasses operating on DataExtractors throughout their
implementation, as well as in the DWARF parser. It was a very large
patchset. Many subclasses start with their DataExtractor, then create
smaller DataExtractors for parts of the binary image - the string table,
the symbol table, etc., for processing.
After consideration and discussion with Jonas, we agreed that a
segment/section of a binary will never require a lookup table to access
the bytes within it, so I changed
VirtualDataExtractor::GetSubsetExtractorSP to (1) require that the
Subset be contained within a single lookup table entry, and (2) return a
simple DataExtractor bounded on that byte range. By doing this, I was
able to remove all of my very-invasive changes to the ObjectFile
subclass internals; it's only when they are operating on the entire
binary image that care is needed.
One pattern that subclasses like ObjectFileBreakpad use is to take an
ArrayRef of the DataBuffer for a binary, then create a StringRef of
that, then look for strings in it. With a VirtualDataExtractor and
out-of-order binary segments, with gaps between them, this allows us to
search the entire buffer looking for a string, and segfault when it gets
to an unmapped region of the buffer. I added a
VirtualDataExtractor::GetSubsetExtractorSP(0) which gets the largest
contiguous memory region starting at offset 0 for this use case, and I
added a comment about what was being done there because I know it is not
obvious, and people not working on macOS wouldn't be familiar with the
requirement. (when we have a ModuleSpec with a DataExtractor, any of the
ObjectFile subclasses get a shot at Creating, so they all have to be
able to iterate on these)
rdar://148939795
Commit: a1c81b028aab1056aadd3db8c95173c4fd0bf493
https://github.com/llvm/llvm-project/commit/a1c81b028aab1056aadd3db8c95173c4fd0bf493
Author: A. Jiang <de34 at live.cn>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_exceptions.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_exceptions.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/move.pass.cpp
Log Message:
-----------
[libc++][test] Make `EvilContainer` a sequence container (#178626)
In tests for flat container adaptors, the `EvilContainer` type doesn't
have sufficient constructors to meet the requirements for sequence
containers ([sequence.reqmts]). Also, assignment from an
`initializer_list` doesn't have correct return type.
This patch makes `EvilContainer` inherit constructors from `vector<int>`
and add a correct assignment operator from `initializer_list<int>`.
Commit: 6ecca438a3a9d4ca01ad923198c8d7a3cb998d4f
https://github.com/llvm/llvm-project/commit/6ecca438a3a9d4ca01ad923198c8d7a3cb998d4f
Author: Usama Hameed <u_hameed at apple.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
Log Message:
-----------
[Darwin][MTE] bugfix: Only instrument stack history buffer if there are instrumented allocas in the function (#178770)
Commit: a9b67d0702cbb5906970d93aed509501b45103ae
https://github.com/llvm/llvm-project/commit/a9b67d0702cbb5906970d93aed509501b45103ae
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
Log Message:
-----------
[lldb] Fix a compile error that came up with some compilers
Some versions will construct the DataExtractorSP here,
it seems. Others need it explicitly created.
Commit: 66f687bb9defbeaeef6642d7fbcd900f57defdf9
https://github.com/llvm/llvm-project/commit/66f687bb9defbeaeef6642d7fbcd900f57defdf9
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
Log Message:
-----------
[lldb] Add explicit namespace qualifiers for two SP types,
include DataBuffer.h. This compiles without error for me,
but not for Alex.
Commit: b93d6c2fd6f02465085d9a162ef5e1537e0098f9
https://github.com/llvm/llvm-project/commit/b93d6c2fd6f02465085d9a162ef5e1537e0098f9
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
Log Message:
-----------
[lldb] Fix another typeo. No idea how this compiled for me.
Commit: 34a7608fad1cd56e246b07f86880ed1f409a8098
https://github.com/llvm/llvm-project/commit/34a7608fad1cd56e246b07f86880ed1f409a8098
Author: Maksim Panchenko <maks at fb.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M bolt/docs/CommandLineArgumentReference.md
M bolt/lib/Passes/PLTCall.cpp
A bolt/test/runtime/X86/plt-call.c
Log Message:
-----------
[BOLT] Drop -znow requirement for PLT optimization on x86-64 (#178758)
On x86-64, PLT optimization does not require the binary to be linked
with -znow because indirect calls through GOT work correctly with lazy
binding. At runtime, the dynamic linker's resolver will populate the GOT
entry on the first call, just like with a regular PLT call.
This change removes the -znow requirement specifically for x86-64 while
keeping it for other architectures. I haven't checked RISV-V, but it's
still necessary on AArch64.
Commit: 1a80fd6d8c3543a034705d98d02b82382527401b
https://github.com/llvm/llvm-project/commit/1a80fd6d8c3543a034705d98d02b82382527401b
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
Log Message:
-----------
SelectionDAG: Add -print-sdnode-addrs flag.
Similar to -print-inst-addrs and -print-mi-addrs.
Commit: e6429d6e938e72f04874e6bf2cb974cce3b91cd8
https://github.com/llvm/llvm-project/commit/e6429d6e938e72f04874e6bf2cb974cce3b91cd8
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/docs/DebuggingLLVM.rst
Log Message:
-----------
Add the backend flags to DebuggingLLVM.
Commit: 3dfcd84dd90ee5324b89aeceb0bae55c7057f3a0
https://github.com/llvm/llvm-project/commit/3dfcd84dd90ee5324b89aeceb0bae55c7057f3a0
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir][AMDGPU] Fix build for #178562 (#178784)
Fixes 52dfcab327fe959074563603b6ebaaed314e9677.
Co-authored-by: Pranav Kant <prka at google.com>
Commit: 66424a02de1efee11abee58e47c3cb6dac4becb4
https://github.com/llvm/llvm-project/commit/66424a02de1efee11abee58e47c3cb6dac4becb4
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/config/baremetal/config.json
M libc/config/config.json
M libc/docs/configure.rst
M libc/src/__support/str_to_float.h
Log Message:
-----------
[libc] provide str to float build configs (#178780)
The str to float code path offers options which can reduce code bloat.
Expose them as build config options. Disable Eisel Lemire for avoiding
code bloat caused by DETAILED_POWERS_OF_TEN look up table.
Commit: 65925b0405009177a4ede0b79bcfebfb48329b1e
https://github.com/llvm/llvm-project/commit/65925b0405009177a4ede0b79bcfebfb48329b1e
Author: Dmitry Sidorov <18708689+MrSidims at users.noreply.github.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sitofp.mir
M llvm/test/CodeGen/AMDGPU/select-constant-cttz.ll
Log Message:
-----------
[AMDGPU] Replace AMDGPUISD::FFBH_I32 with ISD::CTLS (#178420)
Per CDNA4 ISA:
V_FFBH_I32
Count the number of leading bits that are the same as the sign bit of a
vector input and store the result into a vector register. Store -1 if
all input bits are the same.
which matches CTLS semantics.
Addresses: https://github.com/llvm/llvm-project/issues/177635
Commit: 4cd15a7823bd7031dda14ced8cfa8cd89bcab873
https://github.com/llvm/llvm-project/commit/4cd15a7823bd7031dda14ced8cfa8cd89bcab873
Author: Lang Hames <lhames at gmail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
Log Message:
-----------
[orc-rt] Add C API for Errors, plus ORC_RT_C_ABI macro. (#178794)
This commit introduces a C interface for the ORC runtime's Error
handling system, enabling C clients and language bindings to work with
ORC errors.
The ORC_RT_C_ABI macro applies __attribute__((visibility("default")))
(on platforms that support it), ensuring C API symbols are exported when
building the ORC runtime as a shared library. In the future I expect
that this will be extended to support other platforms (e.g. dllexport on
Windows).
Commit: 05e908609227e1e8d993659e604a63668dfd2825
https://github.com/llvm/llvm-project/commit/05e908609227e1e8d993659e604a63668dfd2825
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir][AMDGPU] Fix BUILD file formatting for #178784 (#178798)
Commit: 48c6c7f43f49f1f2e13daaf7ee36f81cde75b164
https://github.com/llvm/llvm-project/commit/48c6c7f43f49f1f2e13daaf7ee36f81cde75b164
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lld/test/wasm/export-all.s
M lld/test/wasm/mutable-global-exports.s
A lld/test/wasm/pic-static-unused.s
M lld/test/wasm/pic-static.s
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
M lld/wasm/Writer.cpp
Log Message:
-----------
[lld][WebAssembly] Fix symbol type for __memory_base/__table_base. (#178773)
When linking PIC code as non-PIC we internally define `__memory_base`
and `__table_base`. However we were defining these incorrectly as data
symbols and not global symbols (as in Wasm globals).
This happened to work incidentally as long as there was a live reference
to the symbol. This is because the live reference would cause a GOT
entry to be created for these symbol and then they could be referenced
via via `R_WASM_GLOBAL_INDEX_LEB` or `R_WASM_GLOBAL_INDEX_I32`. However,
when no live reference existed there could still be references from
debug sections, and in that case the relocation code was crashing.
Fixes: #174676
Commit: 469a6fd185e12718fc49febbc78ef2f45d2e3b66
https://github.com/llvm/llvm-project/commit/469a6fd185e12718fc49febbc78ef2f45d2e3b66
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
Log Message:
-----------
[CIR][NFC] Replace uses of negative unsigned literals (#178760)
This fixes a few places where we were using the minus operator with
unsigned literal values, which was causing C4146 warnings when compiled
with MSVC.
This relates to https://github.com/llvm/llvm-project/issues/147439
Commit: 6912b91891c403c944cccb119102724eedcc04b9
https://github.com/llvm/llvm-project/commit/6912b91891c403c944cccb119102724eedcc04b9
Author: Daniil Fukalov <dfukalov at gmail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
A llvm/test/CodeGen/AMDGPU/wqm-debug-instr.mir
Log Message:
-----------
[AMDGPU] Fix crash in SIWholeQuadMode with debug instructions. (#178282)
The prepareInsertion function was crashing when debug instructions
appeared at positions being queried for slot indices. Debug instructions
don't have entries in the slot index map, so getInstructionIndex would
fail with an assertion.
Fixes SWDEV-480902.
Commit: 62aa40a4dd608c5625c3f5f684d1233ff772a4df
https://github.com/llvm/llvm-project/commit/62aa40a4dd608c5625c3f5f684d1233ff772a4df
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
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/omod.ll
M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.f16.ll
M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.ll
M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll
M llvm/test/tools/llvm-reduce/mir/preserve-machine-function-info-amdgpu.mir
Log Message:
-----------
[AMDGPU] Remove `NoSignedZerosFPMath` uses (#178343)
One of global flags in `resetTargetOptions`, users should use `nsz`
instead.
`fneg_fadd_0_f64` from `AMDGPU/fneg-combines.new.ll` will have
regression when `fadd` is annotated with `nsz`.
Commit: 2cda0a14d723bfbc33110cf3a167b05386345123
https://github.com/llvm/llvm-project/commit/2cda0a14d723bfbc33110cf3a167b05386345123
Author: woruyu <1214539920 at qq.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp
Log Message:
-----------
[NFC] modify comment for NVPTXLowerAlloca (#178583)
Commit: 8f8dfbf8c9f0f4a87dd13914338f46d3c3f08fd1
https://github.com/llvm/llvm-project/commit/8f8dfbf8c9f0f4a87dd13914338f46d3c3f08fd1
Author: Viktoria Maximova <viktoria.maksimova at intel.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_fma/fma.ll
Log Message:
-----------
[SPIR-V] Implement SPV_KHR_fma extension (#173057)
The extension adds support for the `OpFmaKHR` instruction, which
provides a native SPIR-V instruction for fused multiply-add operations
as an alternative to using OpenCL.std::Fma extended instruction.
Translate both LLVM fma intrinsics as well as OCL builtins to `OpFmaKHR`
if the extension is available.
Specification:
https://github.khronos.org/SPIRV-Registry/extensions/KHR/SPV_KHR_fma.html
Commit: 056879749b40a33d98d0628b1d3a39a18488dcc3
https://github.com/llvm/llvm-project/commit/056879749b40a33d98d0628b1d3a39a18488dcc3
Author: wanglei <wanglei at loongson.cn>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
A llvm/test/CodeGen/LoongArch/disable-reloc-sched.ll
Log Message:
-----------
[LoongArch] Add option to disable scheduling of instructions with target flags
This patch adds a hidden command-line option
-loongarch-disable-reloc-sched. When enabled, isSafeToMove returns
false for instructions that have operands with target flags.
This effectively prevents code motion for instructions involved in
relocations, which is useful for debugging code generation issues
related to relocation sequences or scheduling boundaries.
Reviewers: heiher, SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/178639
Commit: 4953ebf386f83dee59fca7bd14f98cd04480c418
https://github.com/llvm/llvm-project/commit/4953ebf386f83dee59fca7bd14f98cd04480c418
Author: hev <wangrui at loongson.cn>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/Target/LoongArch/LoongArchCallingConv.td
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchRegisterInfo.cpp
A llvm/test/CodeGen/LoongArch/preserve_nonecc.ll
A llvm/test/CodeGen/LoongArch/preserve_nonecc_call.ll
A llvm/test/CodeGen/LoongArch/preserve_nonecc_musttail.ll
A llvm/test/CodeGen/LoongArch/preserve_nonecc_varargs.ll
Log Message:
-----------
[LoongArch] Support `preserve_none` calling convention (#178566)
Add support for the `preserve_none` calling convention on LoongArch.
Registers `R4-R20` and `R23-R31` are treated as caller-saved and may be
used for argument passing, except for `R31`.
Commit: 947df33d3d68e61a45a74c98cc3fc9b5ee2ad8de
https://github.com/llvm/llvm-project/commit/947df33d3d68e61a45a74c98cc3fc9b5ee2ad8de
Author: Zhihui Yang <youngwisdm at gmail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/f16sqrt.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/f16sqrt.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/f16sqrt.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor f16sqrt to Header Only (#177167)
Fixes #175330
Part of https://github.com/llvm/llvm-project/issues/147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: a17bc05818264a1eef3796cc5b0856a3cd3e808b
https://github.com/llvm/llvm-project/commit/a17bc05818264a1eef3796cc5b0856a3cd3e808b
Author: Ash <97464181+tnuha at users.noreply.github.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/sincosf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/sincosf.h
M libc/src/__support/math/sincosf_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/sincosf.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor sincosf implementation to header only (#177523)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Closes #177640
Commit: b52591b329ba3a3085041b2452edcd3c27556ca8
https://github.com/llvm/llvm-project/commit/b52591b329ba3a3085041b2452edcd3c27556ca8
Author: YunQiang Su <syq at debian.org>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M compiler-rt/CMakeLists.txt
Log Message:
-----------
comipler-rt: add atomic to SANITIZER_COMMON_LINK_LIBS for MIPS (#178819)
atomic is needed explicitly for MIPS.
Commit: 1079273881030fd38e264f3668e0d43ab557e452
https://github.com/llvm/llvm-project/commit/1079273881030fd38e264f3668e0d43ab557e452
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.cpp
Log Message:
-----------
[clang-tidy] Speed up `cppcoreguidelines-pro-bounds-array-to-pointer-decay` (#178775)
By just changing the order of some conditions, the check goes from
fairly expensive to very cheap:
```txt
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
Status quo: 0.7812 ( 1.7%) 0.0469 ( 0.7%) 0.8281 ( 1.6%) 0.5585 ( 1.1%) cppcoreguidelines-pro-bounds-array-to-pointer-decay
With this change: 0.0312 ( 0.1%) 0.0000 ( 0.0%) 0.0312 ( 0.1%) 0.0598 ( 0.1%) cppcoreguidelines-pro-bounds-array-to-pointer-decay
```
`hicpp-no-array-decay` is an alias of this check and so benefits too.
Commit: ac47d8c227ce1c2413ad70d95d6cf7f7f09b6943
https://github.com/llvm/llvm-project/commit/ac47d8c227ce1c2413ad70d95d6cf7f7f09b6943
Author: Thurston Dang <thurston at google.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/AArch64/aarch64-bf16-dotprod-intrinsics.ll
Log Message:
-----------
[msan] Handle Arm NEON BFloat16 multiply-add to single-precision (#178510)
aarch64.neon.bfmlalb/t perform dot-products after zeroing out the
odd/even-indexed values. We handle these by generalizing
handleVectorDotProductIntrinsic() and (mis-)using getPclmulMask().
Commit: 6bba170a269d247e4c450d3517b32ad963cec9dd
https://github.com/llvm/llvm-project/commit/6bba170a269d247e4c450d3517b32ad963cec9dd
Author: Fangrui Song <i at maskray.me>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lld/ELF/Relocations.cpp
Log Message:
-----------
[ELF] Remove unneeded -z ifunc-noplt check. NFC
The `isIfunc && zIfuncNoplt` code path does not use the RelExpr, so we
don't need to adjust it.
Commit: 120b482375b29db5822f0907bd3e47d958549580
https://github.com/llvm/llvm-project/commit/120b482375b29db5822f0907bd3e47d958549580
Author: Kewen Meng <Kewen.Meng at amd.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sitofp.mir
M llvm/test/CodeGen/AMDGPU/select-constant-cttz.ll
Log Message:
-----------
Revert "[AMDGPU] Replace AMDGPUISD::FFBH_I32 with ISD::CTLS" (#178837)
Revert to unblock buildbot:
https://lab.llvm.org/buildbot/#/builders/206/builds/12769
Commit: 10f2611c2173783efae8aebc32d1515013271b64
https://github.com/llvm/llvm-project/commit/10f2611c2173783efae8aebc32d1515013271b64
Author: Aman LaChapelle <aman.lachapelle at gmail.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lldb/include/lldb/Interpreter/Interfaces/ScriptedFrameInterface.h
M lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
M lldb/source/Plugins/Process/scripted/ScriptedFrame.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.h
M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
M lldb/test/API/functionalities/scripted_frame_provider/main.cpp
M lldb/test/API/functionalities/scripted_frame_provider/test_frame_providers.py
Log Message:
-----------
[lldb] Add support for ScriptedFrame to provide values/variables. (#178575)
This patch adds plumbing to support the implementations of StackFrame::Get{*}Variable{*} on ScriptedFrame. The major pieces required are:
- A modification to ScriptedFrameInterface, so that we can actually call the python methods.
- A corresponding update to the python implementation to call the python methods.
- An implementation in ScriptedFrame that can get the variable list on construction inside ScriptedFrame::Create, and pass that list into the ScriptedFrame so it can get those values on request.
There is a major caveat, which is that if the values from the python side don't have variables attached, right now, they won't be passed into the scripted frame to be stored in the variable list. Future discussions around adding support for 'extended variables' when printing frame variables may create a reason to change the VariableListSP into a ValueObjectListSP, and generate the VariableListSP on the fly, but that should be addressed at a later time.
This patch also adds tests to the frame provider test suite to prove these changes all plumb together correctly.
Related radar: rdar://165708771
Commit: a9a092ccd2e3a56bc3dd3e442c9f8971726c81d7
https://github.com/llvm/llvm-project/commit/a9a092ccd2e3a56bc3dd3e442c9f8971726c81d7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/bittest.ll
M llvm/test/CodeGen/RISCV/float-intrinsics.ll
Log Message:
-----------
[RISCV] Add isel pattern (setlt (shl X, 32), 0) -> srliw. (#178765)
DAGCombiner sometimes turns (setlt (sext_inreg, X, i32), 0) into this
now so we need another pattern.
I tried to remove the sext_inreg pattern but it seems DAGCombiner
doesn't always do this transform. I suspect it depends on if
SimplifyDemandedBits visits the setcc. We could probably make (setlt Y,
0) call SimplifyDemandedBits on itself.
Fixes #178600.
Commit: 737f4447adf258dc605e270f18abc6dc2082ef31
https://github.com/llvm/llvm-project/commit/737f4447adf258dc605e270f18abc6dc2082ef31
Author: Saina Daneshmand <66389676+SainaDaneshmandjahromi at users.noreply.github.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M libc/shared/math.h
A libc/shared/math/sqrtf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/sqrtf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/sqrtf.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor sqrtf to header-only (#178778)
Refactors sqrtf to be header-only.
Closes #177649.
Commit: 9bde15d76dd8d1c93ce7b9b2e25265f57ac3a9f4
https://github.com/llvm/llvm-project/commit/9bde15d76dd8d1c93ce7b9b2e25265f57ac3a9f4
Author: sohail <150878950+sohail103 at users.noreply.github.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/include/future
A libcxx/test/libcxx/thread/futures/launch_any_deprecated.verify.cpp
M libcxx/test/libcxx/thread/nodiscard.verify.cpp
M libcxx/test/std/thread/futures/futures.async/async.pass.cpp
M libcxx/test/std/thread/futures/futures.overview/launch.pass.cpp
Log Message:
-----------
[libc++] Deprecate std::launch::any extension (#173397)
`std::launch::any` was a draft C++11 feature that was removed before the
final standard but it has remained in libc++ as an extension. This patch
marks it as deprecated and suggests using `std::launch::async |
std::launch::deferred` instead.
- Used `_LIBCPP_DEPRECATED_` to mark `std::launch::any` as deprecated
with an associated warning message recommending `std::launch::async |
std::launch::deferred` instead.
- Added a `.verify.cpp` test to validate the deprecation warning.
- Updated existing tests to avoid using the deprecated extension.
- Added note about deprecation in docs.
Fixes #173219
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: ca7ececd7f61a47740a518bc5a86d3261b59c993
https://github.com/llvm/llvm-project/commit/ca7ececd7f61a47740a518bc5a86d3261b59c993
Author: azwolski <antoni.zwolski at intel.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
A llvm/test/CodeGen/X86/interleave-load-fold.ll
A llvm/test/CodeGen/X86/non-foldable-with-the-same-mask.mir
Log Message:
-----------
[X86] Add baseline tests exposing invalid masked folds. (#178411)
This tests exposes invalid same-mask fold.
We need prevent folding the load into an "interleave‑type instruction",
because doing so removes the double mask application, which affects the
final result of the operation. For some instructions, folding the load
is simply invalid, even if the same mask is used. I have already
prepared a patch.
Few examples
```
EVEX.128.66.0F.WIG 67 /r VPACKUSWB xmm1{k1}{z}, xmm2, xmm3/m128
A: 00010203 7F000001 80000002 DEADBEEF
E : 00000000 00000001 00000002 00000003
D: 11111111 22222222 33333333 44444444
k = 0x0400
Masked_e = 00000000 00000000 00000000 00000000 (vmovdqu8{k}{z} Masked_e E)
res1 = 00000000 00000000 00010000 00000000 (VPACKUSWB D{k}{z}, A, E)
res2 = 00000000 00000000 00000000 00000000 (VPACKUSWB D{k}{z}, A, Masked_e)
EVEX.128.66.0F38.W0 C4 /r VPCONFLICTD xmm1 {k1}{z}, xmm2/m128/m32bcst
A: DAA66D2B FFFFFFFC FFFFFFFC D9A0643C
E : 7DDF743F 00000000 5FD99E73 4ED634C9
D: 2629AB38 9E37782F 67BB800F AD66764A
k = 0x0002
Masked_e = (vmovdqu32 {k}{z} Masked_e E)
res1 = 00000000 00000000 00000000 00000000 (VPCONFLICTD D{k}{z}, E)
res2 = 00000000 00000001 00000000 00000000 (VPCONFLICTD D{k}{z}, Masked_e)
EVEX.128.66.0F38.W1 8D /r VPERMW xmm1 {k1}{z}, xmm2, xmm3/m128
A: 00010203 7F000001 80000002 DEADBEEF
E : 00000000 00000001 00000002 00000003
D: 11111111 22222222 33333333 44444444
k = 0x0010
Masked_e = 00000000 00000000 00000002 00000000 (vmovdqu16 {k}{z} Masked_e E)
res1 = 00000000 00000000 00000001 00000000 (vpermw D{k}{z}, A, E)
res2 = 00000000 00000000 00000000 00000000 (vpermw D{k}{z}, A, Masked_e)
EVEX.128.66.0F38.W0 78 /r VPBROADCASTB xmm1{k1}{z}, xmm2/m8
E : 7F4A7C15 6E490933 5D4C9659 4C433CE3
D: F63F9D36 97F6E2B2 9432E8E6 FAEE7A3E
k = 0x0002
Masked_e = 00007C00 00000000 00000000 00000000 (vmovdqu8{k}{z} Masked_e E)
res = 00001500 00000000 00000000 00000000 (vpbroadcastb D{k}{z}, E)
res = 00000000 00000000 00000000 00000000 (vpbroadcastb D{k}{z}, Masked_e)
```
Commit: 55e1d3ab7ef75cea2802a1207528fe626c4b851a
https://github.com/llvm/llvm-project/commit/55e1d3ab7ef75cea2802a1207528fe626c4b851a
Author: Fangrui Song <i at maskray.me>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
Log Message:
-----------
[ELF] Rename isAbsoluteValue for clarity. NFC
and fix a stale comment.
Commit: 50ae8a041cf94ceed13655a0d93ad76fc36f9721
https://github.com/llvm/llvm-project/commit/50ae8a041cf94ceed13655a0d93ad76fc36f9721
Author: Peter Hawkins <phawkins at google.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M mlir/lib/Dialect/LLVMIR/Transforms/DIScopeForLLVMFuncOp.cpp
M mlir/test/Dialect/LLVMIR/add-debuginfo-func-scope.mlir
Log Message:
-----------
[MLIR][LLVM] Fix a crash in ensure-debug-info-scope-on-llvm-func (#178337)
This pass was not defensive enough about the presence of non-llvm
functions with call site locs.
Commit: fe9107fc73653c15d3693b31ff57268559cadbb0
https://github.com/llvm/llvm-project/commit/fe9107fc73653c15d3693b31ff57268559cadbb0
Author: puneeth_aditya_5656 <myakampuneeth at gmail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/test/Dialect/SparseTensor/one_shot_bufferize_tensor_copy_insertion.mlir
Log Message:
-----------
[mlir][sparse] Implement missing BufferizableOpInterface methods for NewOp (#178423)
## Summary
Fixes crash when running `--eliminate-empty-tensors` on MLIR modules
containing `sparse_tensor.new` with a tensor input.
## Problem
The `sparse_tensor.new` operation was missing the
`bufferizesToMemoryRead`, `bufferizesToMemoryWrite`, and
`getAliasingValues` methods in its `BufferizableOpInterface`
implementation. This caused an `UNREACHABLE` crash with message
"bufferizesToMemoryRead not implemented".
## Solution
Implemented the missing methods in `NewOpInterface`:
- `bufferizesToMemoryRead`: returns `true` (reads from source tensor)
- `bufferizesToMemoryWrite`: returns `false` (doesn't write to source)
- `getAliasingValues`: returns empty (result is new allocation, not an
alias)
Also added a test case for `sparse_tensor.new` with tensor input.
Fixes #178419
Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
Commit: 447f1e43bb9ad91f1efe9e7e22f3c8449e692122
https://github.com/llvm/llvm-project/commit/447f1e43bb9ad91f1efe9e7e22f3c8449e692122
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
A llvm/test/CodeGen/AMDGPU/fptosi-sat-scalar.ll
A llvm/test/CodeGen/AMDGPU/fptosi-sat-vector.ll
A llvm/test/CodeGen/AMDGPU/fptoui-sat-scalar.ll
A llvm/test/CodeGen/AMDGPU/fptoui-sat-vector.ll
Log Message:
-----------
[AMDGPU] Implement llvm.fptosi.sat and llvm.fptoui.sat (#174726)
Certain graphics APIs explicitly want the semantics of saturated
conversions, particularly w.r.t. edge cases like NaN. The underlying
hardware instructions (v_cvt_*) provide the expected behaviour so
llvm.fptosi.sat and llvm.fptoui.sat can be implemented directly.
Limitations:
- conversion to i64 is not handled (default expansion is used)
- v_cvt_u16_f16 and v_cvt_i16_f16 are not utilized (future work)
- scalar float is untested/unoptimized (future work)
Commit: 2bd441cff296c74ebe984b2e8442ee9962361b35
https://github.com/llvm/llvm-project/commit/2bd441cff296c74ebe984b2e8442ee9962361b35
Author: David Green <david.green at arm.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/fcvt_combine.ll
M llvm/test/CodeGen/AArch64/vcvt-oversize.ll
Log Message:
-----------
[AArch64] Add FCVT fixed patterns for fptoi(fadd(a, a)) (#178536)
This can be seen as a special-case of the existing fptoi(fmul(a, 2.0))
combine that will be moved to tablegen, which can generate a FCVT_shift
instruction.
Commit: ffb7a9f0ec80d5b12aa440d8446d2379827100f4
https://github.com/llvm/llvm-project/commit/ffb7a9f0ec80d5b12aa440d8446d2379827100f4
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-sext-zext.ll
Log Message:
-----------
[AArch64] Fix sign-extend-inreg combine for i1 types (#177976)
This fixes https://github.com/llvm/llvm-project/issues/177925
Commit: b4c7518a0f878474bf430132fe8f76e543829a84
https://github.com/llvm/llvm-project/commit/b4c7518a0f878474bf430132fe8f76e543829a84
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fdot-product.ll
Log Message:
-----------
[LV] Add support for extended fadd reductions (#178447)
This makes use of the llvm.vector.partial.reduce.fadd intrinsics added
in #163975 to handle the following with FDOT:
```
float32_t fdot(float16_t *src, int N) {
float32_t sum = 0.0f;
for (int i=0; i<N; ++i)
sum += src[i];
return sum;
}
```
Commit: 3425b829f4cf20c556b634665aa62ebd7e40c927
https://github.com/llvm/llvm-project/commit/3425b829f4cf20c556b634665aa62ebd7e40c927
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/ExpandIRInsts.cpp
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-fp-convert-small.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptosi129.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptoui129.ll
Log Message:
-----------
[ExpandIRInst] Support expanding fptoi to smaller type (#178690)
In order to support expanding fptoi where the target type is smaller,
make most of the code work on the float-as-integer type, rather than the
target type of the cast. We only need to cast the final result to the
target type, or prior to performing a left shift.
This not only allows us to handle casts to a smaller type, but also
avoids performing intermediate calculations on unnecessarily large
types.
This also matches how compiler-rt handles this:
https://github.com/llvm/llvm-project/blob/main/compiler-rt/lib/builtins/fp_fixint_impl.inc
Proof: https://alive2.llvm.org/ce/z/3pJ9pE
(Note that there is a pre-existing issue that we produce the same code
for fptosi and fptoui.)
Commit: f0eba4f530ab52167a8f17efb0cc9a134757490a
https://github.com/llvm/llvm-project/commit/f0eba4f530ab52167a8f17efb0cc9a134757490a
Author: puneeth_aditya_5656 <myakampuneeth at gmail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/test/Dialect/Shape/canonicalize.mlir
Log Message:
-----------
[mlir][shape] Fix crash in FromExtentsOp::fold with poison operands (#178844)
## Summary
- Fix assertion failure in `shape.from_extents` fold when operands
include `ub.poison`
- The fold assumed all non null attributes were `IntegerAttr`, but
poison produces a different attribute type
- Use `dyn_cast_if_present` to safely handle non integer attributes
Fixes #178820
## Test plan
- Added regression test `@from_extents_poison` in canonicalize.mlir
Commit: c391efe6fb67329d8e2fd231692cc6b0ea902956
https://github.com/llvm/llvm-project/commit/c391efe6fb67329d8e2fd231692cc6b0ea902956
Author: Riyaz Ahmad <69200125+riyaz86a at users.noreply.github.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Sema/SemaDecl.cpp
A clang/test/Driver/ms-anonymous-structs.c
A clang/test/Frontend/ms-anon-structs-args.c
A clang/test/Sema/MicrosoftAnonymousStructs.c
Log Message:
-----------
[Driver][Frontend] Add -f[no-]ms-anonymous-structs flag to control Microsoft anonymous struct/union extension (#176551)
Add a Clang driver option -fms-anonymous-structs and
-fno-ms-anonymous-structs
to enable or disable Microsoft anonymous struct/union support
independently of -fms-extensions.
**Motivation**:
- On some platforms (e.g. AIX), enabling `-fms-extensions` can conflict
with system headers (such as usage of `__ptr32`).
- Some codebases rely specifically on Microsoft anonymous struct/union
behavior without requiring other Microsoft extensions.
This change allows users to selectively enable the anonymous
struct/union
extension at the driver level without enabling full Microsoft
compatibility
mode.
**Behavior**:
- -fms-anonymous-structs enables the feature explicitly.
- The feature is implicitly enabled by `-fms-extensions `or
`-fms-compatibility`.
- When multiple flags are present, the last flag on the command line
wins.
For example (last option wins):
`-fms-extensions` `-fno-ms-anonymous-structs` -> Disable the feature.
` -fno-ms-anonymous-structs` `-fms-anonymous-structs` -> Enables the
feature.
`-fno-ms-anonymous-structs`` -fms-extensions` -> Enables the feature.
Note: When using CC1 directly (clang -cc1) or -Xclang, explicit
`-f[no-]ms-anonymous-structs` flags
take precedence over implicit enablement from -fms-extensions or
-fms-compatibility.
For example:
` -Xclang -fno-ms-anonymous-structs -Xclang -fms-extensions `-> Disable
the feature.
**Implementation**:
- Added driver-level options `-fms-anonymous-structs `and
`-fno-ms-anonymous-structs`.
- Forwarded the option from the driver to CC1.
- Added driver and frontend tests to verify option interactions.
---------
Co-authored-by: Riyaz Ahmad <riyaz.ahmad at ibm.com>
Commit: afb2e4f2e2b04a34522376e6bbf39237499c745b
https://github.com/llvm/llvm-project/commit/afb2e4f2e2b04a34522376e6bbf39237499c745b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
Log Message:
-----------
[clang][bytecode] Clean up `interp::Function` parameter handling (#178621)
Replace the multiple data structures with a vector + a map holding all
`ParamDescriptor`s. Update docs.
Commit: 6fdcdbded04905da5ddf00b8bccd71b4cbf1a461
https://github.com/llvm/llvm-project/commit/6fdcdbded04905da5ddf00b8bccd71b4cbf1a461
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/test/Transforms/MemCpyOpt/memset-memcpy-oversized.ll
Log Message:
-----------
[MemCpyOpt] Avoid introducing UB, precommit tests (NFC)
Commit: 034e5d6f8671e84c9fee5a3236bf2ec0cfa4a731
https://github.com/llvm/llvm-project/commit/034e5d6f8671e84c9fee5a3236bf2ec0cfa4a731
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/lifetime-missing.ll
M llvm/test/Transforms/MemCpyOpt/memset-memcpy-oversized.ll
Log Message:
-----------
[MemCpyOpt] Extend `performMemCpyToMemSetOptzn` to partially memset'd region
While doing memset-to-memcpy forwarding, take into account memset
that covers memory regions from a given offset, and the leading
bytes of such a region are undef.
Fixes: https://github.com/llvm/llvm-project/issues/172326.
Commit: d3c64633c3a17edd370280eb09668c8c3927383e
https://github.com/llvm/llvm-project/commit/d3c64633c3a17edd370280eb09668c8c3927383e
Author: 陈子昂 <2802328816 at qq.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
M llvm/test/CodeGen/AArch64/pr161013.ll
M llvm/test/CodeGen/AArch64/sve-forward-st-to-ld.ll
A llvm/test/CodeGen/AArch64/sve-stlf.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-log.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-sdiv-pow2.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc-stores.ll
M llvm/test/CodeGen/AArch64/v3f-to-int.ll
M llvm/test/CodeGen/PowerPC/vsx-p9.ll
A llvm/test/CodeGen/RISCV/rvv/stlf.ll
M llvm/test/CodeGen/X86/atomic-non-integer-fp128.ll
M llvm/test/CodeGen/X86/avx512-shuffles/shuffle-chained-bf16.ll
A llvm/test/CodeGen/X86/dag-stlf-mismatch.ll
M llvm/test/CodeGen/X86/pr30290.ll
M llvm/test/CodeGen/X86/pr38533.ll
M llvm/test/CodeGen/X86/vectorcall.ll
Log Message:
-----------
[DAG] Enable bitcast STLF for Constant/Undef (#172523)
This patch introduces support for Store-to-Load Forwarding (STLF) in
`DAGCombiner::ForwardStoreValueToDirectLoad` when the store and load
have **different types but equal memory size** (e.g., storing an `i32`
then loading a `float` from the same location).
### What this patch does:
**Enables Optimization:** It allows for the safe forwarding of the
stored value as a Bitcast when the value is:
* A **Constant** (`ConstantSDNode`, `ConstantFPSDNode`,
`ConstantPoolSDNode`).
* **Undef**.
* And the memory sizes (`LdMemSize` == `StMemSize`) match.
### Scope and Next Steps:
This patch **only implements forwarding for constant and undef values
that has the same memory size** so far.
**I am submitting this initial patch to get early review feedback on the
core logic and fix the immediate crashes before tackling the more
complex scenarios.**
For the simple case:
```llvm
; Case Handled by this PR so far (e.g., zeroinitializer is a constant)
define float @test_stlf_integer(ptr %p, float %v) {
store i32 0, ptr %p, align 4
%f = load float, ptr %p, align 4
; ...
}
```
Fixes: #151683
Commit: 4238693e09900be8c25776f980d377d478aaf3bb
https://github.com/llvm/llvm-project/commit/4238693e09900be8c25776f980d377d478aaf3bb
Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmax.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmin.ll
Log Message:
-----------
[AMDGPU] Add wave reduce intrinsics for double types - 1 (#170811)
Supported Ops: `min`, `max`
Commit: 369e78774aef4f576a4fce37b55b8179170ce3f8
https://github.com/llvm/llvm-project/commit/369e78774aef4f576a4fce37b55b8179170ce3f8
Author: Marcos Maronas <mmaronas at amd.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
A llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizer-combiner-merge.mir
Log Message:
-----------
[GlobalISel] Insert bitcast instead of register replacement when types don't match. (#177397)
Cases like the newly added test with the vector types currently hit
```Assertion `canReplaceReg(OldReg, Replacement, MRI) && \"Cannot
replace register?\"' failed."``` because source and destination
registers have mismatching types. Apart from the assertion, it also
fails when using `--verify-machineinstrs`. This PR adds a bitcast in
those cases.
Commit: 956770a9cb27d56cd04432be90f1241d3e932019
https://github.com/llvm/llvm-project/commit/956770a9cb27d56cd04432be90f1241d3e932019
Author: dianqk <dianqk at dianqk.net>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/jump-threading.ll
Log Message:
-----------
[SimplifyCFG] Fix null pointer dereference in foldCondBranchOnValueKnownInPredecessorImpl (#178835)
Commit: 3bf2c8347e04ba48dad1a7d73c5dd3b5e6dc8b7c
https://github.com/llvm/llvm-project/commit/3bf2c8347e04ba48dad1a7d73c5dd3b5e6dc8b7c
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
Log Message:
-----------
[lldb] Clean up #includes. NFC.
Commit: 8370304f1e5878c1860223239932ddd05d9ba4c8
https://github.com/llvm/llvm-project/commit/8370304f1e5878c1860223239932ddd05d9ba4c8
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M lldb/source/API/SBBreakpointName.cpp
M lldb/test/API/functionalities/breakpoint/breakpoint_names/TestBreakpointNames.py
Log Message:
-----------
[lldb] Fix SBBreakpointName::SetEnabled to propagate changes to breakpoints (#178734)
When setting the enabled state of a breakpoint name via the API, the
change was not being propagated to breakpoints using that name.
This was inconsistent with the CLI behaviour where `breakpoint name
configure --enable/--disable` correctly updates all associated
breakpoints.
Commit: 07ec2fa1443ccd3cbb55612937f1dddebfe51c15
https://github.com/llvm/llvm-project/commit/07ec2fa1443ccd3cbb55612937f1dddebfe51c15
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass-fma.ll
M llvm/test/Transforms/Attributor/nofpclass-fmul.ll
Log Message:
-----------
ValueTracking: Revert noundef checks in computeKnownFPClass for fmul/fma (#178850)
This functionally reverts fd5cfcc41311c6287e9dc408b8aae499501660e1 and
35ce17b6f6ca5dd321af8e6763554b10824e4ac4.
This was correct and necessary, but is causing performance regressions
since isGuaranteedNotToBeUndef is apparently not smart enough to detect
through recurrences. Revert this for the release branch.
Also the test coverage was inadequate for the fma case, so add a new
case which changes with and without the check.
Commit: 10afcd405ed44e69c25f7239e94b93e6368a5043
https://github.com/llvm/llvm-project/commit/10afcd405ed44e69c25f7239e94b93e6368a5043
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M flang/test/Lower/derived-pointer-components.f90
M flang/test/Lower/derived-type-finalization.f90
M flang/test/Lower/derived-types.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 12) (#178831)
Tests converted from test/Lower: derived-pointer-components.f90,
derived-type-finalization.f90, derived-types.f90, do_loop.f90,
do_loop_unstructured.f90
Commit: 1ce7a8159352e903f1dab50ff340fcd32a84cf63
https://github.com/llvm/llvm-project/commit/1ce7a8159352e903f1dab50ff340fcd32a84cf63
Author: Winnie Gitau <32414660+b-l-u-e at users.noreply.github.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M compiler-rt/include/fuzzer/FuzzedDataProvider.h
Log Message:
-----------
fuzzer: modernize FuzzedDataProvider conversions (#177794)
This change modernizes FuzzedDataProvider.h now that C++17+ is standard
in LLVM.
Replace the runtime if with if constexpr in ConvertUnsignedToSigned
Make the unsigned/signed comparison explicit by casting TS::max() to TU
Commit: fbffdaa174f04ce88e97b420a549d2c8d2a0b102
https://github.com/llvm/llvm-project/commit/fbffdaa174f04ce88e97b420a549d2c8d2a0b102
Author: Zichen Lu <mikaovo2000 at gmail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/CompilationAttrInterfaces.td
M mlir/include/mlir/Dialect/GPU/IR/CompilationInterfaces.h
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
M mlir/lib/Dialect/GPU/Transforms/NVVMAttachTarget.cpp
M mlir/lib/Target/LLVM/NVVM/Target.cpp
M mlir/lib/Target/LLVM/ROCDL/Target.cpp
M mlir/lib/Target/LLVM/XeVM/Target.cpp
M mlir/lib/Target/SPIRV/Target.cpp
M mlir/test/Dialect/GPU/nvvm-attach-target.mlir
A mlir/test/Integration/GPU/CUDA/module-to-binary-compiler-log.mlir
M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
M mlir/unittests/Target/LLVM/SerializeROCDLTarget.cpp
M mlir/unittests/Target/LLVM/SerializeToLLVMBitcode.cpp
Log Message:
-----------
[MLIR][GPU] Update serializeToObject to use SerializedObject wrapper and include ISA compiler logs (#176697)
This PR makes the compilation log from ISA compiler available to users
by returning it as part of the `gpu::ObjectAttr` properties, following
the existing pattern like `LLVMIRToISATimeInMs`.
Currently, the compiler log (which contains useful information such as
spill statistics when --verbose is passed) is only accessible in debug
builds via `LLVM_DEBUG`. However, there are good reasons to make this
information available in release builds as well:
1. Both `ptxas` and `libnvptxcompiler` are publicly available
tools/libraries distributed with the CUDA Toolkit. The `--verbose` flag
and its output are documented public features, not internal debug
information.
2. The verbose output provides valuable insights for users.
A new `SerializedObject` class is used to carry the metadata alongside
the binary when returning from `serializeObject`.
Commit: c88dd450812bf9261afabebdd06fa6893d0a6de9
https://github.com/llvm/llvm-project/commit/c88dd450812bf9261afabebdd06fa6893d0a6de9
Author: Ryan Cowan <ryan.cowan at arm.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/test/DebugInfo/Generic/debug-label-mi.ll
M llvm/test/Feature/optnone-llc.ll
Log Message:
-----------
[AArch64][GlobalISel] Exclude arm64 from failing tests (#178849)
As pointed out by the buildbots &
https://github.com/llvm/llvm-project/pull/174746#issuecomment-3821237987,
some of the tests modified by
https://github.com/llvm/llvm-project/pull/174746 are missing exclusions
for arm64 target triples causing the builds to fail.
I have added these exclusions here.
Commit: 41f453efe25456b67c0b48af7cea90ced94b21ce
https://github.com/llvm/llvm-project/commit/41f453efe25456b67c0b48af7cea90ced94b21ce
Author: Alex Bradbury <asb at igalia.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
M llvm/test/CodeGen/AArch64/pr161013.ll
M llvm/test/CodeGen/AArch64/sve-forward-st-to-ld.ll
R llvm/test/CodeGen/AArch64/sve-stlf.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-log.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-sdiv-pow2.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc-stores.ll
M llvm/test/CodeGen/AArch64/v3f-to-int.ll
M llvm/test/CodeGen/PowerPC/vsx-p9.ll
R llvm/test/CodeGen/RISCV/rvv/stlf.ll
M llvm/test/CodeGen/X86/atomic-non-integer-fp128.ll
M llvm/test/CodeGen/X86/avx512-shuffles/shuffle-chained-bf16.ll
R llvm/test/CodeGen/X86/dag-stlf-mismatch.ll
M llvm/test/CodeGen/X86/pr30290.ll
M llvm/test/CodeGen/X86/pr38533.ll
M llvm/test/CodeGen/X86/vectorcall.ll
Log Message:
-----------
Revert "[DAG] Enable bitcast STLF for Constant/Undef" (#178872)
Reverts llvm/llvm-project#172523
As explained in
https://github.com/llvm/llvm-project/pull/172523#issuecomment-3823234270
(along with reproducer), this causes compiler crashes building
llvm-test-suite for RVV targets.
Commit: cd91d3180a49d0a341704730e5908da951a1055d
https://github.com/llvm/llvm-project/commit/cd91d3180a49d0a341704730e5908da951a1055d
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
Log Message:
-----------
[EntryExitInstrumenter] Mark CFG as preserved (#178875)
This pass does not change the CFG, so mark all CFG analyses as
preserved, instead of DT in particular. This matches what the NewPM
implementation does.
(This currently has no direct benefit as nearby passes end up
invalidating things anyway.)
Commit: 4ded7e073304b381511acd38978c0bcaf45d6754
https://github.com/llvm/llvm-project/commit/4ded7e073304b381511acd38978c0bcaf45d6754
Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fadd.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fsub.ll
Log Message:
-----------
[AMDGPU] Add wave reduce intrinsics for double types - 2 (#170812)
Supported Ops: `add`, `sub`
Commit: f190477718c18c1edf32ac37aebbbdf91b6573ab
https://github.com/llvm/llvm-project/commit/f190477718c18c1edf32ac37aebbbdf91b6573ab
Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.td
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
A clang/test/Sema/wave-reduce-builtins-validate-amdgpu.cl
Log Message:
-----------
[AMDGPU] Add builtins for wave reduction intrinsics (#170813)
Commit: 7a620331801b8bcd3991065641134aa1f3086ff0
https://github.com/llvm/llvm-project/commit/7a620331801b8bcd3991065641134aa1f3086ff0
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
A llvm/test/MC/AMDGPU/gfx13_asm_sop2.s
A llvm/test/MC/AMDGPU/gfx13_asm_sop2_alias.s
Log Message:
-----------
[AMDGPU] Add SOP2 support for gfx13 (#178848)
Co-authored-by: Jay Foad <jay.foad at amd.com>
Commit: e9e8b38c800d92e146aca1b694020382cb427dd7
https://github.com/llvm/llvm-project/commit/e9e8b38c800d92e146aca1b694020382cb427dd7
Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU] Update documentation for wave reduction intrinsics (#175132)
Commit: 8bfe65ceb482f0c52af22e2aab6308a773b6163a
https://github.com/llvm/llvm-project/commit/8bfe65ceb482f0c52af22e2aab6308a773b6163a
Author: Henry Kleynhans <henry.kleynhans at gmail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M clang/www/hacking.html
Log Message:
-----------
clang: improve lit testing docs (#178244)
The LLVM Integrated Tester now generates an "easy to use" script to run
clang tests. It is no longer needed to pass all of the commandline
arguments to it. This PR simplifies the documentation a little by
removing the unneeded commandline arguments and adding a link to the lit
man page.
Commit: 5bd8dadb899d257b82db84e782a0982a2c838b70
https://github.com/llvm/llvm-project/commit/5bd8dadb899d257b82db84e782a0982a2c838b70
Author: Henry Kleynhans <henry.kleynhans at gmail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
A clang/test/C/C2y/n3605.c
A clang/test/C/C2y/n3605_1.c
A clang/test/C/C2y/n3605_2.c
M clang/www/c_status.html
Log Message:
-----------
clang: add test for C2y n3605 (#178479)
Add a test for N3605: Generic replacement (v. 2 of quasi-literals)
The paper clarifies existing behavior of _Generic selection and
parenthesis. This PR adds tests along the same lines and mark the
feature as supported.
Commit: d473a87a165660bbf690ba4d030c4fda85ac67e8
https://github.com/llvm/llvm-project/commit/d473a87a165660bbf690ba4d030c4fda85ac67e8
Author: Oleksandr Tarasiuk <oleksandr.tarasiuk at outlook.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaStmt.cpp
M clang/test/Sema/warn-outof-range-assign-enum.c
Log Message:
-----------
[Clang] speed up -Wassign-enum via enumerator caching (#176560)
Fixes #176454
---
This patch addresses a performance issue in `-Wassign-enum` where
enumerator values were repeatedly rebuilt and sorted for each assignment
check, leading to excessive compile-time overhead for large enums.
The following charts demonstrate the benchmark results before and after
caching enumerator values
Before
<img width="640" height="480" alt="before_enum_assign"
src="https://github.com/user-attachments/assets/cbc9de29-32cd-452e-84e9-383dcf334bac"
/>
After
<img width="756" height="579" alt="after_enum_assign"
src="https://github.com/user-attachments/assets/891b3839-9d70-4e60-ab21-de98ce4cca0a"
/>
Commit: ec86761b63c0c7808e1714c7b27a4017eeece93d
https://github.com/llvm/llvm-project/commit/ec86761b63c0c7808e1714c7b27a4017eeece93d
Author: Ryan Mansfield <ryan_mansfield at apple.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M lldb/source/Core/CoreProperties.td
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDBProperties.td
Log Message:
-----------
[lldb] Fix typos in property descriptions. (#178757)
Commit: a03c35fad7f1ac825da99f99ccf186e20c542eaa
https://github.com/llvm/llvm-project/commit/a03c35fad7f1ac825da99f99ccf186e20c542eaa
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M libcxx/include/__format/unicode.h
Log Message:
-----------
[libc++][NFC] Avoid checking that string::iterator is a contiguous iterator (#178636)
`__is_continuation` is only used in contexts where we already know that
the argument is a contiguous iterator. However, due to the context in
which it is used, we check it as soon as the header is included. The
`contiguous_iterator` check is quite expensive (~12ms on my system), so
avoiding it reduces compile times for quite a few headers, including
`<vector>`.
Commit: 1a86c146aee02b2232ffbc14b91d1b13c247ae86
https://github.com/llvm/llvm-project/commit/1a86c146aee02b2232ffbc14b91d1b13c247ae86
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M offload/include/omptarget.h
M offload/liboffload/API/Platform.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/libomptarget/exports
M offload/libomptarget/interface.cpp
M offload/plugins-nextgen/common/include/RPC.h
M offload/plugins-nextgen/common/src/RPC.cpp
A offload/test/libc/rpc_callback.c
A offload/unittests/OffloadAPI/platform/olRegisterRPCCallback.cpp
Log Message:
-----------
[Offload] Add a function to register an RPC Server callback (#178774)
Summary:
We provide an RPC server to manage calls initiated by the device to run
on the host. This is very useful for the built-in handling we have,
however there are cases where we would want to extend this
functionality.
Cases like Fortran or MPI would be useful, but we cannot put references
to these in the core offloading runtime. This way, we can provide this
as a library interface that registers custom handlers for whatever code
people want.
Commit: e05ce8fa4c34bedc34fbd4de73987afa9e46534a
https://github.com/llvm/llvm-project/commit/e05ce8fa4c34bedc34fbd4de73987afa9e46534a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M clang/lib/Driver/ToolChains/SPIRV.cpp
Log Message:
-----------
[SPIRV] Properly discover LLVM tools that live next to the compiler (#178779)
Summary:
When we compile with `-emit-llvm` it will try to use `llvm-link`. The
toolchain does not properly add the driver directory as a valid path so
this will default to the user's search path. This, like other tools,
should prioritize the binaries living next to the compiler.
Side note, why is this not default behavior?
Commit: 0694daa0ad176cc9ef7afd26fa150570c736f33e
https://github.com/llvm/llvm-project/commit/0694daa0ad176cc9ef7afd26fa150570c736f33e
Author: calebwat <107081575+calebwat at users.noreply.github.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/X86/binop-shuffle-mask1-cm.ll
Log Message:
-----------
[VectorCombine] Fix typo in foldPermuteOfBinops cost calculation (#178072)
Addresses an issue in #173153. This patch expanded the supported ops for
folding binary ops through shuffles, but seemingly had a typo which
could inaccurately increase the unmodified cost.
Commit: 13b7307ae96f5b96538d3b7e8adffdb0553afb88
https://github.com/llvm/llvm-project/commit/13b7307ae96f5b96538d3b7e8adffdb0553afb88
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Linux.cpp
A clang/test/Driver/Inputs/basic_linux_tree/usr/bin/.keep
A clang/test/Driver/Inputs/basic_linux_tree/usr/include/x86_64-unknown-linux-gnu/.keep
M clang/test/Driver/linux-cross.cpp
M clang/test/Driver/linux-header-search.cpp
Log Message:
-----------
[Clang] Include clang standard lib header directory from Linux (#175593)
Summary:
The LLVM-libc stores its headers in the target-specific include
directory. This PR makes the Linux toolchain include the standard lib
directory when used. This allows LLVM-libc to work and any other
standard language headers installed there. We search this first.
Commit: 7d9f72026ab09fb93592584ad9770ac302421ead
https://github.com/llvm/llvm-project/commit/7d9f72026ab09fb93592584ad9770ac302421ead
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
Log Message:
-----------
InstCombine: Improve single-use fneg(fabs(x)) SimplifyDemandedFPClass handling (#176360)
Match the multi-use case's logic for understanding no-nan/no-inf
context.
Also only apply the nsz handling in the single use case. alive2 seems to
treat nsz as nondeterministic for each use.
Commit: 6e0881c5414a6c21a1d7e15a04eaae4e240dabc4
https://github.com/llvm/llvm-project/commit/6e0881c5414a6c21a1d7e15a04eaae4e240dabc4
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/test/CIR/CodeGen/misc-attrs.cpp
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/func.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/function-attributes.ll
M mlir/test/Target/LLVMIR/Import/instructions.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[CIR] 3 more 'quick' function attribute lowering through LLVMIRDialect (#178443)
This patch lowers 3 more attributes, two of which are trivial, and one
which has a touch of a complication.
The two trivial ones are no_caller_saved_registers and nocallback, which
are language-level attributes that are effectively just passed on.
The final one is a touch more complicated, as it is a 'string'
attribute: modular-format. Also, it has a dash in the LLVM-IR version,
but that isn't possible to add as a name in the LLVM-IR MLIR Dialect
(see the comment inline). It also has a string of some consequence (that
is checked in LLVM), but that is just passed to LLVM directly.
Commit: 7803b4a6dda22bc33b3f239b1c2b59b52b98abd0
https://github.com/llvm/llvm-project/commit/7803b4a6dda22bc33b3f239b1c2b59b52b98abd0
Author: Akash Dutta <137309513+akadutta at users.noreply.github.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-nocallback-intrinsics.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-attributor-trap-leaf.ll
Log Message:
-----------
AMDGPU: Add support for llvm.trap to handling of intrinsics with !nocallback (#175230)
This adds support to whitelist trap intrinsics while handling of
intrinsics with !nocallback. This fixes the reasons behind the previous
revert of #131759.
The attributor was exiting early whenever it saw intrinsics without the nocallback bit, so trap-only kernels lost all the inferred “no implicit arg” metadata and their amdgpu-agpr-alloc=0 guarantees. That conservative fallback broke certain workloads by forcing unnecessary implicit arguments and AGPR reservations. This patch allows the pass to recognize leaf-like trap intrinsics, so they no longer poison the analysis.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 914ca54996caa91686623904cfbb88a0d638c83f
https://github.com/llvm/llvm-project/commit/914ca54996caa91686623904cfbb88a0d638c83f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
Log Message:
-----------
InstCombine: Add baseline tests for SimplifyDemandedFPClass copysign improvements (#176915)
Prepare to support more folds and multiple uses.
Commit: d8c17dce2dc7c33d49dbc1fe028637263b4ed8d2
https://github.com/llvm/llvm-project/commit/d8c17dce2dc7c33d49dbc1fe028637263b4ed8d2
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/wmma-gfx12-convergent.mir
Log Message:
-----------
[AMDGPU] Ensure all WMMA instructions are marked as convergent (#178314)
This is an extension of
https://github.com/llvm/llvm-project/pull/165602. It is needed to fix an
issue with V_WMMA_F32_16X16X16_F16_twoaddr_w32 being incorrectly sunk by
machine-sink.
All WMMA instructions in AMDGPUGenInstrInfo.inc were verified to be
marked as convergent.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 1dbc70542cabab42afa77f91cab51a4f108e13a3
https://github.com/llvm/llvm-project/commit/1dbc70542cabab42afa77f91cab51a4f108e13a3
Author: Marcos Maronas <mmaronas at amd.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
Log Message:
-----------
[SimplifyCFG] Increase iterative simplification convergence limit. (#178406)
https://github.com/llvm/llvm-project/commit/a9b0776a81e84d8042716863842fe1f8adf39cad
added an assertion to avoid infinite loops. However, the limit seems
arbitrary, there is no justification for it neither in the code nor in
the commit message, so I think this can be increased.
Commit: 6a2d74d9ff2eed07c822a26c24c969f9b52c4722
https://github.com/llvm/llvm-project/commit/6a2d74d9ff2eed07c822a26c24c969f9b52c4722
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
Log Message:
-----------
InstCombine: Handle nsz in copysign SimplifyDemandedFPClass (#176916)
If the only sign bit difference is for 0, fold through the source.
Commit: a726b1907a2c13fadf98295de438ef05a5c0a33f
https://github.com/llvm/llvm-project/commit/a726b1907a2c13fadf98295de438ef05a5c0a33f
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
Log Message:
-----------
NFC: Cleanup AArch64/partial-reduce-chained.ll
This had some loop attributes that were unused.
Also cleaned up the flags a little bit.
Commit: d1e2ddf99786ec743e967961d31b5c4f1b6dbaab
https://github.com/llvm/llvm-project/commit/d1e2ddf99786ec743e967961d31b5c4f1b6dbaab
Author: Janek van Oirschot <janek.vanoirschot at amd.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/av_movimm_pseudo_expansion.mir
A llvm/test/CodeGen/AMDGPU/misaligned-vgpr-regsequence.mir
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
A llvm/test/CodeGen/AMDGPU/siloadstoreopt-misaligned-regsequence.ll
M llvm/test/CodeGen/AMDGPU/v_mov_b64_expansion.mir
Log Message:
-----------
[AMDGPU] Emit b32 movs if (a)v_mov_b64_pseudo dest vgprs are misaligned (#160547)
#154115 Exposed a possible destination misaligned v_mov_b64
Relaxes v_mov_b64_pseudo register class constraint (which matches
av_mov_b64_pseudo's register class).
Commit: 09f8f22a6451a4d88115cde4d6f19ffd1855a5d5
https://github.com/llvm/llvm-project/commit/09f8f22a6451a4d88115cde4d6f19ffd1855a5d5
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M libcxx/include/stdatomic.h
A libcxx/test/extensions/libcxx/depr/depr.c.headers/include_stdatomic_as_c.sh.cpp
Log Message:
-----------
[libc++] "Always" include_next for non C++ path in stdatomic.h (#178463)
In https://github.com/llvm/llvm-project/pull/176903, `#include
<__configuration/compiler.h>` is moved into the
`#ifdef _cplusplus` clause, so `_LIBCPP_COMPILER_CLANG_BASED` is no
longer set for C compiles. This causes a regression internally, where
when C compiles includes stdatomic.h, they no longer get the
corresponding C header.
C++ stdlib headers "shouldn't" be on the search patch for C compile, but
we do and so do lots of other people, so libc++ tends to support that.
This include_next for a C compile should be unconditional, not
conditional upon being Clang.
Commit: 2eaaaf19129efba3bb89f458580b5fb1b8bf063e
https://github.com/llvm/llvm-project/commit/2eaaaf19129efba3bb89f458580b5fb1b8bf063e
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Options/Options.td
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
NFC: Rename CodeGenOptions::StackUsageOutput to StackUsageFile (#178898)
Preparation for #178005.
"Output" has too many different interpretations: it could be an
enabled/disabled, a file format, etc. Clarify that it's the destination
file.
Commit: b4b8d4e5d062438289c60a832ec783d34cc31fa4
https://github.com/llvm/llvm-project/commit/b4b8d4e5d062438289c60a832ec783d34cc31fa4
Author: Joe Nash <joseph.nash at amd.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNCreateVOPD.cpp
M llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast-gas.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-fp-nosave.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/expand-waitcnt-profiling.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
M llvm/test/CodeGen/AMDGPU/narrow_math_for_and.ll
M llvm/test/CodeGen/AMDGPU/vopd-combine-gfx1250.mir
Log Message:
-----------
[AMDGPU] Fix VOPD checks for commuting OpX and OpY (#178772)
We need to check that OpX does not write the sources of OpY, but if we
swap OpX and OpY with respect to program order, the check was not
swapped correctly.
The checks on gfx1250 can be relaxed slightly, that is planned for a
future patch.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 6c8d9d0c4da51c7f9e7671902be3ad9b65d56c84
https://github.com/llvm/llvm-project/commit/6c8d9d0c4da51c7f9e7671902be3ad9b65d56c84
Author: Leon Clark <Leon4116 at gmail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/load-shufflevector.ll
Log Message:
-----------
[VectorCombine] Trim low end of loads used in shufflevector rebroadcasts. (#149093)
Following on from #128938, trim the low end of loads where only some of
the incoming lanes are used for rebroadcasts in shufflevector
instructions.
---------
Co-authored-by: Leon Clark <leoclark at amd.com>
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: e9677d1554f7cedc0549d6197dd77d76add6be67
https://github.com/llvm/llvm-project/commit/e9677d1554f7cedc0549d6197dd77d76add6be67
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/test/Driver/hip-runtime-libs-linux.hip
M clang/test/Driver/hip-runtime-libs-msvc.hip
Log Message:
-----------
[HIP] Make `--no-offloadlib` not link HIP's RT (#177677)
Summary:
Right now we have `--no-hip-rt` to suppress the implicit linking of the
HIP runtime. However, we already have a flag for `--no-offloadlib` which
seems to imply this. However, this one currently only applies to the
device-side library. More targets will likely use this soon, so it would
be nice to unify the behavior here.
The impact of this change is that `-nogpulib` which is commonly used to
suppress the ROCm device libraries will now also suppress this, and
`--no-hip-rt` will suppress the ROCm device libraries. This is a
functional change, but I'm not sure if anyone truly relies on this
distinction in the wild. Functionally, one turns off the host runtime,
the other the device. This PR makes both do both at the same time. Since
these are libraries we should be able to just get users to pass them
manually if needed.
Commit: 25fcc8702ddf9254ea5203348cea4681f973e93d
https://github.com/llvm/llvm-project/commit/25fcc8702ddf9254ea5203348cea4681f973e93d
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsLoop.cpp
M mlir/unittests/Dialect/OpenACC/OpenACCUtilsLoopTest.cpp
Log Message:
-----------
[acc] Fix acc.loop to scf utilities (#178809)
Fixes a problem encountered with enabling coalesceLoops when bounds were
constructed inside expanded loops. Additionally, ensures that all loop
utilities use rewriter instead of their own builders for proper
tracking.
Commit: 51f89293ea7a222dc61eec3f5589b880f311ac4e
https://github.com/llvm/llvm-project/commit/51f89293ea7a222dc61eec3f5589b880f311ac4e
Author: Lukas Sommer <lukas.sommer at amd.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/test/Dialect/Transform/ops-invalid.mlir
M mlir/test/Dialect/Transform/test-interpreter.mlir
Log Message:
-----------
[mlir] Verify childen interface in transform named sequence (#178881)
Application of sequence blocks in the transform interpreter assumes that
all operations (except for the terminator) in the sequence block have
the `TransformOpInterface`. For `SequenceOp`, this was already verified,
but not for `NamedSequenceOp`, causing assertion failures if the
assumption doesn't hold.
This change adds verification that all operations in the block except
for the terminator have the `TransformOpInterface`.
Signed-off-by: Lukas Sommer <lukas.sommer at amd.com>
Commit: 914a233a001f67ceebf01344c66e45f00ba9f9f3
https://github.com/llvm/llvm-project/commit/914a233a001f67ceebf01344c66e45f00ba9f9f3
Author: Sairudra More <sairudra60 at gmail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Semantics/OpenMP/lastprivate-intent-in-pointer.f90
Log Message:
-----------
[Flang][OpenMP] Reject INTENT(IN) pointers in LASTPRIVATE clause (#178845)
`LASTPRIVATE` clause requires the list item to be definable since the
value from the last iteration is assigned back to the original variable.
For pointers, this assignment occurs "as if by pointer assignment"
(OpenMP 5.2 Section 5.4.5).
An `INTENT(IN)` pointer dummy argument is not a valid target for pointer
assignment, therefore it should not be permitted in a `LASTPRIVATE`
clause.
This patch adds the `CheckIntentInPointer()` call to the `LASTPRIVATE`
clause handler, consistent with other data-sharing clauses like
`PRIVATE`, `COPYPRIVATE`, and `REDUCTION`.
Fixes [#178398](https://github.com/llvm/llvm-project/issues/178398)
Commit: abfd56293c20f9fdbc31518bb19c7c9aad47b202
https://github.com/llvm/llvm-project/commit/abfd56293c20f9fdbc31518bb19c7c9aad47b202
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
Log Message:
-----------
[VPlan] Mark VPActiveLaneMaskPHIRecipe as readnone. (#177886)
VPWidenActiveLaneMaskPHIRecipe does not have side-effects and also does
not access memory. Mark accordingly. This allows hoisting of some
invariant loads out of loops and also removing unused phi recipes in the
future.
In
llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll,
the hoisting makes vectorization profitable.
PR: https://github.com/llvm/llvm-project/pull/177886
Commit: 88478ab495f27f2cb798d4bf6912fe7cf4872997
https://github.com/llvm/llvm-project/commit/88478ab495f27f2cb798d4bf6912fe7cf4872997
Author: Ben Dunbobbin <Ben.Dunbobbin at sony.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/docs/DTLTO.rst
Log Message:
-----------
[DOC][DTLTO] Update DTLTO documentation for the LLVM 22 release (#177368)
This change updates the documentation to reflect work completed during
the LLVM 22 timeframe, including support for the ThinLTO cache and
static libraries/archives.
It also clarifies that the goal of DTLTO is to support distribution of
ThinLTO backend compilations for any in-process ThinLTO invocation.
SIE Internal Tracker: TOOLCHAIN-21016
Commit: e62182b83bafa919bfa09f6aa3e7b565fb8d5e6c
https://github.com/llvm/llvm-project/commit/e62182b83bafa919bfa09f6aa3e7b565fb8d5e6c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/include/llvm/Support/KnownFPClass.h
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
Log Message:
-----------
InstCombine: Handle multiple use copysign (#176917)
Handle multiple use copysign in SimplifyDemandedFPClass
Commit: 45e9de63652415d14aa9d71a0a1f8d668e1af473
https://github.com/llvm/llvm-project/commit/45e9de63652415d14aa9d71a0a1f8d668e1af473
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.class.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.class.ll
Log Message:
-----------
[AMDGPU][NFC] Update test to use update_llc_test_checks (#178826)
Also add global-isel run line to the two amdgcn.class tests.
Commit: 1ccb4a21ae7a2153e31de3d76a79c2600ead9e76
https://github.com/llvm/llvm-project/commit/1ccb4a21ae7a2153e31de3d76a79c2600ead9e76
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.wwm.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.wwm.mir
Log Message:
-----------
[AMDGPU][GlobalISel] Add RegBankLegalize rules for amdgcn_wwm/strict_wwm (#178615)
Commit: bc7315749d6d16d0f162f816b3ec0ef7169615f2
https://github.com/llvm/llvm-project/commit/bc7315749d6d16d0f162f816b3ec0ef7169615f2
Author: Nico Weber <thakis at chromium.org>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/assume-loop-align.ll
M llvm/test/Transforms/InstCombine/assume.ll
M llvm/test/Transforms/InstCombine/assume_inevitable.ll
Log Message:
-----------
Revert "[InstCombine] Always fold alignment assumptions into operand bundles (#177597)"
This reverts commit b74e1bca6d77b3de5c05822d1631006ce2a30cc6.
Makes clang assert:
https://github.com/llvm/llvm-project/pull/177597#issuecomment-3824553291
Commit: 8029699b8d9c32a14e8431e2a2de7d8499e86e99
https://github.com/llvm/llvm-project/commit/8029699b8d9c32a14e8431e2a2de7d8499e86e99
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
Log Message:
-----------
[AMDGPU][Scheduler] Make `finalizeGCNRegion` an overridable hook (NFC) (#177199)
This allows individual stages to make decisions after re-scheduling
individual regions.
Commit: c329074f7f6bff5c0ea51c83581b3a40450efb98
https://github.com/llvm/llvm-project/commit/c329074f7f6bff5c0ea51c83581b3a40450efb98
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/MC/MCParser/MasmParser.cpp
Log Message:
-----------
[perf] Replace copy-assign by move-assign in llvm/lib/MC/* (#178176)
Commit: 8fa695afed7dc9e400e6d7233e5b5b249beb4b3e
https://github.com/llvm/llvm-project/commit/8fa695afed7dc9e400e6d7233e5b5b249beb4b3e
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.prng.ll
Log Message:
-----------
[AMDGPU][GlobalISel] Add RegBankLegalize rules for amdgcn_prng_b32 (#178741)
Commit: 5d01a0ad3d599df56d902b418e1a7eaf3f84db42
https://github.com/llvm/llvm-project/commit/5d01a0ad3d599df56d902b418e1a7eaf3f84db42
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
A clang/test/ClangScanDeps/modules-full-by-mult-mod-names-diagnostics.c
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][Modules] Fixing Incorrect Diagnostics Issued during By-name Dependency Scanning (#178542)
The by-name lookup API uses the same diagnostics engine and consumer for
multiple lookups. When multiple lookups fail, the diagnostics could be
incorrect for all but the first failing lookup. All the subsequent
failing lookups inherit the diagnostics from the first failing lookup.
This PR resets the diagnostics consumer's buffer and the
CompilerInstance's diagnostics engine for each by-name lookup, so each
lookup can produce the correct diagnostics.
Part of work for rdar://136303612.
Commit: b73122d5b7f6f2ae7bce1a4d5e3f4c9fda88c787
https://github.com/llvm/llvm-project/commit/b73122d5b7f6f2ae7bce1a4d5e3f4c9fda88c787
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/minbw-bitcast-to-fp.ll
Log Message:
-----------
[SLP]Cast incoming value to a propr type for int nodes, bitcasted to fp
Before casting the value to FP type, need to check, if the type for
reduced during minbitwidth analysis and need to restore the original
source type to generate correct bitcast operation.
Fixes #178884
Commit: bf8f6d8011ce363cbb3ea2de691b674b979ffc12
https://github.com/llvm/llvm-project/commit/bf8f6d8011ce363cbb3ea2de691b674b979ffc12
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fma.legacy.ll
Log Message:
-----------
[AMDGPU][GlobalISel] Add RegBankLegalize rules for fma_legacy (#178759)
Commit: c5862719c5ff150c3e4ba492bcc7185aa8562460
https://github.com/llvm/llvm-project/commit/c5862719c5ff150c3e4ba492bcc7185aa8562460
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU][SIInsertWaitcnts][NFC] Introduce WaitEventSet container for events (#178511)
Before this patch WaitEventType events used to be collected in unsigned
integers that were used as small bit vectors.
This patch introduces a WaitEventSet container class to replace the
integer bit vectors with a class that hides the implementation of common
operations like insertion, removal, union, intersection etc. from the
user.
The WaitEventSet API matches that of a set and not a vector because we
don't care about the order of its contents. Internally though it is
still a bit vector that uses an unsigned integer as its storage, just
like the original implementation.
This patch should not change the functionality.
Commit: c686002052933fce96cf0089fa803a6ca8d48955
https://github.com/llvm/llvm-project/commit/c686002052933fce96cf0089fa803a6ca8d48955
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.sleep.ll
Log Message:
-----------
[AMDGPU][GlobalISel] Add RegBankLegalize rules for amdgcn_s_sleep (#178838)
Commit: e438a903dbf2dd256ba2b4097a15ed8e9e0ede57
https://github.com/llvm/llvm-project/commit/e438a903dbf2dd256ba2b4097a15ed8e9e0ede57
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M lldb/source/Target/TargetProperties.td
M lldb/test/Shell/Settings/TestChildDepthTruncation.test
Log Message:
-----------
[lldb] Increment max-children-depth to 5 (#178717)
`max-children-depth` was [originally 6][1], which produced too large of
output. It was then [reduced to 4][2], which for some people is too low.
This change is to try 5 as the default.
Originally upstreamed in
https://github.com/llvm/llvm-project/pull/149282
[1]:
https://github.com/swiftlang/llvm-project/pull/4280/changes/ee0782bf6b2e9705e261c5a82147ce0e45a8d753
[2]: https://github.com/swiftlang/llvm-project/pull/10683
Commit: 4ea1791890b800aeeb0228f6cc64fd0b6e4ee803
https://github.com/llvm/llvm-project/commit/4ea1791890b800aeeb0228f6cc64fd0b6e4ee803
Author: Mahesh-Attarde <mahesh.attarde at intel.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
Log Message:
-----------
[X86] Truncate unused bit for blendw mask (#178883)
While tuning ProcessBLENDWToBLENDD
https://github.com/mahesh-attarde/llvm-project/blob/07ec2fa1443ccd3cbb55612937f1dddebfe51c15/llvm/lib/Target/X86/X86FixupInstTuning.cpp#L262
we creating mask from `getImm()` which returns 64bit int and APInt
accept 64 bit int.
```
APInt MaskW =
APInt(8, MI.getOperand(NumOperands - 1).getImm(), /*IsSigned=*/false);
```
It fails with MIR for BLENDW instruction that requires8 bit mask 0xAA
from 64 bit Imm.
```
renamable $xmm2 = VPBLENDWrri renamable $xmm1, killed renamable $xmm2, -86
```
APInt construction complains since higher bits of are also set for
transformations where mask bits are set (results in negative values).
https://github.com/mahesh-attarde/llvm-project/blob/07ec2fa1443ccd3cbb55612937f1dddebfe51c15/llvm/include/llvm/ADT/APInt.h#L125
This patch uses implictTruncate from APInt constructor to get around.
other approach could have been using direct mask(same effect as implicit
truncate) `AND` with Imm or use signed version (not applicable since
mask).
This case was generate using bisect so most of test excercises, i tried
with VPBLEND generating IR refuse to generate mask in range 0b10101010,
so patch lacks test.
Commit: a994198906cb4e0100f78c39db07f7b9f5410fc2
https://github.com/llvm/llvm-project/commit/a994198906cb4e0100f78c39db07f7b9f5410fc2
Author: 陈子昂 <2802328816 at qq.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
M llvm/test/CodeGen/AArch64/pr161013.ll
M llvm/test/CodeGen/AArch64/sve-forward-st-to-ld.ll
A llvm/test/CodeGen/AArch64/sve-stlf.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-log.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-sdiv-pow2.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc-stores.ll
M llvm/test/CodeGen/AArch64/v3f-to-int.ll
M llvm/test/CodeGen/PowerPC/vsx-p9.ll
A llvm/test/CodeGen/RISCV/rvv/stlf.ll
M llvm/test/CodeGen/X86/atomic-non-integer-fp128.ll
M llvm/test/CodeGen/X86/avx512-shuffles/shuffle-chained-bf16.ll
A llvm/test/CodeGen/X86/dag-stlf-mismatch.ll
M llvm/test/CodeGen/X86/pr30290.ll
M llvm/test/CodeGen/X86/pr38533.ll
M llvm/test/CodeGen/X86/vectorcall.ll
Log Message:
-----------
[DAG] Reland: Enable bitcast STLF for Constant/Undef (#178890)
This is a reland of #172523.
The original patch caused an assertion failure on RISC-V because it
attempted to create a bitcast from an illegal type (i32 on RV64) during
the post-type-legalization DAGCombine stage.
Added a `TLI.isTypeLegal(Val.getValueType())` check to ensure we only
proceed with the bitcast STLF optimization when the source value's type
is legal for the target.
Commit: 3d4f6b329cccc5abb06c1bd228baae9dc1eb7227
https://github.com/llvm/llvm-project/commit/3d4f6b329cccc5abb06c1bd228baae9dc1eb7227
Author: hstk30-hw <hanwei62 at huawei.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/include/llvm/CodeGen/CalcSpillWeights.h
M llvm/lib/CodeGen/CalcSpillWeights.cpp
Log Message:
-----------
[RegAlloc] Remove redundant parameters for weightCalcHelper (NFC). (#170151)
Since futureWeight was removed by
145cc9db2b442fc0533e275b92943a9894e33337, there is no more calls to
weightCalcHelper(LI, start, end)
Commit: 29a55f787694480f734247cc1564f502df0fbf57
https://github.com/llvm/llvm-project/commit/29a55f787694480f734247cc1564f502df0fbf57
Author: Henry Linjamäki <henry.linjamaki at tuni.fi>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HIPSPV.h
A clang/test/Driver/Inputs/hipspv/lib/hip-device-lib/hipspv-spirv64-unknown-chipstar.bc
M clang/test/Driver/hipspv-device-libs.hip
M clang/test/Driver/hipspv-link-static-library.hip
M clang/test/Driver/hipspv-pass-plugin.hip
A clang/test/Driver/hipspv-toolchain-rdc-separate.hip
M clang/test/Driver/hipspv-toolchain-rdc.hip
M clang/test/Driver/hipspv-toolchain.hip
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[Clang][retry] Lift HIPSPV onto the new offload driver (#178664)
Update HIPSPV toolchain to support --offload-new-driver. Additionally,
tailor llvm-spirv invocation for
[chipStar](https://github.com/CHIP-SPV/chipStar) via
`spirv64-*-chipstar` offload triple.
The previous PR (#168043) had CI failures that were not caught early.
This one attempts to address them.
Commit: 09b62ed0c9316e790f8021095783e2d019963cec
https://github.com/llvm/llvm-project/commit/09b62ed0c9316e790f8021095783e2d019963cec
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M clang/bindings/python/tests/cindex/test_code_completion.py
Log Message:
-----------
[libclang/python] Ignore our own DeprecationWarnings in tests (#178631)
Suppress `DeprecationWarnings` raised in the libclang python tests. Also
ensure that they are returned where expected.
Resolves #178203
Commit: e79bb02cb79416d9e69ca7be4c1b5c67b635475c
https://github.com/llvm/llvm-project/commit/e79bb02cb79416d9e69ca7be4c1b5c67b635475c
Author: Daniil Fukalov <dfukalov at gmail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/swdev503538-move-to-valu-stack-srd-physreg.ll
Log Message:
-----------
[NFC] Reduce fragility of swdev503538-... test. (#176302)
The original test was created in PR #120815, but it depends on -O0 and
implicitly uses DAGCombiner (that is switched on by default for -O0).
The patch reduces fragility of the test and removes dependency on
DAGCombiner.
Commit: 7994daccd9241837740170457f2736778c294a23
https://github.com/llvm/llvm-project/commit/7994daccd9241837740170457f2736778c294a23
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
A llvm/test/CodeGen/X86/stack-usage-file.ll
Log Message:
-----------
[AsmPrinter] Add a command-line option to emit stack usage files (#178908)
Preparation for #178005.
This will allow stack usage files to be requested during the linking
step in LTO builds, in a more straightforward way than via
TargetOptions.
Commit: 7890960218dff6bf757b7542bf7f9af837b4ebcb
https://github.com/llvm/llvm-project/commit/7890960218dff6bf757b7542bf7f9af837b4ebcb
Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/riscv_function_name.ll
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/riscv_function_name.ll.expected
M llvm/utils/UpdateTestChecks/asm.py
Log Message:
-----------
[UTC][RISC-V] Enable riscv32 Mach-O triple. (#178738)
Co-authored-by: Adam Nemet <anemet at apple.com>
Commit: b6862267320e51915cff8c2156bfef6a1e38880f
https://github.com/llvm/llvm-project/commit/b6862267320e51915cff8c2156bfef6a1e38880f
Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/include/llvm/BinaryFormat/MachO.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMachObjectWriter.cpp
A llvm/test/MC/RISCV/macho-offset-relocations.s
Log Message:
-----------
[RISC-V][Mach-O] Use RISCV_RELOC_ADDEND for large pc-relative offset. (#178699)
Do not inline the pc-relative offset from the auipc into the addi/lw
immediates if the offset requires than the 12-bit (signed). Instead,
emit a 24-bit (signed) relocation record with RISCV_RELOC_ADDEND.
Commit: 7710d213e91b51279d1ff3747af9adf53a610749
https://github.com/llvm/llvm-project/commit/7710d213e91b51279d1ff3747af9adf53a610749
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
Log Message:
-----------
[LoopUnrollPass] Remove unhelpful comment in `shouldPragmaUnroll` (NFC) (#178814)
The note the comment is making should be obvious based on the structure
of the pass. Additionally, it is grammatically incorrect and has
spelling errors.
Commit: 3f679962017e376f967105f14dfb3d2f72b5ad6f
https://github.com/llvm/llvm-project/commit/3f679962017e376f967105f14dfb3d2f72b5ad6f
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
Log Message:
-----------
[LoopUnrollPass] Fix spelling mistake in `computeUnrollCount` description (NFC) (#178816)
Commit: b936771eeaea6679a0456cef63ce365410f354c0
https://github.com/llvm/llvm-project/commit/b936771eeaea6679a0456cef63ce365410f354c0
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC] Refactor vectorizeStores::RangeSizes (#177241)
Currently `RangeSizes` is used to allow us to skip trying to vectorize
clearly unprofitable trees by caching prior attempts `TreeSizes`. This
PR refactors that logic to simplify and improve readability. This will
make it easier to handle the strided stores.
Switches RangeSizes to use `first` as the location to lookup values from, and `second` as the location to store values to. `first` gets updated by `second` at the appropriate times to match the behavior prior to this change.
Commit: 43e52b78030aa1f900a8f91ba771ce92b99d0a4d
https://github.com/llvm/llvm-project/commit/43e52b78030aa1f900a8f91ba771ce92b99d0a4d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[SelectionDAGISel] Use size_t for MatcherIndex. NFC (#178828)
There's some evidence that this improves compile time on stage2-O3.
https://llvm-compile-time-tracker.com/compare.php?from=75f03a62d1f9b0081fff57ceebb29a3ae1560a61&to=d9cdb41d51f7010ba710403e2d1e30c969e4f88b&stat=instructions:u
Commit: 91856eaf5a6512f14b7a7d3a3277750ea12aa7a9
https://github.com/llvm/llvm-project/commit/91856eaf5a6512f14b7a7d3a3277750ea12aa7a9
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
Log Message:
-----------
[LoopUnrollPass] Add comment explaining the use of `UP.DefaultUnrollRuntimeCount` in `shouldPartialUnroll` (NFC) (#178817)
Commit: dd9fe97cc70b38839f8800a68188a5796d58eb08
https://github.com/llvm/llvm-project/commit/dd9fe97cc70b38839f8800a68188a5796d58eb08
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
A llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-loops-large-matrixes.ll
Log Message:
-----------
[Matrix] Add test showing excessive matrix codegen.
Add tests showing excessive codegen for small number of matrix ops.
Commit: d4c9969bfd520ba556ace159eeb6b568113586b0
https://github.com/llvm/llvm-project/commit/d4c9969bfd520ba556ace159eeb6b568113586b0
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/docs/DebuggingLLVM.rst
Log Message:
-----------
DebuggingLLVM: Bazel 9 is released.
Commit: aee02c1bcb69489643c64bfa5db8cfbc960d50c4
https://github.com/llvm/llvm-project/commit/aee02c1bcb69489643c64bfa5db8cfbc960d50c4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/test/CodeGen/X86/absolute-bt.ll
Log Message:
-----------
[X86] absolute-bt.ll - regenerate test checks (#178935)
Commit: 042c839873c7f67c1fc1eace4b34d4953b16b3a0
https://github.com/llvm/llvm-project/commit/042c839873c7f67c1fc1eace4b34d4953b16b3a0
Author: Daniel Krupp <daniel.krupp at ericsson.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/test/Analysis/analyzer-config.c
Log Message:
-----------
[clang][analyzer]Add TaintPropagation:EnableDefaultConfig config parameter (#176185)
The new optin.taint.TaintPropagation:EnableDefaultConfig checker
configuration parameter makes it possible for the users to disable the
built-in taint configuration and use a full custom configuration
instead.
Commit: 3493e5d9247f1aeb0603409a6f0af67e89fc4c0f
https://github.com/llvm/llvm-project/commit/3493e5d9247f1aeb0603409a6f0af67e89fc4c0f
Author: Teresa Johnson <tejohnson at google.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/IR/ModuleSummaryIndex.cpp
A llvm/test/ThinLTO/X86/Inputs/local_name_conflict_var3.ll
A llvm/test/ThinLTO/X86/Inputs/local_name_conflict_var3b.ll
M llvm/test/ThinLTO/X86/local_name_conflict_var.ll
Log Message:
-----------
[ThinLTO] Clear read/write only flags when referencing function summary (#178761)
Conservatively clear read/write only flags during attribute propagation
across all of a ValueInfo's summaries when one is a function summary.
While function summaries will not be read/write-only, we need to ensure
that
any global variable summary with the same GUID/ValueInfo is also not
marked
read or write only. This case can occur with same named locals in
different
modules compiled without enough path.
Enhance the current test to confirm this works correctly for a couple
cases.
This change enables a follow on simplification and compile time
improvement
during importing of global variables.
Commit: c2082a65b7fc8e7587ed07170e250820d6bbda1d
https://github.com/llvm/llvm-project/commit/c2082a65b7fc8e7587ed07170e250820d6bbda1d
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M lldb/source/Expression/IRInterpreter.cpp
M lldb/test/API/commands/expression/ir-interpreter/TestIRInterpreter.py
Log Message:
-----------
[lldb] Add FP conversion instructions to IR interpreter (#175292)
This allows expressions that use these conversions to be executed when
JIT is not available.
Commit: 07a6a23f6c5387fc1e7df174b5921f6004db64e0
https://github.com/llvm/llvm-project/commit/07a6a23f6c5387fc1e7df174b5921f6004db64e0
Author: puneeth_aditya_5656 <myakampuneeth at gmail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/load-shufflevector.ll
Log Message:
-----------
[VectorCombine] Fix crash with poison mask elements in shrinkLoadForShuffles (#178920)
## Summary
Fixes assertion failure when `shrinkLoadForShuffles` processes shuffle
masks containing poison elements.
The bug was introduced in #149093 , when adjusting mask indices for load
trimming, poison indices (-1) were modified to invalid values (e.g.,
-2), causing `isSingleSourceMaskImpl` to assert.
The fix preserves poison indices without modification.
Fixes #178917
## Test plan
- Added regression test `@shuffle_with_poison_mask`
Commit: aabae2b2918680aec922df65017fce09757e1e5b
https://github.com/llvm/llvm-project/commit/aabae2b2918680aec922df65017fce09757e1e5b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HIPSPV.h
R clang/test/Driver/Inputs/hipspv/lib/hip-device-lib/hipspv-spirv64-unknown-chipstar.bc
M clang/test/Driver/hipspv-device-libs.hip
M clang/test/Driver/hipspv-link-static-library.hip
M clang/test/Driver/hipspv-pass-plugin.hip
R clang/test/Driver/hipspv-toolchain-rdc-separate.hip
M clang/test/Driver/hipspv-toolchain-rdc.hip
M clang/test/Driver/hipspv-toolchain.hip
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
Revert "[Clang][retry] Lift HIPSPV onto the new offload driver" (#178946)
Reverts llvm/llvm-project#178664
Failing:
https://ci.swift.org/job/llvm.org/job/clang-stage2-cmake-RgSan/1328/testReport/junit/Clang/Driver/hipspv_pass_plugin_hip/
https://github.com/llvm/llvm-project/actions/runs/21525522898/job/62027988341?pr=178931
https://github.com/llvm/llvm-project/actions/runs/21525522898/job/62027988341?pr=178931
Commit: 0f5bc2d3b00cf1d4c6529cdcbff5204b59cf1df7
https://github.com/llvm/llvm-project/commit/0f5bc2d3b00cf1d4c6529cdcbff5204b59cf1df7
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/test/CodeGen/Hexagon/NVJumpCmp.ll
M llvm/test/CodeGen/Hexagon/addh-sext-trunc.ll
M llvm/test/CodeGen/Hexagon/alu64.ll
M llvm/test/CodeGen/Hexagon/autohvx/fsplat.ll
M llvm/test/CodeGen/Hexagon/autohvx/hfinsert.ll
M llvm/test/CodeGen/Hexagon/autohvx/hfnosplat_cp.ll
M llvm/test/CodeGen/Hexagon/autohvx/hfsplat.ll
M llvm/test/CodeGen/Hexagon/base-offset-addr.ll
M llvm/test/CodeGen/Hexagon/base-offset-post.ll
M llvm/test/CodeGen/Hexagon/bit-loop-rc-mismatch.ll
M llvm/test/CodeGen/Hexagon/bit-rie.ll
M llvm/test/CodeGen/Hexagon/builtin-prefetch.ll
M llvm/test/CodeGen/Hexagon/cfi-offset.ll
M llvm/test/CodeGen/Hexagon/cmp-extend.ll
M llvm/test/CodeGen/Hexagon/cmp.ll
M llvm/test/CodeGen/Hexagon/constp-combine-neg.ll
M llvm/test/CodeGen/Hexagon/constp-extract.ll
M llvm/test/CodeGen/Hexagon/constp-physreg.ll
M llvm/test/CodeGen/Hexagon/dead-store-stack.ll
M llvm/test/CodeGen/Hexagon/early-if-conversion-bug1.ll
M llvm/test/CodeGen/Hexagon/fminmax.ll
M llvm/test/CodeGen/Hexagon/hexagon_vector_loop_carried_reuse.ll
M llvm/test/CodeGen/Hexagon/hexagon_vector_loop_carried_reuse_constant.ll
M llvm/test/CodeGen/Hexagon/hwloop-crit-edge.ll
M llvm/test/CodeGen/Hexagon/hwloop-preheader.ll
M llvm/test/CodeGen/Hexagon/intrinsics-v67.ll
M llvm/test/CodeGen/Hexagon/jt-in-text.ll
M llvm/test/CodeGen/Hexagon/ldst_vector_offset.ll
M llvm/test/CodeGen/Hexagon/loopIdiom.ll
M llvm/test/CodeGen/Hexagon/loop_align_count.ll
M llvm/test/CodeGen/Hexagon/mem-fi-add.ll
M llvm/test/CodeGen/Hexagon/memops-stack.ll
M llvm/test/CodeGen/Hexagon/pic-regusage.ll
M llvm/test/CodeGen/Hexagon/postinc-offset.ll
M llvm/test/CodeGen/Hexagon/rdf-dead-loop.ll
M llvm/test/CodeGen/Hexagon/rdf-inline-asm-fixed.ll
M llvm/test/CodeGen/Hexagon/rdf-inline-asm.ll
M llvm/test/CodeGen/Hexagon/reg-scavengebug-3.ll
M llvm/test/CodeGen/Hexagon/runtime-stkchk.ll
M llvm/test/CodeGen/Hexagon/sdr-shr32.ll
M llvm/test/CodeGen/Hexagon/switch-lut-explicit-section.ll
M llvm/test/CodeGen/Hexagon/switch-lut-function-section.ll
M llvm/test/CodeGen/Hexagon/switch-lut-multiple-functions.ll
M llvm/test/CodeGen/Hexagon/switch-lut-text-section.ll
M llvm/test/CodeGen/Hexagon/swp-epilog-phi10.ll
M llvm/test/CodeGen/Hexagon/swp-pragma-disable-bug.ll
M llvm/test/CodeGen/Hexagon/swp-prolog-phi4.ll
M llvm/test/CodeGen/Hexagon/swp-stages4.ll
M llvm/test/CodeGen/Hexagon/usr-ovf-dep.ll
M llvm/test/CodeGen/Hexagon/v6-haar-balign32.ll
M llvm/test/CodeGen/Hexagon/v60Intrins.ll
M llvm/test/CodeGen/Hexagon/v60small.ll
M llvm/test/CodeGen/Hexagon/v6vec-vprint.ll
M llvm/test/CodeGen/Hexagon/vec-pred-spill1.ll
M llvm/test/CodeGen/Hexagon/vect/vect-bad-bitcast.ll
M llvm/test/CodeGen/Hexagon/vect/vect-extract.ll
M llvm/test/CodeGen/Hexagon/vect/vect-shuffle.ll
M llvm/test/CodeGen/Hexagon/vect/vect-vshifts.ll
M llvm/test/CodeGen/Hexagon/vgather-opt-addr.ll
Log Message:
-----------
[test][Hexagon] Remove unsafe-fp-math uses (NFC) (#164788)
Post cleanup for #164534.
Commit: 54381fd81b06a819276b90081672019848765748
https://github.com/llvm/llvm-project/commit/54381fd81b06a819276b90081672019848765748
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
M flang/test/Fir/OpenACC/openacc-mappable.fir
Log Message:
-----------
[OpenACC] Added support for bounds generation for boxes and OPTIONAL. (#178567)
This change allows `OpenACCMappableModel<Ty>::generateAccBounds()`
to generate the bounds operations for FIR boxes (including OPTIONAL).
Commit: 9dde0a803bbc761cb6a6e785412a00652053861e
https://github.com/llvm/llvm-project/commit/9dde0a803bbc761cb6a6e785412a00652053861e
Author: Wei Wang <apollo.mobility at gmail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
A clang/test/OpenMP/codegen_attr_pgo.c
Log Message:
-----------
[SampleProf][OMP] Handle OMP helper function name canonicalization (#178339)
Fix an issue where `FunctionSamples::getCanonicalFnName` incorrectly
canonicalizes omp helper functions to collide with the original function
itself. This causes the sample loader to annotate the wrong functions.
Canonicalization strips everything comes after the first dot (.), unless
the function attribute "sample-profile-suffix-elision-policy" is set to
"selected", in which case it only strips after the known suffixes. The
helper function names have the suffixes like `.omp_outlined`. After
canonicalization, the name becomes the same as the original function.
Add the attribute to helper functions so that the suffixes are not
stripped.
This is the same fix applied previously to coroutine await suspend
wrapper functions (#174881).
Commit: 2b2e02bea71e8ac5a3b8bce7ee88298a973abb22
https://github.com/llvm/llvm-project/commit/2b2e02bea71e8ac5a3b8bce7ee88298a973abb22
Author: Maksim Panchenko <maks at fb.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Refactor rewriteFunctionsInPlace from rewriteFile (#178787)
Extract the code that rewrites functions in place from rewriteFile()
into a separate rewriteFunctionsInPlace() function.
Commit: d8621d665d9360d0bfa915e7ded31ff9a30d4ab1
https://github.com/llvm/llvm-project/commit/d8621d665d9360d0bfa915e7ded31ff9a30d4ab1
Author: Andrei Elovikov <a.elovikov at gmail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
A llvm/test/Transforms/LoopVectorize/vplan-print-after-all.ll
M llvm/unittests/Transforms/Vectorize/VPlanUncountableExitTest.cpp
Log Message:
-----------
Reapply "[VPlan] Add hidden `-vplan-print-after-all` option" (#178547)
Re-commit of https://github.com/llvm/llvm-project/pull/175839 after
fixing build without `LLVM_ENABLE_DUMP`.
This consists of the following changes:
* Merge several overloads of `VPlanTransforms::runPass` into a single
function to avoid code duplication.
* Add helper macro `RUN_VPLAN_PASS` to capture the transformation name
and pass it to the helper above for printing.
* Add new `-vplan-print-after-all` option (somewhat similar to existing
`-vplan-verify-each`).
* Add two empty passes `printAfterInitialConstruction`/`printFinalVPlan`
so that initial/final VPlans would be supported in `-vplan-print-after-all`
This follows the original future plans in
https://github.com/llvm/llvm-project/pull/123640.
Commit: e345976e048ce230eecbe417b22f017d3d7f5115
https://github.com/llvm/llvm-project/commit/e345976e048ce230eecbe417b22f017d3d7f5115
Author: Philip Ginsbach-Chen <philip.ginsbach at cantab.net>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AArch64/sve-fixed-length-build-vector.ll
Log Message:
-----------
[SelectionDAG] Handle undef at any position in isConstantSequence (#176671)
This patch extends `BuildVectorSDNode::isConstantSequence` to recognize
constant sequences that contain undef elements at any position.
The new implementation finds the first two non-undef constant elements,
computes the stride from their difference, then verifies all other
defined elements match the sequence. This enables SVE's INDEX
instruction to be used in more cases.
This change particularly benefits ZIP1/ZIP2 patterns where one operand
is a constant sequence. When a smaller constant vector like `<0, 1, 2,
3>` is used in a ZIP1 shuffle producing a wider result, it gets expanded
with trailing undefs. Similarly, for ZIP2 patterns, the DAG combiner
transforms the constant to have leading undefs since ZIP2 only uses the
upper half of its operands.
In particular, these patterns arise naturally from `VectorCombine`'s
`compactShuffleOperands` optimization (see #176074) that I am suggesting
as a fix for #137447.
Commit: c1c86e63a42ff933fd0f52d90d9acce6c4214d2b
https://github.com/llvm/llvm-project/commit/c1c86e63a42ff933fd0f52d90d9acce6c4214d2b
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/utils/TableGen/Basic/SequenceToOffsetTable.h
Log Message:
-----------
[NFC][TableGen] Minor cleanup in SequenceToOffsetTable (#178564)
Use `auto` for iterators, range for loop in `layout` and rename
`Entries` to a more canonical `Size`.
Commit: 21a74f527839b5b8dd882e62a25093d980c79078
https://github.com/llvm/llvm-project/commit/21a74f527839b5b8dd882e62a25093d980c79078
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/Expression/IRInterpreter.cpp
M lldb/test/API/commands/expression/ir-interpreter/TestIRInterpreter.py
M lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py
Log Message:
-----------
Revert "[lldb] Add FP conversion instructions to IR interpreter (#175292)"
This reverts commit c2082a65b7fc8e7587ed07170e250820d6bbda1d.
Commit: 56440f79d55bed0094abd15db70e11e4548e18b3
https://github.com/llvm/llvm-project/commit/56440f79d55bed0094abd15db70e11e4548e18b3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Remove redundant FeatureStdExtZcd from X100. (#178928)
Zcd is compressed double precision which should be covered by the C and
D extensions in RVA23U64Features.
Commit: 95ac9314dfa5bf3c8281848184648fbb7bd052f7
https://github.com/llvm/llvm-project/commit/95ac9314dfa5bf3c8281848184648fbb7bd052f7
Author: Demetrius Kanios <demetrius at kanios.net>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
M llvm/test/CodeGen/WebAssembly/funcref-call.ll
Log Message:
-----------
[WebAssembly] Prevent FastISel from trying to select funcref calls (#178742)
Before, Wasm FastISel treated all indirect calls the same, causing
miscompilations at O0 when trying to call a funcref (`call ptr
addrspace(20)`), as it would treat the funcref as a normal `ptr`
This adds a check so it falls back to ISelDAG when encountering calls
outside addrspace 0 (which covers direct calls and indirect calls
through normal function pointers).
Related: #140933
Commit: c15853ec3a304ff9943dc88424fcb511c3065864
https://github.com/llvm/llvm-project/commit/c15853ec3a304ff9943dc88424fcb511c3065864
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-01-30 (Fri, 30 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 (#176950)
Reapply #152189 and #174963 which were reverted because it broke
publish-sphinx-docs and publish-doxygen-docs.
The build mode has been deprecated in #136314 and was supposed to be
removed in the LLVM 21 release (#136314).
OpenMP currently supports 4 build modes:
* `cmake <llvm-project>/llvm -DLLVM_ENABLE_PROJECTS=openmp`
* `cmake <llvm-project>/llvm -DLLVM_ENABLE_RUNTIMES=openmp` (bootstrapping build)
* `cmake <llvm-project>/openmp` (standalone build)
* `cmake <llvm-project>/runtimes -DLLVM_ENABLE_RUNTIMES=openmp` (runtimes default/standalone build)
Each build mode increased the maintanance overhead since all build modes
must continue working and user confusion when there do not (see #151117,
#174126, #154117, ...). Let's finally remove it.
Commit: c7f53eebf0817e6d5a001dd41375b059f0ae48ff
https://github.com/llvm/llvm-project/commit/c7f53eebf0817e6d5a001dd41375b059f0ae48ff
Author: Teresa Johnson <tejohnson at google.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/test/ThinLTO/X86/local_name_conflict_var.ll
Log Message:
-----------
[ThinLTO] Stop attempting variable import once we see a non-variable (#178944)
This is a compile time improvement. Instead of looking through every
single copy of a value (of which there can be many for large targets
with linkonce_odr copies of the same values) for an importable variable,
stop immediately after we see a non-variable summary.
In most cases this is NFC because we expect all copies of a value to be
of the same type (e.g. all variables, or all functions). This only makes
a noticeable, slightly conservative, change in the case of same-named
local values in different modules compiled without distinguishing path.
The new test shows the effect of this (and is safe due to PR178761).
This makes a large reduction in thin link time for large targets that
have many copies of linkonce_odr vtables, all referencing functions.
Commit: a73c31573dd4db078950bf778f41e6692751dab3
https://github.com/llvm/llvm-project/commit/a73c31573dd4db078950bf778f41e6692751dab3
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M clang/test/CIR/CodeGen/coro-task.cpp
Log Message:
-----------
[CIR][NFC] Add OGCG tests for coroutines (#178821)
This PR adds OGCG tests for `coro-task.cpp`. These tests are intended to
be used once the lowering is implemented, allowing us to compare the
generated output.
Commit: a0b99e32d3cbed2620fee65012131b7e82592a32
https://github.com/llvm/llvm-project/commit/a0b99e32d3cbed2620fee65012131b7e82592a32
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-incomplete-chains.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-with-invariant-stores.ll
Log Message:
-----------
[LV] Add additional partial reduction test coverage for #167851.
Add test cases for which earlier versions of
https://github.com/llvm/llvm-project/pull/167851 was not NFC.
Test chained_sext_adds is moved to a new file.
Commit: 6ca8f79fc88971412e6e5692ea86d680cd438fe3
https://github.com/llvm/llvm-project/commit/6ca8f79fc88971412e6e5692ea86d680cd438fe3
Author: Anthony Eid <56899983+Anthony-Eid at users.noreply.github.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/tools/lldb-dap/Handler/ScopesRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/Variables.cpp
M lldb/tools/lldb-dap/Variables.h
M lldb/unittests/DAP/VariablesTest.cpp
Log Message:
-----------
lldb-dap: Stop using replicated variable ids (#124232)
Closes #119784
Probably closes #147105 as well, but I couldn't test due to #156473:
This PR fixes two bugs:
1. It generates unique variable reference IDs per suspended debuggee
state.
2. It stores all created variables in a stopped state instead of
dropping variables in unselected scopes. So it can properly handle all
scope/variable requests
It does this by storing all variables in their respective scopes and
using that mapping in request handlers that relied on the old mapping.
It dynamically creates new variable/scope IDs instead of resetting IDs
whenever a new scope is created.
I also removed some unused code as well.
---------
Co-authored-by: Med Ismail Bennani <ismail at bennani.ma>
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Co-authored-by: Ebuka Ezike <yerimyah1 at gmail.com>
Commit: 09f9a2892a412a73d42942e78eed9cde61c7a9e7
https://github.com/llvm/llvm-project/commit/09f9a2892a412a73d42942e78eed9cde61c7a9e7
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ13.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ14.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ15.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ16.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ17.td
A llvm/test/CodeGen/SystemZ/copy-physreg-vr16.ll
Log Message:
-----------
[SystemZ] Bugfix: Add VLR16 to SystemZInstrInfo::copyPhysReg(). (#178932)
Support COPYs involving higher FP16 regs (like F24H) with a new pseudo
instruction 'VLR16'.
This is needed with -O0/regalloc=fast, and probably in more cases as
well.
Fixes #178788.
Commit: 7639d21e9db0803ffec5f9e188f3a3b6fb865cce
https://github.com/llvm/llvm-project/commit/7639d21e9db0803ffec5f9e188f3a3b6fb865cce
Author: Hamza Hassanain <53662962+HamzaHassanain at users.noreply.github.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/cls.ll
Log Message:
-----------
[AArch64] Convert CLS intrinsics to use ISD::CTLS (#178885)
This patch converts AArch64 CLS intrinsics (aarch64_neon_cls) to use the
generic ISD::CTLS node.
- aarch64_neon_cls: Lowered to ISD::CTLS, pattern-matched to CLS
instruction
- Set ISD::CTLS as Legal for NEON vector types (v8i8, v16i8, v4i16,
v8i16, v2i32, v4i32)
Also adds generic CTLS expansion support:
- ExpandIntRes_CTLS in LegalizeIntegerTypes for i64->i32 type expansion
- expandCTLS in TargetLowering for targets without native CLS
instruction
Part of: https://github.com/llvm/llvm-project/issues/174337
Commit: 485eb62afd7edb1ecb13c975bf62da03ff166b60
https://github.com/llvm/llvm-project/commit/485eb62afd7edb1ecb13c975bf62da03ff166b60
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/Transforms/Attributor/nofpclass.ll
Log Message:
-----------
Attributor: Use anchor scope for SimplifyQuery context (#178958)
This was asserting in computeKnownFPClass when a dominator tree
check happened across functions.
Fixes #178954
Commit: f3d81d4110f3415eab3459e07b52043872b9e03b
https://github.com/llvm/llvm-project/commit/f3d81d4110f3415eab3459e07b52043872b9e03b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
Log Message:
-----------
[RISCV] Rename ConstraintMask->RVVConstraintMask. NFC (#178963)
This matches how we refer to it in tablegen.
Commit: 202f45c1d9224c10edb827deb2d294f0fdcf0d31
https://github.com/llvm/llvm-project/commit/202f45c1d9224c10edb827deb2d294f0fdcf0d31
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
Log Message:
-----------
[clang][Driver] Fix use after scope in darwin driver (#178967)
`Version.getAsString()` returns an `std::string`, and thus the
`StringRef` points to an invalid location when pushed into the
Components vector. This just keeps the temporary alive for the
new string to be generated, to fix the ASAN failure after #176541
Commit: 96b46fae9ac6990ab6bc4312377e6687384934b9
https://github.com/llvm/llvm-project/commit/96b46fae9ac6990ab6bc4312377e6687384934b9
Author: SharonXSharon <xiaoranxu.nju at gmail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M lld/MachO/SectionPriorities.cpp
M lld/test/MachO/order-file-cstring.s
Log Message:
-----------
[lld][MachO] Accept hex format for cstring hashes in order file (#178933)
Support both decimal and hexadecimal formats for cstring hashes in
the order file. Hex values must use the 0x prefix (case insensitive).
Examples:
CSTR;1234567890 (decimal)
CSTR;0x499602D2 (hex)
Co-authored-by: Sharon Xu <sharonxu at fb.com>
Commit: b8477950efab9c4248ad73062c6abfe4717dfe5e
https://github.com/llvm/llvm-project/commit/b8477950efab9c4248ad73062c6abfe4717dfe5e
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
A clang/test/ClangScanDeps/prune-scanning-modules.m
Log Message:
-----------
[ClangScanDeps] Add test that proves pruning happens on scanning pcms (#178733)
The test was adapted from clang/test/Modules/prune.m
Commit: 9926b045b8e3ebac3809d3e15a49dac0c53dd7a0
https://github.com/llvm/llvm-project/commit/9926b045b8e3ebac3809d3e15a49dac0c53dd7a0
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/binop-shuffle-mask1-cm.ll
Log Message:
-----------
VectorCombine: Mark the test `+asserts` (fixup for #178072)
Commit: 7e48b14d1e9f83b5e4e51d3e44a0fc762f9d05eb
https://github.com/llvm/llvm-project/commit/7e48b14d1e9f83b5e4e51d3e44a0fc762f9d05eb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[SelectionDAGISel] Avoid unnecessary MatchScope copy. NFC (#178957)
Add the MatchScope to the vector first, then write its fields.
Commit: a01b91fb06ceeefde9ea4d37a20dda2791dbb4a6
https://github.com/llvm/llvm-project/commit/a01b91fb06ceeefde9ea4d37a20dda2791dbb4a6
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M flang/include/flang/Parser/options.h
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/parsing.cpp
A flang/test/Parser/compiler-directive-sentinel.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang] Add support for additional compiler directive sentinel (#178941)
This patch allows to set up additional compiler directive sentinel in
addition to the default `!dir$`. Some user code could use other vendor
specific compiler directive sentinel and this solution allows to add
them to the parser options.
Commit: 2f97c47cc22d40b824f36395e2db766959d76e49
https://github.com/llvm/llvm-project/commit/2f97c47cc22d40b824f36395e2db766959d76e49
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
M flang/test/Transforms/licm.fir
Log Message:
-----------
[flang,openacc] Fixed canMoveOutOf() for acc.loop. (#178971)
We should check all data operands, and do not exit after the first one.
Commit: 59f8e756d8a662312de80d0343cba486c86902ab
https://github.com/llvm/llvm-project/commit/59f8e756d8a662312de80d0343cba486c86902ab
Author: Ian Anderson <iana at apple.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
Log Message:
-----------
[clang][driver][darwin] Tweak the use after scope fix in Darwin driver toolchain (#178981)
It's ever so slightly cleaner looking and less error prone to make the
SmallVector hold std::string instead of making a local just for the
version string.
Commit: ef720acad03794fe4542cddda5213159369fc705
https://github.com/llvm/llvm-project/commit/ef720acad03794fe4542cddda5213159369fc705
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU][SIInsertWaitcnts][NFC] Use loop to set Wait entries (#178764)
Please note that the original code was skipping STORE_CNT but this one
is not.
Commit: b560203fae342ed5bd808087b3b151b4cd2e1d85
https://github.com/llvm/llvm-project/commit/b560203fae342ed5bd808087b3b151b4cd2e1d85
Author: Florian Mayer <fmayer at google.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M mlir/test/Dialect/MemRef/high-rank-overflow.mlir
Log Message:
-----------
[MLIR] Disable high-rank-overflow with UBSan (#178994)
See discussion in #178395
Commit: 5c2126f10e3964226c2537b748841d35ad50a798
https://github.com/llvm/llvm-project/commit/5c2126f10e3964226c2537b748841d35ad50a798
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
Log Message:
-----------
[SPIRV][NFC] Merge Subgroup Reduce into uniform selector (#178802)
The ReduceMax, ReduceMin, and ReduceSum selectors were all doing the
samething with the exception of which opcode they were using.
This change unifies these implementations and allows pick the opcode via
a helper lambda.
Commit: d6b4aeade7acad6ca04f53d2669e3d8aab88872a
https://github.com/llvm/llvm-project/commit/d6b4aeade7acad6ca04f53d2669e3d8aab88872a
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py
Log Message:
-----------
Restore unintentionally changed files
This restores files that were unintentionally added to commit
21a74f527839b5b8dd882e62a25093d980c79078, 'Revert "[lldb] Add FP
conversion instructions to IR interpreter (#175292)"'
Commit: 61c7d9e0b2580befab1c713ed55e92363b8ced49
https://github.com/llvm/llvm-project/commit/61c7d9e0b2580befab1c713ed55e92363b8ced49
Author: Thurston Dang <thurston at google.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/AArch64/aarch64-matmul.ll
Log Message:
-----------
[msan] Support Arm NEON usdot (#178982)
Handle tariff-free dot-product using the existing
handleVectorDotProductIntrinsic() instead of with the default handler.
Commit: 8065a03083840341dab262f890ce6de3bc0a67f7
https://github.com/llvm/llvm-project/commit/8065a03083840341dab262f890ce6de3bc0a67f7
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/matrix-constructors.hlsl
M clang/test/AST/HLSL/matrix-general-initializer.hlsl
Log Message:
-----------
[HLSL] Make Matrix types in `buildInitializerListImpl` index in row major order for initializer lists. (#178931)
fixes #178930
- changes the loop indexing order
- updates the associated tests
Commit: 313a2008538abb61ab13f8cc9f9a712f7faff3a5
https://github.com/llvm/llvm-project/commit/313a2008538abb61ab13f8cc9f9a712f7faff3a5
Author: Deric C. <cheung.deric at gmail.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/load-shufflevector.ll
Log Message:
-----------
[VectorCombine] Fix the PtrAdd offset in shrinkLoadForShuffles to account for element type size (#179001)
This PR fixes an [issue I pointed out in regards to incorrect GEP
indices](https://github.com/llvm/llvm-project/pull/149093#discussion_r2748266079)
introduced by PR #149093.
Changes:
- Updated the pointer offset calculation in
`VectorCombine::shrinkLoadForShuffles` so that the offset is now
multiplied by the element size (`ElemSize`) when computing the new
pointer for loads
- Updated the GEP indices in
`llvm/test/Transforms/VectorCombine/load-shufflevector.ll` for the
correct byte offsets
Commit: 60556a2ec228133638083b29f0cc5609a04b4dfc
https://github.com/llvm/llvm-project/commit/60556a2ec228133638083b29f0cc5609a04b4dfc
Author: Steven Perron <stevenperron at google.com>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M clang/include/clang/AST/HLSLResource.h
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/Builtins.td
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/Targets/DirectX.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/AST/HLSL/Texture2D-AST.hlsl
M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-constructors.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D.sample.hlsl
A clang/test/SemaHLSL/Texture2D-Sema.hlsl
M llvm/include/llvm/Frontend/HLSL/HLSLResource.h
M llvm/include/llvm/Support/DXILABI.h
Log Message:
-----------
[HLSL] Implement Texture2D type and Sample method in Clang (#177240)
This patch implements the `Texture2D` resource type and its `Sample`
member
function in Clang. It includes the necessary AST and Sema changes to
support
the new type and its built-in methods, as well as CodeGen support for
both
DirectX and SPIR-V targets.
Key changes:
- Added `ResourceDimension` to `HLSLAttributedResourceType` and
`HLSLResourceDimension` attribute.
- Implemented `Texture2D` and `SamplerState` in
`HLSLExternalSemaSource`.
- Added `__builtin_hlsl_resource_sample` and associated Sema checking.
- Updated `DirectXTargetCodeGenInfo` and `CommonSPIRTargetCodeGenInfo`
to handle texture types.
- Added AST, Sema, and CodeGen tests for `Texture2D`.
Part 2 of https://github.com/llvm/llvm-project/issues/175630
Commit: 8f690ec7ffd8d435a0212a191634b544b0741c4f
https://github.com/llvm/llvm-project/commit/8f690ec7ffd8d435a0212a191634b544b0741c4f
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/test/tools/llvm-cov/mcdc-macro.test
Log Message:
-----------
[MC/DC] Make covmap tolerant of nested Decisions (#125407)
CoverageMappingWriter reorders `Region`s by `endLoc DESC` to prioritize
wider `Decision` with the same `startLoc`.
In `llvm-cov`, tweak seeking Decisions by reversal order to find smaller
Decision first.
Commit: a34e89fcb5f03167cd5ffc8237ccc8cab0314d28
https://github.com/llvm/llvm-project/commit/a34e89fcb5f03167cd5ffc8237ccc8cab0314d28
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
Log Message:
-----------
[alpha.webkit.NoDeleteChecker] Don't emit a warning for a function without annotation. (#178824)
This PR fixes the bug in alpha.webkit.NoDeleteChecker that it emits a
warning for any function without
[[clang::annotate_type("webkit.nodelete")]] annotation if it contains
non-trivial code. It also fixes a bug hat we weren't checking the
presence of the annotation on superclass' corresponding member
functions.
Commit: faf3e06dc0314b9d02c9fdfbc47b7c1a45a1d5b9
https://github.com/llvm/llvm-project/commit/faf3e06dc0314b9d02c9fdfbc47b7c1a45a1d5b9
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/SourceBasedCodeCoverage.rst
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/test/CoverageMapping/mcdc-nested-expr.cpp
M clang/test/Frontend/custom-diag-werror-interaction.c
Log Message:
-----------
[MC/DC] Enable nested expressions (#125413)
A warning "contains an operation with a nested boolean expression." is
no longer emitted. At the moment, split expressions are treated as
individual Decisions.
Commit: f992f9719fe13c9ed8bf8e3571d190a69e0e5593
https://github.com/llvm/llvm-project/commit/f992f9719fe13c9ed8bf8e3571d190a69e0e5593
Author: Twice <twice at apache.org>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M mlir/include/mlir-c/Rewrite.h
M mlir/include/mlir/Bindings/Python/Globals.h
M mlir/include/mlir/Bindings/Python/IRCore.h
M mlir/include/mlir/CAPI/Rewrite.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Bindings/Python/Globals.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/lib/CAPI/Transforms/Rewrite.cpp
M mlir/test/mlir-tblgen/op-python-bindings.td
M mlir/test/python/rewrite.py
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
Log Message:
-----------
[MLIR][Python] Support dialect conversion in python bindings (#177782)
This PR adds dialect conversion support to the MLIR Python bindings.
Because it introduces a number of new APIs, it’s a fairly large PR. It
mainly includes the following parts:
* Add a set of types and APIs to the C API, including
`MlirConversionTarget`, `MlirConversionPattern`, `MlirTypeConverter`,
`MlirConversionPatternRewriter`, and others.
* Add the corresponding types and APIs to the Python bindings.
* Extend `mlir-tblgen` with codegen for Python adaptor classes, which
generates an adaptor class for each op.
Note that this PR only adds support for 1-to-1 conversions, 1-to-N
type/value conversions are not supported yet.
---------
Co-authored-by: Maksim Levental <maksim.levental at gmail.com>
Commit: 52430e712ab3b9f15158303020e77dd684729c23
https://github.com/llvm/llvm-project/commit/52430e712ab3b9f15158303020e77dd684729c23
Author: Nishant Sachdeva <32475507+nishant-sachdeva at users.noreply.github.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
A llvm/test/tools/llvm-ir2vec/Inputs/input.ll
M llvm/test/tools/llvm-ir2vec/bindings/ir2vec-bindings.py
A llvm/test/tools/llvm-ir2vec/bindings/ir2vec-exceptions.py
M llvm/tools/llvm-ir2vec/Bindings/CMakeLists.txt
M llvm/tools/llvm-ir2vec/Bindings/PyIR2Vec.cpp
Log Message:
-----------
[llvm-ir2vec] Adding initEmbedding API to ir2vec python bindings (#177092)
Adds the initEmbedding API to ir2vec python bindings
Commit: e553008914af024809dc94ef01b47bbc01354b8b
https://github.com/llvm/llvm-project/commit/e553008914af024809dc94ef01b47bbc01354b8b
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/Intrinsics/exit.f90
Log Message:
-----------
[Flang] Fix type error when calling EXIT intrinsic (#178688)
`EXIT` expects a `KIND=8` integer. If such an integer was passed when
`-fdefault-integer-8` was present, the `assert` removed in this PR would
trigger. Since Flang was already silently downcasting `KIND=8` to
`KIND=4`, this PR removes the `assert` and adds a new test to validate
the correct behavior when large integers are the default
Commit: 2b873aa9b2a82e284e56bb5cf7d23c185abb784f
https://github.com/llvm/llvm-project/commit/2b873aa9b2a82e284e56bb5cf7d23c185abb784f
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for f992f9719fe13c9ed8bf8e3571d190a69e0e5593
Commit: 317f7d4da94e2cc29c8ca320139459e9be77193b
https://github.com/llvm/llvm-project/commit/317f7d4da94e2cc29c8ca320139459e9be77193b
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M llvm/lib/DWARFCFIChecker/DWARFCFIState.cpp
M llvm/lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp
Log Message:
-----------
[perf] Replace copy-assign by move-assign in llvm/lib/DWARFCFIChecker… (#178174)
… and llvm/lib/DebugInfo/*
Commit: 012d97311667b1d1aad370a4574c591c0488ab28
https://github.com/llvm/llvm-project/commit/012d97311667b1d1aad370a4574c591c0488ab28
Author: jumerckx <31353884+jumerckx at users.noreply.github.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M mlir/lib/Conversion/PDLToPDLInterp/PDLToPDLInterp.cpp
M mlir/test/Conversion/PDLToPDLInterp/pdl-to-pdl-interp-rewriter.mlir
Log Message:
-----------
[mlir][PDL] PDLToPDLInterp: Use the pdl pattern name in the generated rewriter. (#149481)
Before, the rewriters generated by `convert-pdl-to-pdl-interp` had a
generic `"pdl_generated_rewriter"` name. With this change, the name from
the original pdl pattern is kept for the rewriter. This makes it easier
to relate the two.
---------
Co-authored-by: Mehdi Amini <joker-eph at gmail.com>
Commit: b6d6af98feb6850e6402d4bbee21cab970d74b4f
https://github.com/llvm/llvm-project/commit/b6d6af98feb6850e6402d4bbee21cab970d74b4f
Author: Marco Elver <elver at google.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
Log Message:
-----------
Thread Safety Analysis: Add test for alias reassignment through pointer-to-pointer (#179028)
Alias reassignment through pointer-to-pointer (nor ptr-to-ptr-to-ptr...)
does not invalidate an alias for now. While this may result in either
false positives or negatives, there's rarely a good reason not to just
do direct assignment within the same scope.
For the time being, we retain this as a deliberate "escape hatch":
specifically, this may be used to help the alias analysis to "see
through" complex helper macros that e.g. read a value (such as a
pointer) via inline assembly or other opaque helpers [1].
Add a test to document the current behaviour.
NFC.
[1] https://lore.kernel.org/all/20260130132951.2714396-1-elver@google.com/
Commit: e1e9b0ce310ea55537e04d3c6a9c810b6a746def
https://github.com/llvm/llvm-project/commit/e1e9b0ce310ea55537e04d3c6a9c810b6a746def
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M llvm/include/llvm/IR/IRBuilder.h
Log Message:
-----------
[NFC] To fix comment in the code as getIntN no longer does truncation. (#178834)
The comment of `getIntN` says it may truncate the result. However, PR
#171456 changed the default of truncation of `ConstantInt::get` to
false, so it no longer truncates. Fix the comments to reflect the
change.
Commit: 532d96f44bb83aedef820792b3f74083b15f4bb3
https://github.com/llvm/llvm-project/commit/532d96f44bb83aedef820792b3f74083b15f4bb3
Author: 0xacc <82801911+0xacc at users.noreply.github.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M clang-tools-extra/clangd/index/remote/Client.cpp
M clang-tools-extra/clangd/index/remote/monitor/Monitor.cpp
M clang-tools-extra/clangd/index/remote/server/Server.cpp
Log Message:
-----------
[clangd] fix compilation errors with newer versions of gRPC (#67258)
in recent versions of gRPC, header files with prefix `grpc++` are
deprecated.
gRPC headers in include/grpc++ are deprecated since gRPC 1.10.0
https://github.com/grpc/grpc/releases/tag/v1.10.0 , this PR should close
https://github.com/clangd/clangd/issues/1603
Co-authored-by: Thibault Monnier <97551402+Thibault-Monnier at users.noreply.github.com>
Commit: 8c575312fc49378a3ee7fb070819d3f7790bdb0a
https://github.com/llvm/llvm-project/commit/8c575312fc49378a3ee7fb070819d3f7790bdb0a
Author: flovent <flbven at protonmail.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
A clang-tools-extra/clang-tidy/modernize/UseStructuredBindingCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStructuredBindingCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-structured-binding.rst
A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-structured-binding/fake_std_pair_tuple.h
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-structured-binding.cpp
Log Message:
-----------
[clang-tidy] Add new check `modernize-use-structured-binding` (#158462)
This check detect code which can be transfered to c++17 structured
binding, and provides fix-it.
Limitations:
1. Ignore variables with attributes or qualifiers except `const` and `&`
since it's not very common:
```
static auto pair = getPair(); // no warning from this check
static int b = pair.first;
static int c = pair.second;
```
2. Some possibly convertable case:
(1)
```
const auto& results = mapping.try_emplace("hello!");
const iterator& it = results.first;
bool succeed = results.second;
// No change for succeed
```
In theory this can be transfered to structured binding:
```
const auto& [it, succeed] = mapping.try_emplace("hello!");
```
But it's needed to check whether `succeed` is changed after definition.
(2)
```
const auto results = mapping.try_emplace("hello!");
if (results.second) {
handle_inserted(results.first);
}
// no name deduced
```
That's not checked too.
It's coming from #138735, but leaves some unhanlded cases mentioned
above.
---------
Co-authored-by: Baranov Victor <bar.victor.2002 at gmail.com>
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Co-authored-by: Congcong Cai <congcongcai0907 at 163.com>
Co-authored-by: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Commit: 09c404631c70ace74feaebe6ef439d15a1998c6b
https://github.com/llvm/llvm-project/commit/09c404631c70ace74feaebe6ef439d15a1998c6b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
Log Message:
-----------
[gn build] Port 8c575312fc49
Commit: 5c213a9000233fa54c03e532c14f0b08f7c6967a
https://github.com/llvm/llvm-project/commit/5c213a9000233fa54c03e532c14f0b08f7c6967a
Author: puneeth_aditya_5656 <myakampuneeth at gmail.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-align-cxx.cpp
Log Message:
-----------
[clang][bytecode] Fix crash on __builtin_align_up with one-past-end pointers (#178652)
## Summary
Fix assertion failure when evaluating
`__builtin_align_up`/`__builtin_align_down`/`__builtin_is_aligned` with
one-past-end pointers like `&array[size]`.
## Root Cause
`getIndex()` calls `getOffset()` which asserts when `Offset ==
PastEndMark`. This happens for one-past-end element pointers.
## Fix
Check `isElementPastEnd()` before calling `getIndex()`. For past-end
pointers, use `getNumElems()` instead which gives the correct index
value.
## Test
Added test cases in `builtin-align-cxx.cpp` for one-past-end pointer
alignment.
Fixes #178647
Commit: 424bebd9c784b8490e63290feeeceb42dfdaeb49
https://github.com/llvm/llvm-project/commit/424bebd9c784b8490e63290feeeceb42dfdaeb49
Author: Artem Dergachev <artem.dergachev at gmail.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Fix assignment of unknown values. (#178943)
Just because the right-hand side of the assignment doesn't have a known
value, doesn't mean the left-hand side gets to keep its old value.
Commit: a8a766df2290bd629e23bca28fd4159e2e1d4b91
https://github.com/llvm/llvm-project/commit/a8a766df2290bd629e23bca28fd4159e2e1d4b91
Author: Kartik <agarwala.kartik at gmail.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[clang] Fix a crash when default argument is passed to an explicit object parameter (#177534)
Fixes #176639.
Commit: ddc993f964f9b68bd3af01cf7db9ce831444affb
https://github.com/llvm/llvm-project/commit/ddc993f964f9b68bd3af01cf7db9ce831444affb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
Log Message:
-----------
[RISCV] Simplify how RVVConstraints are declared in tablegen. NFC (#178972)
Use named arguments instead of ORing bits.
Commit: 40fdf5e33a8db328bee9fd73f03ad8ec8394a922
https://github.com/llvm/llvm-project/commit/40fdf5e33a8db328bee9fd73f03ad8ec8394a922
Author: Marco Elver <elver at google.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M clang/test/Sema/warn-thread-safety-analysis.c
Log Message:
-----------
Thread Safety Analysis: Add more complex cleanup attribute test (#179049)
Test that cleanup attribute is handled correctly in the presence of a
unary operator before scope end.
NFC.
Commit: 83003ab29390bce3a3bb21414a14ec72a97ee4a9
https://github.com/llvm/llvm-project/commit/83003ab29390bce3a3bb21414a14ec72a97ee4a9
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp
Log Message:
-----------
[clang-tidy] Speed up `llvm-prefer-isa-or-dyn-cast-in-conditionals` (#178997)
Same approach as described in #178829.
```txt
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
Status quo: 0.2031 (100.0%) 0.0469 (100.0%) 0.2500 (100.0%) 0.2635 (100.0%) llvm-prefer-isa-or-dyn-cast-in-conditionals
With this change: 0.0312 (100.0%) 0.0312 (100.0%) 0.0190 (100.0%) llvm-prefer-isa-or-dyn-cast-in-conditionals
```
(I think `--enable-check-profile` doesn't report any system time after
this change because it's too small).
Commit: a6032d293c88b90aad48ae8dfa16196937ebcf9b
https://github.com/llvm/llvm-project/commit/a6032d293c88b90aad48ae8dfa16196937ebcf9b
Author: knickish <knickish at gmail.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M llvm/lib/Target/M68k/M68kISelDAGToDAG.cpp
M llvm/lib/Target/M68k/M68kInstrData.td
M llvm/lib/Target/M68k/M68kInstrInfo.td
M llvm/test/CodeGen/M68k/Arith/divide-by-constant.ll
M llvm/test/CodeGen/M68k/Arith/imul.ll
M llvm/test/CodeGen/M68k/Arith/mul64.ll
M llvm/test/CodeGen/M68k/Arith/sdiv-exact.ll
M llvm/test/CodeGen/M68k/Atomics/cmpxchg.ll
M llvm/test/CodeGen/M68k/Atomics/load-store.ll
M llvm/test/CodeGen/M68k/Atomics/rmw.ll
M llvm/test/CodeGen/M68k/CodeModel/Large/Atomics/cmpxchg.ll
M llvm/test/CodeGen/M68k/CodeModel/Large/Atomics/load-store.ll
M llvm/test/CodeGen/M68k/CodeModel/Large/Atomics/rmw.ll
M llvm/test/CodeGen/M68k/CodeModel/Medium/medium-pie-global-access.ll
M llvm/test/CodeGen/M68k/CodeModel/Small/small-pie-global-access.ll
A llvm/test/CodeGen/M68k/Regression/146213.ll
A llvm/test/CodeGen/M68k/Regression/175472.ll
Log Message:
-----------
[M68k] Prevent folding of loads + stores when it would introduce new chain dependencies (#175457)
This bug seems to have been exposed by the combined m->m load/store
instructions available on M68k (these instructions are not available on
i386, which the M68k backend is based on). This meant that token factors
were inserted which could lead to distinct call sequence chains,
increasing the nesting level and preventing the matching callseq_start
from being identified during scheduling.
The patch addresses this by not allowing combined loads/stores when the
folded operation would result in a new chain dependency on a different
call sequence.
closes #146213 and #175472
Commit: 859d3b8e9cf025d1820a1e5e6cd5e6901837e1f8
https://github.com/llvm/llvm-project/commit/859d3b8e9cf025d1820a1e5e6cd5e6901837e1f8
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M lld/ELF/Relocations.cpp
A lld/test/ELF/aarch64-memtag-pauth-globals-out-of-range.s
A lld/test/ELF/aarch64-memtag-pauth-globals.s
Log Message:
-----------
[ELF][AArch64][PAC][MTE] Handle Memtag globals for R_AARCH64_AUTH_ABS64
Currently, R_AARCH64_AUTH_ABS64 against a tagged global just ignores the
tagging and so, if out of the symbol's bounds, does not write the
negated original addend for the loader to determine which granule's tag
to use for it. Handle the composition of the two.
Note that R_AARCH64_AUTH_ABS64/RELATIVE encode the signing schema in the
upper 32 bits of the value at the relocation target, and so only the
lower 32 bits are available for use as an addend, including for Memtag's
disambiguation, and so if a wildly out-of-bounds PAuth relocation
against a tagged global is used we have no choice but to error out with
the current ABI.
Reviewers: MaskRay, kovdan01, smithp35, asl
Reviewed By: smithp35
Pull Request: https://github.com/llvm/llvm-project/pull/173291
Commit: 85236008eaf9f7a606b13c09f6c82368a8383040
https://github.com/llvm/llvm-project/commit/85236008eaf9f7a606b13c09f6c82368a8383040
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M lld/ELF/Relocations.cpp
Log Message:
-----------
[NFCI][ELF][AArch64][PAC] Teach addRelativeReloc to emit R_AARCH64_AUTH_RELATIVE
This allows R_AARCH64_AUTH_ABS64 to follow R_AARCH64_ABS64's flow rather
than being implemented on the side in the place that is normally for
symbolic relocations.
Note that this has one implementation change: the RelExpr passed to
relaDyn is now RE_AARCH64_AUTH rather than R_ABS, but the two are
handled identically by InputSectionbase::getRelocTargetVA, and it was
inconsistent with relrAuthDyn which was passed RE_AARCH64_AUTH.
Reviewers: kovdan01
Pull Request: https://github.com/llvm/llvm-project/pull/171180
Commit: 1658456ccf2c74c7ddaba49590b7a31c4fdc4d33
https://github.com/llvm/llvm-project/commit/1658456ccf2c74c7ddaba49590b7a31c4fdc4d33
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMIRFormatter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMIRFormatter.h
M llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/expert_scheduling_gfx12.mir
M llvm/test/CodeGen/AMDGPU/hazard-getreg-waitalu.mir
M llvm/test/CodeGen/AMDGPU/hazards-gfx1250.mir
M llvm/test/CodeGen/AMDGPU/lds-direct-hazards-gfx11.mir
M llvm/test/CodeGen/AMDGPU/lds-direct-hazards-gfx12.mir
M llvm/test/CodeGen/AMDGPU/merge-consecutive-wait-alus.mir
M llvm/test/CodeGen/AMDGPU/partial-forwarding-hazards.mir
M llvm/test/CodeGen/AMDGPU/trans-forwarding-hazards.mir
M llvm/test/CodeGen/AMDGPU/valu-mask-write-hazard-true16.mir
M llvm/test/CodeGen/AMDGPU/valu-mask-write-hazard.mir
M llvm/test/CodeGen/AMDGPU/valu-read-sgpr-hazard-attrs.mir
M llvm/test/CodeGen/AMDGPU/valu-read-sgpr-hazard.mir
M llvm/test/CodeGen/AMDGPU/vcmpx-exec-war-hazard.mir
M llvm/test/CodeGen/AMDGPU/vmem-to-salu-hazard.mir
A llvm/test/CodeGen/MIR/AMDGPU/s_wait_alu-errors.mir
A llvm/test/CodeGen/MIR/AMDGPU/s_wait_alu.mir
Log Message:
-----------
[AMDGPU] Introduce custom MIR formatting for s_wait_alu (#176316)
This patch implements a custom printer/parser for the immediate operand
of s_wait_alu that prints/parses the decoded counter values.
Format:
```
.<counter1>_<value1>_<counter2>_<value2>
```
Example:
`s_wait_alu .VaVdst_1_VmVsrc_1`
; Which is equivalent to this:
`s_wait_alu 8167`
Features:
- If a counter is at its maximum value it won't get printed.
- The parser will error out if a counter is greater or equal to its max
value.
- If all counters are disabled we can use 'AllOff'.
- For now we also accept numeric values for backwards compatibility with
older MIR.
Note: This is similar to https://github.com/llvm/llvm-project/pull/96004
but for `s_wait_alu`.
Commit: c951d76fd09154532ea9bfde1f48cd13f17f09ad
https://github.com/llvm/llvm-project/commit/c951d76fd09154532ea9bfde1f48cd13f17f09ad
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousSemicolonCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clang-tidy/readability/DeleteNullPointerCheck.cpp
M clang-tools-extra/clang-tidy/readability/IsolateDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/utils/FixItHintUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.h
Log Message:
-----------
[clang-tidy][NFC] Convert Lexer utils to use std::optional<Token> (#174809)
This bring a more unified api and avoid caveats like "return
``tok::unknown`` if not found.", which makes easier to forget error
checking.
---------
Co-authored-by: mitchell <zeyi2 at nekoarch.cc>
Commit: 975d56272e353d6a9772de53de4270c0617b01a2
https://github.com/llvm/llvm-project/commit/975d56272e353d6a9772de53de4270c0617b01a2
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
A clang-tools-extra/clang-tidy/readability/TrailingCommaCheck.cpp
A clang-tools-extra/clang-tidy/readability/TrailingCommaCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/trailing-comma.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx11.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx20-remove.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx20.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-remove.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-wrong-config.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma.c
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma.cpp
Log Message:
-----------
[clang-tidy] Add new check readability-trailing-comma (#173669)
clang-format has a couple of similar options:
https://clang.llvm.org/docs/ClangFormatStyleOptions.html#enumtrailingcomma
- add trailing commas for enum
https://clang.llvm.org/docs/ClangFormatStyleOptions.html#inserttrailingcommas
- add trailing commas for C++
but generally they are marked with such warning:
> Warning
>
> Setting this option to any value other than Leave could lead to
incorrect code formatting due to clang-format’s lack of complete
semantic information. As such, extra care should be taken to review code
changes made by this option.
clang-tidy on the other hand has all semantic information, thus can
(hopefully) provide 0 false-positives.
Note that we have already overlapping checks in clang-format/clang-tidy
like:
https://clang.llvm.org/docs/ClangFormatStyleOptions.html#insertbraces vs
https://clang.llvm.org/extra/clang-tidy/checks/readability/braces-around-statements.html
Commit: f4e8cc1a2229dca76d21c8d37439c4c194b06b86
https://github.com/llvm/llvm-project/commit/f4e8cc1a2229dca76d21c8d37439c4c194b06b86
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/test/Transforms/LoopVectorize/vplan-print-after-all.ll
Log Message:
-----------
[VPlan] Detect and create partial reductions in VPlan. (NFCI) (#167851)
As a first step, move the existing partial reduction detection logic to
VPlan, trying to preserve the existing code structure & behavior as
closely as possible.
With this, partial reductions are detected and created together in a
single step.
This allows forming partial reductions and bundling them up if
profitable together in a follow-up.
PR: https://github.com/llvm/llvm-project/pull/167851
Commit: 1731c591927e8ce9d8f2f73b2124af8f8e01c8d0
https://github.com/llvm/llvm-project/commit/1731c591927e8ce9d8f2f73b2124af8f8e01c8d0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
Log Message:
-----------
[gn build] Port 975d56272e35
Commit: d43e7351c125ee10b663ef44edb11c1962dfdeb6
https://github.com/llvm/llvm-project/commit/d43e7351c125ee10b663ef44edb11c1962dfdeb6
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
Log Message:
-----------
[VPlan] Split up attachCheckBlock in distinct helpers for re-use (NFC).
Split up attachCheckBlock into its distinct operations:
* inserting the check block in the CFG + updating phis, and
* adding the branch VPInstruction.
Those helpers can be re-used in follow-up changes.
Commit: bc45ea2c4f24c259814ed5545c403d09ebf89be6
https://github.com/llvm/llvm-project/commit/bc45ea2c4f24c259814ed5545c403d09ebf89be6
Author: Fangrui Song <i at maskray.me>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Config.h
M lld/ELF/Relocations.cpp
A lld/test/ELF/loongarch-ifunc-nonpreemptible.s
M lld/test/ELF/riscv-ifunc-nonpreemptible.s
Log Message:
-----------
[ELF] Fix IRELATIVE addend if the resolver address is updated by linker relaxation (#179063)
For a non-preemptible ifunc, `handleNonPreemptibleIfunc` creates a
cloned
symbol (`directSym`) to compute the addend of the IRELATIVE dynamic
relocation.
This cloned symbol wasn't tracked by `initSymbolAnchors`, so its value
wasn't adjusted during RISC-V/LoongArch linker relaxation.
This caused IRELATIVE addends to point to pre-relaxation addresses.
Fix this by:
- Tracking cloned IRELATIVE symbols in `ctx.irelativeSyms`
- Adding these symbols to `relaxAux->anchors` in `initSymbolAnchors`
Commit: 20103eeb3a261cd5b96135ee199da50b33688a77
https://github.com/llvm/llvm-project/commit/20103eeb3a261cd5b96135ee199da50b33688a77
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M flang/include/flang/Evaluate/check-expression.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/fold.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/shape.cpp
M flang/lib/Semantics/check-data.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/pointer-assignment.cpp
A flang/test/Semantics/ac-impl-do-data-ptr.f90
Log Message:
-----------
[flang] Fix exposed "free" instances of ac-implied-do indices (#178516)
Tweak the implementations of IsConstantExpr, IsInitialDataTarget, and
related utilities so that "free" instances of array constructor implied
DO indices are not treated as constant expressions when the surrounding
context (if any) doesn't contain their bounds. This fixes a current bug
in which a "free" implied DO index in a structure constructor got
wrapped up an a Constant<SomeDerived>, which led to a crash in lowering.
Commit: 55ee00e15f79da706c8a52f8236111ac20037bc3
https://github.com/llvm/llvm-project/commit/55ee00e15f79da706c8a52f8236111ac20037bc3
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/bug2131.cuf
Log Message:
-----------
[flang][CUDA] Allow constant to match device actual in specific procedure (#178658)
When scanning the specific procedures of a generic interface for a match
for a set of actual arguments, accept a constant actual argument as a
match for a dummy argument with the DEVICE attribute.
Commit: 6577aa54e805745c3cd8e695d0e7bc732f83e533
https://github.com/llvm/llvm-project/commit/6577aa54e805745c3cd8e695d0e7bc732f83e533
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/bug178813.f90
Log Message:
-----------
[flang] Fix proc ptr default initializers in structure constructors (#178897)
The default initializers for procedure pointer components are not being
used for unspecified components in structure constructors.
Fixes https://github.com/llvm/llvm-project/issues/178813.
Commit: 33cef35bfb8bb7077ba19296fd99ba5cc4c4b0cf
https://github.com/llvm/llvm-project/commit/33cef35bfb8bb7077ba19296fd99ba5cc4c4b0cf
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2026-01-31 (Sat, 31 Jan 2026)
Changed paths:
M flang/lib/Semantics/type.cpp
A flang/test/Semantics/bug178786.f90
Log Message:
-----------
[flang] Assign sizes & offsets before instantiating some component types (#178927)
Semantics is instantiating derived types too soon is some cases, leading
to incorrect sizes and component offsets in cases of valid forward
references to derived types -- these appear in the declarations of
allocatable and pointer components. The incorrect size led to a runtime
crash in the linked bug report after an insufficient allocation.
Since those components are indirect, their sizes in the derived type
instantiation can be known without having to recursive instantiate the
components' types. Then, after laying out the derived type
instantiation, the compiler can then ensure that the components' types
are instantiated.
Fixes https://github.com/llvm/llvm-project/issues/178786.
Commit: bba5371e3290fe3c47bd4fb6707ae3ce222b892f
https://github.com/llvm/llvm-project/commit/bba5371e3290fe3c47bd4fb6707ae3ce222b892f
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
A polly/ci/polly-x86_64-linux-noassert.py
A polly/ci/polly-x86_64-linux-plugin.py
A polly/ci/polly-x86_64-linux-shared-plugin.py
A polly/ci/polly-x86_64-linux-shared.py
A polly/ci/polly-x86_64-linux-shlib-plugin.py
A polly/ci/polly-x86_64-linux-shlib.py
M polly/ci/polly-x86_64-linux-test-suite.py
A polly/ci/polly-x86_64-linux.py
Log Message:
-----------
[Polly][CI] Add ScriptedBuilder scripts
Add ScriptedBuilder-equivalents of the current PollyBuilder-based
buildbots.
Commit: b6e5e8ecb57088dcdc0a72515869a52d24669bdd
https://github.com/llvm/llvm-project/commit/b6e5e8ecb57088dcdc0a72515869a52d24669bdd
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.cpp
M lldb/source/Plugins/Process/FreeBSDKernel/ThreadFreeBSDKernel.cpp
M lldb/source/Plugins/Process/FreeBSDKernel/ThreadFreeBSDKernel.h
Log Message:
-----------
[lldb] [Process/FreeBSDKernel] Select paniced thread automatically (#178069)
Kernel panic is a special case, and there is no signal or exception for
that so we need to rely on special workaround called `dumptid`.
FreeBSDKernel plugin is supposed to find this thread and set it manually
through `SetStopInfo()` in `CalculateStopInfo()` like Mach core plugin
does.
Before (We had to find and select crashed thread list otherwise thread 1
was selected by default):
```
➜ sudo lldb /boot/panic/kernel -c /var/crash/vmcore.last
(lldb) target create "/boot/panic/kernel" --core "/var/crash/vmcore.last"
Core file '/var/crash/vmcore.last' (x86_64) was loaded.
(lldb) bt
* thread #1, name = '(pid 12991) dtrace'
* frame #0: 0xffffffff80bf9322 kernel`sched_switch(td=0xfffff8015882f780, flags=259) at sched_ule.c:2448:26
frame #1: 0xffffffff80bd38d2 kernel`mi_switch(flags=259) at kern_synch.c:530:2
frame #2: 0xffffffff80c29799 kernel`sleepq_switch(wchan=0xfffff8014edff300, pri=0) at subr_sleepqueue.c:608:2
frame #3: 0xffffffff80c29b76 kernel`sleepq_catch_signals(wchan=0xfffff8014edff300, pri=0) at subr_sleepqueue.c:523:3
frame #4: 0xffffffff80c29d32 kernel`sleepq_timedwait_sig(wchan=<unavailable>, pri=<unavailable>) at subr_sleepqueue.c:704:11
frame #5: 0xffffffff80bd2e2d kernel`_sleep(ident=0xfffff8014edff300, lock=0xffffffff81df2880, priority=768, wmesg="uwait", sbt=2573804118162, pr=0, flags=512) at kern_synch.c:215:10
frame #6: 0xffffffff80be8622 kernel`umtxq_sleep(uq=0xfffff8014edff300, wmesg="uwait", timo=0xfffffe0279cb3d20) at kern_umtx.c:843:11
frame #7: 0xffffffff80bef87a kernel`do_wait(td=0xfffff8015882f780, addr=<unavailable>, id=0, timeout=0xfffffe0279cb3d90, compat32=1, is_private=1) at kern_umtx.c:1316:12
frame #8: 0xffffffff80bed264 kernel`__umtx_op_wait_uint_private(td=0xfffff8015882f780, uap=0xfffffe0279cb3dd8, ops=<unavailable>) at kern_umtx.c:3990:10
frame #9: 0xffffffff80beaabe kernel`sys__umtx_op [inlined] kern__umtx_op(td=<unavailable>, obj=<unavailable>, op=<unavailable>, val=<unavailable>, uaddr1=<unavailable>, uaddr2=<unavailable>, ops=<unavailable>) at kern_umtx.c:4999:10
frame #10: 0xffffffff80beaa89 kernel`sys__umtx_op(td=<unavailable>, uap=<unavailable>) at kern_umtx.c:5024:10
frame #11: 0xffffffff81122cd1 kernel`amd64_syscall [inlined] syscallenter(td=0xfffff8015882f780) at subr_syscall.c:165:11
frame #12: 0xffffffff81122c19 kernel`amd64_syscall(td=0xfffff8015882f780, traced=0) at trap.c:1208:2
frame #13: 0xffffffff810f1dbb kernel`fast_syscall_common at exception.S:570
```
After:
```
➜ sudo ./build/bin/lldb /boot/panic/kernel -c /var/crash/vmcore.last
(lldb) target create "/boot/panic/kernel" --core "/var/crash/vmcore.last"
Core file '/var/crash/vmcore.last' (x86_64) was loaded.
(lldb) bt
* thread #18, name = '(pid 5409) powerd (crashed)', stop reason = kernel panic
* frame #0: 0xffffffff80bc6c91 kernel`__curthread at pcpu_aux.h:57:2 [inlined]
frame #1: 0xffffffff80bc6c91 kernel`doadump(textdump=0) at kern_shutdown.c:399:2
frame #2: 0xffffffff804b3b7a kernel`db_dump(dummy=<unavailable>, dummy2=<unavailable>, dummy3=<unavailable>, dummy4=<unavailable>) at db_command.c:596:10
frame #3: 0xffffffff804b396d kernel`db_command(last_cmdp=<unavailable>, cmd_table=<unavailable>, dopager=true) at db_command.c:508:3
frame #4: 0xffffffff804b362d kernel`db_command_loop at db_command.c:555:3
frame #5: 0xffffffff804b7026 kernel`db_trap(type=<unavailable>, code=<unavailable>) at db_main.c:267:3
frame #6: 0xffffffff80c16aaf kernel`kdb_trap(type=3, code=0, tf=0xfffffe01b605b930) at subr_kdb.c:790:13
frame #7: 0xffffffff8112154e kernel`trap(frame=<unavailable>) at trap.c:614:8
frame #8: 0xffffffff810f14c8 kernel`calltrap at exception.S:285
frame #9: 0xffffffff81da2290 kernel`cn_devtab + 64
frame #10: 0xfffffe01b605b8b0
frame #11: 0xffffffff84001c43 dtrace.ko`dtrace_panic(format=<unavailable>) at dtrace.c:652:2
frame #12: 0xffffffff84005524 dtrace.ko`dtrace_action_panic(ecb=0xfffff80539cad580) at dtrace.c:7022:2 [inlined]
frame #13: 0xffffffff840054de dtrace.ko`dtrace_probe(id=88998, arg0=14343377283488, arg1=<unavailable>, arg2=<unavailable>, arg3=<unavailable>, arg4=<unavailable>) at dtrace.c:7665:6
frame #14: 0xffffffff83e5213d systrace.ko`systrace_probe(sa=<unavailable>, type=<unavailable>, retval=<unavailable>) at systrace.c:226:2
frame #15: 0xffffffff8112318d kernel`syscallenter(td=0xfffff801318d5780) at subr_syscall.c:160:4 [inlined]
frame #16: 0xffffffff81123112 kernel`amd64_syscall(td=0xfffff801318d5780, traced=0) at trap.c:1208:2
frame #17: 0xffffffff810f1dbb kernel`fast_syscall_common at exception.S:570
```
Commit: 487de1ad7b11c9faad9b890b37e0dec44433fc04
https://github.com/llvm/llvm-project/commit/487de1ad7b11c9faad9b890b37e0dec44433fc04
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M libc/test/src/time/TmMatcher.h
M libc/test/src/time/gmtime_r_test.cpp
M libc/test/src/time/gmtime_test.cpp
M libc/test/src/time/mktime_test.cpp
Log Message:
-----------
[libc][test] Fix TmMatcher and correct tm_yday/tm_wday test values (#179029)
The TmMatcher was using || instead of && to compare tm struct fields,
causing it to match if ANY field was equal rather than ALL fields. This
masked incorrect expected values in the time tests.
Happily, only the tests needed fixing. The code was correct.
Fixed the matcher and corrected all tm_yday and tm_wday values to match
glibc's gmtime_r output.
Commit: 68850427ba1e2788824843d735d8fb363f4539bd
https://github.com/llvm/llvm-project/commit/68850427ba1e2788824843d735d8fb363f4539bd
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/invalid.cpp
Log Message:
-----------
[clang][bytecode] Reject CK_BitCast nodes with errors early (#179087)
Fixes https://github.com/llvm/llvm-project/issues/179020
Commit: 756c321c33af2be0bd40707948aae3c06163a0a6
https://github.com/llvm/llvm-project/commit/756c321c33af2be0bd40707948aae3c06163a0a6
Author: marius doerner <marius.doerner1 at icloud.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpHelpers.h
M clang/lib/AST/ExprConstant.cpp
M clang/test/Sema/address-packed-member-memops.c
M clang/test/Sema/attr-diagnose-as-builtin.c
M clang/test/Sema/builtin-memcpy.c
M clang/test/Sema/format-strings-nonnull.c
M clang/test/Sema/format-strings.c
M clang/test/Sema/memset-invalid-1.c
M clang/test/Sema/transpose-memset.c
M clang/test/Sema/warn-format-overflow-truncation.c
M clang/test/Sema/warn-fortify-scanf.c
M clang/test/Sema/warn-fortify-source.c
M clang/test/Sema/warn-memset-bad-sizeof.c
M clang/test/Sema/warn-nontrivial-struct-memaccess-ptrauth.c
M clang/test/Sema/warn-strncat-size.c
Log Message:
-----------
[clang][bytecode] Use in `Expr::tryEvaluateObjectSize` (#179033)
Fixes #138474
Use new bytecode intepreter in `Expr::tryEvaluateObjectSize`. Reuses the
already existing implementation for `__builtin_object_size` in of the
intepreter.
---------
Co-authored-by: Timm Baeder <tbaeder at redhat.com>
Commit: 584bd38627b83cabb061ea7ee3395adc07c809ee
https://github.com/llvm/llvm-project/commit/584bd38627b83cabb061ea7ee3395adc07c809ee
Author: guohaonan <75302171+Guo-yyds at users.noreply.github.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl03.rst
Log Message:
-----------
[docs] fix output question (#177842)
See the code:
<img width="2631" height="1090" alt="image"
src="https://github.com/user-attachments/assets/dfe949b3-fbc6-4cd3-9e8d-5c0adbfcc67a"
/>
<img width="1751" height="577" alt="image"
src="https://github.com/user-attachments/assets/e3b78596-24b9-4bd5-b40d-a4154b2e6bb2"
/>
So the output is not the number, is the text "__anon_expr".
Commit: 7f967a9a26a5717eac6eeeabef9288e0e6a5d730
https://github.com/llvm/llvm-project/commit/7f967a9a26a5717eac6eeeabef9288e0e6a5d730
Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M mlir/lib/AsmParser/AttributeParser.cpp
A mlir/test/IR/invalid-dense-array-attr.mlir
Log Message:
-----------
[mlir][IR] Diagnose index element type in DenseArrayAttr (#179075)
Commit: 618d71dc98df760d0c724cff6fa69b780e8c0372
https://github.com/llvm/llvm-project/commit/618d71dc98df760d0c724cff6fa69b780e8c0372
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/avx512-intrinsics.ll
Log Message:
-----------
[X86] Add test coverage for #179057 (#179092)
Incorrect folding of fixupimm scalar intrinsics passthrough when the
mask is known zero
Commit: a19cbc4b770049838e2727ea02424f408f00dda4
https://github.com/llvm/llvm-project/commit/a19cbc4b770049838e2727ea02424f408f00dda4
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Rename VectorEndPointer's IndexedTy to SourceElementTy (NFC) (#178856)
For consistency with IR terminology.
Commit: a34bfac6425eb83f8fba7c73b2a4bb31d1be4d98
https://github.com/llvm/llvm-project/commit/a34bfac6425eb83f8fba7c73b2a4bb31d1be4d98
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M llvm/include/llvm/ADT/APInt.h
M llvm/unittests/ADT/APIntTest.cpp
Log Message:
-----------
[APInt] Extend isSameValue to also do signed-compares (#178854)
Introduce a SignedCompare parameter of isSameValue to use sext instead
of zext.
Commit: 8e7a2d8b42534b5a05df4445ee05f9a19161a8a1
https://github.com/llvm/llvm-project/commit/8e7a2d8b42534b5a05df4445ee05f9a19161a8a1
Author: marius doerner <marius.doerner1 at icloud.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpHelpers.h
M clang/lib/AST/ExprConstant.cpp
M clang/test/Sema/address-packed-member-memops.c
M clang/test/Sema/attr-diagnose-as-builtin.c
M clang/test/Sema/builtin-memcpy.c
M clang/test/Sema/format-strings-nonnull.c
M clang/test/Sema/format-strings.c
M clang/test/Sema/memset-invalid-1.c
M clang/test/Sema/transpose-memset.c
M clang/test/Sema/warn-format-overflow-truncation.c
M clang/test/Sema/warn-fortify-scanf.c
M clang/test/Sema/warn-fortify-source.c
M clang/test/Sema/warn-memset-bad-sizeof.c
M clang/test/Sema/warn-nontrivial-struct-memaccess-ptrauth.c
M clang/test/Sema/warn-strncat-size.c
Log Message:
-----------
Revert "[clang][bytecode] Use in `Expr::tryEvaluateObjectSize` (#1790… (#179099)
…33)"
This reverts commit 756c321c33af2be0bd40707948aae3c06163a0a6.
Test failure in clang/test/AST/ByteCode/builtins.c in CI build
CC @tbaederr
Commit: d1e477b00b49c63ff4dd513eeb14a5b18bc055d7
https://github.com/llvm/llvm-project/commit/d1e477b00b49c63ff4dd513eeb14a5b18bc055d7
Author: Martin Storsjö <martin at martin.st>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/test/Transforms/LoopVectorize/vplan-print-after-all.ll
Log Message:
-----------
Revert "[VPlan] Detect and create partial reductions in VPlan. (NFCI) (#167851)"
This reverts commit f4e8cc1a2229dca76d21c8d37439c4c194b06b86.
This change wasn't NFC; it causes failed asserts when building
ffmpeg for i686 windows, see
https://github.com/llvm/llvm-project/pull/167851 for details.
Commit: 603b625b213e2932f08c61e869af50a6e966ea71
https://github.com/llvm/llvm-project/commit/603b625b213e2932f08c61e869af50a6e966ea71
Author: niqiangpro-cell <ni.qiang.pro at gmail.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
A llvm/test/Analysis/CostModel/AArch64/clmul.ll
A llvm/test/Analysis/CostModel/X86/clmul.ll
Log Message:
-----------
[Analysis] Add Intrinsics::CLMUL case to cost calculations to getIntrinsicInstrCost / getTypeBasedIntrinsicInstrCost (#176552)
This patch adds a case in getIntrinsicInstrCost and
getTypeBasedIntrinsicInstrCost in
llvm/include/llvm/CodeGen/BasicTTIImpl.h for Intrinsic::clmul. This
patch uses TLI->isOperationLegalOrCustom to check if the instruction is
cheap. If not cheap, it sums up the cost of the arithmetic operations
(AND, SHIFT, XOR) multiplied by the bit width.
Fixes #176354
Commit: 49d2323447aec77c3d1ae8c941f3f8a126ff1480
https://github.com/llvm/llvm-project/commit/49d2323447aec77c3d1ae8c941f3f8a126ff1480
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512-intrinsics.ll
Log Message:
-----------
[X86] getScalarMaskingNode - FIXUPIMM scalar ops take upper elements from second operand (#179101)
FIXUPIMMSS/SD instructions passthrough the SECOND operand upper elements, and not the first like most (2-op) instructions
Fixes #179057
Commit: 59f815b047c8f2673622550a613ec42adcb809c6
https://github.com/llvm/llvm-project/commit/59f815b047c8f2673622550a613ec42adcb809c6
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_code_completion.py
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[libclang/python] Deprecate CodeCompletionResults.results (#177764)
This partially addresses point 5 from
https://github.com/llvm/llvm-project/issues/156680.
Commit: 02804501af9c764126964a965c02dbee84690227
https://github.com/llvm/llvm-project/commit/02804501af9c764126964a965c02dbee84690227
Author: Ryan Mansfield <ryan_mansfield at apple.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M llvm/test/tools/llvm-lipo/create-archive-input.test
M llvm/tools/llvm-lipo/llvm-lipo.cpp
Log Message:
-----------
[llvm-lipo] Fix handling of archives in universal binaries (#176448)
When extracting slices from a universal binary, llvm-lipo was not
handling the case where the slice is an archive.
Fixes #90156
Commit: 1818b23a99adc54f1c9e3d520d027d751604be0a
https://github.com/llvm/llvm-project/commit/1818b23a99adc54f1c9e3d520d027d751604be0a
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-bf16-combines.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
M llvm/test/CodeGen/RISCV/fma-combine.ll
Log Message:
-----------
[SDAG] Check for `nsz` in DAG.canIgnoreSignBitOfZero() (#178905)
Follow up to #174423
Commit: 90b3712d8a20efa2cbaadc177da576e485dce038
https://github.com/llvm/llvm-project/commit/90b3712d8a20efa2cbaadc177da576e485dce038
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/test/Transforms/LoopVectorize/X86/reduction-crash.ll
M llvm/test/Transforms/LoopVectorize/vplan-print-after-all.ll
Log Message:
-----------
Reapply "[VPlan] Detect and create partial reductions in VPlan. (NFCI) (#167851)"
This reverts commit d1e477b00b49c63ff4dd513eeb14a5b18bc055d7.
Recommit with a extra checks making sure extends are VPWidenCastRecipes,
rejecting VPReplicateRecipes.
Original message:
As a first step, move the existing partial reduction detection logic to
VPlan, trying to preserve the existing code structure & behavior as
closely as possible.
With this, partial reductions are detected and created together in a
single step.
This allows forming partial reductions and bundling them up if
profitable together in a follow-up.
PR: https://github.com/llvm/llvm-project/pull/167851
Commit: 7274ae970d3d627eb12c3cfde64f9d323d6edda3
https://github.com/llvm/llvm-project/commit/7274ae970d3d627eb12c3cfde64f9d323d6edda3
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/test/CodeGen/AMDGPU/debug-value-scheduler.mir
M llvm/test/CodeGen/AMDGPU/sema-v-unsched-bundle.ll
Log Message:
-----------
[AMDGPU][Scheduler] Simplify scheduling revert logic (#177203)
When scheduling must be reverted for a region, the current
implementation re-orders non-debug instructions and debug instructions
separately; the former in a first pass and the latter in a second pass
handled by a generic machine scheduler helper whose state is tied to the
current region being scheduled, in turns limiting the revert logic to
only work on the active scheduling region.
This makes the revert logic work in a single pass for all MIs, and
removes the restriction that it works exclusively on the active
scheduling region. The latter enables future use cases such as reverting
scheduling of multiple regions at once.
Commit: 90657301784bac879e12ba242c5a83ea92356eef
https://github.com/llvm/llvm-project/commit/90657301784bac879e12ba242c5a83ea92356eef
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M lld/test/ELF/aarch64-ldprel-lo19-invalid.s
M lld/test/ELF/aarch64-load-alignment.s
M lld/test/ELF/aarch64-movw-error.s
M lld/test/ELF/arm-tag-vfp-args-errs.s
M lld/test/ELF/mips-out-of-bounds-call16-reloc.s
M lld/test/ELF/ppc64-error-missaligned-dq.s
M lld/test/ELF/ppc64-error-missaligned-ds.s
M lld/test/ELF/ppc64-reloc-pcrel34-overflow.s
M lld/test/ELF/static-error.s
Log Message:
-----------
[ELF,test] Improve error message checks with proper format
Update tests to use the canonical error message format with `error:`
prefix and file:section information. Add `--implicit-check-not=error:`
to ensure no unexpected errors are produced.
This commit focuses on "out of range" and "not aligned" errors.
Commit: adaa3e74e808c2a729a28e444a67258267c8106e
https://github.com/llvm/llvm-project/commit/adaa3e74e808c2a729a28e444a67258267c8106e
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M libc/src/__support/math/sincosf.h
M libc/src/__support/math/sincosf_float_eval.h
M libc/src/__support/math/sincosf_utils.h
Log Message:
-----------
[libc] Address sincosf size bloat (#179004)
The recent refactoring in #177523 marked some functions as static which
increased the size of sinf/cosf functions. Removing the static storage
for these functions to remove the bloat which is especially problematic
in size constrained baremetal target builds.
Commit: 2f09bd2fc2b33ceb67d218b16d5404c5679b4166
https://github.com/llvm/llvm-project/commit/2f09bd2fc2b33ceb67d218b16d5404c5679b4166
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M lld/test/ELF/aarch64-fpic-abs16.s
M lld/test/ELF/aarch64-fpic-prel16.s
M lld/test/ELF/aarch64-lo12-alignment.s
M lld/test/ELF/arm-adr-err-long.s
M lld/test/ELF/arm-adr-err.s
M lld/test/ELF/arm-ldrlit-err.s
M lld/test/ELF/arm-thumb-adr-err.s
M lld/test/ELF/arm-thumb-ldrlit-err.s
M lld/test/ELF/arm-thumb2-adr-err.s
M lld/test/ELF/arm-thumb2-ldrlit-err.s
M lld/test/ELF/conflict-debug-variable-file-index.s
M lld/test/ELF/conflict-debug-variable.s
M lld/test/ELF/conflict-debug-variable2.s
M lld/test/ELF/conflict-variable-linkage-name.s
M lld/test/ELF/execute-only-mixed-data.s
M lld/test/ELF/hidden-shared-err.s
M lld/test/ELF/incompatible-ar-first.s
M lld/test/ELF/invalid-cie-reference.s
M lld/test/ELF/invalid-eh-frame4.s
M lld/test/ELF/invalid-eh-frame5.s
M lld/test/ELF/invalid/bad-arm-attributes.s
M lld/test/ELF/invalid/common-symbol-alignment.test
M lld/test/ELF/invalid/data-encoding.test
M lld/test/ELF/invalid/ehframe-broken-relocation.test
M lld/test/ELF/invalid/executable.s
M lld/test/ELF/invalid/invalid-elf.test
M lld/test/ELF/invalid/invalid-file-class.test
M lld/test/ELF/invalid/linkorder-invalid-sec.test
M lld/test/ELF/invalid/merge-invalid-size.s
M lld/test/ELF/invalid/non-terminated-string.test
M lld/test/ELF/invalid/section-alignment.test
M lld/test/ELF/invalid/section-index.test
M lld/test/ELF/invalid/sht-group.test
M lld/test/ELF/invalid/tls-symbol.s
M lld/test/ELF/invalid/verdef-no-symtab.test
M lld/test/ELF/linkerscript/address-expr-symbols.s
M lld/test/ELF/mips-align-err.s
M lld/test/ELF/mips-micro-bad-cross-calls.s
M lld/test/ELF/pr34872.s
M lld/test/ELF/relocation-before-merge-start.s
M lld/test/ELF/relocation-nocopy.s
M lld/test/ELF/relocation-past-merge-end.s
M lld/test/ELF/reproduce-error.s
M lld/test/ELF/x86-64-reloc-debug-overflow.s
M lld/test/ELF/x86-64-reloc-error.s
M lld/test/ELF/x86-64-reloc-error2.s
M lld/test/ELF/x86-64-reloc-range.s
M lld/test/ELF/x86-64-reloc-tpoff32-error.s
Log Message:
-----------
[ELF,test] Improve error/warning message checks
Update tests to include proper `error:` or `warning:` prefixes and
file/section information in CHECK patterns. Add
--implicit-check-not=error: to ensure no unexpected errors are produced.
Commit: 0b4fbc5aea6ebf22ea257d2ddac3dcf1ac8dfabe
https://github.com/llvm/llvm-project/commit/0b4fbc5aea6ebf22ea257d2ddac3dcf1ac8dfabe
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/shl-compatible-with-add.ll
Log Message:
-----------
[SLP][NFC]Add a test to check modeling shl x, 1 as add x,x, NFC
Commit: 1721b9ff61bf783c99f8920707923f9ea11901a3
https://github.com/llvm/llvm-project/commit/1721b9ff61bf783c99f8920707923f9ea11901a3
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
Log Message:
-----------
[DirectX] remove getAllocatedType in DXILDataScalarization (#179067)
Update dynamicallyLoadArray to take the allocated type as a parameter
instead of querying getAllocatedType. This is to facilitate removing
other incorrect uses of getAllocatedType, and eventually possibly even
getAllocatedType itself.
Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
Commit: 91c42fe9163f94acc7f5cac0ea3edd0f7daa6391
https://github.com/llvm/llvm-project/commit/91c42fe9163f94acc7f5cac0ea3edd0f7daa6391
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
Log Message:
-----------
[Hexagon] Track type locally in HexagonVectorCombine (#179066)
Replace getAllocatedType calls with tracked types from alloca creation.
The types are known at the CreateAlloca call sites, so we track them
locally instead of re-querying through getAllocatedType, to facilitate
someday possibly removing getAllocatedType from the API of AllocaInst.
Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
Commit: beb0e7e15005f96b144fcac51a765fedd52c4b7c
https://github.com/llvm/llvm-project/commit/beb0e7e15005f96b144fcac51a765fedd52c4b7c
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/binop-folds.ll
M llvm/test/Transforms/LoopVectorize/cse-replicate-regions.ll
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads-with-predicated-stores.ll
Log Message:
-----------
[VPlan] Fold (x | !x) -> true. (#177887)
PR: https://github.com/llvm/llvm-project/pull/177887
Commit: 49e3ae6f7bfbdfcc22b0bcdab66d7bbb051e120d
https://github.com/llvm/llvm-project/commit/49e3ae6f7bfbdfcc22b0bcdab66d7bbb051e120d
Author: Sladyn <snunes at usc.edu>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
Use reportFatalInternalError in DialectConversion (#178612)
Migrate from deprecated report_fatal_error to reportFatalInternalError
in DialectConversion.cpp. All 6 instances are internal consistency
checks in MLIR's dialect conversion system, so reportFatalInternalError
is the appropriate replacement.
Part of #138914
Commit: 8b3b0b869efa21e6fbdca8f3997168e95942498c
https://github.com/llvm/llvm-project/commit/8b3b0b869efa21e6fbdca8f3997168e95942498c
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU][SIInsertWaitcnt][NFC] Replace if/else with switch (#178956)
This is an NFC patch that replaces the consecutive ifs and else ifs in
generateWaitcntInstBefore() with a switch. This makes it a bit easier to
read.
Commit: b0d95f0c7ba1b050a982dc96e6b97ed66d66e93f
https://github.com/llvm/llvm-project/commit/b0d95f0c7ba1b050a982dc96e6b97ed66d66e93f
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
Log Message:
-----------
[VPlan] Handle Mul/UDiv in getSCEVExprForVPValue (NFCI).
Support Mul/UDiv and AND-variant (https://alive2.llvm.org/ce/z/rBJVdg)
in getSCEVExprForVPValue.
This is used in code paths when computing SCEV expressions in the
VPlan-based cost model, which should produce costs matching the legacy
cost model.
Commit: acb23124eeb0186e240ed68788571598b82f61e2
https://github.com/llvm/llvm-project/commit/acb23124eeb0186e240ed68788571598b82f61e2
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-loops-large-matrixes.ll
Log Message:
-----------
[Matrix] Update test to make sure tiled loops can be used. (NFC)
The 6x6x6 and 7x7x7 matrix multiply used previously could not
use tiled loop codegen. Update to 8x8x8 and forced tile-size of 2.
Commit: 6a18039298174562a38f28ca06d12dcbf7f14f06
https://github.com/llvm/llvm-project/commit/6a18039298174562a38f28ca06d12dcbf7f14f06
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M lld/test/ELF/aarch64-abs16.s
M lld/test/ELF/aarch64-abs32.s
M lld/test/ELF/aarch64-hi21-error.s
M lld/test/ELF/aarch64-ldprel-lo19-invalid.s
M lld/test/ELF/aarch64-lo21-error.s
M lld/test/ELF/aarch64-movw-error.s
M lld/test/ELF/aarch64-prel16.s
M lld/test/ELF/aarch64-prel32.s
M lld/test/ELF/riscv-branch.s
M lld/test/ELF/riscv-call.s
M lld/test/ELF/riscv-hi20-lo12.s
M lld/test/ELF/riscv-jal.s
M lld/test/ELF/riscv-pcrel-hilo.s
Log Message:
-----------
[ELF,test] Improve riscv and aarch64 relocation error tests
Adopt modern test patterns for relocation overflow and alignment error
tests:
* Use `rm -rf %t && mkdir %t && cd %t` pattern for isolation. Use simple
filenames (32.o, 64.o, out.32) instead of %t-prefixed names
* Use `--defsym` instead of external input files where possible
* Omit `-o /dev/null` for negative tests (implicit when errors occur)
* Add `--implicit-check-not=error:` to catch unexpected errors
Commit: 9e5deb963abec2808152b55d826333cba8ad5ab0
https://github.com/llvm/llvm-project/commit/9e5deb963abec2808152b55d826333cba8ad5ab0
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
Log Message:
-----------
[clang-tidy] Speed up `modernize-use-nullptr` (#178829)
As noted in [this
comment](https://github.com/llvm/llvm-project/pull/178149#discussion_r2732896149),
it appears that registering one `anyOf(a, b, ...)` matcher is generally
slower than registering `a, b, ...` all individually. Applying that
knowledge to this check gives us an easy 3x speedup:
```txt
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
Status quo: 0.3281 ( 6.1%) 0.0469 ( 5.2%) 0.3750 ( 6.0%) 0.3491 ( 5.5%) modernize-use-nullptr
With this change: 0.0938 ( 1.8%) 0.0156 ( 1.8%) 0.1094 ( 1.8%) 0.1260 ( 2.1%) modernize-use-nullptr
```
I'm not exactly sure *why* this works, but it seems pretty consistent.
I've seen a similar result trying this with `bugprone-infinite-loop`.
Commit: cf60af88b4d3791b5e225373e51186f4f86ad50f
https://github.com/llvm/llvm-project/commit/cf60af88b4d3791b5e225373e51186f4f86ad50f
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-debug.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
Log Message:
-----------
[AMDGPU][Scheduler] Revert all regions when remat fails to increase occ. (#177205)
When the rematerialization stage fails to increase occupancy in all
regions, the current implementation only reverts the effect of
re-scheduling in regions in which the increased occupancy target could
not be achieved. However, given that re-scheduling with a higher
occupancy target puts more pressure on the scheduler to achieve lower
maximum RP at the cost of potentially lower ILP as well, region
schedules made with higher occupancy targets are generally less
desirable if the whole function is not able to meet that target.
Therefore, if at least one region cannot reach its target, it makes
sense to revert re-scheduling in all affected regions to go back to a
schedule that was made with a lower occupancy target.
This implements such logic for the rematerialization stage, and adds a
test to showcase that re-scheduling is indeed interrupted/reverted as
soon as a re-scheduled region that does not meet the increased target
occupancy is encountered.
As a minor improvement, this also sets higher occupancy targets for
re-scheduling at the end of stage initialization in some cases. In cases
where rematerializations alone are not able to achieve the target, this
can push the scheduler to be more aggressive in reducing RP and achieve
the target.
Commit: dc152f0d2d085dcfb7542d0e71e19ebfa1aa3794
https://github.com/llvm/llvm-project/commit/dc152f0d2d085dcfb7542d0e71e19ebfa1aa3794
Author: Wenju He <wenju.he at intel.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/test/Headers/__clang_hip_math.hip
M llvm/lib/IR/Instruction.cpp
M llvm/test/Transforms/InstCombine/fold-fops-into-selects.ll
Log Message:
-----------
[IR] Add `fpmath` to keep list of dropUBImplyingAttrsAndMetadata (#179019)
`fpmath` is precision metadata rather than UB-implying metadata. This
avoids `fpmath` from being dropped in InstCombine FoldOpIntoSelect.
Commit: bb14eabaca6ac999c237dcaf295dc5307d001182
https://github.com/llvm/llvm-project/commit/bb14eabaca6ac999c237dcaf295dc5307d001182
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
Log Message:
-----------
[VPlan] Split out EVL exit cond transform from canonicalizeEVLLoops. NFC (#178181)
This is split out from #177114.
In order to make canonicalizeEVLLoops a generic "convert to variable
stepping" transform, move the code that changes the exit condition to a
separate transform since not all variable stepping loops will want to
transform the exit condition. Run it before canonicalizeEVLLoops before
VPEVLBasedIVPHIRecipe is expanded.
Also relax the assertion for VPInstruction::ExplicitVectorLength to just
bail instead, since eventually VPEVLBasedIVPHIRecipe will be used by
other loops that aren't EVL tail folded.
Commit: 496d871ff32b0d1db0f145bca8fa9fe7c0e550b7
https://github.com/llvm/llvm-project/commit/496d871ff32b0d1db0f145bca8fa9fe7c0e550b7
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
Log Message:
-----------
[mlir][Python] fix liveContextMap under free-threading after #178529 (#179163)
#178529 introduced a small bug under free-threading by bumping a
reference count (or something like that) when accessing the operand list
passed to `build_generic`. This PR fixes that.
Commit: ec6a219fc3627eebdbfbb934230aa843a823aee0
https://github.com/llvm/llvm-project/commit/ec6a219fc3627eebdbfbb934230aa843a823aee0
Author: Lang Hames <lhames at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M orc-rt/lib/executor/Session.cpp
Log Message:
-----------
[orc-rt] Prefer std::scoped_lock to std::lock_guard. NFCI. (#179165)
Commit: 85545d4c84af7801067be627f0852e4131f5a96d
https://github.com/llvm/llvm-project/commit/85545d4c84af7801067be627f0852e4131f5a96d
Author: Anshul Nigham <nigham at google.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/MachineDominanceFrontier.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/MachineDominanceFrontier.cpp
M llvm/lib/CodeGen/MachineRegionInfo.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp
M llvm/lib/Target/Hexagon/HexagonRDFOpt.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
M llvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
M llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp
Log Message:
-----------
[NewPM] Port MachineDominanceFrontierAnalysis (#177709)
Commit: 448595d4cb04dc82f57263240c0e4d25972fc241
https://github.com/llvm/llvm-project/commit/448595d4cb04dc82f57263240c0e4d25972fc241
Author: Lang Hames <lhames at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M orc-rt/include/orc-rt/Session.h
M orc-rt/lib/executor/Session.cpp
Log Message:
-----------
[orc-rt] Use future rather than condition_variable for shutdown wait. (#179169)
Session::waitForShutdown is a convenience wrapper around the
asynchronous Session::shutdown call. The previous
Session::waitForShutdown call waited on a std::condition_variable to
signal the end of shutdown, but it's easier to just embed a std::promise
in a callback to the asynchronous shutdown method.
Commit: 1a23bca645dcf09bb8d9fba9440459f421b28880
https://github.com/llvm/llvm-project/commit/1a23bca645dcf09bb8d9fba9440459f421b28880
Author: Laxman Sole <lsole at nvidia.com>
Date: 2026-02-01 (Sun, 01 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
M llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/Target/NVPTX/CMakeLists.txt
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
A llvm/lib/Target/NVPTX/NVPTXDwarfDebug.cpp
A llvm/lib/Target/NVPTX/NVPTXDwarfDebug.h
A llvm/test/DebugInfo/NVPTX/inlinedAt_1.ll
A llvm/test/DebugInfo/NVPTX/inlinedAt_2.mir
A llvm/test/DebugInfo/NVPTX/inlinedAt_3.ll
A llvm/test/DebugInfo/NVPTX/inlinedAt_4.ll
A llvm/test/DebugInfo/NVPTX/inlinedAt_5.ll
A llvm/test/DebugInfo/NVPTX/inlinedAt_6.ll
A llvm/test/DebugInfo/NVPTX/inlinedAt_7.ll
Log Message:
-----------
[DebugInfo][NVPTX] Adding support for `inlined_at` debug directive in NVPTX backend (#170239)
This change adds support for emitting the enhanced PTX debugging
directives `function_name` and `inlined_at` as part of the `.loc`
directive in the NVPTX backend.
`.loc` syntax -
>.loc file_index line_number column_position
`.loc` syntax with `inlined_at` attribute -
>.loc file_index line_number column_position,function_name label {+
immediate }, inlined_at file_index2 line_number2 column_position2
`inlined_at` attribute specified as part of the `.loc` directive
indicates PTX instructions that are generated from a function that got
inlined. It specifies the source location at which the specified
function is inlined. `file_index2`, `line_number2`, and
`column_position2` specify the location at which the function is
inlined.
The `function_name` attribute specifies an offset in the DWARF section-
`.debug_str`. Offset is specified as a label expression or a label +
immediate expression, where label is defined in the `.debug_str`
section. DWARF section `.debug_str` contains ASCII null-terminated
strings that specify the name of the function that is inlined.
These attributes were introduced in PTX ISA version 7.2 (see NVIDIA’s
documentation:
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#debugging-directives-loc
).
To support these features, the PR introduces a new `NVPTXDwarfDebug`
class derived from `DwarfDebug`, which implements NVPTX-specific logic
for emitting these directives. The base DwarfDebug infrastructure is
extended with new virtual functions (`initializeTargetDebugInfo()` and
`recordTargetSourceLine()`) that enable the NVPTX backend to generate
this additional debug information.
The MC layer is also updated to emit the NVPTX-specific `.loc`
attributes (function_name and inlined_at). The implementation applies to
PTX ISA 7.2 and later when the debug-info emission kind is either
lineTableOnly or DebugDirectiveOnly. A new command-line option,
`--line-info-inlined-at=<true/false>`, is added to control whether the
inlined_at attribute is generated.
Note - The `NVCC` compiler already emits the `.loc` directive with
`inlined_at` when compiled with `-lineinfo` option.
Commit: 2d3ff80f29c0d9533188112f901b77cf7e9d6326
https://github.com/llvm/llvm-project/commit/2d3ff80f29c0d9533188112f901b77cf7e9d6326
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/NVPTX/BUILD.gn
Log Message:
-----------
[gn build] Port 1a23bca645dc
Commit: 013b345af992f66d5ecfd168844ebfc6956ccae0
https://github.com/llvm/llvm-project/commit/013b345af992f66d5ecfd168844ebfc6956ccae0
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaType.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/Modules/demote-var-def.cpp
A clang/test/Modules/pr149404-02.cppm
A clang/test/Modules/pr172241.cppm
A clang/test/Modules/var-inst-def.cppm
Log Message:
-----------
[Serialization] Stop demote var definition as declaration (#172430) (#177117)
Close https://github.com/llvm/llvm-project/issues/172241
Close https://github.com/llvm/llvm-project/issues/64034
Close https://github.com/llvm/llvm-project/issues/149404
Close https://github.com/llvm/llvm-project/issues/174858
After this patch, we (the clang dev) no longer assumes there are at most
one definition in a redeclaration chain.
See
https://discourse.llvm.org/t/rfc-clang-not-assuming-there-is-at-most-one-definition-in-a-redeclaration-chain/89360
for details.
---
Update since last commit:
Previously I remove the code to update visibility accidently. This is
the root cause of the failure.
Commit: 1e33b736ff3888b04206acb9fbd9f6623c0723aa
https://github.com/llvm/llvm-project/commit/1e33b736ff3888b04206acb9fbd9f6623c0723aa
Author: Matthias Springer <me at m-sp.org>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/SCF/IR/SCF.h
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
M mlir/include/mlir/Dialect/UB/IR/UBOps.h
M mlir/include/mlir/Interfaces/CMakeLists.txt
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.h
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
A mlir/include/mlir/Interfaces/ExecutionProgressOpInterface.h
A mlir/include/mlir/Interfaces/ExecutionProgressOpInterface.td
M mlir/lib/Dialect/SCF/IR/CMakeLists.txt
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/Transforms/ForToWhile.cpp
M mlir/lib/Dialect/UB/IR/CMakeLists.txt
M mlir/lib/Dialect/UB/IR/UBOps.cpp
M mlir/lib/Interfaces/CMakeLists.txt
M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
A mlir/lib/Interfaces/ExecutionProgressOpInterface.cpp
M mlir/test/CAPI/ir.c
M mlir/test/Dialect/SCF/canonicalize.mlir
M mlir/test/Dialect/SCF/ops.mlir
Log Message:
-----------
[mlir][Interfaces] Add `ExecutionProgressOpInterface` + folding pattern (#179039)
Add the `ExecutionProgressOpInterface` with an interface method to check
if an operation "must progress". Add `mustProgress` attributes to
`scf.for` and `scf.while` (default value is "true").
`mustProgress` corresponds to the [`llvm.loop.mustprogress`
metadata](https://llvm.org/docs/LangRef.html#langref-llvm-loop-mustprogress).
Also add a canonicalization pattern to erase `RegionBranchOpInterface`
ops that must progress but loop infinitely (and are non-side-effecting).
This canonicalization pattern is enabled for `scf.for` and `scf.while`.
RFC: https://discourse.llvm.org/t/infinite-loops-and-dead-code/89530
Commit: 48c664b85f8fb043bc113ed0684e156e0f30f1bd
https://github.com/llvm/llvm-project/commit/48c664b85f8fb043bc113ed0684e156e0f30f1bd
Author: Matthias Springer <me at m-sp.org>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/lib/Dialect/UB/IR/CMakeLists.txt
Log Message:
-----------
[mlir] Fix build after #179039 (#179180)
Fix build after #179039.
Commit: b83160b9448bfa60f3230e2ee45c8dfffaaff402
https://github.com/llvm/llvm-project/commit/b83160b9448bfa60f3230e2ee45c8dfffaaff402
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
Log Message:
-----------
AMDGPU: Use extractBitsAsZExtValue to get exponent in trig_preop folding (#179024)
Commit: 136bbde262cde020cbae3c63d4cae2a996a9d535
https://github.com/llvm/llvm-project/commit/136bbde262cde020cbae3c63d4cae2a996a9d535
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/State.cpp
M clang/lib/AST/ByteCode/State.h
M clang/lib/AST/ExprConstant.cpp
Log Message:
-----------
[clang][ExprConst] Move shared `EvalInfo` state into `interp::State` (#177738)
Instead of having `InterpState` call into its parent `EvalInfo`, just
save the state in `interp::State`, where both subclasses can access it.
Commit: b4797d4c03b6efb624b8b3ba17a13a8c40b31d75
https://github.com/llvm/llvm-project/commit/b4797d4c03b6efb624b8b3ba17a13a8c40b31d75
Author: SiliconA-Z <gfunni234 at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/ucmp.ll
Log Message:
-----------
[PowerPC] Fix miscompilation when using 32-bit ucmp on 64-bit PowerPC (#178979)
I forgot that you need to clear the upper 32 bits for the carry flag to
work properly on ppc64 or else there will be garbage and possibly
incorrect results.
Fixes: https://github.com/llvm/llvm-project/issues/179119
I do not have merge permissions.
Commit: a667526e7f2d49abbb60036021111f359e424a1c
https://github.com/llvm/llvm-project/commit/a667526e7f2d49abbb60036021111f359e424a1c
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/MachineFunctionPass.cpp
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
Log Message:
-----------
[MachineFunctionPass] Preserve more IR analyses (#178871)
Preserve, PDT, BPI, LazyBPI and LazyBFI. These are all IR analysis that
are not invalidated by machine passes.
This partially mitigates the compile-time regression from
https://github.com/llvm/llvm-project/pull/174746.
Commit: 8d0830e344c2f537ac70499a92d26ccd7568f385
https://github.com/llvm/llvm-project/commit/8d0830e344c2f537ac70499a92d26ccd7568f385
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/include/llvm/Analysis/LoopCacheAnalysis.h
M llvm/lib/Analysis/LoopCacheAnalysis.cpp
Log Message:
-----------
[LoopCacheAnalysis] Remove tryDelinearizeFixedSize (NFCI) (#177552)
LoopCacheAnalysis has its own function `tryDelinearizeFixedSize`, which
is a wrapper of Delinearization. Due to recent changes in
Delinearization, this function has become almost equivalent to
`delinearizeFixedSizeArray` and is no longer necessary. This patch
removes it.
Commit: 80662c1de160c94e93086f8337255e219752468c
https://github.com/llvm/llvm-project/commit/80662c1de160c94e93086f8337255e219752468c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/fract-match.ll
Log Message:
-----------
AMDGPU: Use SimplifyQuery in AMDGPUCodeGenPrepare (#179133)
Enables assumes in more contexts. Of particular interest is the
nan check for the fract pattern.
The device libs f32 and s64 sin implementations have a range check,
and inside the large path this pattern appears. After a small patch
to invert this check to send nans down the small path, this will
enable the fold unconditionally on the large path.
Commit: 0321f3eeee5cceddc2541046ee155863f5f59585
https://github.com/llvm/llvm-project/commit/0321f3eeee5cceddc2541046ee155863f5f59585
Author: David Green <david.green at arm.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/opt-fold-xor-tbz-tbnz.mir
M llvm/test/CodeGen/AArch64/GlobalISel/widen-narrow-tbz-tbnz.mir
M llvm/test/CodeGen/AArch64/aarch64-tbz.ll
Log Message:
-----------
[AArch64][GlobalISel] Do no skip zext in getTestBitReg. (#177991)
We can, when attempting to lower to tbz, skip a zext that is then not
accounted for elsewhere. The attached test ends up with a tbz from an
extract that then does not properly zext the value extracted from the
vector. This patch fixes that by only looking through a G_ZEXT if the
bit checked is in the low part of the value, lining up the code with the
comment.
Fixes #173895
Commit: f9423ed07c7a6839aa58bf010f0278f959948c99
https://github.com/llvm/llvm-project/commit/f9423ed07c7a6839aa58bf010f0278f959948c99
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/test/Interfaces/DataLayoutInterfaces/query.mlir
Log Message:
-----------
[mlir] Fix alignment for predicate (i1) vectors (#175975)
Legal scalable predicate vectors (legal in the LLVM sense), e.g.
`vector<[16]xi1>` (or `<vscale x 16 x i1>`, using LLVM syntax) ought to
have alignment **2** rather than **16**, see e.g. [1].
MLIR currently computes the vector “size in bits” as:
```cpp
vecType.getNumElements()
* dataLayout.getTypeSize(vecType.getElementType()) * 8
```
but `getTypeSize()` returns a size in *bytes* (rounded up from bits), so
for `i1` it returns 1. Multiplying by 8 converts that storage byte back to 8
bits per element, which overestimates predicate vector sizes.
Instead, use:
```cpp
vecType.getNumElements()
* dataLayout.getTypeSizeInBits(vecType.getElementType())
```
For `vector<[16]xi1>` this changes:
* [before]: `alignment = 16 * (1 byte * 8) (i.e. `128 bits`),
to:
* [after]: `alignment = 16 * 1 bit` (i.e. `16 bits`).
This is a very small update that, based on the available tests, only
affects types like `vector<[16]xi1>`. It aligns MLIR with LLVM, making
sure that the corresponding alignment is 2 rather that 16. For context,
LLVM computes the alignment in this case via `getTypeStoreSize`, which
for `16 x i1` returns 2 bytes. Perhaps MLIR should follow similar path
in the future.
[1] https://developer.arm.com/documentation/ddi0602/2025-12/SVE-Instructions/LDR--predicate---Load-predicate-register-?lang=en
Commit: a372152cb5da2455009edb3c3a6b83d824932ee6
https://github.com/llvm/llvm-project/commit/a372152cb5da2455009edb3c3a6b83d824932ee6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
Log Message:
-----------
[DAG] visitVECTOR_SHUFFLE - ensure correct resno when folding shuffle(bop(shuffle(x,y),shuffle(z,w)) (#179124)
TLI.isBinOp recognises some opcodes that have multiple results,
including UADDO etc.
In most cases we currently just bail if a binop has multiple results,
but shuffle combining was missing the check and its pretty trivial to
add handling in this case.
I've added add/sub-overflow opcodes to verifyNode to help catch these
cases in the future - IIRC there was a plan to autogen these, but there
isn't anything at the moment.
Fixes #179112
Commit: 5a221c39b6ef2e025ec7207c6820d5bae0ae1fef
https://github.com/llvm/llvm-project/commit/5a221c39b6ef2e025ec7207c6820d5bae0ae1fef
Author: Jack Frankland <jack.frankland at arm.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
Log Message:
-----------
[mlir][memref]: Fold ExpandShape into TransferRead (#176786)
Add support for folding `memref.expand_shape` ops into
`vector.transfer_read` ops when the permutation map is a
non-minor-identity.
In the case that the permutation map indexes into expanded dimensions
that would be contiguous within the original source shape then it is
safe to make this transformation.
Signed-off-by: Jack Frankland <jack.frankland at arm.com>
Commit: 3377756a5b7e9e8946e17bc0ec568b9b9e759836
https://github.com/llvm/llvm-project/commit/3377756a5b7e9e8946e17bc0ec568b9b9e759836
Author: Abhiram Jampani <126624416+Abhiramjampani at users.noreply.github.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/is_fpclass-fp80.ll
Log Message:
-----------
[X86] checkSignTestSetCCCombine - handle SIGN_EXTEND_INREG/SHL patterns inside CMP(X,0) (#178710)
Handle SIGN_EXTEND_INREG and SHL patterns inside CMP(X,0) cases in checkSignTestSetCCCombine.
Fixes #178246
Commit: 23f9e42480de68459a35084c09ff080879399641
https://github.com/llvm/llvm-project/commit/23f9e42480de68459a35084c09ff080879399641
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
Log Message:
-----------
[AArch64] Support SHUFFLE of ANY_EXTEND in performBuildShuffleExtendCombine (#178408)
Currently performBuildShuffleExtendCombine only supports ANY_EXTEND
operands for BUILD_VECTOR inputs, and will bail if it encounters a
VECTOR_SHUFFLE with ANY_EXTEND operands. Update the logic so that we
support shuffles with ANY_EXTEND operands, which brings the code in line
with the comment.
Commit: 485e69bc527ada2eda59c243f2cbdca8045634c8
https://github.com/llvm/llvm-project/commit/485e69bc527ada2eda59c243f2cbdca8045634c8
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/test/Preprocessor/embed_dependencies.c
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
Log Message:
-----------
[clang] Fix dependency output for #embed (#178001)
When requesting FileEntryRef for embedded file, make sure to not use an
absolute path. Instead, create a proper relative path if we're looking
for a file from current file.
Fixes https://github.com/llvm/llvm-project/issues/161950
Commit: 2f3935bcee6eaf7df8c85a21b7c0fbef967316b5
https://github.com/llvm/llvm-project/commit/2f3935bcee6eaf7df8c85a21b7c0fbef967316b5
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/include/clang/Options/Options.td
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/test/Driver/cl-x86-flags.c
M clang/test/Driver/x86-target-features.c
M llvm/lib/Target/X86/X86Subtarget.cpp
M llvm/lib/TargetParser/Host.cpp
M llvm/test/CodeGen/X86/apx/push2-pop2-cfi-seh.ll
Log Message:
-----------
[X86][APX] Disable PP2/PPX generation on Windows (#178122)
The PUSH2/POP2/PPX instructions for APX require updates to the Microsoft
Windows OS x64 calling convention documented at
https://learn.microsoft.com/en-us/cpp/build/exception-handling-x64?view=msvc-170
due to lack of suitable unwinder opcodes that can support APX
PUSH2/POP2/PPX.
The PR request disables this support by default for code robustness;
workloads that choose to explicitly enable this support can change the
default behavior by explicitly specifying the flag options that enable
this support e.g. for experimentation or code paths that do not need
unwinder support.
Commit: f288f463ad0e7bb9c48198a2bbc2f8b979b986cf
https://github.com/llvm/llvm-project/commit/f288f463ad0e7bb9c48198a2bbc2f8b979b986cf
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/166563.mir
Log Message:
-----------
[AArch64][GlobalISel] Constrain G_CONSTANT_FOLD_BARRIER operand register classes (#177997)
[AArch64][GlobalISel] Constrain G_CONSTANT_FOLD_BARRIER operand
Instruction selection is lowering:
bb.1:
%6:gpr(s64) = G_CONSTANT i64 457873110
...
bb.2:
%12:gpr(s64) = G_CONSTANT_FOLD_BARRIER %6
%24:gpr(s64) = G_CONSTANT i64 0
%13:gpr(s64) = G_AND %24, %12
...
to:
%13:gpr64 = ANDXrr %24:gpr64, %6:gpr64sp'
which is causing the verifier to fail with:
Expected a GPR64 register, but got a GPR64sp register
the reason for this is there are multiple G_CONSTANT_FOLD_BARRIER ops
with the same input register:
Select: %14:gpr64sp(s64) = G_CONSTANT_FOLD_BARRIER %6:gpr
Erasing: %14:gpr64sp(s64) = G_CONSTANT_FOLD_BARRIER %6:gpr64sp
--
Select: %12:gpr64(s64) = G_CONSTANT_FOLD_BARRIER %6:gpr64sp
Erasing: %12:gpr64(s64) = G_CONSTANT_FOLD_BARRIER %6:gpr64
--
Select: %7:gpr64sp(s64) = G_CONSTANT_FOLD_BARRIER %6:gpr64
Erasing: %7:gpr64sp(s64) = G
and the middle one used by the AND gets overridden by last and becomes
invalid.
this patch fixes this by constraining the register class such that the
middle one gets constrained to the subset of gpr64sp and gpr64, i.e.
gpr64common:
Select: %14:gpr64sp(s64) = G_CONSTANT_FOLD_BARRIER %6:gpr
Erasing: %14:gpr64sp(s64) = G_CONSTANT_FOLD_BARRIER %6:gpr64sp
--
Select: %12:gpr64(s64) = G_CONSTANT_FOLD_BARRIER %6:gpr64sp
Erasing: %12:gpr64(s64) = G_CONSTANT_FOLD_BARRIER %6:gpr64common
--
Select: %7:gpr64sp(s64) = G_CONSTANT_FOLD_BARRIER %6:gpr64common
Erasing: %7:gpr64sp(s64) = G_CONSTANT_FOLD_BARRIER %6:gpr64common
canReplaceReg doesnt handle when both regs already have classes so the
assert is removed.
Fixes #166563.
Commit: f84c3672c3e79e38ca341d8a7ac0bdf5f9a62585
https://github.com/llvm/llvm-project/commit/f84c3672c3e79e38ca341d8a7ac0bdf5f9a62585
Author: Jorn Tuyls <jorn.tuyls at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/include/mlir/Transforms/RegionUtils.h
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/test/Transforms/move-operation-deps.mlir
Log Message:
-----------
[mlir] Extend moveValueDefinitions/moveOperationDependencies with cross-region support (#176343)
Extends `moveValueDefinitions` and `moveOperationDependencies` to
support moving operations across basic blocks and out of nested regions
Commit: f4a8f303da85b8b1299498c3c3fb14ec29bca343
https://github.com/llvm/llvm-project/commit/f4a8f303da85b8b1299498c3c3fb14ec29bca343
Author: Sergio Afonso <safonsof at amd.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/CodeExtractor.h
Log Message:
-----------
[CodeExtractor] Format CodeExtractor header, NFC (#178662)
This patch applies clang-format to the CodeExtractor header and updates
usage of the LLVM_ABI macro to prevent unrelated patches touching this
file from having to make these changes in order to pass pre-merge
checks.
Commit: 9d5a42c8411b22fdcfb80dbbda4d68d6aa957328
https://github.com/llvm/llvm-project/commit/9d5a42c8411b22fdcfb80dbbda4d68d6aa957328
Author: Mahesh-Attarde <mahesh.attarde at intel.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/CMakeLists.txt
A llvm/lib/Target/X86/GISel/X86PostLegalizerCombiner.cpp
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86Combine.td
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/test/CodeGen/X86/GlobalISel/add-ext.ll
M llvm/test/CodeGen/X86/GlobalISel/regbankselect-x87.ll
M llvm/test/CodeGen/X86/exp10-libcall-names.ll
M llvm/test/CodeGen/X86/finite-libcalls.ll
M llvm/test/CodeGen/X86/isel-ceil.ll
M llvm/test/CodeGen/X86/isel-floor.ll
M llvm/test/CodeGen/X86/isel-fpclass.ll
M llvm/test/CodeGen/X86/isel-ftrunc.ll
M llvm/test/CodeGen/X86/isel-icmp.ll
M llvm/test/CodeGen/X86/isel-llvm.acos.ll
M llvm/test/CodeGen/X86/isel-llvm.asin.ll
M llvm/test/CodeGen/X86/isel-llvm.atan.ll
M llvm/test/CodeGen/X86/isel-llvm.atan2.ll
M llvm/test/CodeGen/X86/isel-llvm.cos.ll
M llvm/test/CodeGen/X86/isel-llvm.cosh.ll
M llvm/test/CodeGen/X86/isel-llvm.set.rounding.ll
M llvm/test/CodeGen/X86/isel-llvm.sin.ll
M llvm/test/CodeGen/X86/isel-llvm.sinh.ll
M llvm/test/CodeGen/X86/isel-llvm.tan.ll
M llvm/test/CodeGen/X86/isel-llvm.tanh.ll
M llvm/test/CodeGen/X86/isel-or.ll
M llvm/test/CodeGen/X86/isel-xor.ll
M llvm/test/CodeGen/X86/llround-conv.ll
M llvm/test/CodeGen/X86/lround-conv-i32.ll
M llvm/test/CodeGen/X86/lround-conv-i64.ll
M llvm/test/CodeGen/X86/powi.ll
Log Message:
-----------
[X86][GISEL] Enable PostLegalize Combiner (#174696)
This patch adds post legalize combiner for X86 Target.
Use case for OptNone Combine: I am curious about OptNone usecase,
specifically when we are using -On on command line and no opt on
specific function.
Commit: fd1e37b6530ec5b7b12bcb7c379fb297e001f6ee
https://github.com/llvm/llvm-project/commit/fd1e37b6530ec5b7b12bcb7c379fb297e001f6ee
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/Target/AArch64/SMEABIPass.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
Log Message:
-----------
[IR] Remove Before argument from splitBlock APIs (NFC) (#179195)
We never need to use this conditionally (and it doesn't really make
sense, as the behavior is substantially different). Force the use of
separate APIs instead of a boolean argument.
Commit: aee5fa1f0c89ac68a2a2eeda7c5900d0a4508fd4
https://github.com/llvm/llvm-project/commit/aee5fa1f0c89ac68a2a2eeda7c5900d0a4508fd4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseStructuredBindingCheck.cpp
Log Message:
-----------
UseStructuredBindingCheck.cpp - fix MSVC "not all control paths return a value" warning. NFC. (#179206)
Commit: 8e18cdcb151eacfc23b28f9fa70458f57430a178
https://github.com/llvm/llvm-project/commit/8e18cdcb151eacfc23b28f9fa70458f57430a178
Author: Arun Thangamani <arun.thangamani at intel.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/X86Vector/X86Vector.td
M mlir/lib/Dialect/X86Vector/Transforms/VectorContractToPackedTypeDotProduct.cpp
M mlir/test/Dialect/X86Vector/legalize-for-llvm.mlir
M mlir/test/Dialect/X86Vector/roundtrip.mlir
M mlir/test/Dialect/X86Vector/vector-contract-to-packed-type-dotproduct.mlir
M mlir/test/Target/LLVMIR/x86vector.mlir
Log Message:
-----------
[mlir][x86vector] AVX10 I8 Dot Op (#178807)
Adds AVX10 i8 dot-product operation and defines lowering to LLVM
intrinsics.
Target assembly instruction: `llvm.x86.avx10.vpdpbssd.512`
Commit: fc6ad39044f89a6e472c4c58dede1a55d8421162
https://github.com/llvm/llvm-project/commit/fc6ad39044f89a6e472c4c58dede1a55d8421162
Author: Bertik23 <39457484+Bertik23 at users.noreply.github.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/include/llvm/AsmParser/AsmParserContext.h
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/lib/AsmParser/AsmParserContext.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/unittests/AsmParser/AsmParserTest.cpp
Log Message:
-----------
[AsmParser] Track value references and function arguments (#174566)
This PR is part of the LLVM IR LSP server project:
https://discourse.llvm.org/t/rfc-ir-visualization-with-vs-code-extension-using-an-lsp-server/87773
To be able to implement goto definition in LSP. One must first have to
know what values are referenced on what positions.
This PR implements a Location -> Value* map that allows looking up
values referenced on queried locations.
For example
```llvm
%inst = add i32 1, %arg
```
Querying on 0:20 (the location of %arg) would return the Value* of the
`%arg`.
`getInstuctionLocation(%arg)` would still return the definition of that
value
Tracking for function arguments was also added in the same fashion a
function/instruction/basic block location tracking.
The tests were also updated to test the new features a bit.
Commit: 9e97f0b3d0837cca0f9d822f98be119b14d504fd
https://github.com/llvm/llvm-project/commit/9e97f0b3d0837cca0f9d822f98be119b14d504fd
Author: Manuel Carrasco <Manuel.Carrasco at amd.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
A llvm/test/CodeGen/SPIRV/event-zero-const-64.ll
M llvm/test/CodeGen/SPIRV/event-zero-const.ll
A llvm/test/CodeGen/SPIRV/transcoding/OpGroupAsyncCopy-strided-64.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpGroupAsyncCopy-strided.ll
A llvm/test/CodeGen/SPIRV/transcoding/spirv-event-null-64.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-event-null.ll
Log Message:
-----------
[SPIRV] Split async copy tests and fix invalid tests (#178718)
Some tests started failing recently because `spirv-val` now considers
their output invalid. This is likely due to an update in `spirv-val`.
I'm not familiar with what the tests are doing but here is my attempt to
fix them. At the LLVM-IR level, tests had for example incorrect
`addresspace` for certain arguments. To fix them, I used as a reference
some of the tests in the SPIRV-LLVM translator. The goal of the PR is
just to fix the tests in case they had incorrect IR.
Commit: 93418b45a302ffdbf2db885766d9ea850f3d52d3
https://github.com/llvm/llvm-project/commit/93418b45a302ffdbf2db885766d9ea850f3d52d3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/include/clang/AST/HLSLResource.h
Log Message:
-----------
HLSLResource.h - fix MSVC "not all control paths return a value" warning. NFC. (#179203)
Commit: a37a67dc9934dde39fe8a3fe171acb15951becf3
https://github.com/llvm/llvm-project/commit/a37a67dc9934dde39fe8a3fe171acb15951becf3
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/test/AST/ByteCode/floats.cpp
Log Message:
-----------
[clang][bytecode][NFC] Clean up floats.cpp test (#179200)
Use the `both` verify prefix like we do in other tests these days.
Commit: 1bc655f52b3de9cfbff6e6febad974fe36a6becf
https://github.com/llvm/llvm-project/commit/1bc655f52b3de9cfbff6e6febad974fe36a6becf
Author: David Green <david.green at arm.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/test/CodeGen/ARM/cls.ll
Log Message:
-----------
[ARM] Expand and regenerate llvm/test/CodeGen/ARM/cls.ll. NFC
Commit: 9dc6b4904a3caf98d3ebac4b1de833c82655b280
https://github.com/llvm/llvm-project/commit/9dc6b4904a3caf98d3ebac4b1de833c82655b280
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
A llvm/test/CodeGen/AMDGPU/machine-scheduler-rematerialization-scoring.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-debug.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
M llvm/test/CodeGen/AMDGPU/mfma-loop.ll
M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_copies.mir
M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_cost.mir
Log Message:
-----------
Re-apply "[AMDGPU][Scheduler] Scoring system for rematerializations (#175050)" (#177206)
This re-applies commit f21e3593371c049380f056a539a1601a843df558 along
with the compile fix failure introduced in
8ab79377740789f6a34fc6f04ee321a39ab73724 before the initial patch was
reverted. It also fixes for the previously observed assert failure.
We were hitting the assert in the HIP Blender due to a combination of
two issues that could happen when rematerializations are being rolled
back.
1. Small changes in slots indices (while preserving instruction order)
compared to the pre-re-scheduling state means that we have to re-compute
live ranges for all register operands of rolled back rematerializations.
This was not being done before.
2. Re-scheduling can move registers that were rematerialized at
arbitrary positions in their respective regions while their opcode is
set to DBG_VALUE, even before their read operands are defined. This
makes re-scheduling reverts mandatory before rolling back
rematerializations, as otherwise def-use chains may be broken. The
original patch did not guarantee that, but previous refactoring of the
rollback/revert logic for the rematerialization stage now ensures that
reverts always precede rollbacks.
Commit: 371b9bded2d5a09de1fe1bc2600a1b8402b53de7
https://github.com/llvm/llvm-project/commit/371b9bded2d5a09de1fe1bc2600a1b8402b53de7
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port 1e33b736ff3888b04206acb9fbd9f6623c0723aa (#179216)
Commit: 2edd2ee584eb49e88f64f08496289180f678923b
https://github.com/llvm/llvm-project/commit/2edd2ee584eb49e88f64f08496289180f678923b
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port 9d5a42c8411b22fdcfb80dbbda4d68d6aa957328 (#179218)
Commit: d3687732492c955e02b4d6b691c369a82255e38c
https://github.com/llvm/llvm-project/commit/d3687732492c955e02b4d6b691c369a82255e38c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpHelpers.h
M clang/lib/AST/ExprConstant.cpp
A clang/test/AST/ByteCode/builtin-object-size-codegen.c
A clang/test/AST/ByteCode/object-size-flex-array.c
M clang/test/Sema/format-strings-nonnull.c
Log Message:
-----------
[clang][bytecode] Use in Expr::tryEvaluateObjectSize() (#179197)
This is like https://github.com/llvm/llvm-project/pull/179033, which
broke a few builders for reasons I still don't really understand. I ran
the other clang tests and this version fixes a few of the introduced
regressions.
This still regresses `CodeGen/pass-object-size.c`, but that's a
pre-existing issue.
Patch is of coursed based on #179033 by @mariusdr.
Commit: c0c9682fe151f165d3047e132fdc4f10237a9687
https://github.com/llvm/llvm-project/commit/c0c9682fe151f165d3047e132fdc4f10237a9687
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
Move Dmitri Gribenko to the inactive maintainers list (#176964)
While reaching out to folks for a maintainers list refresh, Dmitri asked
to step down due to other commitments. Thank you for all your help!
Commit: 1daef5927ff0e43b92d615380a8d60f213cc5e52
https://github.com/llvm/llvm-project/commit/1daef5927ff0e43b92d615380a8d60f213cc5e52
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_float_controls2/exec_mode3.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_NV_shader_atomic_fp16_vector/atomicrmw_faddfsub_vec_float16.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_NV_shader_atomic_fp16_vector/atomicrmw_fminfmax_vec_float16.ll
M llvm/test/CodeGen/SPIRV/pointers/fun-with-aggregate-arg-in-const-init.ll
Log Message:
-----------
[SPIRV] Emit intrinsics for globals only in function that references them (#178143)
In the SPIRV backend, the `SPIRVEmitIntrinscs::processGlobalValue`
function adds intrinsic calls for every global variable of the module,
on every function.
These intrinsics are used to keep track of global variables, their types
and initializers.
In SPIRV everything is an instruction (even globals/constants). We
currently represent these global entities as individual instructions on
every function. Later, the `SPIRVModuleAnalysis` collects these entities
and maps function _local_ registers to _global_ registers. The
`SPIRVAsmPrinter` is in charge of mapping back the _local_ registers to
the appropriate _global_ register.
These instructions associated with global entities on functions that do
not reference them leads to a bloated intermediate representation and
high memory consumption (as it happened in
https://github.com/llvm/llvm-project/issues/170339).
Consider this example:
```cpp
int A[1024] = { 0, 1, 2, ..., 1023 };
int get_a(int i) {
return A[i];
}
void say_hi() {
puts("hi!\n");
}
```
Although, `say_hi` does not reference `A`; we would generate machine
instructions for the declaration of `A`, for the constant array that
initializes it, and for the 1024 constant elements of `A`.
This patch doesn't fix the underlying issue, but it mitigates it by only
emitting global-variable SPIRV intrinsics on the functions that use it.
If the global is not referenced by any function, we just pick the first
function definition.
With this patch, the example in
https://github.com/llvm/llvm-project/issues/170339 drops from ~33Gb of
maximum resident set size to less than ~590Mb. And compile time goes
from 2:09min to ~5secs.
The changes in the tests are due to changes in the order in which the
instructions appear.
In `fun-with-aggregate-arg-in-const-init.ll` 2 duplicated
`OpConstantComposite` are emitted anymore.
Commit: 195a6d0a05a743b8328faa8c7b20abb792bd8b30
https://github.com/llvm/llvm-project/commit/195a6d0a05a743b8328faa8c7b20abb792bd8b30
Author: Weibo He <NewSigma at 163.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
A llvm/test/Transforms/Coroutines/coro-cleanup-noop-elide.ll
R llvm/test/Transforms/Coroutines/coro-cleanup-noop-erase.ll
Log Message:
-----------
[CoroCleanup] Noop coroutine elision for load-and-call pattern (#179154)
We assume that the resume/destroy functions of coroutines follow the
`fastcc` convention. If the convention mismatches, `InstCombine` would
remove the function call. Specifically for the noop coroutine, the
following code gives an inconsistent result between -O0 and -O1. This
patch proposes that we carry out elision for this pattern.
``` C++
void load_and_call() {
using Fn = void (*)(void *);
void *frame = __builtin_coro_noop();
Fn x = *reinterpret_cast<Fn *>(frame);
x(frame);
__builtin_printf("1\n");
}
```
Commit: fcc4231ac52b47538df2e8e294ed35f415656973
https://github.com/llvm/llvm-project/commit/fcc4231ac52b47538df2e8e294ed35f415656973
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_unstructured_loop_controls/loop-unroll.ll
Log Message:
-----------
[SPIR-V] Add SPV_INTEL_unstructured_loop_controls extension (#178799)
For compute we don't run structurizer hence we won't be able to preserve
loop metadata via LoopMerge instruction. So
SPV_INTEL_unstructured_loop_controls is the only way we can preserve the
info in unstructured control flow.
Commit: cb274ea176362643ffd098b1c4fbe41ddedd6d96
https://github.com/llvm/llvm-project/commit/cb274ea176362643ffd098b1c4fbe41ddedd6d96
Author: Twice <twice at apache.org>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/python/mlir/dialects/ext.py
M mlir/test/python/dialects/ext.py
Log Message:
-----------
[MLIR][Python] Support region in python-defined dialects (#179086)
This PR adds basic support for defining regions in Python-defined
dialects. Example usage:
```python
class TestRegion(Dialect, name="ext_region"):
pass
class IfOp(TestRegion.Operation, name="if"):
cond: Operand[IntegerType[1]]
then: Region
else_: Region
```
Current limitations:
* We can’t specify region constraints yet (e.g., number of blocks or
block argument types). This will be addressed as a follow-up task.
* We can’t mark an op as a `Terminator` or `NoTerminator` yet. This
depends on `DynamicOpTraits` (#177735) and Python-side trait API
support, and will be implemented in a follow-up PR.
This is the first PR after splitting off #179032.
This is a follow-up PR of #169045.
---------
Co-authored-by: Rolf Morel <rolfmorel at gmail.com>
Commit: 9a767dce95aeba9ad10253d86a67d7e504db5d58
https://github.com/llvm/llvm-project/commit/9a767dce95aeba9ad10253d86a67d7e504db5d58
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
M mlir/lib/Dialect/Bufferization/Transforms/DropEquivalentBufferResults.cpp
A mlir/test/Dialect/Bufferization/Transforms/drop-equivalent-buffer-results.mlir
Log Message:
-----------
[mlir][bufferization] Drop equivalent buffer results - modify public functions option (#177589)
Adds an option to allow modification of public functions to the drop
equivalent buffer results API and the respective pass.
A new standalone test for the pass is also added.
https://github.com/llvm/llvm-project/pull/163001 modified the default
behavior by disallowing rewriting public function. This PR preserves the
new behavior and only adds an opt-in flag to reenable changing public
function.
The extra flag aligns dropping equivalent function results with another
bufferization API `promoteBufferResultsToOutParams` which also allows
opt-in public function rewriting.
Commit: ecb5c19d7789778308a0f88c487ff616ff242ddd
https://github.com/llvm/llvm-project/commit/ecb5c19d7789778308a0f88c487ff616ff242ddd
Author: Zinovy Nis <zinovy.nis at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/performance/StringViewConversionsCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
M clang-tools-extra/test/clang-tidy/checkers/performance/string-view-conversions-cxx20.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/string-view-conversions.cpp
Log Message:
-----------
[clang-tidy] Temp fix for assert in performance-string-view-conversions (#179027)
I faced with assertions while analyzing Chromium code:
ParamExpr->getSourceRange() != RedundantExpr->getSourceRange()
-
https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/ui/webui/policy/policy_ui.cc;l=323
-
https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/ui/web_applications/navigation_capturing_process.cc;l=346
- etc
I was able to reproduce it in tests by adding `operator
basic_string_view<C, T>() const;` to `std::string` mock the same as real
`std::string` in STL has.
I'm trying to find a fix for the matcher to workaround this assert. WIP.
Commit: dc520ea4af0b45e39b2d8111022dfdad394e3ac6
https://github.com/llvm/llvm-project/commit/dc520ea4af0b45e39b2d8111022dfdad394e3ac6
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h
M llvm/test/CodeGen/PowerPC/milicode32.ll
M llvm/test/CodeGen/PowerPC/milicode64.ll
Log Message:
-----------
[PowerPC] using milicode call for strcmp instead of lib call (#177009)
1. AIX has "millicode" routines, which are functions loaded at boot time
into fixed addresses in kernel memory. This allows them to be customized
for the processor. The __strcmp routine is a millicode implementation;
we use millicode for the strcmp function instead of a library call to
improve performance.
Commit: 6b4a6e781c25ef912a523930cc197580454c9465
https://github.com/llvm/llvm-project/commit/6b4a6e781c25ef912a523930cc197580454c9465
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang-tools-extra/Maintainers.rst
Log Message:
-----------
Remove Kadir as clangd maintainer (#179232)
When doing the maintainer list refresh, Kadir mentioned he'd like to
become inactive due to other commitments. Thank you for all that you've
done for clangd!
Commit: a0055a9b47bb91586f606d5bc59c0ec7df1328de
https://github.com/llvm/llvm-project/commit/a0055a9b47bb91586f606d5bc59c0ec7df1328de
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
Log Message:
-----------
[mlir][spirv] Verify yielded types match result of `loop`/`selection` (#179205)
This patch extends the verifyRegion functions to ensure that values
returned by `spirv.mlir.loop` and `spirv.mlir.selection` are consistent
with values yielded with `spirv.mlir.merge` inside the region.
Commit: 4f9843b9e296f7f8ddc1ea4d2bd671790a034d6b
https://github.com/llvm/llvm-project/commit/4f9843b9e296f7f8ddc1ea4d2bd671790a034d6b
Author: Matthias Springer <me at m-sp.org>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/SCF/IR/SCF.h
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
M mlir/include/mlir/Dialect/UB/IR/UBOps.h
M mlir/include/mlir/Interfaces/CMakeLists.txt
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.h
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
R mlir/include/mlir/Interfaces/ExecutionProgressOpInterface.h
R mlir/include/mlir/Interfaces/ExecutionProgressOpInterface.td
M mlir/lib/Dialect/SCF/IR/CMakeLists.txt
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/Transforms/ForToWhile.cpp
M mlir/lib/Dialect/UB/IR/CMakeLists.txt
M mlir/lib/Dialect/UB/IR/UBOps.cpp
M mlir/lib/Interfaces/CMakeLists.txt
M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
R mlir/lib/Interfaces/ExecutionProgressOpInterface.cpp
M mlir/test/CAPI/ir.c
M mlir/test/Dialect/SCF/canonicalize.mlir
M mlir/test/Dialect/SCF/ops.mlir
Log Message:
-----------
Revert "[mlir][Interfaces] Add `ExecutionProgressOpInterface` + folding pattern (#179039)" (#179241)
This reverts commit 48c664b85f8fb043bc113ed0684e156e0f30f1bd.
This reverts commit 1e33b736ff3888b04206acb9fbd9f6623c0723aa.
Commit: 8cf99c263ef9099e58c7143de3c611190cb556ed
https://github.com/llvm/llvm-project/commit/8cf99c263ef9099e58c7143de3c611190cb556ed
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
A clang/test/CIR/CodeGen/no-builtin-attr.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceIntrin.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceMinMaxIntrin.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512fp16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlbf16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlfp16-builtins.c
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/func.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/function-attributes.ll
M mlir/test/Target/LLVMIR/Import/instructions.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[CIR] Implement lowering for 'no-builtins' attributes (#178899)
This patch adds the 'no-builtins' and 'no-builtin-XXX' attributes from
LLVM-IR to both LLVMIR-MLIR and Clang lowering. However, I've done a
slightly different implementation of them.
LLVM-IR represents them as 'no-builtins' and 'no-builtin-NAME', where
the latter can be multiple names. This is problematic for the MLIR for a
variety of reasons, most particularly is our preference for explicit
attribute (of which the latter is an infinite list). Additionally of
course, our inability to have dashes in attribute names is troublesome.
Therefore, I've lowered them instead as `nobuiltins` for both, which is
an array attribute.
IF the array attribute is empty, it is intended to mean 'all functions'
(ie, the same as `no-builtins`), else it is a list of StringAttrs that
contain the variants of `NAME`.
I considered using nobuiltins=['*'] for the 'all functions', but that
seemed like a differentiation without purpose.
Commit: fbda30607c5176f9e54ac86e75435cc57f322674
https://github.com/llvm/llvm-project/commit/fbda30607c5176f9e54ac86e75435cc57f322674
Author: DaKnig <37626476+DaKnig at users.noreply.github.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/neon-abd.ll
Log Message:
-----------
[SDAG] (abs (add nsw a, -b)) -> (abds a, b) (#175801)
This is beneficial for bv of constants.
alive2: https://alive2.llvm.org/ce/z/e3GsWZ
Commit: 70914cc246b3842ef4f46b50c03a9b1df648a5b5
https://github.com/llvm/llvm-project/commit/70914cc246b3842ef4f46b50c03a9b1df648a5b5
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp
A llvm/test/CodeGen/AMDGPU/debug-independence-scheduleRegion.ll
Log Message:
-----------
[AMDGPU] Iterative scheduling must behave the same with/without debug (#178460)
When iterative scheduling reorders instructions only update
LiveIntervals if non-debug instructions have been re-ordered. Otherwise
code-generation can change with debug info.
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 54aadcd5d150fdcf9c09f3ea3b0526309e522477
https://github.com/llvm/llvm-project/commit/54aadcd5d150fdcf9c09f3ea3b0526309e522477
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
Log Message:
-----------
[DebugInfo] Convert format() to formatv() in DWARFVerifier (#179194)
Replace all of calls of `format()` with `formatv()` in
`DWARFVerifier.cpp`. Also use `formatv()` when strings were concatenated
with `+` or streamed with `<<`.
See
[llvm/include/llvm/Support/FormatProviders.h](https://github.com/llvm/llvm-project/blob/2f3935bcee6eaf7df8c85a21b7c0fbef967316b5/llvm/include/llvm/Support/FormatProviders.h#L96-L117)
for the hexadecimal grammar. e.g. `x+` to print the `0x` prefix or `x-`
to not print it.
My motivation is to:
1. make it easier to read the format strings and
2. have less `formatv()` calls when it was used on arguments to the
format string before.
Relates to #35980
Commit: 266a45128a843c4232133507edd7d7b9d3da0ed6
https://github.com/llvm/llvm-project/commit/266a45128a843c4232133507edd7d7b9d3da0ed6
Author: Anshul Nigham <nigham at google.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/lib/Target/X86/X86PassRegistry.def
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/Target/X86/X86WinEHUnwindV2.cpp
M llvm/test/CodeGen/X86/llc-pipeline-npm.ll
M llvm/test/CodeGen/X86/win64-eh-unwindv2-errors.mir
M llvm/test/CodeGen/X86/win64-eh-unwindv2-push-pop-stack-alloc.mir
M llvm/test/CodeGen/X86/win64-eh-unwindv2-too-many-epilogs.mir
M llvm/test/CodeGen/X86/win64-eh-unwindv2-too-many-instr.mir
Log Message:
-----------
[NewPM] Port x86-wineh-unwindv2 (#179172)
Commit: a34d5653d52a82b8cfe90149ee8739d890a86b2d
https://github.com/llvm/llvm-project/commit/a34d5653d52a82b8cfe90149ee8739d890a86b2d
Author: neildhar <neildhar at users.noreply.github.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp
A mlir/test/Analysis/DataFlow/test-dead-code-analysis-func.mlir
Log Message:
-----------
[mlir][DeadCodeAnalysis] Fix predecessors when running DeadCodeAnalysis on callable (#179146)
Commit: c23c6b1940706f894d6fb111c1d8e54c6746841a
https://github.com/llvm/llvm-project/commit/c23c6b1940706f894d6fb111c1d8e54c6746841a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M offload/CMakeLists.txt
Log Message:
-----------
[Offload] Only issue a warning for building `offload` on the GPU and return (#179240)
Summary:
Right now this will fail because the GPU architectures will attempt to
build all of `offload` with the GPU, which obviously won't work. In the
future we will proably have some utility library that we will route
through this, but for now just silently return. This is useful because
the documentation states to use this, but it doesn't work right now.
```
-DLLVM_ENABLE_RUNTIMES=offload;openmp
-DLLVM_RUNTIME_TARGETS=default;amdgcn-amd-amdhsa
```
This PR makes this work.
Commit: 038591a1c8452099cd5212b2795b325787a6e57b
https://github.com/llvm/llvm-project/commit/038591a1c8452099cd5212b2795b325787a6e57b
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/test/Sema/Inputs/lifetime-analysis.h
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
Log Message:
-----------
[LifetimeSafety] Track STL algorithm functions that return lifetimebound iterators (#179227)
Enhanced the `shouldTrackFirstArgument` function in
`LifetimeAnnotations.cpp` to recognize standard library algorithm
functions like `find`, `find_if`, `search`, etc. that return iterators
whose lifetimes are bound to their container arguments. This allows the
lifetime checker to detect when these iterators outlive their
containers.
The implementation now:
- Checks for standard library algorithm functions that take at least two
parameters
- Identifies specific functions by name (find, find_if, find_if_not,
etc.)
- Verifies the return type is a GSL pointer type
Commit: dc8d35aedf92b9a5fbcd8d56cab5014a76203ef2
https://github.com/llvm/llvm-project/commit/dc8d35aedf92b9a5fbcd8d56cab5014a76203ef2
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Adopt `IfDefEmitter` in `CompressInstEmitter` (#178998)
Commit: fa675aabc76d759ed9a98359ffdf46645cb6b22d
https://github.com/llvm/llvm-project/commit/fa675aabc76d759ed9a98359ffdf46645cb6b22d
Author: Marek Sedláček <mr.mareksedlacek at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopUnroll/unroll-multi-exit-loop-heuristics.ll
Log Message:
-----------
[NFC][LoopUnroll] Add `-unroll-runtime-other-exit-predictable=false` to `unroll-multi-exit-loop-heuristics.ll` (#179198)
Adds `-unroll-runtime-other-exit-predictable=false` option to
`unroll-multi-exit-loop-heuristics.ll` test for stability reasons.
This is a followup to a discussion in #164799 and a similar patch
https://reviews.llvm.org/D98098. Since this option is false by default,
this is an NFC.
Commit: 5b80848f06203b19dcfdf2408013f42a372bfa9b
https://github.com/llvm/llvm-project/commit/5b80848f06203b19dcfdf2408013f42a372bfa9b
Author: puneeth_aditya_5656 <myakampuneeth at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/SemaCXX/alloc-token.cpp
Log Message:
-----------
[clang][bytecode] Fix crash on __builtin_infer_alloc_token with struct argument (#178936)
## Summary
- Fix crash when passing non primitive types (structs) to
`__builtin_infer_alloc_token`
- The bytecode interpreter's discard loop dereferenced an empty
`OptPrimType` for non primitive arguments
## Test plan
- Added regression test in `clang/test/SemaCXX/alloc-token.cpp`
- Existing tests continue to pass
Fixes #178892
Commit: 84ba547e42876423ea4f8e79004654f656cc8041
https://github.com/llvm/llvm-project/commit/84ba547e42876423ea4f8e79004654f656cc8041
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
Move John Ericson to the inactive maintainers list (#179264)
While reaching out to folks for a maintainers list refresh, John asked
to step down due to other commitments. Thank you for all your help!
Commit: 09a68427ff1a72aa0e333759d7b41f06d20b794f
https://github.com/llvm/llvm-project/commit/09a68427ff1a72aa0e333759d7b41f06d20b794f
Author: Simi Pallipurath <simi.pallipurath at arm.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/test/CodeGen/ARM/i64_volatile_load_store.ll
A llvm/test/CodeGen/ARM/unaligned_load_store_aeabi.ll
Log Message:
-----------
[ARM] Lower unaligned loads/stores to aeabi functions. (#172672)
When targeting architectures that do not support unaligned memory
accesses or when explictly pass -mno-unaligned-access, it requires the
compiler to expand each unaligned load/store into an inline sequences.
For 32-bit operations this typically involves:
1. 4× LDRB (or 2× LDRH),
2. multiple shift/or instructions
These sequences are emitted at every unaligned access site, and
therefore contribute significant code size in workloads that touch
packed or misaligned structures.
When compiling with -Oz and in combination with -mno-unaligned-access,
this patch lowers unaligned 32 bit and 64 bit loads and stores to below
AEABI heper calls:
```
__aeabi_uread4
__aeabi_uread8
__aeabi_uwrite4
__aeabi_uwrite8
```
And it provide a way to perform unaligned memory accesses on targets
that do not support them, such as ARMv6-M or when compiling with
-mno-unaligned-access. Although each use introduces a function call
making it less straightforward than using raw loads and stores the call
itself is often much smaller than the compiler emitted sequence of
multiple ldrb/strb operations. As a result, these helpers can greatly
reduce code-size providing they are invoked more than once across a
program.
1. Functions become smaller in AEABI mode once they contain more than a
few unaligned accesses.
2. The total image .text size becomes smaller whenever multiple
functions call the same helpers.
This PR is derived from https://reviews.llvm.org/D57595, with some minor
changes.
Co-authored-by: David Green
Commit: 39413af931a7b876b3780b81d55679c808eaa1eb
https://github.com/llvm/llvm-project/commit/39413af931a7b876b3780b81d55679c808eaa1eb
Author: Simi Pallipurath <simi.pallipurath at arm.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/arm/aeabi_uread4.S
A compiler-rt/lib/builtins/arm/aeabi_uread8.S
A compiler-rt/lib/builtins/arm/aeabi_uwrite4.S
A compiler-rt/lib/builtins/arm/aeabi_uwrite8.S
A compiler-rt/test/builtins/Unit/arm/aeabi_unaligned_access_test.c
Log Message:
-----------
[Compiler-rt] Implement AEABI Unaligned Read/Write Helpers in compiler-rt (#167913)
This patch adds implementations for the __aeabi_uread and __aeabi_uwrite
helper functions to compiler-rt.
Without these helpers, LLVM would need to inline byte wise sequences ,
which can increases code size, especially at -Os/-Oz. Using the helper
functions allows to retain correctness while avoiding the code-size
growth.
GCC-based toolchains already provide these AEABI helpers, so supporting
them in compiler-rt ensures parity and avoids accidental dependencies on
libgcc when LLVM begins emitting these calls.
Commit: 395858d9f172ff1c61c661aa7c2a18b449daffa6
https://github.com/llvm/llvm-project/commit/395858d9f172ff1c61c661aa7c2a18b449daffa6
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_float_controls2/exec_mode3.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_NV_shader_atomic_fp16_vector/atomicrmw_faddfsub_vec_float16.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_NV_shader_atomic_fp16_vector/atomicrmw_fminfmax_vec_float16.ll
M llvm/test/CodeGen/SPIRV/pointers/fun-with-aggregate-arg-in-const-init.ll
Log Message:
-----------
Revert "[SPIRV] Emit intrinsics for globals only in function that references them (#178143 (#179268)
This reverts commit 1daef5927ff0e43b92d615380a8d60f213cc5e52.
>From the ASAN buildbot:
```bash
FAIL: LLVM :: CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-addrcast.ll (46596 of 94488)
******************** TEST 'LLVM :: CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-addrcast.ll' FAILED ********************
Exit Code: 2
Command Output (stdout):
--
# RUN: at line 5
/home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-addrcast.ll -o - --spirv-ext=+SPV_INTEL_function_pointers | /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-addrcast.ll
# executed command: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-addrcast.ll -o - --spirv-ext=+SPV_INTEL_function_pointers
# note: command had no output on stdout or stderr
# error: command failed with exit status: 1
# executed command: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-addrcast.ll
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line: /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm_build_asan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-asan/build/llvm-project/llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-addrcast.ll
# `-----------------------------
# error: command failed with exit status: 2
```
I did not confirm this commit is introducing the issue. But since its
likely related I'm reverting it until I confirm everything is ok or fix
it.
Commit: 98e83adc0104025b6127a128124d7d5079c4e4cb
https://github.com/llvm/llvm-project/commit/98e83adc0104025b6127a128124d7d5079c4e4cb
Author: Yuxuan Chen <ych at fb.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/lib/Sema/SemaCoroutine.cpp
M clang/test/CodeGenCoroutines/coro-await-elidable.cpp
Log Message:
-----------
[Clang] Fix coro_await_elidable breaking with parenthesized expressions (#178495)
The `applySafeElideContext` function used `IgnoreImplicit()` to find the
underlying CallExpr, but this didn't strip `ParenExpr` nodes. When code
like `co_await (fn(leaf()))` was parsed, the operand was wrapped in a
`ParenExpr`, causing safe elide attribution to fail in Clang stage.
This fix chains `IgnoreImplicit()->IgnoreParens()->IgnoreImplicit()` to
handle both orderings of implicit nodes and parentheses in the AST.
Fixes https://github.com/llvm/llvm-project/issues/178256. Except that
`IgnoreParen()` should be a better suggestion than
`IgnoreParenImpCast()`.
Commit: aa5428864e86f8e38806fc92d14cadc68b3d0667
https://github.com/llvm/llvm-project/commit/aa5428864e86f8e38806fc92d14cadc68b3d0667
Author: A. Jiang <de34 at live.cn>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M libcxx/include/any
M libcxx/test/std/utilities/any/any.class/any.cons/value.pass.cpp
Log Message:
-----------
[libc++] Short-cut constraints of single-argument `any` constructor (#177082)
When a default template argument of a function template uses
`std::is_copy_constructible<T>::value` and `T` is convertible from and
to `any`, the changes in 21dc73f6a46cd786394f10f5aef46ec4a2d26175 would
introduce constraint meta-recursion when compiling with Clang.
This patch short-cuts constraints of the related constructor to avoid
computing `is_copy_constructible<T>` when `decay_t<T>` is `any`, which
gets rid of constraint meta-recursion in the overload resolution of copy
construction of `T`.
Fixes #176877.
Commit: 36fea452c32a1e1c717e96609d7e634e66cd8e8b
https://github.com/llvm/llvm-project/commit/36fea452c32a1e1c717e96609d7e634e66cd8e8b
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/test/CIR/IR/cleanup-scope.cir
Log Message:
-----------
[CIR] Create cir.cleanup.scope operation (#178085)
This adds the CIR dialect definitions for the cir.cleanup.scope
operation. Nothing is being added yet to generate this operation. That
will be done in a later change.
Commit: 96c45c0e33e27022f72f83d6611653dcdc4e2eab
https://github.com/llvm/llvm-project/commit/96c45c0e33e27022f72f83d6611653dcdc4e2eab
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/IR/Intrinsics.cpp
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
Log Message:
-----------
[LLVM][Intrinsics] Allow IIT fixed encoding table to be 32-bit (#178531)
Change Intrinsics.cpp to rely on the type `FixedEncodingTy` emitted by
the intrinsic emitter in `getIntrinsicInfoTableEntries` to process the
intrinsic type table. This enables downstream targets that need a 32-bit
fixed encoding table to just change the value of `Use16BitFixedEncoding`
in the intrinsic emitter to enable 32-bit fixed encoding table.
Commit: 2d1110a70ff7af6bea0f837c9382b9a1a519b56a
https://github.com/llvm/llvm-project/commit/2d1110a70ff7af6bea0f837c9382b9a1a519b56a
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/fpext.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/uaddsat.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/unmerge-sgpr-s16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/usubsat.ll
Log Message:
-----------
AMDGPU/GlobalISel: Regbanklegalize rules for G_UNMERGE_VALUES (#171653)
Move G_UNMERGE_VALUES handling to AMDGPURegBankLegalizeRules.cpp.
Fix sgpr S16 unmerge by lowering using shift and using S32.
Previously sgpr S16 unmerge was selected using _lo16 and _hi16 subreg
indexes which are exclusive to vgpr register classes.
For remaing cases we do trivial mapping, assigns same reg bank
to all operands, vgpr or sgpr.
Commit: f3df4b9292ce6fbd90de53f0124e55db0a9ee714
https://github.com/llvm/llvm-project/commit/f3df4b9292ce6fbd90de53f0124e55db0a9ee714
Author: jumerckx <31353884+jumerckx at users.noreply.github.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/lib/Rewrite/ByteCode.cpp
M mlir/test/Rewrite/pdl-bytecode.mlir
M mlir/test/lib/Rewrite/TestPDLByteCode.cpp
Log Message:
-----------
[mlir][PDL] Support running `pdl_interp.foreach` on ranges of values and types (#173161)
The foreach execution only works for operation ranges, typically
stemming from pdl_interp.get_users.
Custom rewrites/constraints can return ranges of types and values as
well, however.
This pr adds support for executing `pdl_interp.foreach` in those cases.
Commit: e0e65f2a569c33844aec6d0c009e2c25514c27f2
https://github.com/llvm/llvm-project/commit/e0e65f2a569c33844aec6d0c009e2c25514c27f2
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/include/mlir/Target/LLVM/ROCDL/Utils.h
M mlir/lib/Target/LLVM/ROCDL/Target.cpp
Log Message:
-----------
[mlir][ROCDL] do not hardcode partial lld path in utilities (#179201)
`ROCDL::linkObjectCode` was unconditionally appending llvm/bin/ld.lld to
the path it is been passed to to look for lld, which isn't desirable for
a utility function and makes it unusable with, e.g., system lld or one
from the LLVM's own build directory. Move this logic to the caller and
let the utility take a full path.
Commit: cf9ed463afd4c2c97eef22514574c14b67095f5f
https://github.com/llvm/llvm-project/commit/cf9ed463afd4c2c97eef22514574c14b67095f5f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
Update ObjC and Itanium maintainership (#177950)
John is stepping down from both of these roles as well. We do not have a
replacement for Itanium ABI at this time, but this PR leaves the section
in the maintainers file so it's clear we need to fill it.
Akira Hatanaka has graciously agreed to step up for Objective-C, thank
you!
Commit: 5d5b4aaa0e01cf8c7f18885815f7ca5003a632ce
https://github.com/llvm/llvm-project/commit/5d5b4aaa0e01cf8c7f18885815f7ca5003a632ce
Author: Philip Ginsbach-Chen <philip.ginsbach at cantab.net>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-fixed-length-build-vector.ll
Log Message:
-----------
[SelectionDAG][NFC] Rename isConstantSequence to isArithmeticSequence (#179108)
The previous name was misleading: the method checks for an arithmetic
progression `(start, start+stride, start+2*stride, ...)`, not just any
constant sequence. The new name uses precise mathematical terminology.
https://github.com/llvm/llvm-project/pull/176671#discussion_r2735571479
Commit: 4acd581f8cb05c4f67d5833580a9b598ef9fb0c0
https://github.com/llvm/llvm-project/commit/4acd581f8cb05c4f67d5833580a9b598ef9fb0c0
Author: Weibo He <NewSigma at 163.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
R llvm/test/Transforms/Coroutines/coro-cleanup-noop-elide.ll
A llvm/test/Transforms/Coroutines/coro-cleanup-noop-erase.ll
Log Message:
-----------
Revert "[CoroCleanup] Noop coroutine elision for load-and-call pattern" (#179289)
There is a CI fail. Reverts llvm/llvm-project#179154
Commit: a9a5ebb56750a76efc28c6c9b557a7101f8d2cc6
https://github.com/llvm/llvm-project/commit/a9a5ebb56750a76efc28c6c9b557a7101f8d2cc6
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/new.cpp
Log Message:
-----------
[CIR] Upstream support for array new with empty initializer list (#178806)
This adds CIR support for array new with an empty initializer list for
zero-initializable types.
This is part of https://github.com/llvm/llvm-project/issues/160383
Commit: 48e64a79245aed217b19ec27c934de75d541c8ab
https://github.com/llvm/llvm-project/commit/48e64a79245aed217b19ec27c934de75d541c8ab
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-canonicalize.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-exp.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fadd.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fdiv.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fma.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fmul.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fpext.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fptrunc-round.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fptrunc.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-frexp.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fsub.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-log.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-maximum.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-maximumnum.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-maxnum.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-minimum.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-minimumnum.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-minnum.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-rounding-intrinsics.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-sqrt.ll
Log Message:
-----------
InstCombine: Add baseline tests for broken snan handling (#179243)
SimplifyDemandedFPClass doesn't correctly account for possible
quieting in all cases.
Commit: 1bcff55db1f668b2ecc92b5700e40c9261941a4c
https://github.com/llvm/llvm-project/commit/1bcff55db1f668b2ecc92b5700e40c9261941a4c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/test/Analysis/CostModel/X86/clmul.ll
Log Message:
-----------
[CostModel][X86] clmul.ll - add i16 and 128/256/512-bit vector cost tests (#179283)
Commit: 7889f729ac1fd75d43dd42e4f06c42ef7738242d
https://github.com/llvm/llvm-project/commit/7889f729ac1fd75d43dd42e4f06c42ef7738242d
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/test/Transforms/LoopUnroll/peel-loop-phi-analysis-iv.ll
Log Message:
-----------
[LoopUnroll] Remove preceding whitespace in loop peeling optimization remark (#178951)
Commit: 628972a182da40373ece092e721e9c7d83319dc7
https://github.com/llvm/llvm-project/commit/628972a182da40373ece092e721e9c7d83319dc7
Author: Demetrius Kanios <demetrius at kanios.net>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
Log Message:
-----------
[NFC][GlobalISel] Expose `CallLowering::buildCopyFromRegs` and `CallLowering::buildCopyToRegs` (#179185)
Makes `CallLowering::buildCopyFromRegs` and
`CallLowering::buildCopyToRegs` public so targets not making use of
`ValueHandler` don't have to duplicate this functionality.
For future use in the WASM GlobalISel backend.
Commit: c4b531c94d9a05feb26744e43e4ad4a5f5241bf8
https://github.com/llvm/llvm-project/commit/c4b531c94d9a05feb26744e43e4ad4a5f5241bf8
Author: Kunal <ks.17112005 at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/SymbolTableListTraits.h
Log Message:
-----------
Fix grammar in comments (#179269)
Path
llvm-project -> llvm -> include -> llvm -> IR -> SymbolTableListTraits
Changed:-
all uses it -> all its uses
Commit: b556e41ac62fba125ddb5669e38ade1b05106875
https://github.com/llvm/llvm-project/commit/b556e41ac62fba125ddb5669e38ade1b05106875
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass-ldexp.ll
Log Message:
-----------
ValueTracking: Use computeKnownBits for ldexp integer handling (#179234)
Switch to using computeKnownBits instead of computeConstantRange
in computeKnownFPClass's ldexp handling. This is preparation to
move the handling into KnownFPClass. Since KnownFPClass is in Support,
it can make use of KnownBits as the input argument. ConstantRange is in
IR, so it cannot be used from Support.
Commit: 12731bd6ed378a4032d307372fd1a8dcff4d3914
https://github.com/llvm/llvm-project/commit/12731bd6ed378a4032d307372fd1a8dcff4d3914
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
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-maximumnum.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-minimum.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-minimumnum.ll
Log Message:
-----------
InstCombine: Stop using nsz in multi-use min/max fold (#176579)
In SimplifyDemandedFPClass, stop using nsz when there's a
mismatch in the sign of 0 for the various min and maxes.
Alive2 doesn't like it: https://alive2.llvm.org/ce/z/ZyhSGA,
presumably because of the possible mismatch between the stored
value and the propagated. Maybe it would be OK if nsz is on all
the uses.
Commit: 2ee37cc4cf04a544d69ada1380f5ff2464b28c83
https://github.com/llvm/llvm-project/commit/2ee37cc4cf04a544d69ada1380f5ff2464b28c83
Author: Hans Wennborg <hans at chromium.org>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/load-shufflevector.ll
Log Message:
-----------
Revert "[VectorCombine] Trim low end of loads used in shufflevector rebroadcasts. (#149093)"
It appears to create loads from underaligned addresses. See comment on
the PR.
> Following on from #128938, trim the low end of loads where only some of
> the incoming lanes are used for rebroadcasts in shufflevector
> instructions.
This reverts commit 6c8d9d0c4da51c7f9e7671902be3ad9b65d56c84 and the
follow-up commits 07a6a23f6c5387fc1e7df174b5921f6004db64e0 and
313a2008538abb61ab13f8cc9f9a712f7faff3a5.
Commit: 24e2f6bb816846b5d845ee4b174affcea6ca41fe
https://github.com/llvm/llvm-project/commit/24e2f6bb816846b5d845ee4b174affcea6ca41fe
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M .github/workflows/libcxx-run-benchmarks.yml
Log Message:
-----------
[libcxx][Github] Remove use of deprecated login_or_token (#179260)
This was deprecated by PyGithub a while back. Switch to the new form to
make updating PyGithub in the future easier.
Commit: e2b7cbf71f9ccdf035c7428e5dd666f4f6ee8a6b
https://github.com/llvm/llvm-project/commit/e2b7cbf71f9ccdf035c7428e5dd666f4f6ee8a6b
Author: Noah Prisament <nprisament at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
Log Message:
-----------
Fix outdated docs with vector.reduce instead of vector.reduction (#178111)
There is no existing `vector.reduce` op in the vector dialect, but
multiple doc strings reference it. This change updates those instances
to the correct `vector.reduction` op.
Commit: 23821a4bd511f64178f4f82f0865e0394d2357eb
https://github.com/llvm/llvm-project/commit/23821a4bd511f64178f4f82f0865e0394d2357eb
Author: Zhewen Yu <zhewenyu at amd.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][Utils] Add overflow<nsw> flags to dimension calculations in ReshapeOpsUtils (#178766)
This follows the convention that `tensor/memref` indexing calculations
generally should never signed overflow:
-
[ArithIndexingBuilder](https://github.com/llvm/llvm-project/blob/1ae93c634a16adc0eff8d5693496425cc4725033/mlir/include/mlir/Dialect/Arith/Utils/Utils.h#L123-L125)
- [Affine
lowering](https://github.com/llvm/llvm-project/blob/1ae93c634a16adc0eff8d5693496425cc4725033/mlir/lib/Dialect/Affine/Utils/Utils.cpp#L68-L70)
It also enables CSE to properly merge duplicate dimension computations.
Signed-off-by: Yu-Zhewen <zhewenyu at amd.com>
Commit: 91c4decc01522c0130d47f8270330194259f4207
https://github.com/llvm/llvm-project/commit/91c4decc01522c0130d47f8270330194259f4207
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-exp.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fadd.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fdiv.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fma.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fmul.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fpext.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fptrunc-round.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fptrunc.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-log.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-maximum.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-minimum.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-rounding-intrinsics.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-sqrt.ll
Log Message:
-----------
InstCombine: Fix SimplifyDemandedFPClass bug with known-snan sources (#179244)
If the result can be a qnan, the source can be a signaling nan.
Commit: 2a384a26d583af7d36c9076b21dbae1b1da8c239
https://github.com/llvm/llvm-project/commit/2a384a26d583af7d36c9076b21dbae1b1da8c239
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
A clang/test/Analysis/store-union-aggregates.c
Log Message:
-----------
[analyzer] Avoid overwriting the default binding of union aggregates in incomplete array initializers (#178694)
Preserve existing default bindings in setImplicitDefaultValue to avoid
incorrectly overwriting the probably more accurate default binding when
initializing array elements with union members.
You can read the comments in the store-union-aggregates.c, but here's
what really matters:
We eventually bind the union field, using the "bindAggregate", which
just translates to a default binding at offset 0, binding
"compoundVal{&Element{global_buf}}".
So we will have a default binding at offset 0, by the time we realize
that the second element of the array "buffers" didn't have an explicit
initializer spelled, thus we want to default bind zero in
"setImplicitDefaultValue".
This effectively replaces our original default binding with an incorrect
one; so the next time we access "buffers[0].buffer_ptr" we end up
loading a NULL ptr; and show a null deref FP.
I didn't dive too deep into why "bindAggregate" handles binding unions,
but changing that seems risky and I also don't immediately see how a
proper fix would look; because unlike with structs, we can't just
dispatch the bind operations by each field, because in union these
members overlap.
Unions have a long list of issues anyway, and I'm not too inclined to
fix them right now. This workaround looks like the sweet spot to me.
Assisted-by: claude
rdar://167136849
Commit: d757adf5ec7cc32075b606720eabc3f5fe755f1f
https://github.com/llvm/llvm-project/commit/d757adf5ec7cc32075b606720eabc3f5fe755f1f
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/utils/TableGen/RegisterBankEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Adopt `IfDefEmitter` in `RegBankEmitter` (#179014)
- Adopt IfDefEmitter in RegBankEmitter.
- Remove `const` for `StringRef` args.
Commit: 63c1615e7edc3b83a1b6167aa77dec9cc0f6c101
https://github.com/llvm/llvm-project/commit/63c1615e7edc3b83a1b6167aa77dec9cc0f6c101
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/shl-to-add-transformation.ll
Log Message:
-----------
[SLP][NFC]Add a case for missed shl-to-add transformation, NFC
Commit: 37b56e7fce31f71bcb8cb0bf816a1a58099ec2b2
https://github.com/llvm/llvm-project/commit/37b56e7fce31f71bcb8cb0bf816a1a58099ec2b2
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M .github/workflows/prune-branches.yml
M .github/workflows/prune-unused-branches.py
Log Message:
-----------
[Github] Make prune-unused-branches workflow prune branches (#178769)
This adds in the final piece to the workflow to actually delete unused
user branches. For now this is limited to my branches so we can validate
this a little more in the production environment before starting to
delete all branches.
Commit: 5fbf4117e3ccacfd57805650a08739e88091b608
https://github.com/llvm/llvm-project/commit/5fbf4117e3ccacfd57805650a08739e88091b608
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/test/Analysis/uninit-vals.cpp
Log Message:
-----------
[analyzer] Fix crash when copying uninitialized data in function named "swap" (#178923)
So the RegionStore has some assumptions, namely that the
core.unitialized.Assign checker is enabled and detects copying Undefined
(read of uninitialized data) before the Store is instructed to model
this.
As it turns out, there is a little hack in the
UndefinedAssignmentChecker:
```c++
void UndefinedAssignmentChecker::checkBind(SVal location, SVal val,
const Stmt *StoreE, bool AtDeclInit,
CheckerContext &C) const {
if (!val.isUndef())
return;
// Do not report assignments of uninitialized values inside swap functions.
// This should allow to swap partially uninitialized structs
if (const FunctionDecl *EnclosingFunctionDecl =
dyn_cast<FunctionDecl>(C.getStackFrame()->getDecl()))
if (C.getCalleeName(EnclosingFunctionDecl) == "swap")
return;
// ...
```
This meant that no Sink node was inserted by the checker, thus the Store
would just go and try to fulfill the bind operation.
However, the Store also assumed that it's not going to see Undefined
vals, so that case wasn't handled, but simply cast the value to a
nonloc::CompoundVal.
The checker should have created the Sink node regardless if it wants to
emit a report or not.
In addition to this, I'm also hardedning the Store to also be able to
handle UndefinedVals a bit better.
The crash bisects to #118096, but that's only surfaced this issue.
Fixes #178797
Commit: a1b050402d9f6fc15deab5ccac0b82a61210503c
https://github.com/llvm/llvm-project/commit/a1b050402d9f6fc15deab5ccac0b82a61210503c
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M lldb/tools/lldb-dap/Handler/NextRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepInRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepOutRequestHandler.cpp
Log Message:
-----------
[lldb-dap] Check the process state before thread or frame validation. (#179202)
We are sending an invalid thread error on a valid thread because the
process is not in a stopped state.
Send a `notStoppedError` so the client can retry at a later state after
we have sent a stopped event.
This can happen when debugging a large binary and the user spams the
step over button.
Commit: 85c96ff3a08cb69d59414ea8c278491399748f8b
https://github.com/llvm/llvm-project/commit/85c96ff3a08cb69d59414ea8c278491399748f8b
Author: Alex Langford <alangford at apple.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M lldb/include/lldb/Core/Module.h
M lldb/source/Core/Module.cpp
Log Message:
-----------
[lldb][NFC] Remove unused method Module::SetUUID (#178803)
Commit: 32ccf4eed040d3e4bf910ce0ebb4de90bda46c4f
https://github.com/llvm/llvm-project/commit/32ccf4eed040d3e4bf910ce0ebb4de90bda46c4f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/include/llvm/Support/KnownFPClass.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Support/KnownFPClass.cpp
Log Message:
-----------
ValueTracking: Move ldexp KnownFPClass handling to support (#179235)
Will enable code sharing with SImplifyDemandedFPClass, SelectionDAG
and GlobalISel.
Commit: ca63b01b6f8b34499faa2c13a0dfff45d538f61b
https://github.com/llvm/llvm-project/commit/ca63b01b6f8b34499faa2c13a0dfff45d538f61b
Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
Log Message:
-----------
[NFC][mlir][SPIRV] Fix mix up in comments (#179285)
Commit: fba111de5ea79d4e8459c53be5e4998d7759ae29
https://github.com/llvm/llvm-project/commit/fba111de5ea79d4e8459c53be5e4998d7759ae29
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/lib/Dialect/GPU/Transforms/PromoteShuffleToAMDGPU.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for bugprone-argument-comment in PromoteShuffleToAMDGPU.cpp (NFC)
Commit: 182835658f9825fe175821df29c62ae3d113233c
https://github.com/llvm/llvm-project/commit/182835658f9825fe175821df29c62ae3d113233c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M .ci/premerge_advisor_explain.py
M .github/workflows/commit-create-issue.py
M llvm/utils/git/code-format-helper.py
M llvm/utils/git/code-lint-helper.py
M llvm/utils/git/github-automation.py
M llvm/utils/release/github-upload-release.py
Log Message:
-----------
[Github] Fully remove use of login_or_token (#179258)
PyGithub deprecated this a while back. An earlier patch attempted to fix
all the deprecations, but it looks like my grep expression missed a
bunch of cases. This patch should catch the remaining ones (minus libc++
which have been split for review by libc++ maintainers).
Commit: 5c7523609600938e1c44c01e2159fe359252ca44
https://github.com/llvm/llvm-project/commit/5c7523609600938e1c44c01e2159fe359252ca44
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M .github/renovate.json
Log Message:
-----------
[Github] Prevent updates to python version in release binaries workflow (#179290)
This workflow needs special care around python versions. We should by
default disable automatic python updates to this workflow.
Commit: 73417aa6424fec73765d21c3008245a7edd7cafe
https://github.com/llvm/llvm-project/commit/73417aa6424fec73765d21c3008245a7edd7cafe
Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
Log Message:
-----------
Thread Safety Analysis: Compare values of literals (#148551)
The typical case for literals is an array of mutexes, where we want to
distinguish `mutex[0]` from `mutex[1]` and so on. Currently they're
treated as the same expression, in fact all literals are treated as the
same expression.
The infrastructure for literals is already there, although it required
some changes, and some simplifications seemed opportune:
* The `ValueType` had fields for size and signedness. But only integer
have signedness, and the size is irrelevant if we don't want to emit
machine code. For the abstract semantics that we're interested in, only
the number matters.
* We remove the `BT_Void`: `void` literals don't exist in C++.
* We remove `BT_Float` and `BT_ValueRef`: floating-point numbers and
complex numbers are probably not used in lock expressions.
* We replace `BT_Pointer` with `BT_NullPointer`. There are no pointer
literals, only null pointer literals.
It seems to me that `ValueType` was intended to assign types to any node
in the TIL, but it is currently only used for literals. I was trying to
come up with reasons to assign types everywhere, but we're not trying to
type check anything, and we don't support overloading. The comparison of
expressions surely doesn't need it. But maybe this should be clarified
at some point. (Including the fact that it is called Typed Intermediate
Language.)
We turn `Literal` into a pure base class, as it seems to have been
intended, and only create `LiteralT` instances of the correct type.
Assertions on `as` ensure we're not mixing up types.
We print to `llvm::raw_ostream` instead of `std::ostream` because that's
required for `CharacterLiteral::print`.
Fixes https://github.com/llvm/llvm-project/issues/58535.
Commit: e5b99502d76ae0ddf39c5683805c004eb9085864
https://github.com/llvm/llvm-project/commit/e5b99502d76ae0ddf39c5683805c004eb9085864
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Avoid adding duplicate VFs into vectorizeStores()::CandidateVFs (#179296)
Small compile time improvement:
```
stage1-O3: (-0.01%)
stage1-ReleaseThinLTO (-0.00%)
stage1-ReleaseLTO-g (-0.01%)
stage1-O0-g (-0.00%)
stage1-aarch64-O3 (+0.01%)
stage1-aarch64-O0-g (-0.02%)
stage2-O3 (-0.00%)
stage2-O0-g (-0.03%)
stage2-clang (+0.00%)
```
Also changes/removes a few comments for clarity.
Commit: 44aebb6a413874710d28f3a8f24913bf5478954e
https://github.com/llvm/llvm-project/commit/44aebb6a413874710d28f3a8f24913bf5478954e
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
Log Message:
-----------
[MLIR] Apply clang-tidy fixes for llvm-else-after-return in SPIRVCanonicalization.cpp (NFC)
Commit: d376a7e75ffbbe37e7644e46fa0cf0d88e108389
https://github.com/llvm/llvm-project/commit/d376a7e75ffbbe37e7644e46fa0cf0d88e108389
Author: ziereis <44057120+ziereis at users.noreply.github.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/test/Interfaces/TilingInterface/tile-fuse-and-yield-using-scfforall.mlir
A utils/bazel/llvm-project-overlay/mlir/test/Interfaces/BUILD.bazel
Log Message:
-----------
[mlir] TileUsingInterface bugfix for dominance error (#178190)
In this PR i move the insertion point in the
`yieldReplacementForFusedProducer` because i ran into some issue where a
`tensor.extract_slices` tried to use a result of `affine.apply` that was
inserted at the end of the block instead of the start of it.
This is the full error of the test i added before this change:
```mlir
third-party/llvm-project/mlir/test/Interfaces/TilingInterface/tile-fuse-and-yield-using-scfforall.mlir:83:11: error: operand #1 does not dominate this use
%pack = linalg.pack %gen#1
^
third-party/llvm-project/mlir/test/Interfaces/TilingInterface/tile-fuse-and-yield-using-scfforall.mlir:83:11: note: see current operation: %24 = "tensor.extract_slice"(%23, %36, %8) <{operandSegmentSizes = array<i32: 1, 1, 1, 0>, static_offsets = array<i64: -9223372036854775808, 0>, static_sizes = array<i64: -9223372036854775808, 1024>, static_strides = array<i64: 1, 1>}> : (tensor<32x1024xf32>, index, index) -> tensor<?x1024xf32>
third-party/llvm-project/mlir/test/Interfaces/TilingInterface/tile-fuse-and-yield-using-scfforall.mlir:71:12: note: operand defined here (op in the same block)
%gen:2 = linalg.generic {
^
// -----// IR Dump After InterpreterPass Failed (transform-interpreter) //----- //
#map = affine_map<(d0, d1) -> (d0, d1)>
#map1 = affine_map<(d0) -> (d0 * 16)>
#map2 = affine_map<(d0) -> (d0 * -16 + 32)>
#map3 = affine_map<(d0) -> (16, d0 * -16 + 32)>
#map4 = affine_map<(d0) -> (d0 - 1)>
"builtin.module"() ({
"func.func"() <{function_type = (tensor<32x1024xf32>) -> (tensor<32x1024xf32>, tensor<2x512x16x2xi8>), sym_name = "fuse_pack_consumer_into_multi_output_generic"}> ({
^bb0(%arg1: tensor<32x1024xf32>):
%2 = "arith.constant"() <{value = 0 : i8}> : () -> i8
%3 = "tensor.empty"() : () -> tensor<32x1024xf32>
%4 = "tensor.empty"() : () -> tensor<32x1024xi8>
%5 = "tensor.empty"() : () -> tensor<2x512x16x2xi8>
%6:2 = "linalg.generic"(%arg1, %3, %4) <{indexing_maps = [#map, #map, #map], iterator_types = [#linalg.iterator_type<parallel>, #linalg.iterator_type<parallel>], operandSegmentSizes = array<i32: 1, 2>}> ({
^bb0(%arg9: f32, %arg10: f32, %arg11: i8):
%41 = "arith.fptoui"(%arg9) : (f32) -> i8
"linalg.yield"(%arg9, %41) : (f32, i8) -> ()
}) : (tensor<32x1024xf32>, tensor<32x1024xf32>, tensor<32x1024xi8>) -> (tensor<32x1024xf32>, tensor<32x1024xi8>)
%7:3 = "scf.forall"(%5, %3, %4) <{operandSegmentSizes = array<i32: 0, 0, 0, 3>, staticLowerBound = array<i64: 0>, staticStep = array<i64: 1>, staticUpperBound = array<i64: 2>}> ({
^bb0(%arg2: index, %arg3: tensor<2x512x16x2xi8>, %arg4: tensor<32x1024xf32>, %arg5: tensor<32x1024xi8>):
%8 = "affine.apply"(%arg2) <{map = #map1}> : (index) -> index
%9 = "affine.apply"(%arg2) <{map = #map2}> : (index) -> index
%10 = "affine.min"(%arg2) <{map = #map3}> : (index) -> index
%11 = "affine.apply"(%10) <{map = #map4}> : (index) -> index
%12 = "affine.apply"(%arg2) <{map = #map1}> : (index) -> index
%13 = "affine.apply"(%10) <{map = #map4}> : (index) -> index
%14 = "affine.apply"(%arg2) <{map = #map1}> : (index) -> index
%15 = "affine.apply"(%10) <{map = #map4}> : (index) -> index
%16 = "affine.apply"(%arg2) <{map = #map1}> : (index) -> index
%17 = "affine.apply"(%10) <{map = #map4}> : (index) -> index
%18 = "tensor.extract_slice"(%arg1, %12, %10) <{operandSegmentSizes = array<i32: 1, 1, 1, 0>, static_offsets = array<i64: -9223372036854775808, 0>, static_sizes = array<i64: -9223372036854775808, 1024>, static_strides = array<i64: 1, 1>}> : (tensor<32x1024xf32>, index, index) -> tensor<?x1024xf32>
%19 = "tensor.empty"() : () -> tensor<32x1024xf32>
%20 = "tensor.extract_slice"(%19, %14, %10) <{operandSegmentSizes = array<i32: 1, 1, 1, 0>, static_offsets = array<i64: -9223372036854775808, 0>, static_sizes = array<i64: -9223372036854775808, 1024>, static_strides = array<i64: 1, 1>}> : (tensor<32x1024xf32>, index, index) -> tensor<?x1024xf32>
%21 = "tensor.extract_slice"(%3, %14, %10) <{operandSegmentSizes = array<i32: 1, 1, 1, 0>, static_offsets = array<i64: -9223372036854775808, 0>, static_sizes = array<i64: -9223372036854775808, 1024>, static_strides = array<i64: 1, 1>}> : (tensor<32x1024xf32>, index, index) -> tensor<?x1024xf32>
%22 = "tensor.empty"() : () -> tensor<32x1024xi8>
%23 = "tensor.extract_slice"(%22, %16, %10) <{operandSegmentSizes = array<i32: 1, 1, 1, 0>, static_offsets = array<i64: -9223372036854775808, 0>, static_sizes = array<i64: -9223372036854775808, 1024>, static_strides = array<i64: 1, 1>}> : (tensor<32x1024xi8>, index, index) -> tensor<?x1024xi8>
%24 = "tensor.extract_slice"(%4, %16, %10) <{operandSegmentSizes = array<i32: 1, 1, 1, 0>, static_offsets = array<i64: -9223372036854775808, 0>, static_sizes = array<i64: -9223372036854775808, 1024>, static_strides = array<i64: 1, 1>}> : (tensor<32x1024xi8>, index, index) -> tensor<?x1024xi8>
%25 = "tensor.empty"() : () -> tensor<32x1024xf32>
%26 = "tensor.extract_slice"(%25, %38, %10) <{operandSegmentSizes = array<i32: 1, 1, 1, 0>, static_offsets = array<i64: -9223372036854775808, 0>, static_sizes = array<i64: -9223372036854775808, 1024>, static_strides = array<i64: 1, 1>}> : (tensor<32x1024xf32>, index, index) -> tensor<?x1024xf32>
%27 = "tensor.extract_slice"(%arg4, %38, %10) <{operandSegmentSizes = array<i32: 1, 1, 1, 0>, static_offsets = array<i64: -9223372036854775808, 0>, static_sizes = array<i64: -9223372036854775808, 1024>, static_strides = array<i64: 1, 1>}> : (tensor<32x1024xf32>, index, index) -> tensor<?x1024xf32>
%28 = "tensor.empty"() : () -> tensor<32x1024xi8>
%29 = "tensor.extract_slice"(%28, %8, %10) <{operandSegmentSizes = array<i32: 1, 1, 1, 0>, static_offsets = array<i64: -9223372036854775808, 0>, static_sizes = array<i64: -9223372036854775808, 1024>, static_strides = array<i64: 1, 1>}> : (tensor<32x1024xi8>, index, index) -> tensor<?x1024xi8>
%30 = "tensor.extract_slice"(%arg5, %8, %10) <{operandSegmentSizes = array<i32: 1, 1, 1, 0>, static_offsets = array<i64: -9223372036854775808, 0>, static_sizes = array<i64: -9223372036854775808, 1024>, static_strides = array<i64: 1, 1>}> : (tensor<32x1024xi8>, index, index) -> tensor<?x1024xi8>
%31:2 = "linalg.generic"(%18, %27, %30) <{indexing_maps = [#map, #map, #map], iterator_types = [#linalg.iterator_type<parallel>, #linalg.iterator_type<parallel>], operandSegmentSizes = array<i32: 1, 2>}> ({
^bb0(%arg6: f32, %arg7: f32, %arg8: i8):
%40 = "arith.fptoui"(%arg6) : (f32) -> i8
"linalg.yield"(%arg6, %40) : (f32, i8) -> ()
}) : (tensor<?x1024xf32>, tensor<?x1024xf32>, tensor<?x1024xi8>) -> (tensor<?x1024xf32>, tensor<?x1024xi8>)
%32 = "tensor.extract_slice"(%6#1, %8, %10) <{operandSegmentSizes = array<i32: 1, 1, 1, 0>, static_offsets = array<i64: -9223372036854775808, 0>, static_sizes = array<i64: -9223372036854775808, 1024>, static_strides = array<i64: 1, 1>}> : (tensor<32x1024xi8>, index, index) -> tensor<?x1024xi8>
%33 = "tensor.empty"() : () -> tensor<2x512x16x2xi8>
%34 = "tensor.extract_slice"(%33, %arg2) <{operandSegmentSizes = array<i32: 1, 1, 0, 0>, static_offsets = array<i64: -9223372036854775808, 0, 0, 0>, static_sizes = array<i64: 1, 512, 16, 2>, static_strides = array<i64: 1, 1, 1, 1>}> : (tensor<2x512x16x2xi8>, index) -> tensor<1x512x16x2xi8>
%35 = "tensor.extract_slice"(%arg3, %arg2) <{operandSegmentSizes = array<i32: 1, 1, 0, 0>, static_offsets = array<i64: -9223372036854775808, 0, 0, 0>, static_sizes = array<i64: 1, 512, 16, 2>, static_strides = array<i64: 1, 1, 1, 1>}> : (tensor<2x512x16x2xi8>, index) -> tensor<1x512x16x2xi8>
%36 = "linalg.pack"(%31#1, %35, %2) <{inner_dims_pos = array<i64: 0, 1>, operandSegmentSizes = array<i32: 1, 1, 1, 0>, static_inner_tiles = array<i64: 16, 2>}> : (tensor<?x1024xi8>, tensor<1x512x16x2xi8>, i8) -> tensor<1x512x16x2xi8>
%37 = "affine.apply"(%10) <{map = #map4}> : (index) -> index
%38 = "affine.apply"(%arg2) <{map = #map1}> : (index) -> index
%39 = "affine.apply"(%10) <{map = #map4}> : (index) -> index
"scf.forall.in_parallel"() ({
"tensor.parallel_insert_slice"(%36, %arg3, %arg2) <{operandSegmentSizes = array<i32: 1, 1, 1, 0, 0>, static_offsets = array<i64: -9223372036854775808, 0, 0, 0>, static_sizes = array<i64: 1, 512, 16, 2>, static_strides = array<i64: 1, 1, 1, 1>}> : (tensor<1x512x16x2xi8>, tensor<2x512x16x2xi8>, index) -> ()
"tensor.parallel_insert_slice"(%31#0, %arg4, %38, %10) <{operandSegmentSizes = array<i32: 1, 1, 1, 1, 0>, static_offsets = array<i64: -9223372036854775808, 0>, static_sizes = array<i64: -9223372036854775808, 1024>, static_strides = array<i64: 1, 1>}> : (tensor<?x1024xf32>, tensor<32x1024xf32>, index, index) -> ()
"tensor.parallel_insert_slice"(%31#1, %arg5, %8, %10) <{operandSegmentSizes = array<i32: 1, 1, 1, 1, 0>, static_offsets = array<i64: -9223372036854775808, 0>, static_sizes = array<i64: -9223372036854775808, 1024>, static_strides = array<i64: 1, 1>}> : (tensor<?x1024xi8>, tensor<32x1024xi8>, index, index) -> ()
}) : () -> ()
}) : (tensor<2x512x16x2xi8>, tensor<32x1024xf32>, tensor<32x1024xi8>) -> (tensor<2x512x16x2xi8>, tensor<32x1024xf32>, tensor<32x1024xi8>)
"func.return"(%7#1, %7#0) : (tensor<32x1024xf32>, tensor<2x512x16x2xi8>) -> ()
}) : () -> ()
"builtin.module"() ({
"transform.named_sequence"() <{arg_attrs = [{transform.readonly}], function_type = (!transform.any_op) -> (), sym_name = "__transform_main"}> ({
^bb0(%arg0: !transform.any_op):
%0 = "transform.structured.match"(%arg0) <{ops = ["linalg.pack"]}> : (!transform.any_op) -> !transform.any_op
%1:2 = "transform.test.fuse_and_yield"(%0) <{tile_interchange = [], tile_sizes = [1], use_forall = true}> : (!transform.any_op) -> (!transform.any_op, !transform.any_op)
"transform.yield"() : () -> ()
}) : () -> ()
}) {transform.with_named_sequence} : () -> ()
}) : () -> ()
```
I also noticed that Interface tests are missing from the bazel overlay
so i also added this.
Commit: b560ef9eb733e92ba9762fbbf1a08deea443f9e8
https://github.com/llvm/llvm-project/commit/b560ef9eb733e92ba9762fbbf1a08deea443f9e8
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M libcxx/test/benchmarks/spec.gen.py
Log Message:
-----------
[libc++] Fix naming of benchmarks with new SPEC metrics (#178445)
We need to ensure that no dots end up in those names to avoid confusing
LNT and the compare-benchmarks script.
Commit: 880ed0110052fb902364f453f068812d1a3f2129
https://github.com/llvm/llvm-project/commit/880ed0110052fb902364f453f068812d1a3f2129
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/include/llvm/Support/KnownBits.h
M llvm/include/llvm/Support/KnownFPClass.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Support/KnownFPClass.cpp
Log Message:
-----------
ValueTracking: Move powi logic to KnownFPClass (#179301)
This case is kind of ugly because we still need to look at the
known bits to short circuit the source check
Commit: 8450600452b9b515eb8a0a8b73b2f51123cf5bc4
https://github.com/llvm/llvm-project/commit/8450600452b9b515eb8a0a8b73b2f51123cf5bc4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Fix register names for CM_MVSA01/QC_CM_MVSA01 check in RISCVAsmParser::validateInstruction. NFC (#179286)
Use Rs1/Rs2 instead of Rd1/Rd2
Commit: 59045fa99bf48d631112058a632a2723384e0197
https://github.com/llvm/llvm-project/commit/59045fa99bf48d631112058a632a2723384e0197
Author: David Green <david.green at arm.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AddressingModes.h
Log Message:
-----------
[AArch64] Move the existing fcvt fixed point selection to tblgen. (#178603)
This removes the existing fcvt(fmul) -> vcvtfp2fx intrinsics combine
from selection dag, moving the code into a tablegen pattern like the
other fixed-point converts are. This will allow gisel to share the same
patterns (but this part is just SDAG).
The is expected to be roughly an NFC, the existing tests keep passing,
but there might be some differences due to performing the optimization
later.
Commit: 9dfdb1661357657ed3ba9fb58c4a759ee096ef76
https://github.com/llvm/llvm-project/commit/9dfdb1661357657ed3ba9fb58c4a759ee096ef76
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M libcxx/utils/ci/benchmark-for-lnt.py
Log Message:
-----------
[libc++] Don't fail LNT benchmark script when a benchmark fails
It's normal for some benchmarks to fail (e.g. fail to compile), and
that shouldn't cause the whole script to error out.
Commit: 02358c0fcf3c0849813b6502fb539847c4ad8f2b
https://github.com/llvm/llvm-project/commit/02358c0fcf3c0849813b6502fb539847c4ad8f2b
Author: Jhalak Patel <jhalakp at nvidia.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Utils/Utils.h
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
Log Message:
-----------
[mlir][scf] Fix trip count signedness and overflow in SCF Utils (#178782)
Change `getConstLoopTripCounts` to return `SmallVector<llvm::APInt>`
instead
of `SmallVector<int64_t>` to properly handle signedness and prevent
potential
overflow issues. Update all call sites to use APInt methods and uint64_t
for
intermediate calculations.
- Use APInt::isOne() instead of direct comparison with 1
- Store trip counts in uint64_t to avoid overflow in modulo operations
- Remove TODOs about signedness and overflow issues that are now fixed
Fixes #178506
Commit: 3ef69a966563ab4e1745e943c41a16eae3907d8a
https://github.com/llvm/llvm-project/commit/3ef69a966563ab4e1745e943c41a16eae3907d8a
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/docs/UsersManual.rst
Log Message:
-----------
Fix an inconsistency in UsersManual.rst (#179248)
Commit: a86202e82f040a62a346e173a9d3d1826146b9b2
https://github.com/llvm/llvm-project/commit/a86202e82f040a62a346e173a9d3d1826146b9b2
Author: Ziqing Luo <ziqing_luo at apple.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
A clang/test/SemaCXX/warn-unsafe-buffer-usage-format-attr-builtins.cpp
Log Message:
-----------
[clang] __builtin_os_log_format has incorrect PrintfFormat Attribute argument (#178320)
The format string is the 2nd argument of __builtin_os_log_format, thus
has index 1 instead of 0 in 0-based indexing.
The incorrect format attribute argument causes false positive
-Wunsafe-buffer-usage-in-format-attr-call warnings.
rdar://169043228
Commit: dd5f6d7041a03c51f2b16a22a2c0383689eb4ba6
https://github.com/llvm/llvm-project/commit/dd5f6d7041a03c51f2b16a22a2c0383689eb4ba6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrFormatsV.td
Log Message:
-----------
[RISCV] Split RISCVLSUMOP tablegen class for type safety. NFC
Since loads and stores have overlapping encodings we should have
different classes to make sure they stay separate.
Commit: 911acc8ef4d06cb1e8b57178dfb8f8a5161f7eeb
https://github.com/llvm/llvm-project/commit/911acc8ef4d06cb1e8b57178dfb8f8a5161f7eeb
Author: Anshul Nigham <nigham at google.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fix Bazel build for 4f9843b (#179321)
Co-authored-by: Pranav Kant <prka at google.com>
Commit: e0a9be9f41ccc73ee48f86b7d2597edc28cb8f61
https://github.com/llvm/llvm-project/commit/e0a9be9f41ccc73ee48f86b7d2597edc28cb8f61
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M lldb/source/Expression/IRInterpreter.cpp
M lldb/test/API/commands/expression/ir-interpreter/TestIRInterpreter.py
Log Message:
-----------
Reapply "[lldb] Add FP conversion instructions to IR interpreter" (#179022)
This reapplies #175292 with the fixed test. The original test used
integer types with different bit widths on different platforms.
----- Original message:
This allows expressions that use these conversions to be executed when
JIT is not available.
Commit: 3007e2f050bd36e5e8dab68a5c9abbfbf4561314
https://github.com/llvm/llvm-project/commit/3007e2f050bd36e5e8dab68a5c9abbfbf4561314
Author: Kshitij Paranjape <kshitijvparanjape at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
A llvm/test/Verifier/issue176674.ll
A llvm/test/Verifier/issue176674_1.ll
Log Message:
-----------
[AutoUpgrade] Prevent deletion of call if uses still exist (#177606)
The calls to the llvm.x86.sse2.pshuflw are being deleted due to invalid
vector type, even though uses still exist. Adding checks to prevent
deletion of call when uses still exist or even if eraseFromParent() is
called ensuring it is called after replaceAllUsesWith().
Fixes: #176674
Commit: 2a2dd17b3a896fd04a49396589f57370b9199d82
https://github.com/llvm/llvm-project/commit/2a2dd17b3a896fd04a49396589f57370b9199d82
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M lld/MachO/InputSection.cpp
A lld/test/MachO/arm64-branch-addend-stubs.s
Log Message:
-----------
[lld-macho] Fix branch relocations with addends to target actual function (#177430)
When a branch relocation has a non-zero addend (e.g., `bl _func+16`),
the linker was incorrectly computing `stub_address + addend` instead of
`function_address + addend`. This caused the branch to land in the wrong
location (past the stub section) rather than at the intended interior
point of the function.
The fix checks for non-zero addends on branch relocations and uses the
actual symbol VA in those cases. This makes sense semantically—branching
to an interior offset implies reliance on the original function's
layout, which an interposed replacement wouldn't preserve anyway.
Added test `arm64-branch-addend-stubs.s` that verifies the correct
behavior using `-flat_namespace` (which makes local symbols interposable
and thus routed through stubs).
[Assisted-by](https://t.ly/Dkjjk): Cursor IDE + claude-opus-4.5-high
Commit: 7b6f1235b9353f1b9c3b279f1f127b8d47123589
https://github.com/llvm/llvm-project/commit/7b6f1235b9353f1b9c3b279f1f127b8d47123589
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M libcxx/include/CMakeLists.txt
A libcxx/include/__iterator/capacity_aware_iterator.h
M libcxx/include/module.modulemap.in
M libcxx/include/optional
A libcxx/test/libcxx/iterators/capacity_aware_iter/arithmetic.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/assert.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/comparison.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/contiguous.verify.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/dereference.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/types.compile.pass.cpp
A libcxx/test/libcxx/utilities/optional/optional.iterator/assert.arithmetic.pass.cpp
A libcxx/test/libcxx/utilities/optional/optional.iterator/iterator.compile.pass.cpp
A libcxx/test/std/utilities/optional/optional.iterator/compare.pass.cpp
M libcxx/test/std/utilities/optional/optional.iterator/iterator.pass.cpp
M libcxx/utils/libcxx/test/features/libcxx_macros.py
Log Message:
-----------
[libc++] Implement a type-safe iterator for optional (#154239)
Create a new `__capacity_aware_iterator` iterator type which wraps an
existing iterator, takes its container as a template parameter, and
encodes the maximum amount of elements the container can hold. The main
objective is to prevent iterator mixups between different containers
(e.g. `vector`).
Commit: 84ef35b3260f8425f7afe2aa69400b54b0795653
https://github.com/llvm/llvm-project/commit/84ef35b3260f8425f7afe2aa69400b54b0795653
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
Log Message:
-----------
[HLSL][Codegen][NFC] Simplify intrinsic picking (#179300)
A pattern developed to do WaveActive intrinsics in their own helpers
because some wave intrinsics on spirv lack a signed\unsigned variant.
In the case of Min and Max the variants exist on both DirectX and SPIRV.
That means we can do away with a specialized helper.
Commit: 5a4754d2ced8792be2c21eedfde1ed826f7ef64a
https://github.com/llvm/llvm-project/commit/5a4754d2ced8792be2c21eedfde1ed826f7ef64a
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/LoopUnrollAnalyzer.cpp
Log Message:
-----------
[perf] Replace copy-assign by move-assign in llvm/lib/Analysis/* (#178169)
Commit: 955fd59c92ccb8ffb2aeec966ed4ca29eadf0288
https://github.com/llvm/llvm-project/commit/955fd59c92ccb8ffb2aeec966ed4ca29eadf0288
Author: joaosaffran <joaosaffranllvm at gmail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/lib/Sema/HLSLExternalSemaSource.cpp
A clang/test/CodeGenHLSL/resources-declared-only-once.hlsl
Log Message:
-----------
[HLSL] Stop redeclaration of resources types in HLSLExternalSemaSource (#178808)
During the declaration of HLSL resource types, we add a delay to the
completion of such declarations to happen during
`HLSLExternalSemaSource::CompleteType`. Such might cause the parser to
declare the resources twice, like here
https://hlsl.godbolt.org/z/aT4b1Goeb, triggering an assert.
This patch fixes this issue by removing the resources out of the
completions declaration list once they are declared.
Fix: #153619
Commit: 3c67dcb2f2cd47416d6af67cdf66f9447568a972
https://github.com/llvm/llvm-project/commit/3c67dcb2f2cd47416d6af67cdf66f9447568a972
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU][SIInsertWaitcnts][NFC] Replace Wait.combined() with simple assignment (#179142)
Wait is initialized with all ~0s and by the time it reaches the updated
line it still holds the same value. So Wait.combined(AllZeroWait) is
effectively combining all ~0s with AllZeroWait and given that combined()
returns the min() of the two it should always return AllZeroWait.
So this patch replaces the assignment with `= AllZeroWait` to make it
easier to read.
Commit: 4b893d25ea9318094add39c4e3c59aedb2318b27
https://github.com/llvm/llvm-project/commit/4b893d25ea9318094add39c4e3c59aedb2318b27
Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/invalid.mlir
Log Message:
-----------
[mlir][tensor] Emit diagnostics for unranked tensor reshape ops instead of asserting (#179005)
This PR updates tensor.expand_shape and tensor.collapse_shape ODS
definitions to require ranked tensor operands/results by switching from
AnyTensor to AnyRankedTensor.
Fixes https://github.com/llvm/llvm-project/issues/178228
Commit: af836ff60c8cf928e10442280d18556a90af9d16
https://github.com/llvm/llvm-project/commit/af836ff60c8cf928e10442280d18556a90af9d16
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[CodeGen] Add getTgtMemIntrinsic overload for multiple memory operands (NFC) (#175843)
There are target intrinsics that logically require two MMOs, such as
llvm.amdgcn.global.load.lds, which is a copy from global memory to LDS,
so there's both a load and a store to different addresses.
Add an overload of getTgtMemIntrinsic that produces intrinsic info in a
vector, and implement it in terms of the existing (now protected)
overload.
GlobalISel and SelectionDAG paths are updated to support multiple MMOs.
The main part of this change is supporting multiple MMOs in
MemIntrinsicNodes.
Converting the backends to using the new overload is a fairly mechanical step
that is done in a separate change in the hope that that allows reducing merging
pains during review and for downstreams. A later change will then enable
using multiple MMOs in AMDGPU.
Commit: 1b30f938215b105f365097abf37d79b6a5851511
https://github.com/llvm/llvm-project/commit/1b30f938215b105f365097abf37d79b6a5851511
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h
Log Message:
-----------
[ThreadSafety] Make header compile standalone. NFC.
Commit: c6086dd5508e4de2f175805c28e94b30ad4332a2
https://github.com/llvm/llvm-project/commit/c6086dd5508e4de2f175805c28e94b30ad4332a2
Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
A llvm/test/CodeGen/RISCV/macho-relocs.ll
Log Message:
-----------
[RISC-V][Mach-O] Add codegen support for Mach-O object format. (#178263)
This commit enables code generation for RISC-V targeting Mach-O:
- Implement RISCVMachOTargetObjectFile::getNameWithPrefix method to
handle Mach-O symbol naming requirements.
- Use shouldAssumeDSOLocal() in RISCVTargetLowering::lowerGlobalAddress
instead of isDSOLocal() for proper Mach-O semantics in global address
lowering. Note that this is a NFC for RISCV when targeting ELF.
- Add comprehensive tests for various relocation types (direct globals,
GOT-based addressing, static vs PIC models).
- Test function calls, tail calls, and various symbol reference patterns
including addends and subtractions.
This patch is based on code originally written by Tim Northover.
Commit: 7a2d46c85b497abdc63234929e49f558d43f07d6
https://github.com/llvm/llvm-project/commit/7a2d46c85b497abdc63234929e49f558d43f07d6
Author: Stefan Weigl-Bosker <stefan at s00.xyz>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
R llvm/test/Verifier/issue176674.ll
R llvm/test/Verifier/issue176674_1.ll
Log Message:
-----------
Revert "[AutoUpgrade] Prevent deletion of call if uses still exist (#177606)" (#179340)
This reverts commit 3007e2f050bd36e5e8dab68a5c9abbfbf4561314 (#177606)
Buildbot:
```
Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
[9/137] Linking CXX shared module unittests/Passes/Plugins/TestPlugin.so
[10/137] Linking CXX executable bin/llvm-config
[11/137] Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/AutoUpgrade.cpp.o
[12/137] Linking CXX static library lib/libLLVMCore.a
[13/137] Generating VCSVersion.inc
[14/135] Linking CXX executable bin/apinotes-test
[15/135] Linking CXX executable bin/llvm-cxxmap
[16/135] Linking CXX executable bin/llvm-bcanalyzer
[17/135] Linking CXX executable bin/llvm-ctxprof-util
[18/135] Linking CXX executable bin/llvm-objcopy
FAILED: bin/llvm-objcopy
: && /usr/bin/clang++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -fuse-ld=lld -Wl,--color-diagnostics -Wl,--gc-sections -Xlinker --dependency-file=tools/llvm-objcopy/CMakeFiles/llvm-objcopy.dir/link.d tools/llvm-objcopy/CMakeFiles/llvm-objcopy.dir/ObjcopyOptions.cpp.o tools/llvm-objcopy/CMakeFiles/llvm-objcopy.dir/llvm-objcopy.cpp.o tools/llvm-objcopy/CMakeFiles/llvm-objcopy.dir/llvm-objcopy-driver.cpp.o -o bin/llvm-objcopy -Wl,-rpath,"\$ORIGIN/../lib:" lib/libLLVMObject.a lib/libLLVMObjCopy.a lib/libLLVMOption.a lib/libLLVMSupport.a lib/libLLVMTargetParser.a lib/libLLVMMC.a lib/libLLVMBinaryFormat.a lib/libLLVMIRReader.a lib/libLLVMBitReader.a lib/libLLVMAsmParser.a lib/libLLVMCore.a lib/libLLVMRemarks.a lib/libLLVMBitstreamReader.a lib/libLLVMMCParser.a lib/libLLVMTextAPI.a lib/libLLVMDebugInfoDWARFLowLevel.a -lrt -ldl -lm /usr/lib/aarch64-linux-gnu/libz.so /usr/lib/aarch64-linux-gnu/libzstd.so lib/libLLVMDemangle.a && :
ld.lld: error: undefined symbol: llvm::Value::dump() const
>>> referenced by AutoUpgrade.cpp
>>> AutoUpgrade.cpp.o:(reportFatalUsageErrorWithCI(llvm::StringRef, llvm::CallBase*)) in archive lib/libLLVMCore.a
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
```
Commit: c3a2597f8ca424d7cab3568d19fbb61fd154104a
https://github.com/llvm/llvm-project/commit/c3a2597f8ca424d7cab3568d19fbb61fd154104a
Author: Sadaf Ebrahimi <sadafebrahimi at google.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/primary64.h
Log Message:
-----------
[scudo] Add resident pages info to getStats (#178969)
Adding resident pages field to the primary allocator's getStats function
makes it consistent with the secondary allocator's getStats function.
Commit: 0c07203e075bf6a9d796087b6a5b673789eeb570
https://github.com/llvm/llvm-project/commit/0c07203e075bf6a9d796087b6a5b673789eeb570
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-dominance.ll
Log Message:
-----------
[Matrix] Add test where pointer phi currently blocks tiling.
Add a test with a phi node currently unnecessarily preventing tiling.
Commit: 350b1383130447c0dddb4fed2fc60dc5a5facd12
https://github.com/llvm/llvm-project/commit/350b1383130447c0dddb4fed2fc60dc5a5facd12
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Improve code around ArrayRef construction (NFC) (#179191)
Commit: cdab38f776fc6d0c809500d901df51354edc745c
https://github.com/llvm/llvm-project/commit/cdab38f776fc6d0c809500d901df51354edc745c
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M polly/lib/External/isl/GIT_HEAD_ID
M polly/lib/External/isl/doc/user.pod
M polly/lib/External/isl/include/isl/arg.h
M polly/lib/External/isl/include/isl/cpp-checked.h
M polly/lib/External/isl/include/isl/cpp.h
M polly/lib/External/isl/include/isl/ctx.h
M polly/lib/External/isl/include/isl/fixed_box.h
M polly/lib/External/isl/include/isl/union_map.h
M polly/lib/External/isl/include/isl/union_set.h
M polly/lib/External/isl/include/isl/val.h
M polly/lib/External/isl/interface/configure.ac
M polly/lib/External/isl/interface/cpp.cc
M polly/lib/External/isl/interface/extract_interface.cc
M polly/lib/External/isl/interface/generator.cc
A polly/lib/External/isl/interface/include/isl-interface/clang_wrap.h
A polly/lib/External/isl/interface/include/isl-interface/config.h.in
A polly/lib/External/isl/interface/include/isl-interface/set_lang_defaults_arg4.h
M polly/lib/External/isl/interface/isl.py.core
M polly/lib/External/isl/interface/plain_cpp.cc
M polly/lib/External/isl/interface/python.cc
R polly/lib/External/isl/interface/set_lang_defaults_arg4.h
M polly/lib/External/isl/interface/template_cpp.cc
M polly/lib/External/isl/isl_arg.c
M polly/lib/External/isl/isl_box.c
M polly/lib/External/isl/isl_ctx.c
M polly/lib/External/isl/isl_map_simplify.c
M polly/lib/External/isl/isl_test.c
M polly/lib/External/isl/isl_test2.cc
M polly/lib/External/isl/isl_union_map.c
M polly/lib/External/isl/isl_val.c
A polly/lib/External/isl/test_inputs/codegen/polly.c
A polly/lib/External/isl/test_inputs/codegen/polly.st
Log Message:
-----------
[Polly] Update isl to isl-0.27-77-g99a07a03 (#179350)
Update isl to include
https://repo.or.cz/isl.git/commit/99a07a039237f11bccc1ef80a7b6cc76ae5f98c5
which fixes #177808
Thanks @skimo-openhub for the fix and @Andarwinux for the crash report
Fixes: #177808
Commit: 4c635107ded1341b453569beb5b279c625939e5a
https://github.com/llvm/llvm-project/commit/4c635107ded1341b453569beb5b279c625939e5a
Author: Marco Elver <elver at google.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
Log Message:
-----------
Thread Safety Analysis: Add literal-based alias test (#179041)
Add a simple literal-based alias test that shows that the recently fixed
value-based literal comparison works when resolving aliases.
NFC.
Commit: fc89b1c2d80f8aeed1236d4f80ca8047ff75f37e
https://github.com/llvm/llvm-project/commit/fc89b1c2d80f8aeed1236d4f80ca8047ff75f37e
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/AArch64/constant-island-reference.s
Log Message:
-----------
[BOLT] Get symbol for const island referenced across func by relocation (#178988)
When handling relocation in one function referencing code or
data defined in another function, we should check if relocation
target is constant island or not, and get the referenced symbol
accordingly for both cases.
Commit: c7fd23c1e7276bc7e8f3923fffb92a546330483d
https://github.com/llvm/llvm-project/commit/c7fd23c1e7276bc7e8f3923fffb92a546330483d
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/sources.gni
Log Message:
-----------
gn build: Port 39413af931a7
Commit: 50a9141470b1ede13fa7b62a3a5d6f9628cded4c
https://github.com/llvm/llvm-project/commit/50a9141470b1ede13fa7b62a3a5d6f9628cded4c
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 7b6f1235b9353
Commit: 12d10991907e3ed5d5f9f02d436b7b6c2d70f9c9
https://github.com/llvm/llvm-project/commit/12d10991907e3ed5d5f9f02d436b7b6c2d70f9c9
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
Log Message:
-----------
[gn build] Port 9d5a42c8411b2
Commit: 5f7e5e5a15b8b97438397b5de54d4b0cd0eb7438
https://github.com/llvm/llvm-project/commit/5f7e5e5a15b8b97438397b5de54d4b0cd0eb7438
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M .ci/all_requirements.txt
A .ci/buildbot/README.md
A .ci/buildbot/worker.py
M .ci/compute_projects.py
M .ci/generate_test_report_github.py
M .ci/generate_test_report_lib.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M .ci/premerge_advisor_explain.py
M .ci/utils.sh
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/renovate.json
M .github/workflows/build-ci-container-windows.yml
M .github/workflows/ci-post-commit-analyzer.yml
M .github/workflows/commit-access-review.yml
A .github/workflows/commit-create-issue.py
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/docs.yml
M .github/workflows/email-check.yaml
M .github/workflows/get-llvm-version/action.yml
M .github/workflows/gha-codeql.yml
M .github/workflows/hlsl-test-all.yaml
A .github/workflows/ids-check.yml
R .github/workflows/issue-write-test.yaml
M .github/workflows/issue-write.yml
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/libcxx-check-generated-files.yml
M .github/workflows/libcxx-run-benchmarks.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
R .github/workflows/pr-request-release-note.yml
M .github/workflows/premerge.yaml
A .github/workflows/prune-branches.yml
A .github/workflows/prune-unused-branches.py
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-documentation.yml
R .github/workflows/release-lit.yml
M .github/workflows/release-sources.yml
M .github/workflows/release-tasks.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 SECURITY.md
A bolt/Maintainers.md
R bolt/Maintainers.txt
M bolt/README.md
M bolt/docs/CommandLineArgumentReference.md
M bolt/include/bolt/Core/BinaryBasicBlock.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/LivenessAnalysis.h
M bolt/include/bolt/Passes/ReachingDefOrUse.h
M bolt/include/bolt/Profile/YAMLProfileWriter.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/DebugNames.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Passes/PLTCall.cpp
M bolt/lib/Passes/PointerAuthCFIFixup.cpp
M bolt/lib/Passes/RegReAssign.cpp
M bolt/lib/Passes/ShrinkWrapping.cpp
M bolt/lib/Passes/StackAvailableExpressions.cpp
M bolt/lib/Passes/TailDuplication.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/StaleProfileMatching.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/lib/Rewrite/GNUPropertyRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/runtime/instr.cpp
M bolt/test/AArch64/bf_min_alignment.s
M bolt/test/AArch64/bti-note.test
M bolt/test/AArch64/compact-code-model.s
A bolt/test/AArch64/constant-island-reference.s
M bolt/test/AArch64/epilogue-determination.s
M bolt/test/AArch64/exceptions-plt.cpp
M bolt/test/AArch64/ifunc.test
M bolt/test/AArch64/lit.local.cfg
A bolt/test/AArch64/long-jmp-bti-ignored.s
A bolt/test/AArch64/long-jmp-bti.s
M bolt/test/AArch64/no-bti-note.test
M bolt/test/AArch64/plt-call.test
A bolt/test/AArch64/rseq.s
M bolt/test/AArch64/text-data.c
M bolt/test/AArch64/tls.c
M bolt/test/AArch64/unsupported-passes.test
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/X86/Inputs/dwarf4-gdb-index-types-helper.s
M bolt/test/X86/Inputs/dwarf4-gdb-index-types-main.s
A bolt/test/X86/Inputs/test-coro-probes.yaml
A bolt/test/X86/Inputs/test_coro.cpp
M bolt/test/X86/lit.local.cfg
A bolt/test/X86/pseudoprobe-coro.test
M bolt/test/dump-dot-func.test
M bolt/test/dwarf5-missing-dwo.c
M bolt/test/dwo-name-retrieving.test
M bolt/test/indirect-goto-relocs.test
M bolt/test/lit.local.cfg
M bolt/test/lsda-section-name.cpp
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/disassemble-plts.c
A bolt/test/runtime/AArch64/instrumentation-ind-call-bti.c
A bolt/test/runtime/AArch64/long-jmp-bti-plt.c
A bolt/test/runtime/X86/plt-call.c
M bolt/test/timers.c
M bolt/test/yaml-profile-kind.c
M bolt/tools/merge-fdata/merge-fdata.cpp
M bolt/unittests/Core/MCPlusBuilder.cpp
A bolt/utils/docker-tests/Dockerfile
M clang-tools-extra/Maintainers.rst
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/.clang-format
M clang-tools-extra/clang-tidy/.clang-tidy
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyModule.h
M clang-tools-extra/clang-tidy/ClangTidyModuleRegistry.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ClangTidyOptions.h
M clang-tools-extra/clang-tidy/ClangTidyProfiling.cpp
M clang-tools-extra/clang-tidy/GlobList.h
M clang-tools-extra/clang-tidy/NoLintDirectiveHandler.cpp
M clang-tools-extra/clang-tidy/abseil/AbseilTidyModule.cpp
M clang-tools-extra/clang-tidy/abseil/DurationFactoryScaleCheck.cpp
M clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
M clang-tools-extra/clang-tidy/add_new_check.py
M clang-tools-extra/clang-tidy/altera/AlteraTidyModule.cpp
M clang-tools-extra/clang-tidy/altera/IdDependentBackwardBranchCheck.h
M clang-tools-extra/clang-tidy/android/AndroidTidyModule.cpp
M clang-tools-extra/clang-tidy/boost/BoostTidyModule.cpp
M clang-tools-extra/clang-tidy/boost/UseRangesCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.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/EasilySwappableParametersCheck.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/LambdaFunctionNameCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.h
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/NotNullTerminatedResultCheck.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/StringIntegerAssignmentCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousSemicolonCheck.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/bugprone/UseAfterMoveCheck.h
M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/concurrency/ConcurrencyTidyModule.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.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/ProBoundsArrayToPointerDecayCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsAvoidUncheckedContainerAccessCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/VirtualClassDestructorCheck.cpp
M clang-tools-extra/clang-tidy/custom/CustomTidyModule.cpp
M clang-tools-extra/clang-tidy/darwin/DarwinTidyModule.cpp
A clang-tools-extra/clang-tidy/doc8.ini
M clang-tools-extra/clang-tidy/fuchsia/FuchsiaTidyModule.cpp
M clang-tools-extra/clang-tidy/google/AvoidNSObjectNewCheck.cpp
M clang-tools-extra/clang-tidy/google/CMakeLists.txt
M clang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp
M clang-tools-extra/clang-tidy/google/TodoCommentCheck.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/hicpp/HICPPTidyModule.cpp
M clang-tools-extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.cpp
M clang-tools-extra/clang-tidy/linuxkernel/LinuxKernelTidyModule.cpp
M clang-tools-extra/clang-tidy/llvm/CMakeLists.txt
M clang-tools-extra/clang-tidy/llvm/IncludeOrderCheck.cpp
M clang-tools-extra/clang-tidy/llvm/LLVMTidyModule.cpp
M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp
A clang-tools-extra/clang-tidy/llvm/TypeSwitchCaseTypesCheck.cpp
A clang-tools-extra/clang-tidy/llvm/TypeSwitchCaseTypesCheck.h
M clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.cpp
M clang-tools-extra/clang-tidy/llvm/UseRangesCheck.cpp
A clang-tools-extra/clang-tidy/llvm/UseVectorUtilsCheck.cpp
A clang-tools-extra/clang-tidy/llvm/UseVectorUtilsCheck.h
M clang-tools-extra/clang-tidy/llvmlibc/LLVMLibcTidyModule.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/ConstCorrectnessCheck.h
M clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp
M clang-tools-extra/clang-tidy/misc/NewDeleteOverloadsCheck.h
M clang-tools-extra/clang-tidy/misc/OverrideWithDifferentVisibilityCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.h
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ConcatNestedNamespacesCheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.h
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ReplaceDisallowCopyAndAssignMacroCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStringViewCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStringViewCheck.h
A clang-tools-extra/clang-tidy/modernize/UseStructuredBindingCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStructuredBindingCheck.h
M clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clang-tidy/mpi/MPITidyModule.cpp
M clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp
M clang-tools-extra/clang-tidy/openmp/OpenMPTidyModule.cpp
M clang-tools-extra/clang-tidy/performance/CMakeLists.txt
M clang-tools-extra/clang-tidy/performance/EnumSizeCheck.cpp
M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
M clang-tools-extra/clang-tidy/performance/NoAutomaticMoveCheck.cpp
M clang-tools-extra/clang-tidy/performance/PerformanceTidyModule.cpp
A clang-tools-extra/clang-tidy/performance/StringViewConversionsCheck.cpp
A clang-tools-extra/clang-tidy/performance/StringViewConversionsCheck.h
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitializationCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/plugin/ClangTidyPlugin.cpp
M clang-tools-extra/clang-tidy/portability/AvoidPragmaOnceCheck.cpp
M clang-tools-extra/clang-tidy/portability/PortabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.cpp
M clang-tools-extra/clang-tidy/readability/AvoidUnconditionalPreprocessorIfCheck.cpp
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.h
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.h
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/DeleteNullPointerCheck.cpp
M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
M clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.h
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/IsolateDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/readability/NamedParameterCheck.cpp
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.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/RedundantMemberInitCheck.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/readability/RedundantTypenameCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.cpp
M clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
A clang-tools-extra/clang-tidy/readability/TrailingCommaCheck.cpp
A clang-tools-extra/clang-tidy/readability/TrailingCommaCheck.h
M clang-tools-extra/clang-tidy/rename_check.py
M clang-tools-extra/clang-tidy/tool/check_alphabetical_order.py
M clang-tools-extra/clang-tidy/tool/check_alphabetical_order_test.py
M clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/clang-tidy/utils/DesignatedInitializers.cpp
M clang-tools-extra/clang-tidy/utils/FixItHintUtils.cpp
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.h
M clang-tools-extra/clang-tidy/utils/Matchers.h
M clang-tools-extra/clang-tidy/utils/OptionsUtils.cpp
M clang-tools-extra/clang-tidy/utils/UsingInserter.cpp
M clang-tools-extra/clang-tidy/zircon/ZirconTidyModule.cpp
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/AST.h
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/Diagnostics.cpp
M clang-tools-extra/clangd/FindSymbols.cpp
M clang-tools-extra/clangd/FindSymbols.h
M clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/ParsedAST.h
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/Selection.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
M clang-tools-extra/clangd/TUScheduler.cpp
M clang-tools-extra/clangd/TidyProvider.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/Background.cpp
M clang-tools-extra/clangd/index/FileIndex.cpp
M clang-tools-extra/clangd/index/IndexAction.cpp
M clang-tools-extra/clangd/index/IndexAction.h
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/index/SymbolCollector.h
M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
M clang-tools-extra/clangd/index/remote/Client.cpp
M clang-tools-extra/clangd/index/remote/monitor/Monitor.cpp
M clang-tools-extra/clangd/index/remote/server/Server.cpp
M clang-tools-extra/clangd/indexer/IndexerMain.cpp
M clang-tools-extra/clangd/refactor/tweaks/DefineOutline.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
A clang-tools-extra/clangd/test/symbol-tags.test
M clang-tools-extra/clangd/test/symbols.test
M clang-tools-extra/clangd/test/system-include-extractor.test
M clang-tools-extra/clangd/tool/Check.cpp
M clang-tools-extra/clangd/unittests/BackgroundIndexTests.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/HoverTests.cpp
M clang-tools-extra/clangd/unittests/IndexActionTests.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/clangd/unittests/ReplayPeambleTests.cpp
M clang-tools-extra/clangd/unittests/SelectionTests.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/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/DefineOutlineTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-reorder-fields.rst
M clang-tools-extra/docs/clang-tidy/Contributing.rst
M clang-tools-extra/docs/clang-tidy/ExternalClang-TidyExamples.rst
M clang-tools-extra/docs/clang-tidy/Integrations.rst
M clang-tools-extra/docs/clang-tidy/QueryBasedCustomChecks.rst
M clang-tools-extra/docs/clang-tidy/checks/abseil/unchecked-statusor-access.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/macro-parentheses.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-functions.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/fuchsia/multiple-inheritance.rst
M clang-tools-extra/docs/clang-tidy/checks/google/build-namespaces.rst
M clang-tools-extra/docs/clang-tidy/checks/google/readability-casting.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/llvm/type-switch-case-types.rst
M clang-tools-extra/docs/clang-tidy/checks/llvm/use-ranges.rst
A clang-tools-extra/docs/clang-tidy/checks/llvm/use-vector-utils.rst
A clang-tools-extra/docs/clang-tidy/checks/misc/anonymous-namespace-in-header.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/use-internal-linkage.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-string-view.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-structured-binding.rst
A clang-tools-extra/docs/clang-tidy/checks/performance/string-view-conversions.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-ifelse-braces.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/trailing-comma.rst
M clang-tools-extra/docs/clang-tidy/index.rst
M clang-tools-extra/docs/index.rst
M clang-tools-extra/include-cleaner/lib/Analysis.cpp
M clang-tools-extra/include-cleaner/lib/HTMLReport.cpp
M clang-tools-extra/include-cleaner/lib/Record.cpp
M clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp
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/CTTestTidyModule.cpp
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
M clang-tools-extra/test/clang-tidy/checkers/abseil/faster-strsplit-delimiter.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/dynamic-static-initializers-constinit.hpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/dynamic-static-initializers.hpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/invalid-enum-default-initialization.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/macro-parentheses-cmdline.cpp
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
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unsafe-functions.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
R clang-tools-extra/test/clang-tidy/checkers/google/namespaces.cpp
A clang-tools-extra/test/clang-tidy/checkers/llvm/type-switch-case-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/use-ranges.cpp
A clang-tools-extra/test/clang-tidy/checkers/llvm/use-vector-utils.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/anonymous-namespace.h
A clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/const-correctness/correctness-fixed.h
A clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/const-correctness/correctness.h
M clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/use-internal-linkage/func.h
M clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/use-internal-linkage/func_h.inc
A clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/use-internal-linkage/type.h
M clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/use-internal-linkage/var.h
A clang-tools-extra/test/clang-tidy/checkers/misc/anonymous-namespace-in-header.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-parameters-header.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-consteval.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-fix-mode-none.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-module.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-wrong-config.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage.c
A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-structured-binding/fake_std_pair_tuple.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-custom.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-custom.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-string-view-custom-view.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-string-view-cxx20.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-string-view-ignored.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-string-view.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-structured-binding.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/enum-size.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg.cpp
A clang-tools-extra/test/clang-tidy/checkers/performance/string-view-conversions-cxx20.cpp
A clang-tools-extra/test/clang-tidy/checkers/performance/string-view-conversions.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/function-cognitive-complexity.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-lower.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-none.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-override.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-c99.c
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
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/test/clang-tidy/checkers/readability/non-const-parameter.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-typename.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx11.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx20-remove.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx20.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-remove.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-wrong-config.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma.c
A clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/CUDA/cuda.h
A clang-tools-extra/test/clang-tidy/infrastructure/cuda-basic.cu
M clang-tools-extra/test/clang-tidy/infrastructure/custom-query-check-not-enable.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/custom-query-check.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/hide-progress-flag-scripts.cpp
M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
M clang/CMakeLists.txt
M clang/Maintainers.rst
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_code_completion.py
M clang/bindings/python/tests/cindex/test_enums.py
M clang/cmake/caches/Fuchsia-stage2.cmake
A clang/cmake/caches/Pico.cmake
M clang/cmake/caches/hexagon-unknown-linux-musl-clang-cross.cmake
A clang/cmake/caches/hexagon-unknown-linux-musl-clang-dylib.cmake
M clang/docs/AddressSanitizer.rst
M clang/docs/BoundsSafety.rst
M clang/docs/ClangFormatStyleOptions.rst
A clang/docs/LLVMExceptionHandlingCodeGen.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LibASTMatchersReference.html
M clang/docs/MSVCCompatibility.rst
M clang/docs/MemorySanitizer.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/ReleaseNotesTemplate.txt
A clang/docs/ScalableStaticAnalysisFramework/Framework.rst
A clang/docs/ScalableStaticAnalysisFramework/SummaryExtraction.rst
M clang/docs/SourceBasedCodeCoverage.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/ThreadSanitizer.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/analyzer/user-docs/CrossTranslationUnit.rst
M clang/docs/index.rst
M clang/examples/LLVMPrintFunctionNames/CMakeLists.txt
M clang/examples/PrintFunctionNames/CMakeLists.txt
M clang/include/clang/AST/ASTStructuralEquivalence.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/FormatString.h
M clang/include/clang/AST/HLSLResource.h
M clang/include/clang/AST/IgnoreExpr.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/PrettyPrinter.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/AST/VTableBuilder.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Checker.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
A clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeStats.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LiveOrigins.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/Origins.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
M clang/include/clang/Analysis/AnalysisDeclContext.h
A clang/include/clang/Analysis/AnnexKDetection.h
M clang/include/clang/Analysis/CFG.h
M clang/include/clang/Analysis/CFGStmtMap.h
M clang/include/clang/Analysis/CallGraph.h
M clang/include/clang/Analysis/CloneDetection.h
A clang/include/clang/Analysis/Scalable/Model/EntityId.h
A clang/include/clang/Analysis/Scalable/Model/EntityIdTable.h
A clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
A clang/include/clang/Analysis/Scalable/TUSummary/EntitySummary.h
A clang/include/clang/Analysis/Scalable/TUSummary/ExtractorRegistry.h
A clang/include/clang/Analysis/Scalable/TUSummary/TUSummary.h
A clang/include/clang/Analysis/Scalable/TUSummary/TUSummaryBuilder.h
A clang/include/clang/Analysis/Scalable/TUSummary/TUSummaryExtractor.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.def
R clang/include/clang/Basic/BuiltinsAMDGPU.def
A clang/include/clang/Basic/BuiltinsAMDGPU.td
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/include/clang/Basic/BuiltinsSPIRVCommon.td
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/BuiltinsX86_64.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/include/clang/Basic/DebugOptions.def
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/LLVM.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/OffloadArch.h
M clang/include/clang/Basic/OpenCLExtensions.def
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/TokenKinds.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/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Interfaces/CIRLoopOpInterface.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/CodeGen/ModuleBuilder.h
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/Driver/SanitizerArgs.h
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Index/IndexingOptions.h
A clang/include/clang/Interpreter/IncrementalExecutor.h
M clang/include/clang/Interpreter/Interpreter.h
M clang/include/clang/Lex/CodeCompletionHandler.h
M clang/include/clang/Lex/DependencyDirectivesScanner.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/ModuleLoader.h
M clang/include/clang/Lex/ModuleMap.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/Token.h
M clang/include/clang/Lex/TokenLexer.h
M clang/include/clang/Options/Options.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/AnalysisBasedWarnings.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Sema/SemaRISCV.h
M clang/include/clang/Sema/SemaX86.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ModuleCache.h
M clang/include/clang/Serialization/ModuleManager.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/include/clang/Tooling/DependencyScanningTool.h
M clang/include/clang/Tooling/Inclusions/HeaderIncludes.h
M clang/include/module.modulemap
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/AttrImpl.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/InitMap.cpp
M clang/lib/AST/ByteCode/InitMap.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
M clang/lib/AST/ByteCode/InterpHelpers.h
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Record.h
M clang/lib/AST/ByteCode/State.cpp
M clang/lib/AST/ByteCode/State.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConcepts.cpp
M clang/lib/AST/ExprConstShared.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/Stmt.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/Analysis/AnalysisDeclContext.cpp
A clang/lib/Analysis/AnnexKDetection.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/CFGStmtMap.cpp
M clang/lib/Analysis/CMakeLists.txt
M clang/lib/Analysis/CloneDetection.cpp
M clang/lib/Analysis/FlowSensitive/AdornedCFG.cpp
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/FormulaSerialization.cpp
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/LifetimeSafety/CMakeLists.txt
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/Facts.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeSafety.cpp
A clang/lib/Analysis/LifetimeSafety/LifetimeStats.cpp
M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
M clang/lib/Analysis/LifetimeSafety/Loans.cpp
M clang/lib/Analysis/LifetimeSafety/Origins.cpp
M clang/lib/Analysis/RetainSummaryManager.cpp
M clang/lib/Analysis/Scalable/CMakeLists.txt
A clang/lib/Analysis/Scalable/Model/EntityIdTable.cpp
A clang/lib/Analysis/Scalable/Serialization/SerializationFormat.cpp
A clang/lib/Analysis/Scalable/TUSummary/ExtractorRegistry.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/Basic/OffloadArch.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/TokenKinds.cpp
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenAsm.cpp
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/TargetInfo.h
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
R clang/lib/CIR/Dialect/Transforms/LoweringPrepareCXXABI.h
R clang/lib/CIR/Dialect/Transforms/LoweringPrepareItaniumCXXABI.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.h
A clang/lib/CIR/Dialect/Transforms/TargetLowering/TargetLoweringInfo.cpp
A clang/lib/CIR/Dialect/Transforms/TargetLowering/TargetLoweringInfo.h
M clang/lib/CIR/Interfaces/CIRLoopOpInterface.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprComplex.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/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
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/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
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/CMakeLists.txt
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenPGO.h
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MCDCState.h
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/ModuleBuilder.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/lib/CodeGen/TargetBuiltins/PPC.cpp
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/DirectX.cpp
M clang/lib/CodeGen/Targets/Hexagon.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/CrossTU/CrossTranslationUnit.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/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/Flang.cpp
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/Linux.cpp
M clang/lib/Driver/ToolChains/Linux.h
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MSVC.h
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/SPIRV.h
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Driver/ToolChains/ZOS.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Format/WhitespaceManager.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CMakeLists.txt
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/ModuleDependencyCollector.cpp
M clang/lib/Frontend/PrintPreprocessedOutput.cpp
M clang/lib/Frontend/Rewrite/FrontendActions.cpp
M clang/lib/Frontend/SARIFDiagnostic.cpp
M clang/lib/Frontend/TextDiagnostic.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/__clang_hip_libdevice_declares.h
M clang/lib/Headers/amdgpuintrin.h
M clang/lib/Headers/amo.h
M clang/lib/Headers/amxavx512intrin.h
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/avx512bwintrin.h
M clang/lib/Headers/avx512dqintrin.h
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avx512fp16intrin.h
M clang/lib/Headers/avx512vlbwintrin.h
M clang/lib/Headers/avx512vldqintrin.h
M clang/lib/Headers/avx512vlfp16intrin.h
M clang/lib/Headers/avx512vlintrin.h
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/crc32intrin.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/gpuintrin.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/larchintrin.h
M clang/lib/Headers/nvptxintrin.h
M clang/lib/Headers/opencl-c-base.h
M clang/lib/Headers/opencl-c.h
A clang/lib/Headers/spirvintrin.h
M clang/lib/Headers/xmmintrin.h
M clang/lib/Index/CommentToXML.cpp
M clang/lib/Index/IndexTypeSourceInfo.cpp
M clang/lib/Index/IndexingAction.cpp
M clang/lib/Interpreter/CMakeLists.txt
M clang/lib/Interpreter/IncrementalExecutor.cpp
R clang/lib/Interpreter/IncrementalExecutor.h
M clang/lib/Interpreter/Interpreter.cpp
A clang/lib/Interpreter/OrcIncrementalExecutor.cpp
A clang/lib/Interpreter/OrcIncrementalExecutor.h
M clang/lib/Interpreter/Wasm.cpp
M clang/lib/Interpreter/Wasm.h
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/InitHeaderSearch.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Lex/TokenConcatenation.cpp
M clang/lib/Lex/TokenLexer.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Rewrite/Rewriter.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/JumpDiagnostics.cpp
M clang/lib/Sema/OpenCLBuiltins.td
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPPC.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaSPIRV.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/lib/Sema/SemaX86.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.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/Serialization/TemplateArgumentHasher.cpp
M clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/ConstraintManager.cpp
M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.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/lib/Tooling/InterpolatingCompilationDatabase.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/test/APINotes/Inputs/Headers/Methods.apinotes
M clang/test/APINotes/Inputs/Headers/Methods.h
M clang/test/APINotes/Inputs/Headers/Templates.apinotes
M clang/test/APINotes/Inputs/Headers/Templates.h
M clang/test/APINotes/methods.cpp
M clang/test/APINotes/templates.cpp
M clang/test/AST/ByteCode/builtin-align-cxx.cpp
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
M clang/test/AST/ByteCode/builtin-constant-p.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
A clang/test/AST/ByteCode/builtin-object-size-codegen.c
M clang/test/AST/ByteCode/builtin-object-size-codegen.cpp
M clang/test/AST/ByteCode/builtins.c
M clang/test/AST/ByteCode/builtins.cpp
M clang/test/AST/ByteCode/c.c
A clang/test/AST/ByteCode/char-buffer-arithmetic.c
M clang/test/AST/ByteCode/codegen.cpp
M clang/test/AST/ByteCode/complex.cpp
M clang/test/AST/ByteCode/cxx03.cpp
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/cxx26.cpp
M clang/test/AST/ByteCode/floats.cpp
M clang/test/AST/ByteCode/functions.cpp
M clang/test/AST/ByteCode/invalid.cpp
A clang/test/AST/ByteCode/libcxx/end-primitive-array-root-lifetime.cpp
M clang/test/AST/ByteCode/lifetimes.cpp
M clang/test/AST/ByteCode/lifetimes26.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/AST/ByteCode/new-delete.cpp
A clang/test/AST/ByteCode/object-size-flex-array.c
M clang/test/AST/ByteCode/shifts.cpp
M clang/test/AST/ByteCode/typeid.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
A clang/test/AST/HLSL/Texture2D-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/HLSL/cbuffer.hlsl
M clang/test/AST/HLSL/matrix-constructors.hlsl
M clang/test/AST/HLSL/matrix-general-initializer.hlsl
M clang/test/AST/ast-dump-APValue-addrlabeldiff.c
M clang/test/AST/ast-dump-decl-json.c
M clang/test/AST/ast-dump-decl-stmts.cpp
M clang/test/AST/ast-dump-record-definition-data-json.cpp
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/AST/ast-dump-templates.cpp
M clang/test/AST/ms-constexpr-new.cpp
M clang/test/ASTMerge/struct/test.c
A clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/Analysis/Inputs/expected-plists/lambda-notes.cpp.plist
M clang/test/Analysis/Inputs/system-header-simulator.h
M clang/test/Analysis/LifetimeSafety/benchmark.py
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/analyzer-note-analysis-entry-points.cpp
M clang/test/Analysis/block-in-critical-section.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/call-invalidation.cpp
M clang/test/Analysis/cfg.cpp
M clang/test/Analysis/csv2json.py
M clang/test/Analysis/cxx-uninitialized-object-inheritance.cpp
M clang/test/Analysis/cxx-uninitialized-object.cpp
A clang/test/Analysis/cxx20-range-for-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/lifetime-cfg-output.cpp
M clang/test/Analysis/scopes-cfg-output.cpp
A clang/test/Analysis/security-deprecated-buffer-handling-report-modes.c
M clang/test/Analysis/stack-capture-leak-no-arc.mm
A clang/test/Analysis/std-c-library-functions-char-uchar-conv.c
A clang/test/Analysis/store-union-aggregates.c
A clang/test/Analysis/suppress-namespace-redecl-core.cpp
A clang/test/Analysis/suppress-namespace-redecl-webkit.cpp
M clang/test/Analysis/uninit-ps-rdar6145427.m
M clang/test/Analysis/uninit-vals.cpp
M clang/test/Analysis/z3-crosscheck-max-attempts.cpp
M clang/test/Analysis/z3/D83660.c
M clang/test/C/C23/n3006.c
M clang/test/C/C23/n3029.c
M clang/test/C/C23/n3037.c
A clang/test/C/C2y/n3605.c
A clang/test/C/C2y/n3605_1.c
A clang/test/C/C2y/n3605_2.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
A clang/test/CIR/CodeGen/address-of.cpp
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/assign-operator.cpp
M clang/test/CIR/CodeGen/atomic-scoped.c
M clang/test/CIR/CodeGen/atomic-thread-fence.c
M clang/test/CIR/CodeGen/atomic.c
M clang/test/CIR/CodeGen/basic.c
M clang/test/CIR/CodeGen/basic.cpp
M clang/test/CIR/CodeGen/binassign.c
M clang/test/CIR/CodeGen/bitfields_be.c
A clang/test/CIR/CodeGen/builtin-bit-cast.cpp
A clang/test/CIR/CodeGen/builtin-memchr.c
M clang/test/CIR/CodeGen/cleanup.cpp
A clang/test/CIR/CodeGen/clear-cache.c
M clang/test/CIR/CodeGen/comma.c
M clang/test/CIR/CodeGen/complex.cpp
A clang/test/CIR/CodeGen/constant-expr.cpp
M clang/test/CIR/CodeGen/coro-task.cpp
M clang/test/CIR/CodeGen/cxx-default-init.cpp
M clang/test/CIR/CodeGen/dynamic-cast.cpp
A clang/test/CIR/CodeGen/empty-union.c
A clang/test/CIR/CodeGen/empty-union.cpp
M clang/test/CIR/CodeGen/enum.cpp
M clang/test/CIR/CodeGen/finegrain-bitfield-access.cpp
A clang/test/CIR/CodeGen/fold-during-cg.c
A clang/test/CIR/CodeGen/fp-math-precision-opts.c
M clang/test/CIR/CodeGen/goto.cpp
M clang/test/CIR/CodeGen/inline-asm.c
M clang/test/CIR/CodeGen/label-values.c
A clang/test/CIR/CodeGen/misc-attrs.cpp
M clang/test/CIR/CodeGen/new.cpp
A clang/test/CIR/CodeGen/no-builtin-attr.cpp
A clang/test/CIR/CodeGen/no-odr-use.cpp
A clang/test/CIR/CodeGen/noreturn.cpp
M clang/test/CIR/CodeGen/placement-new.cpp
A clang/test/CIR/CodeGen/pointer-to-data-member-cast.cpp
A clang/test/CIR/CodeGen/pointer-to-data-member-cmp.cpp
A clang/test/CIR/CodeGen/pointer-to-member-func-cast.cpp
A clang/test/CIR/CodeGen/pointer-to-member-func-cmp.cpp
A clang/test/CIR/CodeGen/pointer-to-member-func.cpp
M clang/test/CIR/CodeGen/pointers.cpp
A clang/test/CIR/CodeGen/side-effect.cpp
M clang/test/CIR/CodeGen/statement-exprs.c
M clang/test/CIR/CodeGen/struct.cpp
M clang/test/CIR/CodeGen/switch.cpp
M clang/test/CIR/CodeGen/ternary.cpp
M clang/test/CIR/CodeGen/trivial-ctor-const-init.cpp
M clang/test/CIR/CodeGen/try-catch-tmp.cpp
M clang/test/CIR/CodeGen/unary-expr-or-type-trait.cpp
M clang/test/CIR/CodeGen/union.c
M clang/test/CIR/CodeGen/vla.c
M clang/test/CIR/CodeGen/vtt.cpp
A clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
A clang/test/CIR/CodeGenBuiltins/AArch64/neon/fullfp16.c
M clang/test/CIR/CodeGenBuiltins/X86/avx-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx10_2_512bf16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx10_2bf16-builtins.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
A clang/test/CIR/CodeGenBuiltins/X86/avx512-select-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512bw-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512dq-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/avx512fp16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx512vlbf16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vldq-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlfp16-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx512vlvp2intersect-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/avx512vp2intersect-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/keylocker.c
A clang/test/CIR/CodeGenBuiltins/X86/ms-x86-intrinsics.c
A clang/test/CIR/CodeGenBuiltins/X86/permd-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/prefetchw-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/rdrand-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/sqrt-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/sse-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/sse41-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-constant-p.c
M clang/test/CIR/CodeGenBuiltins/builtin_bit.cpp
M clang/test/CIR/CodeGenBuiltins/builtin_call.cpp
M clang/test/CIR/CodeGenOpenACC/combined-copy.c
A clang/test/CIR/IR/cleanup-scope.cir
A clang/test/CIR/IR/eh-type-id.cir
A clang/test/CIR/IR/invalid-cast.cir
M clang/test/CIR/IR/invalid-complex.cir
A clang/test/CIR/IR/invalid-eh-type-id.cir
A clang/test/CIR/IR/invalid-memcpy.cir
A clang/test/CIR/IR/invalid-struct.cir
M clang/test/CIR/IR/invalid-throw.cir
M clang/test/CIR/IR/invalid-try-catch.cir
M clang/test/CIR/IR/invalid-vector.cir
A clang/test/CIR/IR/libc-memchr.cir
A clang/test/CIR/IR/libc-memcpy.cir
A clang/test/CIR/IR/method-attr.cir
M clang/test/CIR/IR/resume-flat.cir
M clang/test/CIR/IR/struct.cir
M clang/test/CIR/IR/throw.cir
M clang/test/CIR/IR/vector.cir
A clang/test/CIR/Lowering/alloca.cir
M clang/test/CIR/Lowering/array.cpp
A clang/test/CIR/Lowering/eh-type-id.cir
M clang/test/CIR/Lowering/goto.cir
A clang/test/CIR/Lowering/libc.cir
A clang/test/CIR/Lowering/struct.cir
M clang/test/CIR/Transforms/canonicalize.cir
M clang/test/CIR/Transforms/complex-create-fold.cir
M clang/test/CIR/Transforms/complex-imag-fold.cir
M clang/test/CIR/Transforms/complex-real-fold.cir
M clang/test/CIR/Transforms/switch.cir
M clang/test/CIR/Transforms/ternary-fold.cir
M clang/test/CIR/Transforms/vector-extract-fold.cir
M clang/test/CMakeLists.txt
M clang/test/CXX/basic/basic.link/p3.cpp
M clang/test/CXX/basic/basic.scope/basic.scope.namespace/p2.cpp
A clang/test/CXX/drs/cwg2947.cpp
M clang/test/CXX/except/except.spec/p13-friend.cpp
M clang/test/CXX/lex/lex.pptoken/p3-2a.cpp
M clang/test/CXX/module/basic/basic.link/module-declaration.cpp
A clang/test/CXX/module/cpp.pre/p1.cpp
M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.import/p1.cppm
M clang/test/CXX/special/class.temporary/p6.cpp
M clang/test/CXX/temp/temp.pre/p6.cpp
M clang/test/ClangScanDeps/P1689.cppm
A clang/test/ClangScanDeps/build-session-validation-outdated-module.c
M clang/test/ClangScanDeps/header_stat_before_open.m
M clang/test/ClangScanDeps/headerwithdirname.cpp
M clang/test/ClangScanDeps/headerwithdirnamefollowedbyinclude.cpp
M clang/test/ClangScanDeps/macro-expansions.cpp
M clang/test/ClangScanDeps/modules-context-hash-module-map-path.c
M clang/test/ClangScanDeps/modules-context-hash-outputs.c
A clang/test/ClangScanDeps/modules-full-by-mult-mod-names-diagnostics.c
M clang/test/ClangScanDeps/modules.cpp
A clang/test/ClangScanDeps/prune-scanning-modules.m
M clang/test/ClangScanDeps/regular_cdb.cpp
M clang/test/ClangScanDeps/relative_directory.cpp
M clang/test/ClangScanDeps/subframework_header_dir_symlink.m
M clang/test/ClangScanDeps/target-filename.cpp
M clang/test/ClangScanDeps/vfsoverlay.cpp
M clang/test/CodeGen/AArch64/args.cpp
M clang/test/CodeGen/AArch64/byval-temp.c
A clang/test/CodeGen/AArch64/fmv-unreachable-version.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_mla.c
M clang/test/CodeGen/AArch64/pure-scalable-args-empty-union.c
M clang/test/CodeGen/AArch64/pure-scalable-args.c
M clang/test/CodeGen/AArch64/sme-remarks.c
M clang/test/CodeGen/AArch64/struct-coerce-using-ptr.cpp
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_crypto.c
R clang/test/CodeGen/AArch64/sve2p2-intriniscs/acle_sve2p2_compact.c
R clang/test/CodeGen/AArch64/sve2p2-intriniscs/acle_sve2p2_expand.c
R clang/test/CodeGen/AArch64/sve2p2-intriniscs/acle_sve2p2_firstp.c
R clang/test/CodeGen/AArch64/sve2p2-intriniscs/acle_sve2p2_lastp.c
A clang/test/CodeGen/AArch64/sve2p2-intrinsics/acle_sve2_cvtnt.c
A clang/test/CodeGen/AArch64/sve2p2-intrinsics/acle_sve2p2_compact.c
A clang/test/CodeGen/AArch64/sve2p2-intrinsics/acle_sve2p2_expand.c
A clang/test/CodeGen/AArch64/sve2p2-intrinsics/acle_sve2p2_firstp.c
A clang/test/CodeGen/AArch64/sve2p2-intrinsics/acle_sve2p2_lastp.c
A clang/test/CodeGen/AArch64/sve2p2-intrinsics/acle_sve_rintx.c
A clang/test/CodeGen/AMDGPU/nullptr-in-different-address-spaces.cpp
M clang/test/CodeGen/LoongArch/bitint.c
M clang/test/CodeGen/LoongArch/lasx/builtin-alias.c
M clang/test/CodeGen/LoongArch/lasx/builtin-approximate-alias.c
M clang/test/CodeGen/LoongArch/lasx/builtin-approximate.c
M clang/test/CodeGen/LoongArch/lasx/builtin.c
A clang/test/CodeGen/LoongArch/targetattr-la32.c
A clang/test/CodeGen/LoongArch/targetattr-la64.c
R clang/test/CodeGen/LoongArch/targetattr.c
A clang/test/CodeGen/Mips/musttail-forward-declaration.c
A clang/test/CodeGen/Mips/musttail-pic.c
A clang/test/CodeGen/Mips/musttail-visibility.c
A clang/test/CodeGen/Mips/musttail-weak.c
A clang/test/CodeGen/Mips/musttail.c
M clang/test/CodeGen/PowerPC/builtins-amo-err.c
M clang/test/CodeGen/PowerPC/builtins-bcd-format-conversion.c
M clang/test/CodeGen/PowerPC/builtins-ppc-amo.c
M clang/test/CodeGen/PowerPC/ppc-amo-header.c
M clang/test/CodeGen/PowerPC/ppc64-vector.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
M clang/test/CodeGen/RISCV/bitint.c
M clang/test/CodeGen/RISCV/riscv-abi.cpp
M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.c
M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.cpp
M clang/test/CodeGen/RISCV/riscv32-abi.c
M clang/test/CodeGen/RISCV/riscv32-vararg.c
M clang/test/CodeGen/RISCV/riscv64-abi.c
M clang/test/CodeGen/RISCV/riscv64-vararg.c
M clang/test/CodeGen/RISCV/rvb-intrinsics/zbc.c
M clang/test/CodeGen/RISCV/rvb-intrinsics/zbkc.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/non-policy/non-overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/non-policy/non-overloaded/vfncvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/non-policy/non-overloaded/vfwcvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/non-policy/overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/non-policy/overloaded/vfncvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/non-policy/overloaded/vfwcvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/policy/non-overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/policy/non-overloaded/vfncvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/policy/non-overloaded/vfwcvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/policy/overloaded/vfncvt.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/policy/overloaded/vfncvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfofp8min/policy/overloaded/vfwcvtbf16.c
M clang/test/CodeGen/Sparc/sparcv9-abi.c
M clang/test/CodeGen/SystemZ/fp16.c
M clang/test/CodeGen/SystemZ/sync-builtins-i128-16Al.c
M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
A clang/test/CodeGen/X86/amx_amx512_errors.c
M clang/test/CodeGen/X86/amxavx512-builtins.c
M clang/test/CodeGen/X86/avx-builtins-constrained.c
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx512bw-builtins.c
M clang/test/CodeGen/X86/avx512cd-builtins.c
M clang/test/CodeGen/X86/avx512dq-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512fp16-builtins.c
M clang/test/CodeGen/X86/avx512vl-builtins.c
M clang/test/CodeGen/X86/avx512vlbw-builtins.c
M clang/test/CodeGen/X86/avx512vlcd-builtins.c
M clang/test/CodeGen/X86/avx512vldq-builtins.c
M clang/test/CodeGen/X86/avx512vlfp16-builtins.c
M clang/test/CodeGen/X86/cx-complex-range.c
M clang/test/CodeGen/X86/keylocker.c
M clang/test/CodeGen/X86/sse-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
A clang/test/CodeGen/X86/sse41-builtins-constrained.c
M clang/test/CodeGen/X86/sse41-builtins.c
M clang/test/CodeGen/X86/sse42-builtins.c
M clang/test/CodeGen/X86/x86_32-arguments-win32.c
M clang/test/CodeGen/X86/x86_64-arguments-win32.c
M clang/test/CodeGen/aapcs64-align.cpp
M clang/test/CodeGen/arm-aapcs-vfp.c
M clang/test/CodeGen/arm-abi-vector.c
M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
M clang/test/CodeGen/arm64-abi-vector.c
M clang/test/CodeGen/arm64-arguments.c
M clang/test/CodeGen/arm64-microsoft-arguments.cpp
M clang/test/CodeGen/arm64ec-varargs.c
M clang/test/CodeGen/arm_acle.c
M clang/test/CodeGen/armv7k-abi.c
M clang/test/CodeGen/atomic-arm64.c
M clang/test/CodeGen/atomic-ops.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-noundef.cpp
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-rotate.c
A clang/test/CodeGen/builtin-stackaddress.c
M clang/test/CodeGen/builtin_clrsb.c
M clang/test/CodeGen/builtin_float_strictfp.c
M clang/test/CodeGen/builtins-arm64.c
M clang/test/CodeGen/builtins-nvptx.c
A clang/test/CodeGen/codegen-plugins.c
M clang/test/CodeGen/cx-complex-range.c
M clang/test/CodeGen/ext-int.c
M clang/test/CodeGen/fat-lto-objects.c
M clang/test/CodeGen/fp16-ops-strictfp.c
M clang/test/CodeGen/hexagon-linux-vararg.c
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/lifetime-sanitizer.c
M clang/test/CodeGen/link-builtin-bitcode.c
M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
A clang/test/CodeGen/matrix-type-indexing.c
M clang/test/CodeGen/mingw-long-double.c
M clang/test/CodeGen/ms_abi.c
M clang/test/CodeGen/pass-by-value-noalias.c
A clang/test/CodeGen/pass-plugins.c
A clang/test/CodeGen/pragma-export.c
A clang/test/CodeGen/pragma-export.cpp
M clang/test/CodeGen/ptrauth-in-c-struct.c
M clang/test/CodeGen/regcall.c
M clang/test/CodeGen/regcall2.c
M clang/test/CodeGen/regcall4.c
M clang/test/CodeGen/scoped-atomic-ops.c
A clang/test/CodeGen/stack-protector-vars.cpp
M clang/test/CodeGen/target-data.c
M clang/test/CodeGen/ubsan-function.cpp
M clang/test/CodeGen/varargs-with-nonzero-default-address-space.c
M clang/test/CodeGen/vectorcall.c
A clang/test/CodeGen/wasm-fp16.c
M clang/test/CodeGen/win-fp128.c
M clang/test/CodeGen/win64-i128.c
M clang/test/CodeGen/windows-swiftcall.c
A clang/test/CodeGen/zos-pragmas.c
A clang/test/CodeGen/zos-pragmas.cpp
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
M clang/test/CodeGenCXX/arm-cc.cpp
M clang/test/CodeGenCXX/attr-target-mv-inalloca.cpp
A clang/test/CodeGenCXX/builtin-stackaddress.cpp
M clang/test/CodeGenCXX/const-init.cpp
M clang/test/CodeGenCXX/copy-initialization.cpp
M clang/test/CodeGenCXX/ctor-empty-nounique.cpp
M clang/test/CodeGenCXX/cxx2c-trivially-relocatable.cpp
M clang/test/CodeGenCXX/dynamic-cast-hint.cpp
M clang/test/CodeGenCXX/empty-nontrivially-copyable.cpp
M clang/test/CodeGenCXX/fastcall.cpp
M clang/test/CodeGenCXX/homogeneous-aggregates.cpp
M clang/test/CodeGenCXX/inalloca-lambda.cpp
M clang/test/CodeGenCXX/inalloca-overaligned.cpp
M clang/test/CodeGenCXX/inalloca-vector.cpp
M clang/test/CodeGenCXX/inheriting-constructor.cpp
M clang/test/CodeGenCXX/lifetime-sanitizer.cpp
A clang/test/CodeGenCXX/matrix-type-indexing.cpp
M clang/test/CodeGenCXX/member-function-pointer-calls.cpp
M clang/test/CodeGenCXX/microsoft-abi-arg-order.cpp
M clang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
M clang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
M clang/test/CodeGenCXX/microsoft-abi-unknown-arch.cpp
M clang/test/CodeGenCXX/ms-property.cpp
M clang/test/CodeGenCXX/pass-by-value-noalias.cpp
M clang/test/CodeGenCXX/pragma-gcc-unroll.cpp
M clang/test/CodeGenCXX/pragma-unroll.cpp
M clang/test/CodeGenCXX/predefined-expr.cpp
M clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
M clang/test/CodeGenCXX/regparm.cpp
M clang/test/CodeGenCXX/riscv-mangle-rvv-fixed-vectors.cpp
M clang/test/CodeGenCXX/trivial_abi.cpp
M clang/test/CodeGenCXX/uncopyable-args.cpp
M clang/test/CodeGenCXX/vtt-address-space.cpp
M clang/test/CodeGenCXX/wasm-args-returns.cpp
M clang/test/CodeGenCXX/wasm-reftypes-mangle.cpp
M clang/test/CodeGenCXX/windows-x86-swiftcall.cpp
M clang/test/CodeGenCoroutines/coro-attributes.cpp
M clang/test/CodeGenCoroutines/coro-await-elidable.cpp
M clang/test/CodeGenCoroutines/coro-gro.cpp
A clang/test/CodeGenHIP/amdgpu-flat-atomic-fadd.hip
A clang/test/CodeGenHIP/amdgpu-global-atomic-fadd.hip
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-gfx12-wmma-w32.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx12-wmma-w64.hip
A clang/test/CodeGenHIP/builtins-amdgcn-gfx950-cvt.hip
A clang/test/CodeGenHIP/builtins-amdgcn-mfma-gfx908.hip
A clang/test/CodeGenHIP/builtins-amdgcn-mfma-gfx942.hip
A clang/test/CodeGenHIP/builtins-amdgcn-mfma-gfx950.hip
A clang/test/CodeGenHIP/builtins-amdgcn-raytracing.hip
A clang/test/CodeGenHIP/builtins-amdgcn-wmma-w32.hip
A clang/test/CodeGenHIP/builtins-amdgcn-wmma-w64.hip
A clang/test/CodeGenHIP/device-function-huge-arg-ret.hip
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptConstSwizzle.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptDynamicSwizzle.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptGetter.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptSetter.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/matrix-type-indexing.hlsl
M clang/test/CodeGenHLSL/BoolMatrix.hlsl
A clang/test/CodeGenHLSL/all-resources-bound.hlsl
A clang/test/CodeGenHLSL/builtins/WaveActiveBallot.hlsl
A clang/test/CodeGenHLSL/builtins/WavePrefixCountBits.hlsl
M clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/and_mat.hlsl
M clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cosh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/f32tof16-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/f32tof16.hlsl
M clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
M clang/test/CodeGenHLSL/builtins/isinf-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/or.hlsl
M clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sinh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tanh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
A clang/test/CodeGenHLSL/resources-declared-only-once.hlsl
M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-constructors.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D.sample.hlsl
M clang/test/CodeGenObjC/fragile-arc.m
M clang/test/CodeGenObjC/ivar-layout-64.m
M clang/test/CodeGenObjC/ivar-layout-array0-struct.m
M clang/test/CodeGenObjC/ivar-layout-no-optimize.m
M clang/test/CodeGenObjC/mrc-weak.m
M clang/test/CodeGenObjC/pass-by-value-noalias.m
M clang/test/CodeGenObjC/weak-in-c-struct.m
M clang/test/CodeGenObjCXX/mrc-weak.mm
M clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
M clang/test/CodeGenObjCXX/property-objects.mm
M clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
M clang/test/CodeGenOpenCL/amdgpu-cluster-dims.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
A clang/test/CodeGenOpenCL/amdgpu-features-default-delta.cl
M clang/test/CodeGenOpenCL/amdgpu-features-illegal.cl
R clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/amdgpu-readonly-features-written-with-no-target.cl
A clang/test/CodeGenOpenCL/builtin-store-half-rounding-constrained.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-fp-atomics-gfx908-err.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/CodeGenOpenCL/local-scope.cl
A clang/test/CodeGenSPIRV/Builtins/group.c
A clang/test/CodeGenSPIRV/Builtins/subgroup.c
A clang/test/CodeGenSPIRV/Builtins/variadic.c
M clang/test/CoverageMapping/ctor.cpp
M clang/test/CoverageMapping/includehell.cpp
M clang/test/CoverageMapping/macros.c
M clang/test/CoverageMapping/mcdc-nested-expr.cpp
M clang/test/CoverageMapping/single-byte-counters.cpp
M clang/test/DebugInfo/CXX/debug-info.cpp
M clang/test/DebugInfo/CXX/simple-template-names.cpp
M clang/test/DebugInfo/Generic/macro-info.c
M clang/test/DebugInfo/ObjC/nontrivial-c-struct-exception.m
R clang/test/Driver/Inputs/DriverKit19.0.sdk/SDKSettings.plist
A clang/test/Driver/Inputs/DriverKit19.0.sdk/SDKSettings.txt
A clang/test/Driver/Inputs/DriverKit21.0.1.sdk/SDKSettings.json
M clang/test/Driver/Inputs/DriverKit23.0.sdk/SDKSettings.json
A clang/test/Driver/Inputs/FakeOS1.0.sdk/SDKSettings.json
R clang/test/Driver/Inputs/MacOSX10.14.sdk/SDKSettings.json
A clang/test/Driver/Inputs/MacOSX10.15.sdk/SDKSettings.json
R 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
A clang/test/Driver/Inputs/XROS1.0.sdk/SDKSettings.json
A clang/test/Driver/Inputs/XRSimulator1.0.sdk/SDKSettings.json
A clang/test/Driver/Inputs/basic_linux_tree/usr/bin/.keep
A clang/test/Driver/Inputs/basic_linux_tree/usr/include/x86_64-unknown-linux-gnu/.keep
M clang/test/Driver/Inputs/iPhoneOS13.0.sdk/SDKSettings.json
A clang/test/Driver/Inputs/multiarch-sysroot-tree/aarch64-unknown-none-elf/include/c++/v1/.keep
A clang/test/Driver/Inputs/multiarch-sysroot-tree/arm-unknown-none-eabi/include/c++/v1/.keep
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa/gfx90a/libclc.bc
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa/libclc.bc
M clang/test/Driver/aarch64-mcpu-native.c
M clang/test/Driver/aarch64-mcpu.c
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/cl-options.c
M clang/test/Driver/cl-x86-flags.c
M clang/test/Driver/clang-cc1as-target-variant.s
M clang/test/Driver/clang_f_opts.c
M clang/test/Driver/crash-ir-repro.cpp
A clang/test/Driver/cuda-arch-list.cu
M clang/test/Driver/darwin-builtin-modules.c
A clang/test/Driver/darwin-depfile-sdksettings-maccatalyst.m
M clang/test/Driver/darwin-invalid-version-range.c
M clang/test/Driver/darwin-ld-platform-version-driverkit.c
M clang/test/Driver/darwin-ld-platform-version-maccatalyst.c
M clang/test/Driver/darwin-ld-platform-version-macos.c
M clang/test/Driver/darwin-ld-platform-version-target-version.c
M clang/test/Driver/darwin-objc-runtime-maccatalyst-target-variant.m
M clang/test/Driver/darwin-objc-runtime-maccatalyst.m
M clang/test/Driver/darwin-sdk-version-maccatalyst.c
M clang/test/Driver/darwin-sdk-version.c
M clang/test/Driver/darwin-sdk-with-prefix.c
M clang/test/Driver/darwin-target-variant-sdk-version.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/hip-runtime-libs-linux.hip
M clang/test/Driver/hip-runtime-libs-msvc.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/hipstdpar.c
M clang/test/Driver/incompatible_sysroot.c
M clang/test/Driver/linux-cross.cpp
M clang/test/Driver/linux-header-search.cpp
M clang/test/Driver/loongarch-march.c
M clang/test/Driver/loongarch-mtune.c
M clang/test/Driver/loongarch-relax-features.c
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/ms-anonymous-structs.c
M clang/test/Driver/opencl-libclc.cl
M clang/test/Driver/openmp-offload-gpu.c
A clang/test/Driver/print-enabled-extensions/aarch64-ampere1c.c
M clang/test/Driver/print-enabled-extensions/aarch64-grace.c
A clang/test/Driver/print-enabled-extensions/riscv-spacemit-x100.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/ps5-linker.c
M clang/test/Driver/riscv-arch.c
M clang/test/Driver/riscv-cpus.c
A clang/test/Driver/rocm-detect-lib-llvm.hip
M clang/test/Driver/rocm-detect.hip
M clang/test/Driver/rocm-device-libs.cl
A clang/test/Driver/sframe.c
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/Driver/spirv-tools-err.c
R clang/test/Driver/sycl.c
A clang/test/Driver/sycl.cpp
M clang/test/Driver/x86-target-features.c
M clang/test/Driver/xros-driver-requires-darwin-host.c
M clang/test/Frontend/custom-diag-werror-interaction.c
M clang/test/Frontend/dependency-gen-phony.c
A clang/test/Frontend/ms-anon-structs-args.c
M clang/test/Frontend/rewrite-includes-bom.c
M clang/test/Headers/__clang_hip_math.hip
R clang/test/Headers/__clang_hip_math_deprecated.hip
M clang/test/Headers/gpuintrin.c
M clang/test/Headers/gpuintrin_lang.c
M clang/test/Headers/opencl-c-header.cl
M clang/test/Headers/stdarg.cpp
M clang/test/Index/pch-from-libclang.c
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/Lexer/cxx20-module-directive.cpp
M clang/test/Lexer/has_feature_undefined_behavior_sanitizer.cpp
M clang/test/Misc/amdgcn.languageOptsOpenCL.cl
A clang/test/Misc/cc1as-sframe.s
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/target-invalid-cpu-note/aarch64.c
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M clang/test/Misc/target-invalid-cpu-note/mips.c
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
A clang/test/Modules/class-instantiate-no-change.cppm
M clang/test/Modules/context-hash.c
M clang/test/Modules/crash-vfs-relative-incdir.m
M clang/test/Modules/crash-vfs-run-reproducer.m
A clang/test/Modules/demote-var-def.cpp
M clang/test/Modules/ignored_macros.m
A clang/test/Modules/lambda-convertablity.cppm
M clang/test/Modules/malformed-constraint-template-non-type-parm-decl.cpp
M clang/test/Modules/mismatch-diagnostics.cpp
A clang/test/Modules/module-file-info-mtime.m
M clang/test/Modules/module_file_info.m
A clang/test/Modules/modulemap-with-named-module.cppm
M clang/test/Modules/pr121066.cpp
A clang/test/Modules/pr137533.cppm
A clang/test/Modules/pr149404-02.cppm
A clang/test/Modules/pr149404.cppm
A clang/test/Modules/pr158321.cppm
A clang/test/Modules/pr171769.cpp
A clang/test/Modules/pr172241.cppm
A clang/test/Modules/pr174543.cppm
A clang/test/Modules/pr177385.cppm
A clang/test/Modules/precompiled-config-mismatch-diagnostics.c
M clang/test/Modules/preprocess-named-modules.cppm
M clang/test/Modules/sdk-settings-json-dep.m
A clang/test/Modules/typeinfo.cppm
A clang/test/Modules/var-inst-def.cppm
M clang/test/OpenMP/amdgcn-attributes.cpp
A clang/test/OpenMP/codegen_attr_pgo.c
M clang/test/OpenMP/declare_mapper_codegen.cpp
M clang/test/OpenMP/declare_simd_aarch64_warning_advsimd.c
M clang/test/OpenMP/declare_simd_aarch64_warning_sve.c
M clang/test/OpenMP/need_device_ptr_kind_messages.cpp
A clang/test/OpenMP/target_data_use_device_ptr_fallback_ast_print.cpp
A clang/test/OpenMP/target_data_use_device_ptr_fallback_codegen.cpp
A clang/test/OpenMP/target_data_use_device_ptr_fallback_messages.cpp
M clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_codegen.cpp
M clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_codegen.cpp
M clang/test/OpenMP/target_update_codegen.cpp
R clang/test/OpenMP/target_update_strided_messages.c
A clang/test/OpenMP/target_update_strided_messages_from.c
A clang/test/OpenMP/target_update_strided_messages_to.c
R clang/test/OpenMP/target_update_strided_multiple_messages.c
A clang/test/OpenMP/target_update_strided_multiple_messages_from.c
A clang/test/OpenMP/target_update_strided_multiple_messages_to.c
R clang/test/OpenMP/target_update_strided_partial_messages.c
A clang/test/OpenMP/target_update_strided_partial_messages_from.c
A clang/test/OpenMP/target_update_strided_partial_messages_to.c
A clang/test/OpenMP/target_update_strided_ptr_messages_from.c
A clang/test/OpenMP/target_update_strided_ptr_messages_to.c
A clang/test/OpenMP/target_update_strided_ptr_multiple_messages_from.c
A clang/test/OpenMP/target_update_strided_ptr_multiple_messages_to.c
A clang/test/OpenMP/target_update_strided_ptr_partial_messages_from.c
A clang/test/OpenMP/target_update_strided_ptr_partial_messages_to.c
A clang/test/OpenMP/target_update_strided_struct_messages_from.c
A clang/test/OpenMP/target_update_strided_struct_messages_to.c
A clang/test/OpenMP/target_update_strided_struct_multiple_messages_from.c
A clang/test/OpenMP/target_update_strided_struct_multiple_messages_to.c
A clang/test/OpenMP/target_update_strided_struct_partial_messages_from.c
A clang/test/OpenMP/target_update_strided_struct_partial_messages_to.c
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 clang/test/OpenMP/task_ast_print.cpp
M clang/test/OpenMP/task_codegen.cpp
A clang/test/OpenMP/task_transparent_messages.cpp
A clang/test/OpenMP/task_transparent_serialization.cpp
M clang/test/OpenMP/taskloop_ast_print.cpp
M clang/test/OpenMP/taskloop_codegen.cpp
A clang/test/Options/all_resources_bound.hlsl
M clang/test/PCH/module-hash-difference.m
A clang/test/PCH/pack-indexing-2.cpp
M clang/test/Parser/MicrosoftExtensions.c
M clang/test/Parser/cxx2b-lambdas.cpp
R clang/test/Parser/cxx2c-trivially-relocatable.cpp
A clang/test/Parser/enableif-attr.cpp
A clang/test/Parser/pragma-export.c
A clang/test/Parser/pragma-export.cpp
A clang/test/PlatformSpecific/xrOS/Sema/Inputs/XROS1.0.sdk/SDKSettings.json
A clang/test/PlatformSpecific/xrOS/Sema/infer-ios-availability.c
A clang/test/PlatformSpecific/xrOS/Sema/infer-unavailable-from-missing-ios-availability-mapping.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/embed___has_embed_parsing_errors.c
M clang/test/Preprocessor/embed_dependencies.c
M clang/test/Preprocessor/has_attribute_errors.cpp
A clang/test/Preprocessor/has_c_attribute_errors.c
M clang/test/Preprocessor/init-aarch64.c
M clang/test/Preprocessor/init-loongarch.c
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Profile/c-mcdc-logicalop-ternary.c
M clang/test/Profile/c-mcdc-not.c
M clang/test/Profile/profile-does-not-exist.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/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
R clang/test/Sema/Inputs/WatchOS7.0.sdk/SDKSettings.json
A clang/test/Sema/Inputs/WatchOS8.0.sdk/SDKSettings.json
R clang/test/Sema/Inputs/XROS.sdk/SDKSettings.json
A clang/test/Sema/Inputs/XROS26.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/lifetime-analysis.h
A clang/test/Sema/MicrosoftAnonymousStructs.c
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/atomic-ops.c
M clang/test/Sema/attr-availability-ios-fallback-aligned-versions.c
M clang/test/Sema/attr-availability-iosmac-infer-from-macos.c
M clang/test/Sema/attr-availability-watchos.c
M clang/test/Sema/attr-modular-format.c
M clang/test/Sema/attr-target-clones.c
A clang/test/Sema/builtin-allow-sanitize-check.c
M clang/test/Sema/builtin-stackaddress.c
A clang/test/Sema/builtin-stdc-rotate.c
M clang/test/Sema/builtins-arm64.c
A clang/test/Sema/builtins-bcd-format-conversion.c
A clang/test/Sema/c23-fixed-underlying-enum.c
A clang/test/Sema/c23-switch.c
M clang/test/Sema/const-ptr-int-ptr-cast.c
A clang/test/Sema/constant-string-evaluation.c
M clang/test/Sema/constexpr.c
M clang/test/Sema/format-strings-nonnull.c
M clang/test/Sema/format-strings.c
A clang/test/Sema/pragma-export-failing.c
A clang/test/Sema/pragma-export-failing.cpp
M clang/test/Sema/riscv-interrupt-attr-qci.c
M clang/test/Sema/scope-check.c
M clang/test/Sema/scoped-atomic-ops.c
A clang/test/Sema/sentinel-attribute-block.c
A clang/test/Sema/spirv-address-space.c
A clang/test/Sema/stack_protector_ignore.c
M clang/test/Sema/switch.c
M clang/test/Sema/unroll-template-value-crash.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
A clang/test/Sema/warn-lifetime-safety-dangling-field.cpp
M clang/test/Sema/warn-lifetime-safety-dataflow.cpp
A clang/test/Sema/warn-lifetime-safety-missing-origin-stats.cpp
A clang/test/Sema/warn-lifetime-safety-noescape.cpp
M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
M clang/test/Sema/warn-outof-range-assign-enum.c
M clang/test/Sema/warn-thread-safety-analysis.c
A clang/test/Sema/wasm-funcref-crash.c
A clang/test/Sema/wave-reduce-builtins-validate-amdgpu.cl
M clang/test/SemaCXX/alloc-token.cpp
M clang/test/SemaCXX/attr-lifetimebound.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
M clang/test/SemaCXX/builtin-is-within-lifetime.cpp
M clang/test/SemaCXX/constant-expression-cxx14.cpp
M clang/test/SemaCXX/constant-expression-cxx2a.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
M clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp
A clang/test/SemaCXX/constexpr-builtin-stdc-rotate.cpp
A clang/test/SemaCXX/crash-GH170433.cpp
A clang/test/SemaCXX/crash-GH173943.cpp
M clang/test/SemaCXX/cxx0x-nontrivial-union.cpp
M clang/test/SemaCXX/cxx11-attr-print.cpp
M clang/test/SemaCXX/cxx1z-decomposition.cpp
A clang/test/SemaCXX/cxx20-designated-initializer-fixits.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
M clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
M clang/test/SemaCXX/dllimport.cpp
M clang/test/SemaCXX/enable_if.cpp
M clang/test/SemaCXX/lambda-unevaluated.cpp
M clang/test/SemaCXX/ms-constexpr-invalid.cpp
M clang/test/SemaCXX/ms-constexpr-new.cpp
M clang/test/SemaCXX/ms-constexpr.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/underlying_type.cpp
M clang/test/SemaCXX/vector.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fold-conditional.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-format-attr-builtins.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-in-static-sized-array.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage.cpp
A clang/test/SemaCXX/wasm-funcref-crash.cpp
A clang/test/SemaHIP/amdgpu-flat-atomic-fadd-err.hip
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-fadd-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/SemaHIP/amdgpu-global-load-lds-template.hip
A clang/test/SemaHLSL/BuiltIns/WaveActiveBallot-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/WavePrefixCountBits-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/f32tof16-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/logical-mat-operator-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/logical-operator-errors.hlsl
A clang/test/SemaHLSL/Language/EmptyInitializers.hlsl
M clang/test/SemaHLSL/Language/UsualArithmeticConversions.hlsl
A clang/test/SemaHLSL/Texture2D-Sema.hlsl
M clang/test/SemaHLSL/matrix_single_subscript_errors.hlsl
M clang/test/SemaHLSL/packoffset-invalid.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
A clang/test/SemaHLSL/resource_binding_attr_error_uint32_max.hlsl
M clang/test/SemaObjCXX/arc-0x.mm
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-wmma-w32-param.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-wave32.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error.cl
M clang/test/SemaOpenCL/builtins-amdgcn-wave32-func-attr.cl
M clang/test/SemaOpenCL/extension-version.cl
M clang/test/SemaOpenCL/fdeclare-opencl-builtins.cl
M clang/test/SemaOpenCL/storageclass.cl
A clang/test/SemaSPIRV/BuiltIns/subgroup-errors.c
M clang/test/SemaTemplate/concepts.cpp
M clang/test/SemaTemplate/deduction.cpp
M clang/test/TableGen/target-builtins-prototype-parser.td
A clang/test/Tooling/clang-extdef-mapping-no-args.cpp
A clang/test/Tooling/clang-extdef-mapping.cpp
M clang/test/lit.cfg.py
M clang/test/lit.site.cfg.py.in
M clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp
M clang/tools/clang-import-test/clang-import-test.cpp
M clang/tools/clang-linker-wrapper/CMakeLists.txt
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
M clang/tools/clang-repl/ClangRepl.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/driver/cc1as_main.cpp
M clang/tools/driver/cc1gen_reproducer_main.cpp
M clang/tools/driver/driver.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/AST/DeclPrinterTest.cpp
M clang/unittests/AST/NamedDeclPrinterTest.cpp
M clang/unittests/AST/TypePrinterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/Analysis/FlowSensitive/FormulaTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
M clang/unittests/Analysis/Scalable/CMakeLists.txt
A clang/unittests/Analysis/Scalable/EntityIdTableTest.cpp
A clang/unittests/Analysis/Scalable/EntityIdTest.cpp
A clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor1.cpp
A clang/unittests/Analysis/Scalable/Registries/MockSummaryExtractor2.cpp
A clang/unittests/Analysis/Scalable/Registries/MockTUSummaryBuilder.h
A clang/unittests/Analysis/Scalable/Registries/SummaryExtractorRegistryTest.cpp
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/Basic/DarwinSDKInfoTest.cpp
M clang/unittests/Basic/SourceManagerTest.cpp
M clang/unittests/CodeGen/TestCompiler.h
M clang/unittests/DependencyScanning/DependencyScanningWorkerTest.cpp
M clang/unittests/DirectoryWatcher/CMakeLists.txt
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestCSharp.cpp
M clang/unittests/Format/FormatTestJava.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
M clang/unittests/Interpreter/OutOfProcessInterpreterTests.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
M clang/unittests/Lex/ModuleDeclStateTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/unittests/Serialization/ModuleCacheTest.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/unittests/Tooling/ToolingTest.cpp
M clang/utils/TableGen/CIRLoweringEmitter.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/utils/analyzer/entrypoint.py
M clang/utils/reduce-clang-crash.py
M clang/www/builtins.py
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M clang/www/get_started.html
M clang/www/hacking.html
M cmake/Modules/FindGRPC.cmake
A cmake/Modules/HandleDoxygen.cmake
M cmake/Modules/LLVMVersion.cmake
M compiler-rt/CMakeLists.txt
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/include/fuzzer/FuzzedDataProvider.h
M compiler-rt/lib/asan/asan_allocator.h
M compiler-rt/lib/asan/asan_descriptions.cpp
M compiler-rt/lib/asan/asan_fake_stack.cpp
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/asan/asan_rtl.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/aarch64/sme-abi.S
A compiler-rt/lib/builtins/aarch64/sme-libc-opt-memcpy-memmove-sve.S
M compiler-rt/lib/builtins/aarch64/sme-libc-opt-memcpy-memmove.S
M compiler-rt/lib/builtins/arm/addsf3.S
A compiler-rt/lib/builtins/arm/aeabi_uread4.S
A compiler-rt/lib/builtins/arm/aeabi_uread8.S
A compiler-rt/lib/builtins/arm/aeabi_uwrite4.S
A compiler-rt/lib/builtins/arm/aeabi_uwrite8.S
M compiler-rt/lib/builtins/fp_add_impl.inc
M compiler-rt/lib/dfsan/dfsan_allocator.cpp
M compiler-rt/lib/dfsan/dfsan_custom.cpp
M compiler-rt/lib/dfsan/dfsan_platform.h
M compiler-rt/lib/gwp_asan/tests/backtrace.cpp
M compiler-rt/lib/hwasan/hwasan.h
M compiler-rt/lib/hwasan/hwasan_linux.cpp
M compiler-rt/lib/interception/interception_aix.cpp
M compiler-rt/lib/orc/CMakeLists.txt
M compiler-rt/lib/orc/elfnix_platform.cpp
A compiler-rt/lib/orc/reoptimize.cpp
M compiler-rt/lib/rtsan/CMakeLists.txt
M compiler-rt/lib/rtsan/rtsan_context.cpp
M compiler-rt/lib/rtsan/rtsan_suppressions.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary32.h
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_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
M compiler-rt/lib/sanitizer_common/tests/sanitizer_procmaps_mac_test.cpp
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
M compiler-rt/lib/tsan/go/tsan_go.cpp
M compiler-rt/lib/tsan/rtl/tsan_flags.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-symbolized-recover.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/Linux/allocator_oom_test.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/deep_call_stack.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/scariness_score_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
A compiler-rt/test/builtins/Unit/arm/aeabi_unaligned_access_test.c
M compiler-rt/test/builtins/Unit/fixunstfdi_test.c
M compiler-rt/test/builtins/Unit/multc3_test.c
M compiler-rt/test/dfsan/custom.cpp
M compiler-rt/test/dfsan/lit.cfg.py
M compiler-rt/test/dfsan/origin_endianness.c
M compiler-rt/test/dfsan/pair.cpp
M compiler-rt/test/dfsan/struct.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/features_dir.test
M compiler-rt/test/fuzzer/fork-sigusr.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/merge-sigusr.test
M compiler-rt/test/fuzzer/seed_inputs.test
M compiler-rt/test/fuzzer/sigint.test
M compiler-rt/test/fuzzer/sigusr.test
M compiler-rt/test/fuzzer/ulimit.test
M compiler-rt/test/hwasan/TestCases/print-memory-usage.c
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/test/lsan/TestCases/swapcontext.cpp
M compiler-rt/test/memprof/TestCases/log_path_test.cpp
M compiler-rt/test/msan/Linux/reexec_unlimited_stack.cpp
A compiler-rt/test/orc/TestCases/Linux/Generic/ctor-dtor.cpp
M compiler-rt/test/orc/TestCases/Linux/ppc64/ehframe-default.cpp
M compiler-rt/test/orc/TestCases/Linux/ppc64/lljit-ehframe.cpp
M compiler-rt/test/orc/TestCases/Linux/ppc64/lljit-initialize-deinitialize.ll
M compiler-rt/test/orc/TestCases/Linux/ppc64/priority-static-initializer.S
M compiler-rt/test/orc/TestCases/Linux/ppc64/trivial-cxa-atexit.S
M compiler-rt/test/orc/TestCases/Linux/ppc64/trivial-static-initializer.S
M compiler-rt/test/orc/TestCases/Linux/ppc64/trivial-tls-pwr10.test
M compiler-rt/test/orc/TestCases/Linux/ppc64/trivial-tls.S
M compiler-rt/test/profile/instrprof-hostname.c
M compiler-rt/test/sanitizer_common/CMakeLists.txt
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_allowlist_ignorelist.cpp
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/debuginfo-tests/llvm-prettyprinters/lldb/pointer-union.cpp
A cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/pointer-union.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
A cross-project-tests/dtlto/fat-lto-objects.test
M cross-project-tests/dtlto/link-archive-thin.test
A cross-project-tests/dtlto/link-savetemps.test
A cross-project-tests/dtlto/local_codegen_and_wait.py
A cross-project-tests/dtlto/multimodule.test
A cross-project-tests/dtlto/savetemps-lock.test
A cross-project-tests/dtlto/savetemps.test
M cross-project-tests/dtlto/signal.test
A cross-project-tests/dtlto/test_temps.py
M cross-project-tests/lit.cfg.py
M cross-project-tests/veclib/veclib-sincos.c
M flang-rt/CMakeLists.txt
M flang-rt/README.md
M flang-rt/cmake/modules/GetToolchainDirs.cmake
M flang-rt/cmake/modules/HandleLibs.cmake
M flang-rt/include/flang-rt/runtime/derived.h
M flang-rt/include/flang-rt/runtime/terminator.h
M flang-rt/include/flang-rt/runtime/type-info.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/assign.cpp
M flang-rt/lib/runtime/command.cpp
M flang-rt/lib/runtime/copy.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/environment.cpp
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/lib/runtime/main.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/lib/runtime/stop.cpp
M flang-rt/lib/runtime/sum.cpp
M flang-rt/lib/runtime/terminator.cpp
M flang-rt/lib/runtime/time-intrinsic.cpp
M flang-rt/lib/runtime/type-info.cpp
M flang-rt/test/CMakeLists.txt
M flang-rt/unittests/Runtime/NumericalFormatTest.cpp
M flang-rt/unittests/Runtime/Reduction.cpp
M flang/docs/Aliasing.md
M flang/docs/AliasingAnalysisFIR.md
M flang/docs/ArrayComposition.md
M flang/docs/AssumedRank.md
M flang/docs/C++17.md
M flang/docs/C++style.md
M flang/docs/CMakeLists.txt
M flang/docs/ControlFlowGraph.md
M flang/docs/DebugGeneration.md
M flang/docs/Directives.md
M flang/docs/DoConcurrent.md
M flang/docs/DoConcurrentConversionToOpenMP.md
M flang/docs/Extensions.md
M flang/docs/F202X.md
M flang/docs/FortranIR.md
M flang/docs/FortranLLVMTestSuite.md
M flang/docs/FortranStandardsSupport.md
M flang/docs/GettingInvolved.md
M flang/docs/ImplementingASemanticCheck.md
M flang/docs/IntrinsicTypes.md
M flang/docs/Intrinsics.md
M flang/docs/LabelResolution.md
M flang/docs/ModFiles.md
M flang/docs/OpenACC-descriptor-management.md
M flang/docs/OpenACC.md
M flang/docs/OpenMP-declare-target.md
M flang/docs/OpenMP-descriptor-management.md
M flang/docs/OpenMP-semantics.md
M flang/docs/OpenMPSupport.md
M flang/docs/OptionComparison.md
M flang/docs/Overview.md
M flang/docs/ParallelMultiImageFortranRuntime.md
M flang/docs/ParameterizedDerivedTypes.md
M flang/docs/ParserCombinators.md
M flang/docs/Parsing.md
M flang/docs/Preprocessing.md
M flang/docs/PullRequestChecklist.md
M flang/docs/ReleaseNotes.md
M flang/docs/RuntimeDescriptor.md
M flang/docs/RuntimeEnvironment.md
M flang/docs/RuntimeTypeInfo.md
M flang/docs/Semantics.md
M flang/docs/Unsigned.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/f2018-grammar.md
M flang/docs/index.md
M flang/include/flang/Common/windows-include.h
M flang/include/flang/Evaluate/check-expression.h
M flang/include/flang/Evaluate/complex.h
M flang/include/flang/Evaluate/initial-image.h
M flang/include/flang/Evaluate/real.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/CompilerInstance.h
M flang/include/flang/Lower/CallInterface.h
M flang/include/flang/Lower/ConvertCall.h
M flang/include/flang/Lower/DirectivesCommon.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Lower/MultiImageFortran.h
M flang/include/flang/Lower/OpenACC.h
M flang/include/flang/Lower/OpenMP/Clauses.h
M flang/include/flang/Lower/PFTBuilder.h
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
A flang/include/flang/Optimizer/Dialect/FIROperationMoveOpInterface.h
A flang/include/flang/Optimizer/Dialect/FIROperationMoveOpInterface.td
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/Dialect/MIF/MIFOps.td
M flang/include/flang/Optimizer/OpenACC/Analysis/FIROpenACCSupportAnalysis.h
M flang/include/flang/Optimizer/OpenACC/Passes.h
M flang/include/flang/Optimizer/OpenACC/Passes.td
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.h
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.h
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCUtils.h
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/include/flang/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.h
M flang/include/flang/Optimizer/Passes/CommandLineOpts.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/include/flang/Optimizer/Support/Utils.h
A flang/include/flang/Optimizer/Transforms/FIRToMemRefTypeConverter.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/message.h
M flang/include/flang/Parser/options.h
M flang/include/flang/Parser/parse-state.h
M flang/include/flang/Parser/parse-tree-visitor.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/extensions.h
M flang/include/flang/Runtime/freestanding-tools.h
M flang/include/flang/Runtime/pointer.h
M flang/include/flang/Runtime/stop.h
M flang/include/flang/Semantics/dump-expr.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/openmp-modifiers.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/characteristics.cpp
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/complex.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/fold-matmul.h
M flang/lib/Evaluate/fold-real.cpp
M flang/lib/Evaluate/fold-reduction.h
M flang/lib/Evaluate/fold.cpp
M flang/lib/Evaluate/initial-image.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/real.cpp
M flang/lib/Evaluate/shape.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CMakeLists.txt
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/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/MultiImageFortran.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Lower/Runtime.cpp
M flang/lib/Lower/Support/ReductionProcessor.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Analysis/CMakeLists.txt
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Main.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/CodeGenOpenMP.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
A flang/lib/Optimizer/Dialect/FIROperationMoveOpInterface.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/Dialect/MIF/MIFOps.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/OpenACC/Analysis/CMakeLists.txt
M flang/lib/Optimizer/OpenACC/Analysis/FIROpenACCSupportAnalysis.cpp
M flang/lib/Optimizer/OpenACC/Support/CMakeLists.txt
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCUtils.cpp
M flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
A flang/lib/Optimizer/OpenACC/Transforms/ACCOptimizeFirstprivateMap.cpp
A flang/lib/Optimizer/OpenACC/Transforms/ACCUseDeviceCanonicalizer.cpp
M flang/lib/Optimizer/OpenACC/Transforms/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
M flang/lib/Optimizer/OpenMP/LowerNontemporal.cpp
M flang/lib/Optimizer/OpenMP/LowerWorkdistribute.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/OpenMP/Support/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/Support/FIROpenMPOpsInterfaces.cpp
M flang/lib/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.cpp
M flang/lib/Optimizer/Passes/CommandLineOpts.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.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/CUFOpConversionLate.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/DebugTypeGenerator.cpp
A flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
A flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
M flang/lib/Parser/Fortran-parsers.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/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Parser/program-parsers.cpp
M flang/lib/Parser/source.cpp
M flang/lib/Parser/tools.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-allocate.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-case.cpp
M flang/lib/Semantics/check-coarray.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-data.cpp
M flang/lib/Semantics/check-deallocate.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-do-forall.cpp
M flang/lib/Semantics/check-nullify.cpp
M flang/lib/Semantics/check-omp-atomic.cpp
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/check-purity.cpp
M flang/lib/Semantics/check-purity.h
M flang/lib/Semantics/data-to-inits.cpp
M flang/lib/Semantics/data-to-inits.h
M flang/lib/Semantics/definable.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/openmp-modifiers.cpp
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/program-tree.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names-utils.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/Semantics/tools.cpp
M flang/lib/Semantics/type.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/module/__fortran_type_info.f90
M flang/module/iso_c_binding.f90
M flang/test/Analysis/AliasAnalysis/alias-analysis-cray-pointers.fir
M flang/test/Analysis/AliasAnalysis/gen_mod_ref_test.py
M flang/test/Analysis/AliasAnalysis/load-ptr-alloca.fir
A flang/test/Analysis/AliasAnalysis/modref-alloc-free-effects.fir
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/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/color-diagnostics-scan.f
M flang/test/Driver/disable-diagnostic.f90
M flang/test/Driver/fast-math.f90
M flang/test/Driver/fixed-free-detection.f90
M flang/test/Driver/fixed-free-flag.f90
A flang/test/Driver/global-isel.f90
A flang/test/Driver/input-from-stdin/debug-info-filename.f90
A flang/test/Driver/lto-global-isel.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.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/protect-parens.f90
M flang/test/Driver/target-cpu-features-invalid.f90
M flang/test/Driver/unsafe-cray-pointers.f90
A flang/test/Driver/veclib-frem.f90
M flang/test/Driver/werror-scan.f
A flang/test/Evaluate/bug89528.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
A flang/test/Fir/CUDA/cuda-alias-analysis.fir
M flang/test/Fir/CUDA/cuda-alloc-free.fir
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/CUDA/cuda-data-transfer.fir
A flang/test/Fir/CUDA/cuda-device-address.mlir
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
M flang/test/Fir/CUDA/cuda-global-addr.mlir
A flang/test/Fir/CUDA/cuda-launch-attach-attr.mlir
M flang/test/Fir/CUDA/cuda-launch.fir
M flang/test/Fir/CUDA/cuda-shared-offset.mlir
A flang/test/Fir/CUDA/cuf-offload-livein-value-canonicalization.fir
A flang/test/Fir/CUDA/predefined-variables.mlir
A flang/test/Fir/FirToSCF/any.fir
A flang/test/Fir/FirToSCF/do-extra.fir
M flang/test/Fir/FirToSCF/do-loop.fir
A flang/test/Fir/FirToSCF/if-extra.fir
A flang/test/Fir/FirToSCF/iterate-while-extra.fir
A flang/test/Fir/FirToSCF/nested-unregistered.fir
A flang/test/Fir/FirToSCF/normalize.fir
A flang/test/Fir/FirToSCF/sum.fir
M flang/test/Fir/MIF/init.mlir
A flang/test/Fir/OpenACC/offload-livein-value-canonicalization.fir
M flang/test/Fir/OpenACC/openacc-mappable.fir
M flang/test/Fir/OpenACC/recipe-populate-firstprivate.mlir
M flang/test/Fir/OpenACC/recipe-populate-private.mlir
A flang/test/Fir/OpenACC/use-device-canonicalizer.mlir
M flang/test/Fir/basic-program.fir
M flang/test/Fir/convert-memref-codegen.mlir
M flang/test/Fir/convert-to-llvm.fir
A flang/test/Fir/mem2reg.mlir
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/OpenMP/target-nesting-in-host-ops.f90
A flang/test/Integration/OpenMP/target-use-device-nested.f90
A flang/test/Integration/OpenMP/task-target-device.f90
A flang/test/Integration/OpenMP/threadprivate-target-device.f90
M flang/test/Integration/complex-div-to-llvm.f90
A flang/test/Integration/debug-use-stmt.f90
A flang/test/Integration/prefetch.f90
A flang/test/Integration/select-case-pointer-assign.f90
R flang/test/Lower/CUDA/TODO/cuda-allocate-default-init.cuf
M flang/test/Lower/CUDA/cuda-allocatable-device.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-devptr.cuf
A flang/test/Lower/CUDA/cuda-gpu-managed.cuf
M flang/test/Lower/CUDA/cuda-synchronization.cuf
M flang/test/Lower/HLFIR/calls-f77.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
A flang/test/Lower/HLFIR/ignore-tkr-c-descriptor.f90
A flang/test/Lower/HLFIR/ivdep-elemental.f90
A flang/test/Lower/HLFIR/ivdep-where.f90
A flang/test/Lower/HLFIR/prefetch.f90
A flang/test/Lower/HLFIR/protect-parens-arrays.f90
A flang/test/Lower/HLFIR/protect-parens.f90
M flang/test/Lower/HLFIR/where.f90
M flang/test/Lower/Intrinsics/c_loc.f90
M flang/test/Lower/Intrinsics/exit.f90
M flang/test/Lower/Intrinsics/show_descriptor.f90
M flang/test/Lower/Intrinsics/storage_size-2.f90
A flang/test/Lower/MIF/change_team2.f90
R flang/test/Lower/OpenACC/Todo/acc-cache.f90
A flang/test/Lower/OpenACC/acc-cache.f90
A flang/test/Lower/OpenACC/acc-declare-common-present-in-function.f90
M flang/test/Lower/OpenACC/acc-declare.f90
A flang/test/Lower/OpenACC/acc-deviceptr.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived-pointer-component.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived-user-assign.f90
M flang/test/Lower/OpenACC/acc-firstprivate-derived.f90
M flang/test/Lower/OpenACC/acc-parallel.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenACC/acc-serial.f90
A flang/test/Lower/OpenMP/composite_simd_linear.f90
A flang/test/Lower/OpenMP/declare-simd.f90
M flang/test/Lower/OpenMP/declare-target-link-tarop-cap.f90
M flang/test/Lower/OpenMP/defaultmap.f90
M flang/test/Lower/OpenMP/distribute-parallel-do-simd.f90
M flang/test/Lower/OpenMP/host-eval.f90
A flang/test/Lower/OpenMP/num-teams-dims.f90
A flang/test/Lower/OpenMP/num-threads-dims.f90
M flang/test/Lower/OpenMP/omp-declare-reduction-derivedtype.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/real10.f90
M flang/test/Lower/OpenMP/simd-linear.f90
A flang/test/Lower/OpenMP/target-parameter-array.f90
M flang/test/Lower/OpenMP/target-spmd.f90
M flang/test/Lower/OpenMP/target.f90
A flang/test/Lower/OpenMP/thread-limit-dims.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-2.f90
M flang/test/Lower/array-elemental-calls-3.f90
M flang/test/Lower/array-elemental-calls-char-dynamic.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/array-elemental-calls.f90
M flang/test/Lower/array-elemental-subroutines.f90
M flang/test/Lower/array-expression-assumed-size.f90
M flang/test/Lower/array-expression-slice-1.f90
M flang/test/Lower/array-expression-slice-2.f90
M flang/test/Lower/array-expression-subscript.f90
M flang/test/Lower/array-substring.f90
M flang/test/Lower/array-temp.f90
M flang/test/Lower/array-user-def-assignments.f90
M flang/test/Lower/array-wide-char.f90
M flang/test/Lower/array.f90
M flang/test/Lower/assign-statement.f90
M flang/test/Lower/assigned-goto.f90
M flang/test/Lower/associate-construct-2.f90
M flang/test/Lower/assumed-shape-callee.f90
M flang/test/Lower/assumed-type.f90
M flang/test/Lower/basic-call.f90
M flang/test/Lower/block.f90
A flang/test/Lower/bug172157-3.f90
A flang/test/Lower/bug173766.f90
M flang/test/Lower/c-interoperability-c-pointer.f90
M flang/test/Lower/c-interoperability.f90
M flang/test/Lower/c_ptr-constant-init.f90
M flang/test/Lower/call-copy-in-out.f90
M flang/test/Lower/call-implicit.f90
M flang/test/Lower/call.f90
M flang/test/Lower/character-compare.f90
M flang/test/Lower/character-elemental.f90
M flang/test/Lower/character-local-variables.f90
M flang/test/Lower/complex-operations.f90
M flang/test/Lower/complex-real.f90
M flang/test/Lower/computed-goto.f90
A flang/test/Lower/const-arg-glob.f90
M flang/test/Lower/constant-literal-mangling.f90
M flang/test/Lower/control-flow.f90
A flang/test/Lower/debug-use-stmt-ambiguous.f90
A flang/test/Lower/debug-use-stmt.f90
M flang/test/Lower/dense-attributed-array.f90
M flang/test/Lower/derived-pointer-components.f90
M flang/test/Lower/derived-type-finalization.f90
M flang/test/Lower/derived-types.f90
A flang/test/Lower/do-while-to-scf-while.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
M flang/test/Lower/goto-statement.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/io-statement-clean-ups.f90
A flang/test/Lower/ivdep-array.f90
M flang/test/Lower/nullify-polymorphic.f90
M flang/test/Lower/polymorphic.f90
A flang/test/Lower/rank-clause02.f90
M flang/test/Lower/return-statement.f90
M flang/test/Lower/stop-statement.f90
M flang/test/Lower/volatile-allocatable.f90
M flang/test/Lower/volatile-openmp.f90
M flang/test/Parser/OpenMP/depobj-construct.f90
M flang/test/Parser/badlabel.f
A flang/test/Parser/bug135964.f90
A flang/test/Parser/bug173522.f90
A flang/test/Parser/bug50563.f
A flang/test/Parser/compiler-directive-sentinel.f90
A flang/test/Parser/keyword-optional-spaces.f90
A flang/test/Parser/unparse-rank-clause.f90
M flang/test/Preprocessing/pp039.F
M flang/test/Semantics/OpenACC/acc-cache-validity.f90
M flang/test/Semantics/OpenACC/acc-host-data.f90
A flang/test/Semantics/OpenMP/atomic-invalid-variable.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/copying.f90
M flang/test/Semantics/OpenMP/cray-pointer-usage.f90
M flang/test/Semantics/OpenMP/declare-simd-uniform.f90
M flang/test/Semantics/OpenMP/declare-target08.f90
A flang/test/Semantics/OpenMP/init-clause.f90
A flang/test/Semantics/OpenMP/lastprivate-intent-in-pointer.f90
M flang/test/Semantics/OpenMP/linear-clause01.f90
A flang/test/Semantics/OpenMP/linear-clause03.f90
M flang/test/Semantics/OpenMP/linear-iter.f90
M flang/test/Semantics/OpenMP/map-clause-v60.f90
A flang/test/Semantics/OpenMP/simd-linear-array.f90
M flang/test/Semantics/OpenMP/use_device_addr1.f90
A flang/test/Semantics/ac-impl-do-data-ptr.f90
M flang/test/Semantics/bindings03.f90
M flang/test/Semantics/bug122002b.f90
A flang/test/Semantics/bug127425.f90
A flang/test/Semantics/bug150820.f90
A flang/test/Semantics/bug1696.f90
A flang/test/Semantics/bug171844.f90
A flang/test/Semantics/bug172157-1.f90
A flang/test/Semantics/bug172157-2.f90
A flang/test/Semantics/bug173593.f90
A flang/test/Semantics/bug174859.f90
A flang/test/Semantics/bug175207.f90
A flang/test/Semantics/bug177502.f90
A flang/test/Semantics/bug177601.f90
A flang/test/Semantics/bug178786.f90
A flang/test/Semantics/bug178813.f90
A flang/test/Semantics/bug2021.f90
A flang/test/Semantics/bug2098.f90
A flang/test/Semantics/bug2131.cuf
M flang/test/Semantics/c7108.f90
M flang/test/Semantics/call03.f90
A flang/test/Semantics/call46.f90
A flang/test/Semantics/cuf-proc-attr-error.cuf
M flang/test/Semantics/cuf03.cuf
M flang/test/Semantics/cuf23.cuf
M flang/test/Semantics/data07.f90
M flang/test/Semantics/data12.f90
M flang/test/Semantics/data23.f90
M flang/test/Semantics/declarations06.f90
M flang/test/Semantics/entry01.f90
M flang/test/Semantics/equivalence02.f90
M flang/test/Semantics/generic09.f90
M flang/test/Semantics/kinds05b.f90
M flang/test/Semantics/long-name.f90
M flang/test/Semantics/misc-intrinsics.f90
A flang/test/Semantics/modfile82.f90
A flang/test/Semantics/rank-clause01.f90
M flang/test/Semantics/resolve01.f90
M flang/test/Semantics/resolve05.f90
M flang/test/Semantics/resolve11.f90
M flang/test/Semantics/resolve17.f90
M flang/test/Semantics/resolve18.f90
M flang/test/Semantics/resolve40.f90
M flang/test/Semantics/resolve52.f90
M flang/test/Semantics/resolve91.f90
M flang/test/Semantics/symbol03.f90
M flang/test/Semantics/typeinfo01.f90
M flang/test/Semantics/typeinfo08.f90
A flang/test/Semantics/unused.f90
A flang/test/Semantics/zero_len_char_array.f90
A flang/test/Transforms/CUF/cuf-kernel-licm.fir
M flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
M flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
A flang/test/Transforms/FIRToMemRef/alloca.mlir
A flang/test/Transforms/FIRToMemRef/array-coor-op.mlir
A flang/test/Transforms/FIRToMemRef/complex.mlir
A flang/test/Transforms/FIRToMemRef/convert-opt.mlir
A flang/test/Transforms/FIRToMemRef/cuda-alloca.mlir
A flang/test/Transforms/FIRToMemRef/derived-types.mlir
A flang/test/Transforms/FIRToMemRef/index.mlir
A flang/test/Transforms/FIRToMemRef/load-dynamic-shape.mlir
A flang/test/Transforms/FIRToMemRef/load-shift-dynamic.mlir
A flang/test/Transforms/FIRToMemRef/load-shift-static.mlir
A flang/test/Transforms/FIRToMemRef/load-static-shape.mlir
A flang/test/Transforms/FIRToMemRef/logical.mlir
A flang/test/Transforms/FIRToMemRef/no-declare.mlir
A flang/test/Transforms/FIRToMemRef/reject-conversions.mlir
A flang/test/Transforms/FIRToMemRef/replace.mlir
A flang/test/Transforms/FIRToMemRef/slice.mlir
A flang/test/Transforms/FIRToMemRef/store-dynamic-shape.mlir
A flang/test/Transforms/FIRToMemRef/store-shift-static.mlir
A flang/test/Transforms/FIRToMemRef/store-static-shape.mlir
A flang/test/Transforms/FIRToMemRef/tbaa-tag.mlir
M flang/test/Transforms/OpenACC/acc-implicit-data.fir
M flang/test/Transforms/OpenACC/acc-implicit-firstprivate.fir
A flang/test/Transforms/OpenACC/acc-optimize-firstprivate-map.fir
A flang/test/Transforms/OpenACC/offload-target-verifier.fir
A flang/test/Transforms/OpenMP/conversion-declare-mapper.mlir
A flang/test/Transforms/OpenMP/function-filtering-host-ops.mlir
A flang/test/Transforms/OpenMP/function-filtering.mlir
M flang/test/Transforms/debug-imported-entity.fir
M flang/test/Transforms/debug-local-global-storage-1.fir
A flang/test/Transforms/debug-use-stmt.fir
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
A flang/test/Transforms/omp-function-filtering-todo.mlir
R flang/test/Transforms/omp-function-filtering.mlir
M flang/test/Transforms/omp-map-info-finalization-implicit-field.fir
M flang/test/Transforms/tbaa-cray-pointer.fir
R flang/test/Transforms/tbaa-for-local-vars.fir
M flang/test/Transforms/tbaa-target-inlined-results.fir
M flang/test/Transforms/tbaa-with-dummy-scope2.fir
M flang/test/lit.site.cfg.py.in
M flang/tools/bbc/bbc.cpp
M flang/tools/f18/CMakeLists.txt
M flang/unittests/Common/FortranFeaturesTest.cpp
M libc/.gitignore
M libc/Maintainers.rst
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/aarch64/headers.txt
M libc/config/baremetal/arm/headers.txt
M libc/config/baremetal/config.json
M libc/config/baremetal/riscv/headers.txt
M libc/config/config.json
M libc/config/gpu/config.json
M libc/config/linux/app.h
A libc/config/windows/config.json
M libc/docs/configure.rst
M libc/docs/dev/code_style.rst
M libc/docs/dev/printf_behavior.rst
A libc/docs/hand_in_hand.rst
M libc/docs/index.rst
M libc/fuzzing/__support/CMakeLists.txt
A libc/fuzzing/__support/weak_avl_fuzz.cpp
M libc/fuzzing/stdio/printf_float_conv_fuzz.cpp
M libc/hdr/CMakeLists.txt
A libc/hdr/elf_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/Elf32_Addr.h
A libc/hdr/types/Elf32_Chdr.h
A libc/hdr/types/Elf32_Dyn.h
A libc/hdr/types/Elf32_Ehdr.h
A libc/hdr/types/Elf32_Half.h
A libc/hdr/types/Elf32_Lword.h
A libc/hdr/types/Elf32_Nhdr.h
A libc/hdr/types/Elf32_Off.h
A libc/hdr/types/Elf32_Phdr.h
A libc/hdr/types/Elf32_Rel.h
A libc/hdr/types/Elf32_Rela.h
A libc/hdr/types/Elf32_Shdr.h
A libc/hdr/types/Elf32_Sword.h
A libc/hdr/types/Elf32_Sym.h
A libc/hdr/types/Elf32_Verdaux.h
A libc/hdr/types/Elf32_Verdef.h
A libc/hdr/types/Elf32_Vernaux.h
A libc/hdr/types/Elf32_Verneed.h
A libc/hdr/types/Elf32_Versym.h
A libc/hdr/types/Elf32_Word.h
A libc/hdr/types/Elf32_Xword.h
A libc/hdr/types/Elf64_Addr.h
A libc/hdr/types/Elf64_Chdr.h
A libc/hdr/types/Elf64_Dyn.h
A libc/hdr/types/Elf64_Ehdr.h
A libc/hdr/types/Elf64_Half.h
A libc/hdr/types/Elf64_Lword.h
A libc/hdr/types/Elf64_Nhdr.h
A libc/hdr/types/Elf64_Off.h
A libc/hdr/types/Elf64_Phdr.h
A libc/hdr/types/Elf64_Rel.h
A libc/hdr/types/Elf64_Rela.h
A libc/hdr/types/Elf64_Shdr.h
A libc/hdr/types/Elf64_Sword.h
A libc/hdr/types/Elf64_Sxword.h
A libc/hdr/types/Elf64_Sym.h
A libc/hdr/types/Elf64_Verdaux.h
A libc/hdr/types/Elf64_Verdef.h
A libc/hdr/types/Elf64_Vernaux.h
A libc/hdr/types/Elf64_Verneed.h
A libc/hdr/types/Elf64_Versym.h
A libc/hdr/types/Elf64_Word.h
A libc/hdr/types/Elf64_Xword.h
M libc/include/CMakeLists.txt
M libc/include/elf.yaml
A libc/include/link.h.def
M libc/include/link.yaml
M libc/include/llvm-libc-macros/elf-macros.h
M libc/include/llvm-libc-macros/link-macros.h
M libc/include/llvm-libc-macros/pthread-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/Elf32_Addr.h
A libc/include/llvm-libc-types/Elf32_Chdr.h
A libc/include/llvm-libc-types/Elf32_Dyn.h
A libc/include/llvm-libc-types/Elf32_Ehdr.h
A libc/include/llvm-libc-types/Elf32_Half.h
A libc/include/llvm-libc-types/Elf32_Lword.h
A libc/include/llvm-libc-types/Elf32_Nhdr.h
A libc/include/llvm-libc-types/Elf32_Off.h
A libc/include/llvm-libc-types/Elf32_Phdr.h
A libc/include/llvm-libc-types/Elf32_Rel.h
A libc/include/llvm-libc-types/Elf32_Rela.h
A libc/include/llvm-libc-types/Elf32_Shdr.h
A libc/include/llvm-libc-types/Elf32_Sword.h
A libc/include/llvm-libc-types/Elf32_Sym.h
A libc/include/llvm-libc-types/Elf32_Verdaux.h
A libc/include/llvm-libc-types/Elf32_Verdef.h
A libc/include/llvm-libc-types/Elf32_Vernaux.h
A libc/include/llvm-libc-types/Elf32_Verneed.h
A libc/include/llvm-libc-types/Elf32_Versym.h
A libc/include/llvm-libc-types/Elf32_Word.h
A libc/include/llvm-libc-types/Elf32_Xword.h
A libc/include/llvm-libc-types/Elf64_Addr.h
A libc/include/llvm-libc-types/Elf64_Chdr.h
A libc/include/llvm-libc-types/Elf64_Dyn.h
A libc/include/llvm-libc-types/Elf64_Ehdr.h
A libc/include/llvm-libc-types/Elf64_Half.h
A libc/include/llvm-libc-types/Elf64_Lword.h
A libc/include/llvm-libc-types/Elf64_Nhdr.h
A libc/include/llvm-libc-types/Elf64_Off.h
A libc/include/llvm-libc-types/Elf64_Phdr.h
A libc/include/llvm-libc-types/Elf64_Rel.h
A libc/include/llvm-libc-types/Elf64_Rela.h
A libc/include/llvm-libc-types/Elf64_Shdr.h
A libc/include/llvm-libc-types/Elf64_Sword.h
A libc/include/llvm-libc-types/Elf64_Sxword.h
A libc/include/llvm-libc-types/Elf64_Sym.h
A libc/include/llvm-libc-types/Elf64_Verdaux.h
A libc/include/llvm-libc-types/Elf64_Verdef.h
A libc/include/llvm-libc-types/Elf64_Vernaux.h
A libc/include/llvm-libc-types/Elf64_Verneed.h
A libc/include/llvm-libc-types/Elf64_Versym.h
A libc/include/llvm-libc-types/Elf64_Word.h
A libc/include/llvm-libc-types/Elf64_Xword.h
R libc/include/pthread.h.def
M libc/include/pthread.yaml
M libc/shared/libc_common.h
M libc/shared/math.h
A libc/shared/math/dfmaf128.h
A libc/shared/math/dfmal.h
A libc/shared/math/expm1f.h
A libc/shared/math/expm1f16.h
A libc/shared/math/f16fma.h
A libc/shared/math/f16fmal.h
A libc/shared/math/f16sqrt.h
A libc/shared/math/f16sqrtl.h
A libc/shared/math/fsqrt.h
A libc/shared/math/fsqrtf128.h
A libc/shared/math/fsqrtl.h
A libc/shared/math/hypotf.h
A libc/shared/math/ilogb.h
A libc/shared/math/ilogbf.h
A libc/shared/math/ilogbf128.h
A libc/shared/math/ilogbf16.h
A libc/shared/math/ilogbl.h
A libc/shared/math/llogb.h
A libc/shared/math/llogbf.h
A libc/shared/math/llogbf128.h
A libc/shared/math/llogbf16.h
A libc/shared/math/log.h
A libc/shared/math/log10.h
A libc/shared/math/log1p.h
A libc/shared/math/log2.h
A libc/shared/math/logbf.h
A libc/shared/math/logbf128.h
A libc/shared/math/logbf16.h
A libc/shared/math/logf.h
A libc/shared/math/logf16.h
A libc/shared/math/sin.h
A libc/shared/math/sincosf.h
A libc/shared/math/sinf.h
A libc/shared/math/sinf16.h
A libc/shared/math/sinhf.h
A libc/shared/math/sinhf16.h
A libc/shared/math/sinpif.h
A libc/shared/math/sqrt.h
A libc/shared/math/sqrtf.h
A libc/shared/math/sqrtf16.h
A libc/shared/math/tan.h
A libc/shared/math/tanf.h
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/README.md
M libc/src/__support/CPP/limits.h
M libc/src/__support/CPP/new.h
M libc/src/__support/CPP/type_traits/is_integral.h
M libc/src/__support/CPP/type_traits/is_unsigned.h
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/File/dir.cpp
M libc/src/__support/File/file.cpp
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/HashTable/table.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/vdso.cpp
M libc/src/__support/RPC/rpc_server.h
A libc/src/__support/alloc-checker.h
M libc/src/__support/blockstore.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/asin.h
M libc/src/__support/math/atan2f_float.h
M libc/src/__support/math/atanf_float.h
M libc/src/__support/math/cbrt.h
M libc/src/__support/math/cbrtf.h
M libc/src/__support/math/cos.h
M libc/src/__support/math/cosf.h
A libc/src/__support/math/dfmaf128.h
A libc/src/__support/math/dfmal.h
A libc/src/__support/math/expm1f.h
A libc/src/__support/math/expm1f16.h
A libc/src/__support/math/f16fma.h
A libc/src/__support/math/f16fmal.h
A libc/src/__support/math/f16sqrt.h
A libc/src/__support/math/f16sqrtl.h
A libc/src/__support/math/fsqrt.h
A libc/src/__support/math/fsqrtf128.h
A libc/src/__support/math/fsqrtl.h
A libc/src/__support/math/hypotf.h
A libc/src/__support/math/ilogb.h
A libc/src/__support/math/ilogbf.h
A libc/src/__support/math/ilogbf128.h
A libc/src/__support/math/ilogbf16.h
A libc/src/__support/math/ilogbl.h
A libc/src/__support/math/llogb.h
A libc/src/__support/math/llogbf.h
A libc/src/__support/math/llogbf128.h
A libc/src/__support/math/llogbf16.h
A libc/src/__support/math/log.h
A libc/src/__support/math/log10.h
A libc/src/__support/math/log1p.h
A libc/src/__support/math/log2.h
A libc/src/__support/math/log_range_reduction.h
A libc/src/__support/math/logbf.h
A libc/src/__support/math/logbf128.h
A libc/src/__support/math/logbf16.h
A libc/src/__support/math/logf.h
A libc/src/__support/math/logf16.h
M libc/src/__support/math/range_reduction.h
R libc/src/math/generic/log_range_reduction.h
Log Message:
-----------
Address review comments
Created using spr 1.3.6-beta.1
Compare: https://github.com/llvm/llvm-project/compare/583905ac49d8...5f7e5e5a15b8
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