[all-commits] [llvm/llvm-project] 4239e8: [AArch64] Align nontemporal store/load little-endi...
Ryotaro Kasuga via All-commits
all-commits at lists.llvm.org
Wed Feb 4 19:45:59 PST 2026
Branch: refs/heads/users/kasuga-fj/pipeliner-handle-global-barrier
Home: https://github.com/llvm/llvm-project
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: 234736a67b99eaa9fcc838022ef5ee2d3c01360f
https://github.com/llvm/llvm-project/commit/234736a67b99eaa9fcc838022ef5ee2d3c01360f
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/add_new_check.py
M clang-tools-extra/clang-tidy/android/ComparisonInTempFailureRetryCheck.cpp
M clang-tools-extra/docs/clang-tidy/checks/cert/dcl58-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/env33-c.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/err52-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/flp30-c.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/mem57-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/fuchsia/multiple-inheritance.rst
M clang-tools-extra/docs/clang-tidy/checks/google/readability-casting.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
Log Message:
-----------
[clang-tidy][NFC] Fix incorrect `list.rst` modification by `add_new_check.py` (#179297)
We have observed unexpected and extensive modifications to `list.rst` in
a few Pull Requests. After some investigation I found that
`add_new_check.py` was misclassifying existing checks, leading to
instability in the generated documentation list.
More specifically:
- The script relies on `http-equiv=refresh` meta tags to identify alias
checks, which is missing in several existing checks, causing them to be
incorrectly listed as regular checks.
- The script fails to detect fix-its in checks that use CamelCase helper
methods.
With this patch, running `add_new_check.py` now generates a stable and
correct `list.rst` consistent with the actual codebase state.
Commit: 79ad09175ebd1d3e73b237777598862299447155
https://github.com/llvm/llvm-project/commit/79ad09175ebd1d3e73b237777598862299447155
Author: Wenju He <wenju.he at intel.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/fneg.ll
Log Message:
-----------
[InstCombine] Preserve fdiv metadata on fneg folds (#179157)
Copy metadata from the original fdiv when folding fneg into fdiv or
hoisting fneg above fdiv. This keeps !fpmath (and other metadata)
intact, preventing !fpmath loss seen in libclc tanpi function. fneg only
flips sign bit, so it does not affect precision.
Commit: a084deff3bd3882df12367ff5209a046e3eec9df
https://github.com/llvm/llvm-project/commit/a084deff3bd3882df12367ff5209a046e3eec9df
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M .github/renovate.json
Log Message:
-----------
[Github] Try changing package name
To see if this actually captures the python upgrades within that file.
The previous commit did not fix the issue.
Commit: ad8d5349d46734826aaeae4a2ebdc6f427a5bad8
https://github.com/llvm/llvm-project/commit/ad8d5349d46734826aaeae4a2ebdc6f427a5bad8
Author: Mingjie Xu <xumingjie.enna1 at bytedance.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
Log Message:
-----------
[BasicBlockUtils] Fix dominator tree update for entry block in splitBlockBefore() (#178895)
06dfbb50d70eea4ae38d655842626a0b9b224d5c fixed dominator update for
entry block in `SplitBlockPredecessors()`, this patch fixes dominator
tree update for entry block in `splitBlockBefore()` with
`UpdateAnalysisInformation()`.
Commit: 6f0b873f1c1539dc010df4fdbac2faa6bc76b2b5
https://github.com/llvm/llvm-project/commit/6f0b873f1c1539dc010df4fdbac2faa6bc76b2b5
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
Log Message:
-----------
[CodeGen] Refactor targets to override the new getTgtMemIntrinsic overload (NFC) (#175844)
This is a fairly mechanical change. Instead of returning true/false,
we either keep the Infos vector empty or push one entry.
Commit: 5cc4b05380aee5ad8c2bccc7178165a3b8e6625f
https://github.com/llvm/llvm-project/commit/5cc4b05380aee5ad8c2bccc7178165a3b8e6625f
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
A llvm/lib/Target/AMDGPU/AMDGPUHazardLatency.cpp
A llvm/lib/Target/AMDGPU/AMDGPUHazardLatency.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/CMakeLists.txt
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.fmas.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
A llvm/test/CodeGen/AMDGPU/gfx11-sgpr-hazard-latency.mir
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.shuffle.ll
Log Message:
-----------
[AMDGPU] Add scheduling DAG mutation for hazard latencies (#170075)
Improve waitcnt merging in ML kernel loops by increasing latencies on
VALU writes to SGPRs.
Specifically this helps with the case of V_CMP output feeding V_CNDMASK
instructions.
Commit: 611f22d089c0ce0ae12ebece9257c779de6f9ff5
https://github.com/llvm/llvm-project/commit/611f22d089c0ce0ae12ebece9257c779de6f9ff5
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port 5cc4b05380ae
Commit: 6d52d2683c2ceb9ab75810730c3ced2509c32bc5
https://github.com/llvm/llvm-project/commit/6d52d2683c2ceb9ab75810730c3ced2509c32bc5
Author: Mingjie Xu <xumingjie.enna1 at bytedance.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
Log Message:
-----------
Revert "[BasicBlockUtils] Fix dominator tree update for entry block in splitBlockBefore() (#178895)" (#179373)
This reverts commit ad8d5349d46734826aaeae4a2ebdc6f427a5bad8.
LLVM Buildbot detected a failure,
https://lab.llvm.org/buildbot/#/builders/210/builds/8229
Commit: c373d7632ac1fe8374b7f2b9536d7e746ed24786
https://github.com/llvm/llvm-project/commit/c373d7632ac1fe8374b7f2b9536d7e746ed24786
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M lldb/include/lldb/Target/ExecutionContext.h
M lldb/include/lldb/Target/StackFrame.h
M lldb/include/lldb/Target/StackFrameList.h
M lldb/include/lldb/Target/Thread.h
M lldb/include/lldb/lldb-defines.h
M lldb/include/lldb/lldb-types.h
M lldb/source/Target/ExecutionContext.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/Thread.cpp
M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
M lldb/test/API/functionalities/scripted_frame_provider/main.cpp
A lldb/test/API/macosx/extended-backtrace-api/Makefile
A lldb/test/API/macosx/extended-backtrace-api/TestExtendedBacktraceAPI.py
A lldb/test/API/macosx/extended-backtrace-api/main.m
Log Message:
-----------
[lldb] Fix variable access in old SBFrames after inferior function calls (#178823)
When a user holds an SBFrame reference and then triggers an inferior
function
call (via expression evaluation or GetExtendedBacktraceThread),
variables in
that frame become inaccessible with "register fp is not available"
errors.
This happens because inferior function calls execute through
ThreadPlanCallFunction, which calls ClearStackFrames() during cleanup to
invalidate the unwinder state. ExecutionContextRef objects in the old
SBFrames
were tracking StackFrameLists via weak_ptr, which became stale when
ClearStackFrames() created new instances.
The fix uses stable StackFrameList identifiers that persist across
ClearStackFrames():
- ID = 0: Normal unwinder frames (constant across all instances)
- ID = sequential counter: Scripted frame provider instances
ExecutionContextRef now stores the frame list ID instead of a weak_ptr,
allowing
it to resolve to the current StackFrameList with fresh unwinder state
after an
inferior function call completes.
The Thread object preserves the provider chain configuration
(m_provider_chain_ids and m_next_provider_id) across ClearStackFrames()
so
that recreated StackFrameLists get the same IDs. When providers need to
be
recreated, GetStackFrameList() rebuilds them from the persisted
configuration.
This commit also fixes a deadlock when Python scripted frame providers
call
back into LLDB during frame fetching. The m_list_mutex is now released
before
calling GetFrameAtIndex() on the Python scripted frame provider to
prevent
same-thread deadlock. A dedicated m_unwinder_frames_sp member ensures
GetFrameListByIdentifier(0) always returns the current unwinder frames,
and
proper cleanup in DestroyThread() and ClearStackFrames() to prevent
modules
from lingering after a Thread (and its StackFrameLists) gets destroyed.
Added test validates that variables remain accessible after
GetExtendedBacktraceThread triggers an inferior function call to fetch
libdispatch Queue Info.
rdar://167027676
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: c57f8acee44b842f120358b49289a80ab09ff78f
https://github.com/llvm/llvm-project/commit/c57f8acee44b842f120358b49289a80ab09ff78f
Author: Wenju He <wenju.he at intel.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
Log Message:
-----------
[SPIR-V] Fix FmaKHR CapabilityOperand and Op (#179174)
Specification:
https://github.khronos.org/SPIRV-Registry/extensions/KHR/SPV_KHR_fma.html
Commit: 26921d74efb8a914f02a0e55b03ac04366bf94a6
https://github.com/llvm/llvm-project/commit/26921d74efb8a914f02a0e55b03ac04366bf94a6
Author: Anshul Nigham <nigham at google.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/test/CodeGen/X86/llc-pipeline-npm.ll
Log Message:
-----------
[NewPM] Fix callsite for x86-lvi-ret (#179383)
Commit: d755ba986129a0f2602e1b01941d87e00ec8d395
https://github.com/llvm/llvm-project/commit/d755ba986129a0f2602e1b01941d87e00ec8d395
Author: maflcko <6399679+maflcko at users.noreply.github.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-cxx-11-inherited-constructors.cpp
Log Message:
-----------
[clang-tidy] Check inherited constructors in bugprone-argument-comment (#179105)
Currently, C++11 inherited constructors are not checked. For example:
```cpp
struct Base {
explicit Base(int val) {}
};
struct Over : public Base {
using Base::Base;
};
int main() {
Base b{/*wrong=*/2}; // checked
Over o{/*wrong=*/3}; // NOT checked right now
}
```
Fix this.
Godbolt: https://godbolt.org/z/88nPraK9o
---------
Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_ at 721217.xyz>
Co-authored-by: mitchell <mitchell.xu2 at gmail.com>
Commit: 742301796a7e77055f70647a0872fbedeee1dd14
https://github.com/llvm/llvm-project/commit/742301796a7e77055f70647a0872fbedeee1dd14
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] Add common base classes for loads/stores in RISCVInstrFormatsV.td. NFC (#179329)
Only bits 24-20 have a different meaning between the different loads and
stores, vs2, rs2, or lumop/sumop.
Commit: c2fca81d8966379357b6a904e7952ef205e5a360
https://github.com/llvm/llvm-project/commit/c2fca81d8966379357b6a904e7952ef205e5a360
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Rename nf->nfields in MC layer. NFC (#179365)
The RISC-V vector spec uses 'nf' to refer to the encoded value of
nfields. Doing the same in the MC layer make it more clear that
!add(nfields, -1) is converting from nfields to the encoded nf. I plan
to sink this !add down one level in a follow up patch.
I might do the same rename throughout tablegen, but I haven't reviewed
yet.
Commit: 2dd75d97699b07ae67e71f2595d2b19ee14f96f5
https://github.com/llvm/llvm-project/commit/2dd75d97699b07ae67e71f2595d2b19ee14f96f5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
Log Message:
-----------
[RISCV] Rename VUnitStrideLoadMask->VUnitStrideMaskLoad. NFC (#179360)
Similar for store.
Having "Mask" at the end makes it look too much like the pseudo
instruction classes that end in Mask or NoMask to indicate the presence
of the "vm" operand.
This also matches the spec where they are referred to as "unit-stride
mask load and store instructions"
Commit: dfbf54a7dd7046cf8a2791cb6f1148cba178bf3f
https://github.com/llvm/llvm-project/commit/dfbf54a7dd7046cf8a2791cb6f1148cba178bf3f
Author: Kirill Vedernikov <kvedernikov at nvidia.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/pm-event.ll
Log Message:
-----------
[NVPTX] Print PM Event Mask value as unsigned integer. (#178891)
This change fixes PM Event Mask value in NVPTX BE when ID=15 is set. The
PM Event Mask value is printed as the unsigned integer instead of the
singed one.
Commit: 42b1beb3f0f6a510c2e8c5127b0ceb2675498d2c
https://github.com/llvm/llvm-project/commit/42b1beb3f0f6a510c2e8c5127b0ceb2675498d2c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Default all ISD opcodes to Expand for P extension. (#179396)
Legal is the default for most opcodes, but we don't yet support all of
them. Override the ones that we support back to Legal.
Commit: 49a2335fab0e61117655f25393e86cd48d99445c
https://github.com/llvm/llvm-project/commit/49a2335fab0e61117655f25393e86cd48d99445c
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
A llvm/test/MC/AMDGPU/gfx13_asm_sopc.s
A llvm/test/MC/AMDGPU/gfx13_asm_sopk.s
A llvm/test/MC/AMDGPU/gfx13_asm_sopk_alias.s
A llvm/test/MC/AMDGPU/gfx13_asm_sopp.s
A llvm/test/MC/AMDGPU/gfx13_asm_sopp_alias.s
Log Message:
-----------
[AMDGPU] Add SOPK, SOPC and SOPP encoding support for gfx13 (#179179)
Commit: 651a45122730ef6aef3dc5c8963fc4d702268af2
https://github.com/llvm/llvm-project/commit/651a45122730ef6aef3dc5c8963fc4d702268af2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Sink conversion from nfields/lmul to nf down one level in RISCVInstrInfoV.td. NFC (#179369)
The nf field is encoded as nfields/lmul minus one. Use asserts to
verify this doesn't lose any information.
The asserts increase the number of lines, but I think this makes the
class interfaces a more logical level than encoding.
Commit: 4b59f79afae22f4d4db8ffc3fc7d2c1b2034a806
https://github.com/llvm/llvm-project/commit/4b59f79afae22f4d4db8ffc3fc7d2c1b2034a806
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-02 (Mon, 02 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Pass EEW instead of log2(EEW) to RISCVVXMemOpMC. NFC (#179379)
Commit: 287c69b469730830603f7efd42f2f8d652793236
https://github.com/llvm/llvm-project/commit/287c69b469730830603f7efd42f2f8d652793236
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/test/Transforms/Attributor/denormal-fp-math.ll
Log Message:
-----------
Attributor: Add denormal-fp-math to attributor-light (#79576)
Commit: 8c6658aca6e55678e76bde8e662bcb7b139ae571
https://github.com/llvm/llvm-project/commit/8c6658aca6e55678e76bde8e662bcb7b139ae571
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/invariant-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/sink-to-early-exit.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-conditional-branches.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
M llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/pr141968-instsimplifyfolder.ll
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
M llvm/test/Transforms/LoopVectorize/X86/predicated-udiv.ll
M llvm/test/Transforms/LoopVectorize/X86/replicate-recipe-with-only-first-lane-used.ll
M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
M llvm/test/Transforms/LoopVectorize/instruction-only-used-outside-of-loop.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/lcssa-crashes.ll
M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-liveout.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/pr36983-multiple-lcssa.ll
M llvm/test/Transforms/LoopVectorize/pr43166-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/pr51614-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
M llvm/test/Transforms/LoopVectorize/reduction-minmax-users-and-predicated.ll
M llvm/test/Transforms/LoopVectorize/reduction-order.ll
M llvm/test/Transforms/LoopVectorize/reduction-small-size.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/select-folds.ll
M llvm/test/Transforms/LoopVectorize/select-reduction.ll
M llvm/test/Transforms/LoopVectorize/sink-to-early-exit.ll
M llvm/test/Transforms/LoopVectorize/step-vector-i1-wrapping.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
Log Message:
-----------
[VPlan] Sink recipes from the vector loop region in licm. (#168031)
When a recipe can be safely sunk and all of its users are outside the
vector loop region in the same dedicated exit block, the recipe does not
need to be executed on every iteration.
This patch extends the VPlan-based LICM (Loop Invariant Code Motion) to
also sink such recipes from the vector loop region into the exit block.
This reduces redundant computation and improves cost model accuracy.
TODO: Support nested loop sinking
TODO: Support sinking `VPReplicateRecipe` (requires `replicateByVF`
fixes)
TODO: Support recipes with multiple defined values (e.g., interleaved
loads)
TODO: Clone recipes without users to all exit blocks
TODO: Support PHI node users by checking incoming value blocks
TODO: Support sinking when users are in multiple blocks
TODO: Clone recipes when users are on multiple exit paths
Co-authored-by: Luke Lau <luke at igalia.com>
---------
Co-authored-by: Luke Lau <luke at igalia.com>
Co-authored-by: Luke Lau <luke_lau at icloud.com>
Commit: 751a546fa9bb887d9526508220644f9dd806004b
https://github.com/llvm/llvm-project/commit/751a546fa9bb887d9526508220644f9dd806004b
Author: Kai <47328809+kcloudy0717 at users.noreply.github.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/WavePrefixSum.hlsl
A clang/test/SemaHLSL/BuiltIns/WavePrefixSum-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll
A llvm/test/CodeGen/DirectX/WavePrefixSum.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WavePrefixSum.ll
Log Message:
-----------
[HLSL][DXIL][SPIRV] WavePrefixSum intrinsic support (#167946)
Issue: https://github.com/llvm/llvm-project/issues/99172
- [x] Implement `WavePrefixSum` clang builtin
- [x] Link `WavePrefixSum` clang builtin with `hlsl_intrinsics.h`
- [x] Add sema checks for `WavePrefixSum` to
`CheckHLSLBuiltinFunctionCall` in `SemaChecking.cpp`
- [x] Add codegen for `WavePrefixSum` to `EmitHLSLBuiltinExpr` in
`CGBuiltin.cpp`
- [x] Add codegen tests to
`clang/test/CodeGenHLSL/builtins/WavePrefixSum.hlsl`
- [x] Add sema tests to
`clang/test/SemaHLSL/BuiltIns/WavePrefixSum-errors.hlsl`
- [x] Create the `int_dx_WavePrefixSum` intrinsic in
`IntrinsicsDirectX.td`
- [x] Create the `DXILOpMapping` of `int_dx_WavePrefixSum` to `121` in
`DXIL.td`
- [x] Create the `WavePrefixSum.ll` and `WavePrefixSum_errors.ll` tests
in `llvm/test/CodeGen/DirectX/`
- [x] Create the `int_spv_WavePrefixSum` intrinsic in
`IntrinsicsSPIRV.td`
- [x] In SPIRVInstructionSelector.cpp create the `WavePrefixSum`
lowering and map it to `int_spv_WavePrefixSum` in
`SPIRVInstructionSelector::selectIntrinsic`.
- [x] Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WavePrefixSum.ll`
I also added a new macro
`GENERATE_HLSL_INTRINSIC_FUNCTION_SELECT_UNSIGNED` in conjunction with
the new function `getUnsignedIntrinsicVariant` to make selecting
unsigned variants of the intrinsic easier. As a result, I was able to
replace `getWaveActiveSumIntrinsic`, `getWaveActiveMaxIntrinsic`, and
`getWaveActiveMinIntrinsic` using the new macro.
Commit: dcfa0ab372dd65c3ecfae96be8cece9b2d389c11
https://github.com/llvm/llvm-project/commit/dcfa0ab372dd65c3ecfae96be8cece9b2d389c11
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
M lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
M lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
M lldb/source/Plugins/ABI/LoongArch/ABISysV_loongarch.cpp
M lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
M lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
M lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Symbol/CompilerType.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[lldb][CompilerType] Add CompilerType::IsRealFloatingPointType (#178904)
This is part of a patch series to clean up the
`TypeSystemClang::IsFloatingPointType` API. Currently the API is a bit
of a foot-gun because it returns `true` for both Complex floats and
vector types whose element types are floats, but most call-sites
probably don't handle these correctly. The former aligns with the
`clang::Type::isFloatingType` API, but the latter doesn't. This specific
implementation choice will be addressed in a separate patch. This patch
adds a new `CompilerType::IsRealFloatingPointType` API which clients can
use to query about non-complex floats (named after the similarly named
`clang::Type::isRealFloatingType`).
This allows us to clean up some of the callers which only wanted to
handle non-complex floats. I cleaned those up as part of this patch.
Wherever we checked for `is_float && !is_complex && !is_vector_type` i
just replaced it with the new API.
On encountering complex/vector floats, some of the ABI plugins would set
an error but then immediately overwrite the error to something else. I
just removed those branches entirely, since it was essentially dead
code.
Some of the diff is large because of un-indentation when we remove
if-guards, so I would recommend turning off white-space diff when
reviewing.
Commit: 22f53531d7a944c95666de0eca5790ee4b0cf008
https://github.com/llvm/llvm-project/commit/22f53531d7a944c95666de0eca5790ee4b0cf008
Author: hanbeom <kese111 at gmail.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/test/CodeGen/WebAssembly/simd-dot-reductions.ll
Log Message:
-----------
[WebAssembly] Combine shuffle and signed extend to extend_high (#179166)
Fold shuffles and bitcasts feeding extend_low_s into extend_high_s.
This enables i32x4.dot_i16x8_s selection and removes redundant shuffles.
Fixed: https://github.com/llvm/llvm-project/issues/179145
Commit: 56d31697c2a2c38844bdc0f43e537c29a5115d87
https://github.com/llvm/llvm-project/commit/56d31697c2a2c38844bdc0f43e537c29a5115d87
Author: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/uArch/IntelGpuXe2.h
M mlir/include/mlir/Dialect/XeGPU/uArch/uArchBase.h
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
Log Message:
-----------
[MLIR][XeGPU] Reorganize uArch for easier extension (#178907)
Commit: f95b63b7e639486f935ab72717019cf3a958dda9
https://github.com/llvm/llvm-project/commit/f95b63b7e639486f935ab72717019cf3a958dda9
Author: Jack Styles <jack.styles at arm.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
A mlir/test/Target/LLVMIR/openmp-simd-guided.mlir
Log Message:
-----------
[llvm][OpenMP] Allow Chunk Size on SIMD Guided (#178853)
As per the OpenMP Spec, Chunk Size is allowed when using the guided
kind-type with the schedule clause. However, when being used in cases
such as `!$omp do simd schedule (simd:guided,4)`, this was not allowed
as the base type, BaseGuidedSimd, would hit an assert not allowing
ChunkSizes.
By making this change, we can allow the use of the Guided type, with a
ChunkSize and the schedule clause when using OMPIRBuidler.
Fixes #82106
Commit: 38e280d8a405bb442d176b8dab18da63d3fc2810
https://github.com/llvm/llvm-project/commit/38e280d8a405bb442d176b8dab18da63d3fc2810
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
A llvm/test/CodeGen/LoongArch/lsx/issue177155.ll
Log Message:
-----------
[SelectionDAG] Use promoted types when creating nodes after type legalization (#178617)
When creating new nodes with illegal types after type legalization, we
should try to use promoted type to avoid creating nodes with illegal
types.
Fixes: https://github.com/llvm/llvm-project/issues/177155
Commit: 974566914c4e78d53239bfebf3c73d160bed6cc6
https://github.com/llvm/llvm-project/commit/974566914c4e78d53239bfebf3c73d160bed6cc6
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
A flang/test/Lower/OpenACC/acc-no-create-array-section.f90
Log Message:
-----------
[flang][acc] remap no_create array sections (#178660)
The workaround for no_create with array section is not needed anymore
because it has been expected that it would be up to the runtime to make
sure fir.box for the variable are always readable on the device even
when the variable is not present.
Commit: c9ab97ff9569842c2bc91e140e6ab24a5fda0351
https://github.com/llvm/llvm-project/commit/c9ab97ff9569842c2bc91e140e6ab24a5fda0351
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-cache.f90
Log Message:
-----------
[flang][acc] Fix cache directive with mapped component (#179335)
When a derived type component is mapped via a data clause (e.g.,
`copyin(data%A(...))`), the base address inside the parallel region
comes from an `hlfir.declare` op (for the mapped address) instead of
an `hlfir.designate` op. Use `FortranVariableOpInterface` to extract
shape/typeparams/attrs, which works for both cases since both ops
implement this interface.
Commit: 6d15d1c611d4f2362c89fa852fd385e1f2116af9
https://github.com/llvm/llvm-project/commit/6d15d1c611d4f2362c89fa852fd385e1f2116af9
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[CMake] Update "all" project/runtimes (#179270)
Move compiler-rt from "all" projects to "all" runtimes and add "openmp"
to "all" runtimes, as it was recently removed from "all" projects.
Commit: c7cd15fcdddd6adcb6065ec3dcda16cc56988f67
https://github.com/llvm/llvm-project/commit/c7cd15fcdddd6adcb6065ec3dcda16cc56988f67
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M libcxx/test/benchmarks/format/formatter_float.bench.cpp
Log Message:
-----------
[libc++] Refactor formatter_float.bench.cpp and drop some benchmarks (#178886)
`formatter_float.bench.cpp` currently benchmarks the floating point
formatting very extensively. This patch reduces the number of benchmarks
by removing some of the cases that are relatively meaningless.
The benchmark is also converted to the more recent style of benchmarks.
As a nice side-effect, this reduces the time it takes to compile the
benchmark by ~20x.
We may be able to drop more benchmarks, but I'm not an expert here and
am rather conservative here for that reason.
Commit: e706614f2f5d683438b9a595606ccb4164b4672e
https://github.com/llvm/llvm-project/commit/e706614f2f5d683438b9a595606ccb4164b4672e
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/insert-extract.ll
Log Message:
-----------
[Analysis][CostModel] Add insert-extract runlines for Apple CPUs (NFC) (#179236)
Including `apple-latest` to cover new processors until (if) they
diverge.
Commit: 2d1227952873a566017f7d98738354fd1bdaa38e
https://github.com/llvm/llvm-project/commit/2d1227952873a566017f7d98738354fd1bdaa38e
Author: David Rivera <davidriverg at gmail.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/lib/AST/ASTContext.cpp
A clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
A clang/lib/CIR/CodeGen/CIRGenCUDARuntime.cpp
A clang/lib/CIR/CodeGen/CIRGenCUDARuntime.h
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
A clang/test/CIR/CodeGenCUDA/Inputs/cuda.h
A clang/test/CIR/CodeGenCUDA/kernel-call.cu
A clang/test/CIR/CodeGenCUDA/kernel-stub-name.cu
Log Message:
-----------
[CIR][CUDA] Upstream device stub body emission and name mangling (#177790)
Part of #175871
This patch adds the initial implementation of the CUDA/NV Runtimes
generating code for the device stub body. tested on CUDA. HIP coverage
to be added in a later PR.
Commit: 51217804f26a7ca66093365c4d50e56c7431c0ae
https://github.com/llvm/llvm-project/commit/51217804f26a7ca66093365c4d50e56c7431c0ae
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
Log Message:
-----------
[AArch64] Fix cttz.elts codegen for fixed-length vectors (#178902)
When lowering cttz.elts for fixed-length vectors when SVE is available,
we use scalable container types for the predicate types since NEON
doesn't have dedicated predicate registers. Unfortunately, this also
discards the actual length of the vector to look at if it's shorter than a
full vector.
Example codegen, for a llvm.experimental.cttz.elts.i64.v4i1
shl v0.4h, v0.4h, 15
ptrue p0.h, vl4
ptrue p1.h
cmpne p0.h, p0/z, z0.h, #0
brkb p0.b, p1/z, p0.b
cntp x8, p0, p0.h
The 'ptrue p1.h' is where we went wrong -- if p0 is empty, we should
only set 4 lanes active at most, but since brkb's pg operand is all
active, it sets all available lanes (e.g. 8 .h lanes on a 128b SVE
implementation).
We need to use the 'vl4' mask for brkb's pg operand instead. So I've
added an extra parameter to AArch64ISD::CTTZ_ELTS to carry the
appropriate pattern from where it's lowered to ISel.
Fixes #178644
Commit: 871c643a9d45048aa105e725bb839eee9aea0ee1
https://github.com/llvm/llvm-project/commit/871c643a9d45048aa105e725bb839eee9aea0ee1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/lib/Passes/PassBuilderPipelines.cpp
A llvm/test/Other/opt-pipeline-attributor-enable.ll
Log Message:
-----------
Attributor: Add -light options to -attributor-enable flag (#179346)
Add light, module-light, and cgscc-light options. This just
supplements the existing flag to use the light variants of the
pass in place of the full versions.
Way back when attributor-light was added in 400fde92963588ae2b,
there was no way to change the pass pipeline to use it. There
were some benchmarks posted, but I don't see precisely how it
was benchmarked in the pipeline.
I'm also surprised this option is only additive, and doesn't remove
FunctionAttrs. If this is to be the option to drive the enablement,
I would expect it to not run the old passes.
Commit: c85457ffceda0e62110aa5ed16e12e13922be61f
https://github.com/llvm/llvm-project/commit/c85457ffceda0e62110aa5ed16e12e13922be61f
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
M lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Symbol/CompilerType.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[lldb][TypeSystemClang] Remove mostly unused is_complex output parameter to IsFloatingPointType (#178906)
Depends on:
* https://github.com/llvm/llvm-project/pull/178904
(only last commit is relevant for the review)
This is part of a patch series to clean up the
TypeSystemClang::IsFloatingPointType API. The `is_complex` parameter is
rarely checked. This patch introduces a `CompilerType::IsComplexType`
API which callers that previously checked `is_complex` can use instead.
This will also allow us to remove `CompilerType::IsFloat`, which is just
`IsFloatingPointType` that ignores the `is_complex` parameter.
Commit: b96ef9c97bee44017bd832efab899ba1ed1f9b8f
https://github.com/llvm/llvm-project/commit/b96ef9c97bee44017bd832efab899ba1ed1f9b8f
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
Log Message:
-----------
[NFC][analyzer] Refactor switch handling in the engine (#178678)
This commit refactors `ExprEngine::processSwitch()` and related logic to
make it easier to understand and "prepare the ground" for planned
functional changes.
Unfortunately there were many idiosyncratic decisions in this part of
the engine -- e.g. `BranchNodeBuilder` does not derive from
`NodeBuilder` and doesn't use a `NodeBuilderContext`. For now I left
these skeletons in the closet, but I tried to pick the low-hanging fruit
and moved `processSwitch` a bit closer to its "big sibling"
`processBranch`.
For example I moved the initialization of the node builder into the body
of `processSwitch` because if I want to trigger `BranchCondition`
callbacks from this method (the way `processBranch` does it) I will need
to iterate over the nodes created by checkers and construct a new node
builder in each iteration.
(By the way this question is a bit academical because AFAIK there are no
BranchCondition callbacks that actually split the state -- and until
recently `processBranch` would've badly mishandled such callbacks -- but
properly handling state splits is much easier than documenting and
checking that `BranchCondition` callbacks are not allowed to split the
state.)
Commit: 347e21a2445733f4a32614080289ea13f484c9f8
https://github.com/llvm/llvm-project/commit/347e21a2445733f4a32614080289ea13f484c9f8
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M polly/lib/CodeGen/BlockGenerators.cpp
A polly/test/CodeGen/OpenMP/issue179135.ll
Log Message:
-----------
[Polly] Use GenDT in assertion (#179433)
`DT` is always the analysis for the to-be-optimized function while
`GenDT` is the analysis of the function that we currently generate code
for which can also be an outlined function. Here, we want to check
dominance in the generated code, hence we must use `GenDT`.
Fixes: #179135
Commit: e0fb6d7f6b6857f6307636e614f5bfe839376afb
https://github.com/llvm/llvm-project/commit/e0fb6d7f6b6857f6307636e614f5bfe839376afb
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/ValueObject.cpp
Log Message:
-----------
[lldb][CompilerType] Remove CompilerType::IsFloat (#179212)
Depends on:
* https://github.com/llvm/llvm-project/pull/178906
Ever since https://github.com/llvm/llvm-project/pull/178906 this API is
the same as `IsFloatingPointType`. There's no compelling reason for this
to exist.
Commit: c7408d17fac290a20b3367af663c26abe31eb2ae
https://github.com/llvm/llvm-project/commit/c7408d17fac290a20b3367af663c26abe31eb2ae
Author: Steffen Larsen <sholstla at amd.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/CodeGen/AMDGPU/promote-alloca-loadstores.ll
Log Message:
-----------
[AMDGPU][SROA] Unify cast chain implementations (#177945)
The AMDGPU promote alloca pass is missing a conversion link when casting
between vectors of pointers and pointers or vectors of pointers with
different number of elements. This causes codegen to crash due to
invalid casts being generated. To address this, this commit adds the
missing conversion link.
In addition to this, the commit moves the common load/store cast logic
into a new function `createLoadStoreCastChain`.
---------
Signed-off-by: Steffen Holst Larsen <HolstLarsen.Steffen at amd.com>
Co-authored-by: Steffen Holst Larsen <HolstLarsen.Steffen at amd.com>
Commit: a35b5940b44e4e3b9b1be98ca1b3e0b2743943ff
https://github.com/llvm/llvm-project/commit/a35b5940b44e4e3b9b1be98ca1b3e0b2743943ff
Author: David Rivera <davidriverg at gmail.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/TargetInfo.cpp
M clang/lib/CIR/CodeGen/TargetInfo.h
A clang/test/CIR/CodeGenCUDA/filter-decl.cu
A clang/test/CIR/CodeGenCUDA/nvptx-basic.cu
Log Message:
-----------
[CIR][CUDA][HIP] Add NVPTX target info and CUDA/HIP global emission filtering (#177827)
related: #175871
This patch adds foundational infra for device-side CUDA/HIP compilation
by introducing NVPTX target info and implementing the global emission
filtering logic.
NVPTX Target Info to allows us to compile against that triple:
- Add NVPTXABIInfo and NVPTXTargetCIRGenInfo classes
- Wire up nvptx and nvptx64 triples in getTargetCIRGenInfo()
- Add createNVPTXTargetCIRGenInfo() factory function
CUDA/HIP Global Emission Filtering (most of this is boilerplate from the
AST) This basically narrows down to:
- Skip host-only functions (no `__device__` attribute) when
`-fcuda-is-device`
- Skip device-only functions (device without host) on host side
- Always emit ` __global__` kernels and `__host__` `__device__`
functions on both sides
- Add `shouldEmitCUDAGlobalVar()` to handle variable emission
(device/constant/shared variables)
- Handle special cases: implicit host/device templates, lambda call
operators
Commit: 79eb804954bee06a62a3d31c697652f6dce982b1
https://github.com/llvm/llvm-project/commit/79eb804954bee06a62a3d31c697652f6dce982b1
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
M llvm/test/CodeGen/AArch64/sme-agnostic-za.ll
M llvm/test/CodeGen/AArch64/sme-new-za-function.ll
M llvm/test/CodeGen/AArch64/sme-za-control-flow.ll
M llvm/test/CodeGen/AArch64/sme-za-exceptions.ll
M llvm/test/CodeGen/AArch64/sme-za-lazy-save-buffer.ll
Log Message:
-----------
[AArch64][SME] Limit where SME ABI optimizations apply (#179273)
These were added recently with a fairly complex propagation step,
however, these optimizations can cause regressions in some cases.
This patch limits the cross-block optimizations to the simple case
picking a state that matches all incoming blocks. If any block doesn't
match, we fallback to using "ACTIVE", the default state.
Commit: 139e2fb60217a9cbdb68f9efad32da611b957c30
https://github.com/llvm/llvm-project/commit/139e2fb60217a9cbdb68f9efad32da611b957c30
Author: Udaya Ranga <udaya.ranga at arm.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/constant_folding.mlir
Log Message:
-----------
[mlir][tosa]: Add Binary Shape Ops folders (#178877)
* SUB_SHAPE
* MUL_SHAPE
* DIV_CEIL_SHAPE
* DIV_FLOOR_SHAPE
* MOD_SHAPE
Change-Id: I12500bbc05c62730e0dc9cc8d3f20b02845d407e
Signed-off-by: Udaya Ranga <udaya.ranga at arm.com>
Commit: a2c7c6032f27c4f8d6f7327a7ca15705d3081c3e
https://github.com/llvm/llvm-project/commit/a2c7c6032f27c4f8d6f7327a7ca15705d3081c3e
Author: Eli Friedman <efriedma at qti.qualcomm.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
R llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/xor-decompose.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/negative-i32-offset.ll
Log Message:
-----------
Revert "[SeparateConstOffsetFromGEP] Decompose constant xor operand if possible" (#179339)
A miscompile was found (see #175724), and it's complicated to fix. We're
going to revert for now, and look at reimplementing a fixed version
later.
Commit: 9ceb6a8b40d4e58f798ae596dfdd7e55aef4243d
https://github.com/llvm/llvm-project/commit/9ceb6a8b40d4e58f798ae596dfdd7e55aef4243d
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M polly/lib/CodeGen/LoopGeneratorsGOMP.cpp
M polly/lib/CodeGen/LoopGeneratorsKMP.cpp
Log Message:
-----------
[Polly][NFCI] Avoid R-value modification
Commit: 9411f5db60c372cc64fa0c85526447982f7698a3
https://github.com/llvm/llvm-project/commit/9411f5db60c372cc64fa0c85526447982f7698a3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/shl-to-add-transformation2.ll
Log Message:
-----------
[SLP][NFC]Add another test for shl-to-add transformation, NFC
Commit: affcbce5caec410f987be89bad6dfee4d0c747d5
https://github.com/llvm/llvm-project/commit/affcbce5caec410f987be89bad6dfee4d0c747d5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M libcxx/test/benchmarks/format/std_format_spec_string_unicode.bench.cpp
M libcxx/test/benchmarks/format/std_format_spec_string_unicode_escape.bench.cpp
Log Message:
-----------
[libc++][NFC] Disable std_format_spec benchmarks through lit instead of the preprocessor (#179228)
This is probably a relic from when we didn't use lit to run benchmarks.
Nowadays we should just use the lit features to disable benchmarks like
we do in any other test instead of using the preprocessor.
Commit: 8240cf337a9944792c79d3032cf98d6166c6e8ae
https://github.com/llvm/llvm-project/commit/8240cf337a9944792c79d3032cf98d6166c6e8ae
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanSLP.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Always set flags for overflowing ops etc via VPIRFlags. (#179138)
Enforce that all VPInstructions set the correct OpType of the VPIRFlags.
Flag mis-matches (e.g. VPInstruction Add without `OverflowingBinOp`
being set) can cause crashes (e.g. in CSE) or potentially mis-compiles.
Add a few helpers in VPBuilder to create common instructions with
correct flags.
PR: https://github.com/llvm/llvm-project/pull/179138
Commit: d8a7831a61fb0810cc014d27037ba5e7a6a2033e
https://github.com/llvm/llvm-project/commit/d8a7831a61fb0810cc014d27037ba5e7a6a2033e
Author: Weibo He <NewSigma at 163.com>
Date: 2026-02-03 (Tue, 03 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:
-----------
Reland "[CoroCleanup] Noop coroutine elision for load-and-call pattern (#179154)" (#179431)
There are multiple def-use paths from `coro.noop` to the calls of the
resume/destroy functions. We should update the worklist before erasing
instructions. The reversion passed tests with ASan enabled.
Reland #179154, which was reverted in #179289 due to ASan failures.
Commit: 9b5099acabb1419902d12e4871ed690f1d95ab02
https://github.com/llvm/llvm-project/commit/9b5099acabb1419902d12e4871ed690f1d95ab02
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/OpenMP/task_ast_print.cpp
M clang/test/OpenMP/task_codegen.cpp
M clang/test/OpenMP/taskloop_ast_print.cpp
M clang/test/OpenMP/taskloop_codegen.cpp
Log Message:
-----------
[OpenMP][Clang] Support transparent clause with no argument provided. (#177684)
According to the `OpenMP 6.0` specification (Section 17.9.6 511:18), if
the `impex-type` is not explicitly specified, the behavior defaults to
treating it as `omp_impex`. This patch ensures proper handling of the
`transparent` clause when no specific `impex-type` is provided.
Commit: 39b328c6f79908492ab8c1bd1cdd07b24945b446
https://github.com/llvm/llvm-project/commit/39b328c6f79908492ab8c1bd1cdd07b24945b446
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M offload/test/mapping/map_both_pointer_pointee.c
M offload/test/mapping/map_ptr_and_star_local.c
M offload/test/mapping/map_structptr_and_member_global.c
M offload/test/mapping/map_structptr_and_member_local.c
M offload/test/unified_shared_memory/api.c
M offload/test/unified_shared_memory/close_enter_exit.c
Log Message:
-----------
[OpenMP] Enable XFAIL OpenMP tests that pass now (#179344)
Summary:
These have been fixed, should be updated
Commit: fb8c5f8d6bb564275140f9d6ab4a45b76937d98e
https://github.com/llvm/llvm-project/commit/fb8c5f8d6bb564275140f9d6ab4a45b76937d98e
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap][NFC] Reuse PrettyPrint instead of pp (#179337)
Removed code duplication in `ProtocolTypesTest.cpp`.
Commit: b36d14d619822c1e8d049e94e102768acb69c513
https://github.com/llvm/llvm-project/commit/b36d14d619822c1e8d049e94e102768acb69c513
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-02-03 (Tue, 03 Feb 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/CommonAttrConstraints.td
M mlir/test/Dialect/SPIRV/IR/tosa-ops-verification.mlir
M mlir/test/Dialect/SPIRV/IR/tosa-ops.mlir
M mlir/test/Target/SPIRV/tosa-ops.mlir
M mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
Log Message:
-----------
[mlir][spirv] Add Activation operators to TOSA Extended Instruction S… (#178620)
…et (001000.1)
In details the Activation operators introduced are:
spirv.Tosa.{Clamp,Erf,Sigmoid,Tanh}, along with dialect and
serialization round-trip tests.
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 9022f47ca4505b7827cb6a1c9708e4e3cb1dd8ff
https://github.com/llvm/llvm-project/commit/9022f47ca4505b7827cb6a1c9708e4e3cb1dd8ff
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
A llvm/test/CodeGen/AMDGPU/llvm.sponentry.ll
A llvm/test/Verifier/AMDGPU/intrinsic-sponentry.ll
Log Message:
-----------
[AMDGPU] Implement llvm.sponentry (#176357)
In some of our use cases, the GPU runtime stores some data at the top of
the stack. It figures out where it's safe to store it by using the PAL
metadata generated by the backend, which includes the total stack size.
However, the metadata does not include the space reserved at the bottom
of the stack for the trap handler when CWSR is enabled in dynamic VGPR
mode. This space is reserved dynamically based on whether or not the
code is running on the compute queue. Therefore, the runtime needs a way
to take that into account.
Add support for `llvm.sponentry`, which should return the base of the
stack,
skipping over any reserved areas. This allows us to keep this
computation in
one place rather than duplicate it between the backend and the runtime.
The implementation for functions that set up their own stack uses a
pseudo
that is expanded to the same code sequence as that used in the prolog to
set up the stack in the first place.
In callable functions, we generate a fixed stack object and use that
instead,
similar to the Arm/AArch64 approach. This wastes some stack space but
that's
not a problem for now because we're not planning to use this in callable
functions yet.
Commit: 64fb57bf663ee099dc4c1bcdceae0ddecc72aea4
https://github.com/llvm/llvm-project/commit/64fb57bf663ee099dc4c1bcdceae0ddecc72aea4
Author: Johan Bengtsson <johan.bengtsson at iar.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/utils/gdb/libcxx/printers.py
Log Message:
-----------
[libc++] Fix gdb pretty printer for strings (#176882)
The gdb pretty printer for strings reports an error when printing a
string that is small enough to fit inline in the string object. The
problem is that the lazy_string method can't be applied directly to an
array value. The fix is to cast the array to a pointer and apply
lazy_string to that value.
Commit: 73e9c72227b4b493fd520cd615ca82b70769ebd7
https://github.com/llvm/llvm-project/commit/73e9c72227b4b493fd520cd615ca82b70769ebd7
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
A lldb/test/API/tools/lldb-dap/exception/asan/Makefile
A lldb/test/API/tools/lldb-dap/exception/asan/TestDAP_asan.py
A lldb/test/API/tools/lldb-dap/exception/asan/categories
A lldb/test/API/tools/lldb-dap/exception/asan/main.cpp
R lldb/test/API/tools/lldb-dap/exception/runtime-instruments/Makefile
R lldb/test/API/tools/lldb-dap/exception/runtime-instruments/TestDAP_runtime_instruments.py
R lldb/test/API/tools/lldb-dap/exception/runtime-instruments/categories
R lldb/test/API/tools/lldb-dap/exception/runtime-instruments/main.c
A lldb/test/API/tools/lldb-dap/exception/ubsan/Makefile
A lldb/test/API/tools/lldb-dap/exception/ubsan/TestDAP_ubsan.py
A lldb/test/API/tools/lldb-dap/exception/ubsan/categories
A lldb/test/API/tools/lldb-dap/exception/ubsan/main.c
M lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
Log Message:
-----------
[lldb-dap] Add ASan report (#178858)
Added `ASanReport` for `ExceptionInfo` request.
Commit: 46a38488a4d3eeda2a60feac3b99ad366263935b
https://github.com/llvm/llvm-project/commit/46a38488a4d3eeda2a60feac3b99ad366263935b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/PowerPC/disjoint-or-reductions.ll
Log Message:
-----------
[SLP]Disable modeling disjoint reduction or as bitcast for big endian
Big endian targets cannot be modeled as bitcast, need to support it as
a reversion/bswap instead, just disabling it for now.
Commit: a47f3802bfd7f8f4c56cb11bad89d844398e6662
https://github.com/llvm/llvm-project/commit/a47f3802bfd7f8f4c56cb11bad89d844398e6662
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/ptrauth-intrinsic-auth-resign-with-blend.ll
M llvm/test/CodeGen/AArch64/ptrauth-isel.ll
Log Message:
-----------
[AArch64][PAC] Mark $Scratch operand of AUTxMxN as earlyclobber (#173999)
This fixes an assertions when emitting code at `-O0`.
Commit: 85919fbfa4e8a2658e8ff7c83e856e3a88590b80
https://github.com/llvm/llvm-project/commit/85919fbfa4e8a2658e8ff7c83e856e3a88590b80
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp
Log Message:
-----------
[perf] Replace copy-assign by move-assign in llvm/lib/Target/AMDGPU/ (#179460)
Commit: 28a0cfa946c501af9aea367fe0efe0ac1420f817
https://github.com/llvm/llvm-project/commit/28a0cfa946c501af9aea367fe0efe0ac1420f817
Author: Mingjie Xu <xumingjie.enna1 at bytedance.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
Log Message:
-----------
Reland "[BasicBlockUtils] Fix dominator tree update for entry block in splitBlockBefore() (#178895) (#179392)
https://github.com/llvm/llvm-project/pull/178895 caused a clang
crash(see https://lab.llvm.org/buildbot/#/builders/210/builds/8229),
reverted in 6d52d2683c2ceb9ab75810730c3ced2509c32bc5.
The crash is assertion `DT && "DT should be available to update
LoopInfo!"' failed.
https://github.com/llvm/llvm-project/blob/ad8d5349d46734826aaeae4a2ebdc6f427a5bad8/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp#L1106
```
#7 0x00007f5a380254e3 __assert_perror_fail (/usr/lib/libc.so.6+0x254e3)
#8 0x0000563df5d8fde1 UpdateAnalysisInformation(llvm::BasicBlock*, llvm::BasicBlock*, llvm::ArrayRef<llvm::BasicBlock*>, llvm::DomTreeUpdater*, llvm::DominatorTree*, llvm::LoopInfo*, llvm::MemorySSAUpdater*, bool, bool&) BasicBlockUtils.cpp:0:0
#9 0x0000563df5d8f3bb llvm::splitBlockBefore(llvm::BasicBlock*, llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void, true, llvm::BasicBlock>, false, false>, llvm::DomTreeUpdater*, llvm::LoopInfo*, llvm::MemorySSAUpdater*, llvm::Twine const&)
#10 0x0000563df5d8cb08 llvm::SplitEdge(llvm::BasicBlock*, llvm::BasicBlock*, llvm::DominatorTree*, llvm::LoopInfo*, llvm::MemorySSAUpdater*, llvm::Twine const&)
#11 0x0000563df4ff5b59 (anonymous namespace)::CodeGenPrepare::splitLargeGEPOffsets()::$_1::operator()(long, llvm::Value*, llvm::GetElementPtrInst*) const CodeGenPrepare.cpp:0:0
#12 0x0000563df4fc0ec8 (anonymous namespace)::CodeGenPrepare::_run(llvm::Function&) CodeGenPrepare.cpp:0:0
#13 0x0000563df4fbb36c (anonymous namespace)::CodeGenPrepareLegacyPass::runOnFunction(llvm::Function&) CodeGenPrepare.cpp:0:0
```
I think this happened when we get DominatorTree with `DT.get()` in
`splitLargeGEPOffsets()` but `DT.reset()` already setting it to nullptr
in
https://github.com/llvm/llvm-project/blob/ad8d5349d46734826aaeae4a2ebdc6f427a5bad8/llvm/lib/CodeGen/CodeGenPrepare.cpp#L660.
To fix this assertion failure, use `getDT()` for
`splitLargeGEPOffsets()` to build the DominatorTree if it is set to
nullptr by `DT.reset()`.
I don't have a RSIC-V environment, so no reproducer. Checked that the
crash is fixed by rerunning buildbot with this patch
https://lab.llvm.org/buildbot/#/builders/210/builds/8248
Commit: 2f4cca69c7bd3db5dfb9e7b7258c1cf6e0dc476e
https://github.com/llvm/llvm-project/commit/2f4cca69c7bd3db5dfb9e7b7258c1cf6e0dc476e
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M flang/test/Lower/dummy-argument-assumed-shape-optional.f90
M flang/test/Lower/dummy-argument-contiguous.f90
M flang/test/Lower/dummy-argument-optional-2.f90
M flang/test/Lower/dummy-argument-optional.f90
M flang/test/Lower/dummy-arguments.f90
Log Message:
-----------
[flang][NFC] Converted five tests from old lowering to new lowering (part 13) (#179161)
Tests converted from test/Lower:
dummy-argument-assumed-shape-optional.f90,
dummy-argument-contiguous.f90, dummy-argument-optional.f90,
dummy-argument-optional-2.f90, dummy-arguments.f90
Commit: e0d922ee20e1948b2a1a2aa9689ceb14796d2a91
https://github.com/llvm/llvm-project/commit/e0d922ee20e1948b2a1a2aa9689ceb14796d2a91
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Semantics/resolve-names.cpp
Log Message:
-----------
[flang][OpenMP] Add source range to construct scopes (#179259)
Make sure to add the source range whenever we create a scope for an
OpenMP construct or a clause. This allows that scope to be located via
context.FindScope(source).
Commit: 9f47caed05da553d47ab504d1aeff9d76f70020e
https://github.com/llvm/llvm-project/commit/9f47caed05da553d47ab504d1aeff9d76f70020e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrFormatsV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Use RISCVWidth in interface for vector load/store classes in RISCVInstrFormatsV.td. NFC (#179348)
This avoids repeating the splitting into mew/width in multiple places.
---------
Co-authored-by: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Commit: 0d5e58df2e3ba17c898dc1873e93e786ce2bcfa7
https://github.com/llvm/llvm-project/commit/0d5e58df2e3ba17c898dc1873e93e786ce2bcfa7
Author: Fateme Hosseini <quic_fhossein at quicinc.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/test/CodeGen/Hexagon/inst_setcc_uno_uo.ll
Log Message:
-----------
[Hexagon] Fix a bug in setcc isnan lit test for f16 (#179338)
Commit: d6211b112fa75fb5aa0bcd3885d3c9c36f4deece
https://github.com/llvm/llvm-project/commit/d6211b112fa75fb5aa0bcd3885d3c9c36f4deece
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/IR/Builders.h
M mlir/include/mlir/IR/Types.h
M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
M mlir/lib/IR/Builders.cpp
M mlir/lib/IR/Types.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/Dialect/SPIRV/IR/arithmetic-ops.mlir
M mlir/test/Dialect/SPIRV/IR/composite-ops.mlir
M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
M mlir/test/Dialect/SPIRV/IR/types.mlir
M mlir/test/Target/SPIRV/constant.mlir
Log Message:
-----------
[mlir][spirv] Add SPV_EXT_float8 support (#179246)
Reference:
https://github.khronos.org/SPIRV-Registry/extensions/EXT/SPV_EXT_float8.html
---------
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: 030fc7d08ef8a3120f857b2c2dc9ced498530ef0
https://github.com/llvm/llvm-project/commit/030fc7d08ef8a3120f857b2c2dc9ced498530ef0
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vdivu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vrem-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vremu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsra-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsrl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vdivu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vrem-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vremu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsra-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsrl-vp.ll
Log Message:
-----------
[LegalizeTypes] Don't promote operands to VP extends (#179475)
This is part of the work to remove trivial VP intrinsics.
When promoting the result of a VP node, if we need to extend an operand
then we also extend it with a VP node.
We don't check if the VP node is legal though which will cause crashes
if the target doesn't support VP_ZEXT/VP_SEXT. This switches it to use a
regular non-VP node to extend instead.
Commit: 55174f936ba036f22f29c936aee69e4f4cda338a
https://github.com/llvm/llvm-project/commit/55174f936ba036f22f29c936aee69e4f4cda338a
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M libc/src/string/memory_utils/aarch64/inline_memcpy.h
Log Message:
-----------
[libc][SVE] add sve handling for memcpy with count less than 32b (#167446)
Add SVE optimization for AArch64 architectures. The idea is to use
predicate registers to avoid branching.
Microbench in repo shows considerable improvements on NV GB10 (locked on
largest X925):
```
======================================================================
BENCHMARK STATISTICS (time in nanoseconds)
======================================================================
memcpy_Google_A:
Old - Mean: 3.1257 ns, Median: 3.1162 ns
New - Mean: 2.8402 ns, Median: 2.8265 ns
Improvement: +9.14% (mean), +9.30% (median)
memcpy_Google_B:
Old - Mean: 2.3171 ns, Median: 2.3159 ns
New - Mean: 1.6589 ns, Median: 1.6593 ns
Improvement: +28.40% (mean), +28.35% (median)
memcpy_Google_D:
Old - Mean: 8.7602 ns, Median: 8.7645 ns
New - Mean: 8.4307 ns, Median: 8.4308 ns
Improvement: +3.76% (mean), +3.81% (median)
memcpy_Google_L:
Old - Mean: 1.7137 ns, Median: 1.7091 ns
New - Mean: 1.4530 ns, Median: 1.4553 ns
Improvement: +15.22% (mean), +14.85% (median)
memcpy_Google_M:
Old - Mean: 1.9823 ns, Median: 1.9825 ns
New - Mean: 1.4826 ns, Median: 1.4840 ns
Improvement: +25.20% (mean), +25.15% (median)
memcpy_Google_Q:
Old - Mean: 1.6812 ns, Median: 1.6784 ns
New - Mean: 1.1538 ns, Median: 1.1517 ns
Improvement: +31.37% (mean), +31.38% (median)
memcpy_Google_S:
Old - Mean: 2.1816 ns, Median: 2.1786 ns
New - Mean: 1.6297 ns, Median: 1.6287 ns
Improvement: +25.29% (mean), +25.24% (median)
memcpy_Google_U:
Old - Mean: 2.2851 ns, Median: 2.2825 ns
New - Mean: 1.7219 ns, Median: 1.7187 ns
Improvement: +24.65% (mean), +24.70% (median)
memcpy_Google_W:
Old - Mean: 2.0408 ns, Median: 2.0361 ns
New - Mean: 1.5260 ns, Median: 1.5252 ns
Improvement: +25.23% (mean), +25.09% (median)
uniform_384_to_4096:
Old - Mean: 26.9067 ns, Median: 26.8845 ns
New - Mean: 26.8083 ns, Median: 26.8149 ns
Improvement: +0.37% (mean), +0.26% (median)
```
The beginning of the memcpy function looks like the following:
```
Dump of assembler code for function _ZN22__llvm_libc_22_0_0_git6memcpyEPvPKvm:
0x0000000000001340 <+0>: cbz x2, 0x143c <_ZN22__llvm_libc_22_0_0_git6memcpyEPvPKvm+252>
0x0000000000001344 <+4>: cbz x0, 0x1440 <_ZN22__llvm_libc_22_0_0_git6memcpyEPvPKvm+256>
0x0000000000001348 <+8>: cbz x1, 0x1444 <_ZN22__llvm_libc_22_0_0_git6memcpyEPvPKvm+260>
0x000000000000134c <+12>: subs x8, x2, #0x20
0x0000000000001350 <+16>: b.hi 0x1374 <_ZN22__llvm_libc_22_0_0_git6memcpyEPvPKvm+52> // b.pmore
0x0000000000001354 <+20>: rdvl x8, #1
0x0000000000001358 <+24>: whilelo p0.b, xzr, x2
0x000000000000135c <+28>: ld1b {z0.b}, p0/z, [x1]
0x0000000000001360 <+32>: whilelo p1.b, x8, x2
0x0000000000001364 <+36>: ld1b {z1.b}, p1/z, [x1, #1, mul vl]
0x0000000000001368 <+40>: st1b {z0.b}, p0, [x0]
0x000000000000136c <+44>: st1b {z1.b}, p1, [x0, #1, mul vl]
0x0000000000001370 <+48>: ret
```
---------
Co-authored-by: Guillaume Chatelet <chatelet.guillaume at gmail.com>
Commit: 466c22ba47340bdcd07c758d53721a533df04e1f
https://github.com/llvm/llvm-project/commit/466c22ba47340bdcd07c758d53721a533df04e1f
Author: Kito Cheng <kito.cheng at sifive.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZcmop.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZicfiss.td
M llvm/test/MC/Disassembler/RISCV/c_lui_disasm.txt
M llvm/test/MC/RISCV/compressed-zicfiss.s
M llvm/test/MC/RISCV/invalid-instruction-spellcheck.s
M llvm/test/MC/RISCV/rv32i-invalid.s
M llvm/test/MC/RISCV/rvzcmop-valid.s
M llvm/test/MC/RISCV/rvzihintntl-invalid.s
M llvm/test/MC/RISCV/rvzihintntl-valid.s
M llvm/test/MC/RISCV/rvzihintntlc-valid.s
M llvm/test/MC/RISCV/rvzihintpause-aliases-valid.s
M llvm/test/MC/RISCV/zicfilp-invalid.s
M llvm/test/MC/RISCV/zicfilp-valid.s
M llvm/test/MC/RISCV/zicfiss-valid.s
Log Message:
-----------
[RISCV] Make MOP/HINT-based instruction mnemonics always available (#178609)
Per the psABI discussion in riscv-non-isa/riscv-elf-psabi-doc#474, the
conclusion was to NOT introduce a new build attribute for MOP/HINT
encoding reinterpretation. Instead, the toolchain should recognize these
mnemonics unconditionally in the assembler and disassembler.
The rationale is that these encodings occupy reserved hint/MOP space
that is architecturally guaranteed not to trap on any compliant
implementation. Requiring explicit extension flags creates unnecessary
friction for users who simply want to write or read these instructions,
while providing no real safety benefit since the encodings are always
valid.
Note: Ideally, the ISA specification would explicitly guarantee that
these MOP/HINT encodings will never be reassigned to conflicting
instructions. However, the ISA architects prefer to preserve flexibility
in this area rather than making such guarantees in the spec. Given the
practical reality that reassignment is highly unlikely, the toolchain
takes the pragmatic approach of always recognizing these mnemonics.
This change makes the following mnemonics always available:
- lpad (Zicfilp): AUIPC hint encoding, always valid
- pause (Zihintpause): FENCE hint encoding, always valid
- ntl.* (Zihintntl): ADD hint encoding, always valid
- c.ntl.* (Zihintntl+C): requires C extension only
- sspush/sspopchk/ssrdp (Zicfiss): requires Zimop only (MOP encoding)
- c.sspush/c.sspopchk (Zicfiss+Zcmop): requires Zcmop only
Note: ssamoswap.w/d still requires Zicfiss as they use AMO encoding
space rather than MOP encoding.
Codegen patterns remain unchanged in this patch - generating these
instructions in the compiler backend still requires the full extension
to be enabled. A follow-up patch will relax this restriction as well,
since these instructions are fundamentally MOP/HINT encodings that
should be safe to generate regardless of extension availability.
Link: https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/474
Commit: eb1ae5b575e51d79c8edbcbd43a09c43cea1b6d6
https://github.com/llvm/llvm-project/commit/eb1ae5b575e51d79c8edbcbd43a09c43cea1b6d6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Wrap some long lines in RISCVInstrInfoV.td. NFC
Remove unnecessary braces from assembly strings.
Commit: 71a37dd4b9b46cf7d90657c1f1006744a20e18cb
https://github.com/llvm/llvm-project/commit/71a37dd4b9b46cf7d90657c1f1006744a20e18cb
Author: Jack Frankland <jack.frankland at arm.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/test/Conversion/VectorToGPU/vector-to-mma-ops.mlir
Log Message:
-----------
[mlir][vector-to-gpu]: Extend MMA Lowerings (#176785)
Add support for lowering non-minor-identity maps during
`vector.transfer_read` and `vector.transfer_write` to
`gpu.subgroup_mma_load_matrix` and `gpu.subgroup_mma_store_matrix`
lowerings. If
the permutation map is a "strided minor identity", that is it jumps some
intermediate dimensions e.g. (d0, d1, d2) -> (d0, d2) then we can
express this stride in the `leadDimension` attribute of the
`gpu.subgroup_mma_load_matrix` and stride over the missing intermediate
dimensions when we load.
Signed-off-by: Jack Frankland <jack.frankland at arm.com>
Commit: e96ad4a48b7980645812eba42d8a1aa8003a0833
https://github.com/llvm/llvm-project/commit/e96ad4a48b7980645812eba42d8a1aa8003a0833
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
Log Message:
-----------
[OpenMPOpt] avoid OOB array write (#178686)
When analysis reaches code with UB at runtime, this write needs to be
ignored to avoid corrupting memory with UB at compile time.
Drive-by finding during review of
https://github.com/llvm/llvm-project/pull/178356.
Commit: 5587993548a6d764334c12b46616aa48606f2d6f
https://github.com/llvm/llvm-project/commit/5587993548a6d764334c12b46616aa48606f2d6f
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
A lldb/include/lldb/DataFormatters/FormatterBytecode.def
A lldb/include/lldb/DataFormatters/FormatterBytecode.h
M lldb/source/DataFormatters/FormatterBytecode.cpp
R lldb/source/DataFormatters/FormatterBytecode.def
R lldb/source/DataFormatters/FormatterBytecode.h
M lldb/source/DataFormatters/FormatterSection.cpp
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp
Log Message:
-----------
[lldb] Move FormatterBytecode.{h,def} to include/ (#179355)
To allow other headers to reference types declared in `FormatterBytecode.h`.
Commit: e07a1182fd58a5b48a2c78bc3ae03872186d4ae0
https://github.com/llvm/llvm-project/commit/e07a1182fd58a5b48a2c78bc3ae03872186d4ae0
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/docs/gpu/building.rst
M libc/startup/gpu/CMakeLists.txt
Log Message:
-----------
[libc] Tweak the runtimes cross-build for GPU (#178548)
Summary:
We should likely use `-DLLVM_DEFAULT_TARGET_TRIPLE` as the general
source of truth, make the handling work with that since we use it for
the output directories. Fix the creation of startup files in this mode
and make sure it can detect the GPU properly.
Fixes: https://github.com/llvm/llvm-project/issues/179375
Commit: 00fb7f86f83612bccde8d4df1ccc8c2424a250a6
https://github.com/llvm/llvm-project/commit/00fb7f86f83612bccde8d4df1ccc8c2424a250a6
Author: SiliconA-Z <gfunni234 at gmail.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/saturating-add-sub.ll
Log Message:
-----------
[InstCombine] Extend canonicalization of addition to positive numbers (#179343)
https://alive2.llvm.org/ce/z/6PQdaP
Extend https://github.com/llvm/llvm-project/pull/153053 to positive numbers too.
Commit: 51e5b6c6acc01a41581ac5631edcc7fc974310b5
https://github.com/llvm/llvm-project/commit/51e5b6c6acc01a41581ac5631edcc7fc974310b5
Author: John Harrison <harjohn at google.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setExceptionBreakpoints.py
M lldb/test/API/tools/lldb-dap/exception/objc/TestDAP_exception_objc.py
A lldb/test/API/tools/lldb-dap/stopped-events/Makefile
A lldb/test/API/tools/lldb-dap/stopped-events/TestDAP_stopped_events.py
A lldb/test/API/tools/lldb-dap/stopped-events/main.cpp
M lldb/test/API/tools/lldb-dap/threads/TestDAP_threads.py
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Protocol/ProtocolEvents.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolEvents.h
M lldb/tools/lldb-dap/SBAPIExtras.h
M lldb/unittests/DAP/CMakeLists.txt
A lldb/unittests/DAP/ProtocolEventsTest.cpp
Log Message:
-----------
[lldb-dap] Migrating 'stopped' event to structured types. (#176273)
Updates the 'stopped' event to use structure types.
Additionally, I adjusted the description to include the full
`GetStopDescription` that can have more details.
Commit: 114f7808554b6959156bc205b5bfa1827a621823
https://github.com/llvm/llvm-project/commit/114f7808554b6959156bc205b5bfa1827a621823
Author: Gauravsingh Sisodia <xaerru at gmail.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/intrinsic-select.ll
Log Message:
-----------
[InstCombine] Fold select of intrinsic into intrinsic of select (#178002)
Fix https://github.com/llvm/llvm-project/issues/140917
Transform:
`select cond, intrinsic(x, ...), intrinsic(y, ...)`
into:
`intrinsic(select cond, x, y, ...)`
for `ctpop/ctlz/cttz/abs`.
alive2 proof: https://alive2.llvm.org/ce/z/Zp55Dy
Commit: 299761d7cfc9e53b88269b6b4f3bfc6f5d539b13
https://github.com/llvm/llvm-project/commit/299761d7cfc9e53b88269b6b4f3bfc6f5d539b13
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
A llvm/test/CodeGen/AMDGPU/GlobalISel/unmerge-sgpr-s16.mir
Log Message:
-----------
AMDGPU/GlobalISel: add mir test for sgpr s16 unmerge (#179440)
Commit: dfbf4eb88e845aacb3e4f702bbf2349eb33e8d55
https://github.com/llvm/llvm-project/commit/dfbf4eb88e845aacb3e4f702bbf2349eb33e8d55
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
Log Message:
-----------
[AMDGPU][Scheduler] Fix incorrect region index in EXPENSIVE_CHECKS (#179461)
#177206 exposed a pre-existing typo in EXPENSIVE_CHECKS in the
scheduler's rematerialization stage. When rematerializing a register
that depends on other registers, the dependent registers should be live
at the live-ins of the rematerialized register's using region, but not
necessarily at the live-ins of its defining region, as it is written
right now.
This fixes that and also hoists the check from the loop on regions where
the rematerialized register is live, since it's only supposed to run
once for the using region anyway. This fixes the following unit tests
which were failing when building with EXPENSIVE_CHECKS.
- `CodeGen/AMDGPU/copy-hoist-no-spills.ll`
- `CodeGen/AMDGPU/sched_mfma_rewrite_copies.mir`
Commit: e39d2822bce28c557241bf79fd930fe6dcef840c
https://github.com/llvm/llvm-project/commit/e39d2822bce28c557241bf79fd930fe6dcef840c
Author: Abhay Kanhere <abhay at kanhere.net>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/ptrauth.h
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/ptrauth-intrinsics.c
M clang/test/Sema/ptrauth.c
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Transforms/Utils/Local.cpp
A llvm/test/CodeGen/AArch64/ptrauth-intrinsic-auth-resign-relative-load.ll
Log Message:
-----------
[CodeGen][AArch64] ptrauth intrinsic to safely construct relative ptr (#142047)
ptrauth intrinsic to safely construct relative ptr for swift coroutines.
A ptrauth intrinsic for swift co-routine support that allows creation of
signed pointer
from offset stored at address relative to the pointer.
Following C-like pseudo code (ignoring keys,discriminators) explains its
operation:
let rawptr = PACauth(inputptr);
return PACsign( rawptr + signextend64( *(int32*)(rawptr+addend) ))
What: Authenticate a signed pointer, load a 32bit value at offset
'addend' from pointer,
add this value to pointer, sign this new pointer.
builtin: __builtin_ptrauth_auth_load_relative_and_sign
intrinsic: ptrauth_auth_resign_load_relative
Commit: 0b4147e0bc9a882c988246ddc6acaf7b6dc6cc9b
https://github.com/llvm/llvm-project/commit/0b4147e0bc9a882c988246ddc6acaf7b6dc6cc9b
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
R llvm/test/CodeGen/X86/dag-large-offset.ll
A llvm/test/CodeGen/X86/fold-add-16.ll
A llvm/test/CodeGen/X86/fold-add-32.ll
Log Message:
-----------
[X86] Restrict offset folding into address mode in 16-bit mode (#179399)
https://github.com/coreboot/seabios/blob/106549a4362f6b499da522f8f8f5ed9f98388f87/src/pnpbios.c#L70
has code that looks like
```
extern int X;
unsigned f(void) { return (unsigned)&X - 0xf0000; }
```
which compiles (-O1 or above, -fno-pic) to
```
.code16
leal X-983040, %eax # R_386_16 relocation, [-65535,65535]
```
in 16-bit mode. This is rejected by both GNU Assembler and LLVM
integrated assembler (after #176827).
Restrict offset folding in 16-bit mode to the range [-65535, 65535].
Commit: 4177b325c23a5e75699ce882cd84bcd7c2efceb9
https://github.com/llvm/llvm-project/commit/4177b325c23a5e75699ce882cd84bcd7c2efceb9
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.tbuffer.store.f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.tbuffer.store.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll
Log Message:
-----------
[AMDGPU][GlobalISel] Add tbuffer store d16 RegBankLegalize rule (#179411)
Commit: 983d8663b04906a21ce830bc9257b01a79e282c3
https://github.com/llvm/llvm-project/commit/983d8663b04906a21ce830bc9257b01a79e282c3
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/test/Dialect/XeGPU/subgroup-distribute-unit.mlir
Log Message:
-----------
[MLIR] [XeGPU] SG distribution: adding tests for alloca/create_memdesc and remove unncessary check from shape_cast op lowering (#179018)
This PR add subgroup distribution tests for memref.alloca and
xegpu.create_memdesc ops.
It also removes the slice layout requirement for shape_cast.
Commit: 03d467b585d1e6e60fb0513cb40980d6a3428c22
https://github.com/llvm/llvm-project/commit/03d467b585d1e6e60fb0513cb40980d6a3428c22
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
Log Message:
-----------
[InlineCost] Replace getAllocatedType with getAllocationSize (#178355)
This now should correctly compute the size of the static alloca if it
was declared as an array.
Co-authored-by: Claude Opus 4.5 <noreply at anthropic.com>
Commit: 572dabdbf637e006f666fd069fe1aebf151c7a5f
https://github.com/llvm/llvm-project/commit/572dabdbf637e006f666fd069fe1aebf151c7a5f
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.h
Log Message:
-----------
[CIR] Propagate correct flags to EHCleanupScope (#179137)
Propagate correct flags to the EHCleanupScope, which will be needed to
trigger the invoke branch inside `emitCallLikeOp`. This code will make
ClangIR trigger NYI for cleanups that need to be called inside the
cleanup scope, but now they are produced in the main function scope,
which is wrong
Commit: 294e43c72dbf9215855babfbfb1dcfe4105ac05d
https://github.com/llvm/llvm-project/commit/294e43c72dbf9215855babfbfb1dcfe4105ac05d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-maxnum.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-minnum.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
Log Message:
-----------
InstCombine: Handle minnum/maxnum in SimplifyDemandedFPClass (#179299)
Commit: 9727cfe1fce1f58ac127ae1a909908fc45db9190
https://github.com/llvm/llvm-project/commit/9727cfe1fce1f58ac127ae1a909908fc45db9190
Author: neildhar <neildhar at users.noreply.github.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M mlir/lib/IR/SymbolTable.cpp
Log Message:
-----------
[NFC][MLIR] Simplify lookup of nested symbols (#179362)
Consolidate the handling of nested symbols in the loop over nested
references. This is an NFC refactor to make it simpler to enforce symbol
visibility here.
Commit: abdf66d60bab8ad8eeed6e91f63c90616e6ae232
https://github.com/llvm/llvm-project/commit/abdf66d60bab8ad8eeed6e91f63c90616e6ae232
Author: Syadus Sefat <42645939+mssefat at users.noreply.github.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/fp-int-conversions.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fptosi.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fptoui.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sitofp.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-uitofp.mir
Log Message:
-----------
[AMDGPU][GlobalIsel] Add register bank legalization rules for fptoi and itofp (#176300)
This patch adds register bank legalization rules for fptoi and itofp
operations in the AMDGPU GlobalISel pipeline.
Commit: 5586d4ace9a9d12b58f5fbae736d1164c9ed44a4
https://github.com/llvm/llvm-project/commit/5586d4ace9a9d12b58f5fbae736d1164c9ed44a4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] mayFoldIntoVector - recognise larger than legal logic ops may fold to vectors (#179503)
Inspired by the hack to #174761 - move the custom operation handling
inside mayFoldIntoVector where we can more accurately predict ops that
can be moved to the vector unit
Commit: cbbb87720d14c36f8e53b4c7f6094614eecc756c
https://github.com/llvm/llvm-project/commit/cbbb87720d14c36f8e53b4c7f6094614eecc756c
Author: neildhar <neildhar at users.noreply.github.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M mlir/lib/IR/SymbolTable.cpp
M mlir/test/Dialect/GPU/invalid.mlir
M mlir/test/IR/test-symbol-uses.mlir
M mlir/test/lib/IR/TestSymbolUses.cpp
Log Message:
-----------
[MLIR] Enforce symbol visibility during symbol lookup (#179370)
Update symbol resolution to examine whether a nested symbol being
resolved is private, and fail in that case. This ensures that we
maintain invariants on symbol visibility that we depend on in
optimisations.
Commit: 7798a8907ed37be3898505bd590c447c71a7e0ea
https://github.com/llvm/llvm-project/commit/7798a8907ed37be3898505bd590c447c71a7e0ea
Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M clang/include/clang/AST/TypeBase.h
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGHLSLBuiltins.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
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-methods.hlsl
A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffers.hlsl
Log Message:
-----------
Implement `ByteAddressBuffer` Load/Store methods (#176058)
Closes #108058.
This PR:
- Adds the `uint` `Load` and `Store` methods (`Load/Store`,
`Load2/Store2`, `Load3/Store3`, `Load4/Store4`) to the existing
`ByteAddressBuffer` objects
- Adds the new templated `Load` and `Store` methods to
`ByteAddressBuffer` objects, which allow types other than `uint` (e.g.
aggregate types) to be used with them directly
- One exception to this is array types, which are rejected by the
methods (as array returns will be disallowed in 202x)
- Adds the relevant `AST`, `CodeGenHLSL`, and `SemaHLSL` tests for these
methods
*Note: the `HLSL Tests` check is failing because this implementation
makes the `ByteAddressBuffer` tests XPASS. Will remove the XFAILs from
these tests in a follow-up.*
Commit: faa4b97b10c6facb362c5a8d2f0f5c442389a103
https://github.com/llvm/llvm-project/commit/faa4b97b10c6facb362c5a8d2f0f5c442389a103
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Analysis/ValueTracking/knownbits-bmi-pattern.ll
M llvm/test/Transforms/InstCombine/and-or-icmps.ll
M llvm/test/Transforms/InstCombine/canonicalize-selects-icmp-condition-bittest.ll
M llvm/test/Transforms/InstCombine/cmp-intrinsic.ll
M llvm/test/Transforms/InstCombine/exact.ll
M llvm/test/Transforms/InstCombine/icmp-and-shift.ll
M llvm/test/Transforms/InstCombine/icmp-binop.ll
M llvm/test/Transforms/InstCombine/icmp-mul-and.ll
M llvm/test/Transforms/InstCombine/icmp-mul.ll
M llvm/test/Transforms/InstCombine/icmp-ne-pow2.ll
M llvm/test/Transforms/InstCombine/icmp.ll
M llvm/test/Transforms/InstCombine/load-cmp.ll
M llvm/test/Transforms/InstCombine/or.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest-with-truncation-lshr.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest-with-truncation-shl.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest.ll
M llvm/test/Transforms/LoopUnroll/WebAssembly/basic-unrolling.ll
M llvm/test/Transforms/PGOProfile/chr.ll
M llvm/test/Transforms/PGOProfile/chr_coro.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
Log Message:
-----------
[InstCombine] fold icmp ne (and X, 1), 0 --> trunc X to i1 (#178977)
Remove vector check so this fold always is done.
proof: https://alive2.llvm.org/ce/z/oabD6J
closes #172888
Commit: 10d385936968fe6791e8b9ace283708f1002f4f4
https://github.com/llvm/llvm-project/commit/10d385936968fe6791e8b9ace283708f1002f4f4
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMCallingConv.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
ARM: Avoid using isTarget wrappers around Triple predicates (#179512)
These are module level properties, and querying them through
a function-level subtarget context is confusing. Plus we don't
need an aliased name.
Continue change started in 91439817e8d19613ac6e25ca9abd5e7534a9d33b
Commit: 3064291c9f54dff3416145b06bd31cc38211da1d
https://github.com/llvm/llvm-project/commit/3064291c9f54dff3416145b06bd31cc38211da1d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-03 (Tue, 03 Feb 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:
-----------
Reapply "[InstCombine] Always fold alignment assumptions into operand bundles (#177597)" (#179497)
Truncating at 32 bits is now avoided by removing a cast to `unsigned`.
This would also break at 64 bits (with the pointer size > 64 bit), but I
don't think LLVM supports such a
thing.
This reverts commit bc7315749d6d16d0f162f816b3ec0ef7169615f2.
Commit: cb5e2db75a200788cb137071d9cefec177bd6c45
https://github.com/llvm/llvm-project/commit/cb5e2db75a200788cb137071d9cefec177bd6c45
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/sincos-glsl.ll
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/sincos-opencl.ll
Log Message:
-----------
[SPIR-V] Add lowering for G_FSINCOS (#179053)
Use either OpenCL::sincos for compute or sequence of HLSL::sin +
HLSL::cos for shader.
Commit: 06a903e9386b70422d277ac1aead6d8a55173b30
https://github.com/llvm/llvm-project/commit/06a903e9386b70422d277ac1aead6d8a55173b30
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
Log Message:
-----------
[AMDGPU] Clear no convergence flag on operand folding. NFCI (#179438)
Clear the flag. It fails verification if set, only convergent
operations may have NoConvergent flag. NFCI as it is now because
it just does not happen.
Commit: 9bfeaaf28c47d6933cf2fdac6c75323cb1240b5c
https://github.com/llvm/llvm-project/commit/9bfeaaf28c47d6933cf2fdac6c75323cb1240b5c
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/IR/Intrinsics.cpp
Log Message:
-----------
[LLVM][Intrinsics] Minor cleanup in getIntrinsicInfoTableEntries (#179317)
Change `IITValues` from SmallVector to a simple array, since its maximum
size is bounded and relatively small. As a result, using a SmallVector
for this array is not necessary.
Commit: 90f575ba81888c63099f892a8f5f523327d7f5cf
https://github.com/llvm/llvm-project/commit/90f575ba81888c63099f892a8f5f523327d7f5cf
Author: Rohan Jacob-Rao <rohanjr at google.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
Log Message:
-----------
[NFC][Clang][UnsafeBufferUsage] Simplify libc function matchers. (#178985)
Commit: f0c519d2c1b0a1c73994cdb3aabfa33a4a412801
https://github.com/llvm/llvm-project/commit/f0c519d2c1b0a1c73994cdb3aabfa33a4a412801
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.h
M llvm/lib/IR/Intrinsics.cpp
M llvm/test/TableGen/intrinsic-arginfo.td
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Adopt CodeGenHelpers in IntrinsicEmitter (#179310)
- Adopt IfDefEmitter in IntrinsicEmitter.
- Remove #undef for various flags in Intrinsics.cpp/Intrinsics.h as the
TableGen generated code does that now.
Commit: dd19a5a1a774af07989d1d363760bf00a725d4d7
https://github.com/llvm/llvm-project/commit/dd19a5a1a774af07989d1d363760bf00a725d4d7
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
R mlir/test/Conversion/ConvertToEmitC/tosa.mlir
A mlir/test/Dialect/EmitC/tosa/lit.local.cfg
A mlir/test/Dialect/EmitC/tosa/ops.mlir
A mlir/test/Dialect/EmitC/tosa/td.mlir
Log Message:
-----------
[mlir][emitc] Update and extend the TOSA -> EmitC test (#177339)
This patch updates and extends the TOSA-to-EmitC lowering test:
* Conversion/ConvertToEmitC/tosa.mlir
Summary of changes and rationale:
* Remove `buffer-alignment=0` from the lowering pipeline; it is not required
(the existing `CHECK` lines are not affected).
* Move the test from Conversion/ConvertToEmitC/tosa.mlir to
Dialect/EmitC/tosa/ops.mlir. Conversion tests are intended for single
conversion passes (e.g. `-convert-dialect1-to-dialect2`), whereas this test
exercises a more complex lowering pipeline with multiple explicit steps (e.g.
TOSA -> Linalg, bufferization, etc.).
* Add a Transform Dialect sequence to complement the existing lowering pipeline
definition. This introduces an additional `RUN` line that is compatible with
the original one. Using the Transform Dialect makes the pipeline easier to
document, maintain, and experiment with.
Commit: 9481902eff35960154cf1ee245f010cf960bf395
https://github.com/llvm/llvm-project/commit/9481902eff35960154cf1ee245f010cf960bf395
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/tls-models.ll
Log Message:
-----------
[llvm][RISCV] precommit test update via UTC (#179508)
Run UTC in preparation of additional tests.
Commit: e1f69ee8e84784d164a1a748cd6c080830ecd0e8
https://github.com/llvm/llvm-project/commit/e1f69ee8e84784d164a1a748cd6c080830ecd0e8
Author: Wael Yehia <wmyehia2001 at yahoo.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/test/CodeGen/attr-ifunc.c
M clang/test/CodeGen/attr-ifunc.cpp
M clang/test/CodeGen/ifunc.c
M clang/test/CodeGenCXX/externc-ifunc-resolver.cpp
M clang/test/SemaCXX/ifunc-has-attribute.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/ppc/init_ifuncs.c
A compiler-rt/test/builtins/Unit/ppc/aix_ifunc.c
A compiler-rt/test/profile/AIX/ifunc.c
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/LTO/LTOModule.cpp
M llvm/lib/Target/PowerPC/CMakeLists.txt
M llvm/lib/Target/PowerPC/PPC.h
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
A llvm/lib/Target/PowerPC/PPCPrepareIFuncsOnAIX.cpp
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
A llvm/test/CodeGen/PowerPC/aix-ifunc-alias.ll
A llvm/test/CodeGen/PowerPC/aix-ifunc-debug.ll
A llvm/test/CodeGen/PowerPC/aix-ifunc-obj.ll
A llvm/test/CodeGen/PowerPC/aix-ifunc-toc-restore-query-neg.ll
A llvm/test/CodeGen/PowerPC/aix-ifunc-toc-restore-query.ll
A llvm/test/CodeGen/PowerPC/aix-ifunc.ll
A llvm/test/CodeGen/PowerPC/ifunc-prepare.ll
A llvm/test/LTO/PowerPC/ifunc-aix.ll
M llvm/utils/gn/secondary/llvm/lib/Target/PowerPC/BUILD.gn
Log Message:
-----------
[AIX] Implement the ifunc attribute. (#153049)
Currently, the AIX linker and loader do not provide a mechanism to
implement ifuncs similar to GNU_ifunc on ELF Linux.
On AIX, we will lower `__attribute__((ifunc("resolver"))` to the llvm
`ifunc` as other platforms do. The llvm `ifunc` in turn will get lowered
at late stages of the optimization pipeline to an AIX-specific
implementation. No special linkage or relocations are needed when
generating assembly/object output.
On AIX, a function `foo` has two symbols associated with it: a function
descriptor (`foo`) residing in the `.data` section, and an entry point
(`.foo`) residing in the `.text` section. The first field of the
descriptor is the address of the entry point. Typically, the address
field in the descriptor is initialized once: statically, at load time
(?), or at runtime if runtime linking is enabled.
Here we would like to use the address field in the descriptor to
implement the `ifunc` semantics. Specifically, the ifunc function will
become a stub that jumps to the entry point in the address field. A
constructor function is linked into every linkage module. The
constructor walks an array of `{descriptor, resolver}` pairs, calling
the resolver and saving the result in the address field in the
descriptor (thus setting `foo`'s descriptor to point to the resolved
version early during program runtime).
Known limitations:
- Due to bug #161576, which affects object generation path, you will
need either `-ffunction-sections` or `-fno-integrated-as` to generate a
correct/linkable object file.
- aliases to ifuncs are not supported, a testcase has been added and
marked XFAIL. I'm planning to address in a follow-up PR because it's not
important enough, IMHO, for this PR
- dead ifuncs in a CU that contains at least one live ifunc, will result
in all ifuncs being kept by the linker. The fix for this is common with
a similar problem we have with PGO. PR #159435 is trying to provide a
mechanism that will allow the ifunc and PGO implementations to avoid the
dead code retention at the link step.
- the resolver must return a function that is in the same DSO as the
ifunc; the compiler will try to detect if this condition is violated and
report it, but it cannot detect it in general. To be safe, all candidate
functions (returned by a particular resolver) must either be static or
have hidden/protected visibility. This is so that the ifunc stub doesn't
have to save and restore the TOC register r2. In future work, this case
will be supported and the requirement will be lifted.
---------
Co-authored-by: Wael Yehia <wyehia at ca.ibm.com>
Commit: b7dfc429c373b809d41d0d29dd948600195da949
https://github.com/llvm/llvm-project/commit/b7dfc429c373b809d41d0d29dd948600195da949
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/include/llvm/Object/ELFTypes.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
[llvm][AsmPrinter] Call graph section Flag field enum (#176309)
This enum is required in llvm-readobj ELFDumper.cpp as well for parsing
the call graph section generated. To avoid duplication of the Flag field
enum, moving this to llvm/object/ELFTypes.h.
Commit: 8a895b3151d0f65aa460231ba547900716e781ce
https://github.com/llvm/llvm-project/commit/8a895b3151d0f65aa460231ba547900716e781ce
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/MC/MCObjectFileInfo.cpp
A llvm/test/CodeGen/SystemZ/zos-dwarf.ll
Log Message:
-----------
[GOFF] Add emission of debug sections (#178677)
This PR adds the definition of the debug sections for emission into GOFF
files. Currently, there is no debugger available which supports all the
sections. However, they all must defined to avoid regression in LIT test
cases.
Commit: 1c5d70217561176cbb62d96ceae4aa49d92d2509
https://github.com/llvm/llvm-project/commit/1c5d70217561176cbb62d96ceae4aa49d92d2509
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_stdio_redirection.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_stdio_redirection_and_console.py
M lldb/test/API/tools/lldb-dap/launch/io/TestDAP_launch_io.py
Log Message:
-----------
[lldb-dap] Fix DAP_launch_io.py Test (#179295)
DAP_launch_io sends a continue request for a nonstopped process. Use
verify_process_exited instead.
Commit: 0f88b5da06e2c17743aa59633d1f9013977a9cc0
https://github.com/llvm/llvm-project/commit/0f88b5da06e2c17743aa59633d1f9013977a9cc0
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M polly/lib/Support/DumpFunctionPass.cpp
M polly/lib/Support/DumpModulePass.cpp
Log Message:
-----------
[Polly] LLVM_DEBUG -> POLLY_DEBUG
Commit: 1c41b9a81ff01432c0c6c636a5fc35ee90a4b60e
https://github.com/llvm/llvm-project/commit/1c41b9a81ff01432c0c6c636a5fc35ee90a4b60e
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
M lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/test/API/lang/cpp/template-arguments/TestCppTemplateArguments.py
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[lldb][TypeSystemClang] Don't treat float vector types as floating point types (#179213)
This patch re-implements `TypeSystemClang::IsFloatingPointType` by
forwarding it to `clang::Type::isFloatingType`. The main difference is
that the latter returns false for float vector types. The motovation
here (apart from implementation simplicity) is that this is currently a
foot-gun because most callsites probably don't consider treating float
vector types. Callers should test for vectors explicitly using
`IsVectorType` (or use `GetTypeInfo`).
This patch makes all the callers of `IsFloatingPointType` now check
`GetTypeInfo() & eTypeIsFloat`. This is set for float vector types too,
so behaviour doesn't change.
To make sure we audit all the call-sites in `ValueObject.cpp`, I added a
helper `HasFloatRepresentation` (named after the
`clang::Type::hasFloatingRepresentation` API), which does the
`GetTypeInfo` check, and added a FIXME to it.
Commit: 9590f1ea6d88512be6a21700219413d8cf07bea1
https://github.com/llvm/llvm-project/commit/9590f1ea6d88512be6a21700219413d8cf07bea1
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/test/CIR/IR/eh-flat.cir
A clang/test/CIR/IR/invalid-eh-flat.cir
Log Message:
-----------
[CIR] Add CIR types and operations for flattened EH and cleanup (#178496)
This adds the CIR dialect definitions for the new types and operations
that will be needed to perform CFG flattening on the high-level CIR
representation of exception handlng and cleanups. Tests are added for
the dialect printing, parsing, and verification.
This does not include any code to flatten the CFG or otherwise generate
the new operations or to lower them into other forms. That support will
be added in later changes.
Commit: 3db2fd8bf0f3f0726bf8a32fe59e6b131f2e1b8e
https://github.com/llvm/llvm-project/commit/3db2fd8bf0f3f0726bf8a32fe59e6b131f2e1b8e
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-02-03 (Tue, 03 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/alloc-size.c
M clang/test/CIR/CodeGen/coro-task.cpp
M clang/test/CIR/CodeGen/new.cpp
M clang/test/CIR/CodeGenBuiltins/builtin_new_delete.cpp
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 'allocsize' function/call attribute lowering (#179342)
The alloc_size attribute takes the argument number(normalized to the
index!) of the element size and count, for things like 'malloc' or
'calloc'.
This ends up being slightly more complicated than others, as this has
data that we have to decide on a format for. LLVM chooses to pack both
of these 32 bit values into a single i64, but unpacks it for the purpose
of input/output. The second value, the number of elements, is optional.
This patch uses a DenseI32ArrayAttr to store them for the LLVMIR
dialect, which gets us the packed nature, but doesn't require us doing
any work to unpack it.
Commit: d510c4c3f3ca26ef3b73a4b5205007471e412f5a
https://github.com/llvm/llvm-project/commit/d510c4c3f3ca26ef3b73a4b5205007471e412f5a
Author: Andrei Elovikov <andrei.elovikov at sifive.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanCFG.h
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Generalize `VPAllSuccessorsIterator` to support predecessors (#178724)
To be used in Mel's https://github.com/llvm/llvm-project/pull/173265.
---------
Co-authored-by: Florian Hahn <flo at fhahn.com>
Co-authored-by: Luke Lau <luke_lau at icloud.com>
Commit: 792f7b089a24e29d2f938d5909639f84159d5c2c
https://github.com/llvm/llvm-project/commit/792f7b089a24e29d2f938d5909639f84159d5c2c
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fdot-product.ll
Log Message:
-----------
[VPlan] Refine exit select check in transformtoPartialReduction.
Make sure we find the actual select for the exit users and only use it
for the final link in the chain. This fixes a miscompile after
90b3712d8a20efa2cbaadc177da576e485dce038.
Commit: 22c8344d986df3d91121b3c27d20eb820d828386
https://github.com/llvm/llvm-project/commit/22c8344d986df3d91121b3c27d20eb820d828386
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M libc/src/__support/ctype_utils.h
M libc/src/__support/math/atan2.h
M libc/src/__support/math/common_constants.h
M libc/src/__support/math/cos.h
M libc/src/__support/math/range_reduction_double_common.h
M libc/src/__support/math/sin.h
Log Message:
-----------
[libc] Address size bloat issues (#179398)
This refactoring addresses bloat by removing static function specifiers.
Commit: caab98284166784459a2fb76df7bca3f1d35e41e
https://github.com/llvm/llvm-project/commit/caab98284166784459a2fb76df7bca3f1d35e41e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/test/TableGen/CPtrWildcard.td
M llvm/test/TableGen/RegClassByHwMode.td
M llvm/test/TableGen/dag-isel-regclass-emit-enum.td
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[SelectionDAGISel] Separate the operand numbers in OPC_EmitNode/MorphNodeTo into their own table. (#178722)
The operand lists for these opcode require 1 byte per operand and are
usually small values that fit in 3-4 bits. This makes their storage
inefficient. In addition, many EmitNode/MorphNodeTo in the isel table
will use the same list of operand numbers.
This patch proposes to separate the operand lists into their own table
where they can be de-duplicated. The OPC_EmitNode/MorphNodeTo in the
main table will only store an index into this smaller table.
This is a reduced version of a suggestion from this very old FIXME.
https://github.com/llvm/llvm-project/blob/d8d4096c0be0a6a3248c8deae96608913a85debf/llvm/utils/TableGen/DAGISelMatcherGen.cpp#L1070
For RISC-V this reduces the main table from 1437353 bytes to 1276015
bytes plus a 929 byte operand list table. A savings of about 11%.
For X86 this reduces the main table from 719237 bytes to 623612 bytes
plus a 1042 byte operand list table. A savings of about 11%.
I expect further savings could be had by moving more bytes over.
Commit: 078f6bde1c479e1a345058317e6e4de4887521ce
https://github.com/llvm/llvm-project/commit/078f6bde1c479e1a345058317e6e4de4887521ce
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/include/llvm/TableGen/CodeGenHelpers.h
M llvm/test/TableGen/bare-minimum-psets.td
M llvm/test/TableGen/pset-enum.td
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Adopt CodeGenHelpers in RegInfoEmitter (#179017)
- Change `NamespaceEmitter` to allow emitting anonymous namespaces.
- Adopt IfDef and namespace emitters in RegInfoEmitter.
Commit: e4c7ef2d553054572ed8de1d94e1571ee7370043
https://github.com/llvm/llvm-project/commit/e4c7ef2d553054572ed8de1d94e1571ee7370043
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/utils/TableGen/X86MnemonicTables.cpp
Log Message:
-----------
[NFC][TableGen] Adopt CodeGenHelpers in X86MnemonicEmitter (#179324)
Additionally, cleanup the code a bit to use nested namespace definition
and emit it per code section, and emit spaces instead of tabs.
Commit: 6716acd588462c6b33afa1633c4a5ddbcec59360
https://github.com/llvm/llvm-project/commit/6716acd588462c6b33afa1633c4a5ddbcec59360
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/test/TableGen/TargetLibraryInfo.td
M llvm/utils/TableGen/Basic/TargetLibraryInfoEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Adopt IfDefEmitter in TargetLibraryInfoEmitter (#179388)
Commit: 4b4c32ce09e4a7d993607c40056a4805564188c4
https://github.com/llvm/llvm-project/commit/4b4c32ce09e4a7d993607c40056a4805564188c4
Author: Nico Weber <thakis at chromium.org>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/sources.gni
Log Message:
-----------
[gn] port e1f69ee8e847
Commit: a6c926b0cf6bde1f46146e66cf17b72b62597818
https://github.com/llvm/llvm-project/commit/a6c926b0cf6bde1f46146e66cf17b72b62597818
Author: Ziqing Luo <ziqing_luo at apple.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M clang/lib/Analysis/ThreadSafety.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
Log Message:
-----------
[Thread Safety Analysis] Fix a bug of context saving in alias-analysis (#178825)
The commit b4c98fcbe1504841203e610c351a3227f36c92a4 introduces
alias-analysis and conservatively invalidates variable definitions at
function calls. For each invalidated argument, it creates and pushes a
context. So if there are multiple arguments being invalidated, there are
more than one context being pushed. However, the analysis expects one
context at the program point of a call, causing context mismatch. This
issue could lead to false negatives.
For example,
```
MyLock->Lock(); // 'MyLock' holds the lock
Lock_t *Ptr = MyLock; // 'Ptr' aliases with 'MyLock'
// Before the fix, two contexts are saved and pushed at the call below, causing context mismatch later.
escapeAliasMultiple(&Irrelevant, &Ptr);
Ptr->Unlock(); // 'Ptr' may no longer hold the lock but the analyzer missed it due to context mismatch
```
This commit fixes the issue.
---------
Co-authored-by: Marco Elver <me at marcoelver.com>
Commit: 3ce60c4ff9538481745e1c2c31eac9e48046f548
https://github.com/llvm/llvm-project/commit/3ce60c4ff9538481745e1c2c31eac9e48046f548
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir][NFC] Run buildifier (#179554)
Commit: 19cf75c72ffd9ab9dd802eba625fc2e91e4e8a90
https://github.com/llvm/llvm-project/commit/19cf75c72ffd9ab9dd802eba625fc2e91e4e8a90
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/test/TableGen/CPtrWildcard.td
M llvm/test/TableGen/RegClassByHwMode.td
M llvm/test/TableGen/dag-isel-regclass-emit-enum.td
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
Revert "[SelectionDAGISel] Separate the operand numbers in OPC_EmitNode/MorphNodeTo into their own table. (#178722)"
This reverts commit caab98284166784459a2fb76df7bca3f1d35e41e.
This is failing some build bots.
Commit: 7c29a09cd8929b7c35e18f7552c1abe4c98c9b0e
https://github.com/llvm/llvm-project/commit/7c29a09cd8929b7c35e18f7552c1abe4c98c9b0e
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel][lldb] Port #179355: data formatters location (#179552)
Commit: f9b5ab1cc9b92a97ef8fbe64be61d7ab48f1bbba
https://github.com/llvm/llvm-project/commit/f9b5ab1cc9b92a97ef8fbe64be61d7ab48f1bbba
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M lldb/include/lldb/DataFormatters/FormatterBytecode.h
Log Message:
-----------
[lldb] Add missing include guard in FormatterBytecode.h (#179528)
Commit: d8350712b300bcd4d05240b8edec40cc96e6d588
https://github.com/llvm/llvm-project/commit/d8350712b300bcd4d05240b8edec40cc96e6d588
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
A mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl-subgroup-id.mlir
Log Message:
-----------
[mlir] GPUToROCDL: lower `gpu.subgroup_id` to the intrinsic where possible (#179422)
Lower `gpu.subgroup_id` to `wave.id` intrinsic on gfx12+, lower to
`linearized_thread_id / subgroup_size` on older.
Commit: 43faefdb12337216957b2fac34ca6bd1bed371b7
https://github.com/llvm/llvm-project/commit/43faefdb12337216957b2fac34ca6bd1bed371b7
Author: yonghong-song <yhs at fb.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
M llvm/test/Transforms/ArgumentPromotion/dbg.ll
Log Message:
-----------
[ArgPromotion] Add DW_CC_nocall to DISubprogram (#178973)
ArgumentPromotion pass may change function signatures. If this happens
and debuginfo is enabled, adding DW_CC_nocall allows dwarf to generate
DW_AT_calling_convention (DW_CC_nocall)
for DW_TAG_subprogram.
DeadArgumentElimination ([1]) already has similar implementation.
The pahole tool ([2]) is used in linux kernel build to generate vmlinux
BTF. One of its input is linux kernel dwarf. Currently, pahole
checks *all* DW_TAG_subprogram functions and find whether the source
signature matches the architecture ABI or not. If mismatch, pahole will
try to do some adjustment for those parameters. See [3]
and function parameter__new().
The linux kernel typically has ~65K functions and roughly 1100 functions
may have signature changed due to compile optimization. Without
DW_CC_nocall,
signatures of all of 64K functions will be checked in parameter__new().
But with DW_CC_nocall, the number of functions to checked is only 1100,
much smaller.
If DW_CC_nocall is not available, pahole may needs to parse complicated
locations. Even if the signature is not changed, pahole may not be able to
decide that the location matches function signature, and will incorrectly
exclude this function for vmlinux BTF.
So overall, adding DW_CC_nocall in ArgumentPromotion can help pahole
with less build time and more correct function encoding in vmlinux BTF.
With change in ArgumentPromotion.cpp, the test dbg.ll will fail since
the subroutine type is null. The non-null subroutine type is added so
the test can pass.
Without change in ArgumentPromotion.cpp, the dbg.ll will have
...
!3 = distinct !DISubprogram(name: "test", scope: null, file: !2, line: 3, type: !4,
scopeLine: 3, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !1)
!4 = !DISubroutineType(types: !5)
!5 = !{null, !6}
...
With change in Argumentpromotion.cpp, the dbg.ll will have
...
!3 = distinct !DISubprogram(name: "test", scope: null, file: !2, line: 3, type: !4,
scopeLine: 3, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !1)
!4 = !DISubroutineType(cc: DW_CC_nocall, types: !5)
!5 = !{null, !6}
Eventually, DW_CC_nocall will be encoded in dwarf.
[1] https://github.com/llvm/llvm-project/commit/340b0ca90095d838f095271aaa1098fa1bd5ecbe
[2] https://git.kernel.org/pub/scm/devel/pahole/pahole.git
[3] https://git.kernel.org/pub/scm/devel/pahole/pahole.git/tree/dwarf_loader.c
Commit: 254b3b137efb1be5a5e57188b3f8a8ff934bdf78
https://github.com/llvm/llvm-project/commit/254b3b137efb1be5a5e57188b3f8a8ff934bdf78
Author: Tim Noack <noack at esa.tu-darmstadt.de>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M mlir/lib/TableGen/AttrOrTypeDef.cpp
M mlir/test/IR/test-verifiers-type.mlir
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
Log Message:
-----------
[mlir][tblgen] Add PredTypeTrait/PredAttrTrait support (#169153)
This patch adds support for `PredTypeTrait` and `PredAttrTrait` in type
and attribute definitions, enabling declarative predicate-based
verification similar to how `PredOpTrait` works for operations.
## Motivation
In 802bf02 (from 2021), `PredTypeTrait`/`PredAttrTrait` were defined in
TableGen but not implemented in the code generator. Using them causes
mlir-tblgen to crash with an assertion failure when trying to cast
`PredTrait` to `InterfaceTrait`. This patch fixes the crash and
implements the actual verification code generation.
## Usage
Use `$paramName` syntax in predicates to reference type/attribute
parameters:
```tablegen
def MyType : MyDialect_Type<"MyType",
[PredTypeTrait<"value must be positive", CPred<"$value > 0">>]> {
let parameters = (ins "unsigned":$value);
let mnemonic = "my_type";
let assemblyFormat = "`<` $value `>`";
}
```
This generates verification code in `verifyInvariantsImpl()`:
```cpp
if (!(value > 0)) {
emitError() << "failed to verify that value must be positive";
return ::mlir::failure();
}
```
Commit: b0b9046539a2d405892712857cac2fe6a9a17cda
https://github.com/llvm/llvm-project/commit/b0b9046539a2d405892712857cac2fe6a9a17cda
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/BPF/BPFISelLowering.cpp
M llvm/lib/Target/BPF/BTFDebug.cpp
Log Message:
-----------
[BPF] Replace copy-assign by move-assign in llvm/lib/Target/BPF/ (#179462)
An SDLoc transitively contains a TrackingMDRef which have a specialized
move constructor. It's more efficient to move element to it instead of
copying them.
FileContent contains std::vector<...> values. It's more efficient to
move then to copy the whole vector.
Commit: 4f047709843de7ed136526228dd2ca3d77f946b4
https://github.com/llvm/llvm-project/commit/4f047709843de7ed136526228dd2ca3d77f946b4
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/MIR/RISCV/skip-mir-comment-trailing-whitespace.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/add.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/anyext.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/icmp.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/render-vlop-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/render-vlop-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/select.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/sext.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/sub.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vmclr-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vmclr-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/zext.mir
M llvm/test/CodeGen/RISCV/opt-w-instrs.mir
M llvm/test/CodeGen/RISCV/pr176001.ll
M llvm/test/CodeGen/RISCV/rvv/addi-scalable-offset.mir
M llvm/test/CodeGen/RISCV/rvv/allone-masked-to-unmasked.mir
M llvm/test/CodeGen/RISCV/rvv/commuted-op-indices-regression.mir
M llvm/test/CodeGen/RISCV/rvv/emergency-slot.mir
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmf.ll
M llvm/test/CodeGen/RISCV/rvv/frameindex-addr.ll
M llvm/test/CodeGen/RISCV/rvv/handle-noreg-with-implicit-def.mir
M llvm/test/CodeGen/RISCV/rvv/implicit-def-copy.ll
M llvm/test/CodeGen/RISCV/rvv/machine-combiner-subreg-verifier-error.mir
M llvm/test/CodeGen/RISCV/rvv/mask-reg-alloc.mir
M llvm/test/CodeGen/RISCV/rvv/pass-fast-math-flags-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/pr99782.ll
M llvm/test/CodeGen/RISCV/rvv/reduce-vl-peephole.mir
M llvm/test/CodeGen/RISCV/rvv/reg-coalescing.mir
M llvm/test/CodeGen/RISCV/rvv/regcoal-liveinterval-pruning-crash.mir
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir
M llvm/test/CodeGen/RISCV/rvv/sifive-xsfmm-vset-insert.mir
M llvm/test/CodeGen/RISCV/rvv/strided-vpload-vpstore-output.ll
M llvm/test/CodeGen/RISCV/rvv/subregister-undef-early-clobber.mir
M llvm/test/CodeGen/RISCV/rvv/tail-agnostic-impdef-copy.mir
M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.mir
M llvm/test/CodeGen/RISCV/rvv/vector-tuple-align.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
M llvm/test/CodeGen/RISCV/rvv/vl-opt-user-scalar-def.mir
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
M llvm/test/CodeGen/RISCV/rvv/vl-optimizer-subreg-assert.mir
M llvm/test/CodeGen/RISCV/rvv/vleff-vlseg2ff-output.ll
M llvm/test/CodeGen/RISCV/rvv/vlopt-volatile-ld.mir
M llvm/test/CodeGen/RISCV/rvv/vmerge-peephole.mir
M llvm/test/CodeGen/RISCV/rvv/vmv-copy.mir
M llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.mir
M llvm/test/CodeGen/RISCV/rvv/vmv0-elimination.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-coalesce.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-zve64f.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
M llvm/test/CodeGen/RISCV/rvv/vxrm.mir
M llvm/test/CodeGen/RISCV/rvv/wrong-stack-offset-for-rvv-object.mir
M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir
M llvm/test/CodeGen/RISCV/spacemitx60-sched-copy.mir
M llvm/test/MachineVerifier/RISCV/subreg-liveness.mir
Log Message:
-----------
[RISCV] Print MIR comments for AVL and VEC_RM operands (#179542)
Such that we can now have something like:
```
PseudoVFMACC_VV_M2_E64 %1, %28, %28, 7 /* frm=dyn */, %21 /* vl */, 6 /* e64 */, 0 /* tu, mu */
```
or
```
PseudoVFMACC_VV_M2_E64 %1, %28, %28, 7 /* frm=dyn */, -1 /* vl=VLMAX */, 6 /* e64 */, 0 /* tu, mu */
```
Hopefully this could make reading RISC-V MIR (a little) less painful.
Commit: 65cc6951d577a62fe2322ff27602a4f8608f32b9
https://github.com/llvm/llvm-project/commit/65cc6951d577a62fe2322ff27602a4f8608f32b9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/test/TableGen/CPtrWildcard.td
M llvm/test/TableGen/RegClassByHwMode.td
M llvm/test/TableGen/dag-isel-regclass-emit-enum.td
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
Reapply "[SelectionDAGISel] Separate the operand numbers in OPC_EmitNode/MorphNodeTo into their own table. (#178722)"
This includes a fix to use size_t instead of uint64_t in one place.
Commit: 4cae644dbebc5668aaa461eaf7a74d21d7121503
https://github.com/llvm/llvm-project/commit/4cae644dbebc5668aaa461eaf7a74d21d7121503
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M libc/config/baremetal/config.json
Log Message:
-----------
[libc] Disable strong stack protector for baremetal (#179559)
Strong stack protector introduces references to __stack_chk_guard
symbols with GOT relocation in ARM 32 bit targets which is not supported
in typical baremetal environments. Turning this off for baremetal.
Commit: aa00a349765846247e113197276143ece3a9d0d2
https://github.com/llvm/llvm-project/commit/aa00a349765846247e113197276143ece3a9d0d2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Sink some encoding related lets into class/def bodies. NFC (#179544)
Rather than using lets around classes/defs, override them in the class
def/body.
Some of these lets were around single class/def were I thought it was
better to be inside. Some were around multiple unrelated classes where
it seemed better not to link their encodings like that.
For vmv, I added a multiclass to better encapsulate them but still kept
the let scope to avoid repetition. The encodings are closely related
enough that I thought this was ok.
Commit: 3bd2ae712755c5b7f7ddc1374c24b197d53bdefe
https://github.com/llvm/llvm-project/commit/3bd2ae712755c5b7f7ddc1374c24b197d53bdefe
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
Log Message:
-----------
[X86] Add test coverage for #179008 (#179562)
Commit: b9cecee3fb90f5262d85e824f8e80d153e2c3a4c
https://github.com/llvm/llvm-project/commit/b9cecee3fb90f5262d85e824f8e80d153e2c3a4c
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGVTables.cpp
A clang/test/CodeGenCXX/tmp-md-nodes3.cpp
M clang/test/DebugInfo/CXX/anon-union-vars.cpp
M clang/test/DebugInfo/CXX/codeview-unnamed.cpp
M clang/test/DebugInfo/CXX/gline-tables-only-codeview.cpp
M clang/test/DebugInfo/CXX/lambda-capture-packs.cpp
M clang/test/DebugInfo/CXX/lambda-this.cpp
M clang/test/DebugInfo/Generic/codeview-unnamed.c
M clang/test/DebugInfo/Generic/unused-types.c
M clang/test/DebugInfo/Generic/unused-types.cpp
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/test/Bitcode/upgrade-cu-locals.ll
M llvm/test/Bitcode/upgrade-cu-locals.ll.bc
A llvm/test/DebugInfo/Generic/inlined-local-type.ll
A llvm/test/DebugInfo/Generic/lexical-block-retained-types.ll
A llvm/test/DebugInfo/Generic/lexical-block-types.ll
M llvm/test/DebugInfo/Generic/verifier-invalid-disubprogram.ll
A llvm/test/DebugInfo/Inputs/cleanup-retained-nodes.ll
A llvm/test/DebugInfo/X86/cleanup-retained-nodes.ll
A llvm/test/DebugInfo/X86/llparser-cleanup-retained-nodes.ll
A llvm/test/DebugInfo/X86/local-type-as-template-parameter.ll
A llvm/test/Transforms/FunctionImport/Inputs/funcimport-debug-retained-nodes.ll
A llvm/test/Transforms/FunctionImport/funcimport-debug-retained-nodes.ll
M llvm/unittests/Transforms/Utils/CloningTest.cpp
Log Message:
-----------
Reland "[DebugMetadata][DwarfDebug] Support function-local types in lexical block scopes (4/7)" (#165032)
This is an attempt to merge https://reviews.llvm.org/D144006 with LTO
fix.
The last merge attempt was
https://github.com/llvm/llvm-project/pull/75385.
The issue with it was investigated in
https://github.com/llvm/llvm-project/pull/75385#issuecomment-2386684121.
The problem happens when
1. Several modules are being linked.
2. There are several DISubprograms that initially belong to different
modules but represent the same source code function (for example, a
function included from the same source code file).
3. Some of such DISubprograms survive IR linking. It may happen if one
of them is inlined somewhere or if the functions that have these
DISubprograms attached have internal linkage.
4. Each of these DISubprograms has a local type that corresponds to the
same source code type. These types are initially from different modules,
but have the same ODR identifier.
If the same (in the sense of ODR identifier/ODR uniquing rules) local
type is present in two modules, and these modules are linked together,
the type gets uniqued. A DIType, that happens to be loaded first,
survives linking, and the references on other types with the same ODR
identifier from the modules loaded later are replaced with the
references on the DIType loaded first. Since defintion subprograms, in
scope of which these types are located, are not deduplicated, the linker
output may contain multiple DISubprogram's having the same (uniqued)
type in their retainedNodes lists.
Further compilation of such modules causes crashes.
To tackle that,
* previous solution to handle LTO linking with local types in
retainedNodes is removed (cloneLocalTypes() function),
* for each loaded distinct (definition) DISubprogram, its retainedNodes
list is scanned after loading, and DITypes with a scope of another
subprogram are removed. If something from a Function corresponding to
the DISubprogram references uniqued type, we rely on cross-CU links.
Additionally:
* a check is added to Verifier to report about local types located in a
wrong retainedNodes list,
Original commit message follows.
---------
RFC https://discourse.llvm.org/t/rfc-dwarfdebug-fix-and-improve-handling-imported-entities-types-and-static-local-in-subprogram-and-lexical-block-scopes/68544
Similar to imported declarations, the patch tracks function-local types in
DISubprogram's 'retainedNodes' field. DwarfDebug is adjusted in accordance with
the aforementioned metadata change and provided a support of function-local
types scoped within a lexical block.
The patch assumes that DICompileUnit's 'enums field' no longer tracks local
types and DwarfDebug would assert if any locally-scoped types get placed there.
Authored-by: Kristina Bessonova <kbessonova at accesssoftek.com>
Co-authored-by: Jeremy Morse <jeremy.morse at sony.com>
Commit: 39f3d72b72fdb6831886148f1172d2f5b0ab2d49
https://github.com/llvm/llvm-project/commit/39f3d72b72fdb6831886148f1172d2f5b0ab2d49
Author: Wenju He <wenju.he at intel.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M libclc/clc/include/clc/internal/math/clc_sw_fma.h
M libclc/clc/include/clc/math/math.h
M libclc/clc/lib/clspv/SOURCES
R libclc/clc/lib/clspv/math/clc_sw_fma.cl
M libclc/clc/lib/generic/SOURCES
M libclc/clc/lib/generic/math/clc_fma.cl
R libclc/clc/lib/generic/math/clc_fma.inc
R libclc/clc/lib/generic/math/clc_sw_fma.cl
M libclc/clc/lib/r600/SOURCES
A libclc/clc/lib/r600/math/clc_fma.cl
A libclc/clc/lib/r600/math/clc_fma.inc
A libclc/clc/lib/r600/math/clc_sw_fma.cl
M libclc/clc/lib/spirv/SOURCES
R libclc/clc/lib/spirv/math/clc_runtime_has_hw_fma32.cl
M libclc/cmake/modules/AddLibclc.cmake
M libclc/opencl/lib/clspv/SOURCES
R libclc/opencl/lib/clspv/math/fma.cl
M libclc/opencl/lib/spirv/SOURCES
R libclc/opencl/lib/spirv/math/fma.cl
Log Message:
-----------
[libclc] Only use software fma for r600 target (#179428)
Implement generic __clc_fma with __builtin_elementwise_fma for all
targets except for r600.
Add --spirv-ext=+SPV_KHR_fma flag to SPIR-V generation. SPIR-V target
supports @llvm.fma since SPV_KHR_fma was implemented in llvm-spirv
(https://github.com/KhronosGroup/SPIRV-LLVM-Translator/pull/3467) and
SPIR-V backend (8f8dfbf8c9f0).
This PR assumes SPIR-V consumer with modern hardware supports fma.
Commit: 22cc68ca2f384292a05271947e5138f96e734401
https://github.com/llvm/llvm-project/commit/22cc68ca2f384292a05271947e5138f96e734401
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/Dialect/BUILD.bazel
Log Message:
-----------
[bazel][mlir][emitc][test] Port #177339: tosa -> emitc test deps (#179578)
Commit: 1ffe78811e4a502f5ac8a57d4931e3e3b80aaf96
https://github.com/llvm/llvm-project/commit/1ffe78811e4a502f5ac8a57d4931e3e3b80aaf96
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
R llvm/test/CodeGen/PowerPC/change-no-infs.ll
M llvm/test/CodeGen/PowerPC/fsel.ll
M llvm/test/CodeGen/PowerPC/scalar-equal.ll
M llvm/test/CodeGen/PowerPC/scalar_cmp.ll
Log Message:
-----------
[PowerPC] Remove NoInfsFPMath uses (#163029)
Only `ninf` should be used.
This is the PowerPC part.
Commit: 28d0208573553b80759994d5abc56821a08ad9fa
https://github.com/llvm/llvm-project/commit/28d0208573553b80759994d5abc56821a08ad9fa
Author: Brendan Dahl <brendan.dahl at gmail.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/cmake/modules/TableGen.cmake
Log Message:
-----------
[TargetParser][cmake] Recurse for TableGen deps (#177274)
In the dependency tracking for TableGen-generated files, globbing was
previously limited to the root of include directories. This missed
transitive dependencies in subdirectories, such as the target-specific
intrinsic definitions located in llvm/IR/.
Modifying these untracked files could cause global state (like the
intrinsic enum) to shift without triggering a rebuild of downstream
instruction selectors. This resulted in "Cannot select: intrinsic"
errors during incremental builds. Using a recursive glob ensures all
relevant TableGen files are correctly tracked regardless of their
directory depth.
Fixes #156744
Commit: 14bebde0fdf6ec9819f647b1a8ac498fc1ac4cbe
https://github.com/llvm/llvm-project/commit/14bebde0fdf6ec9819f647b1a8ac498fc1ac4cbe
Author: Brendan Dahl <brendan.dahl at gmail.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/cmake/modules/TableGen.cmake
Log Message:
-----------
Revert "[TargetParser][cmake] Recurse for TableGen deps" (#179588)
Reverts llvm/llvm-project#177274
Appears to be breaking some bots.
Commit: 114f3b530bae5a195234e3bd1c1328b38b39a000
https://github.com/llvm/llvm-project/commit/114f3b530bae5a195234e3bd1c1328b38b39a000
Author: mitchell <mitchell.xu2 at gmail.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/test/Dialect/Arith/invalid.mlir
Log Message:
-----------
[MLIR][Arith] Fix crash in `arith.select` verification with mixed types (#178840)
The `BooleanConditionOrMatchingShape` trait was assuming that if the
condition was not i1, both condition and result must be `ShapedTypes`.
It would then call `AllShapesMatch` which performs a blind cast to
`ShapedType`, causing a crash when one of the operands was a scalar.
This PATCH fixes the problem.
Closes [#178230](https://github.com/llvm/llvm-project/issues/178230)
Commit: e0181661dc6e3c0e474a4e166d15c07aa5568bdb
https://github.com/llvm/llvm-project/commit/e0181661dc6e3c0e474a4e166d15c07aa5568bdb
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/test/TableGen/generic-tables-instruction.td
M llvm/test/TableGen/generic-tables.td
M llvm/utils/TableGen/SearchableTableEmitter.cpp
Log Message:
-----------
[TableGen][NFC] Use templated std::clamp (#179400)
Commit: 6b77030339c57a9758722ef5615ef93b3475ab33
https://github.com/llvm/llvm-project/commit/6b77030339c57a9758722ef5615ef93b3475ab33
Author: GkvJwa <gkvjwa at gmail.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/lib/CodeGen/CGDecl.cpp
M clang/test/CodeGenCXX/exceptions-seh.cpp
Log Message:
-----------
[WinEH] Fix crash object unwinding in seh block (#172287)
On Windows, prevent object unwinding when the current function uses SEH, consistent with MSVC. It also avoids EH number algorithm crashes
Commit: 6e2048e06acff8c9eaca606ee24069a83a814c01
https://github.com/llvm/llvm-project/commit/6e2048e06acff8c9eaca606ee24069a83a814c01
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/test/CodeGen/RISCV/rvv/vwsll-sdnode.ll
Log Message:
-----------
[RISCV] Add isel patterns to form vwsll.vx/vi when the LHS is an any_extend. (#179571)
If we know the shift amount is greater than or equal to the
incoming EEW, the zext will have been converted to an anyext by
SimplifyDemandedBits. Treat this case the same as zext.
Commit: cc5859671d796a9d0ca579ab5ef6b32bd6b074a6
https://github.com/llvm/llvm-project/commit/cc5859671d796a9d0ca579ab5ef6b32bd6b074a6
Author: Wael Yehia <wyehia at ca.ibm.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/test/CodeGen/PowerPC/aix-ifunc-toc-restore-query-neg.ll
Log Message:
-----------
[AIX] disable aix-ifunc-toc-restore-query-neg.ll on all platforms except ppc for now (#153049)
Commit: e2061328a8ae51cdf80e211ad27dd13d7bba766d
https://github.com/llvm/llvm-project/commit/e2061328a8ae51cdf80e211ad27dd13d7bba766d
Author: Wael Yehia <wyehia at ca.ibm.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/test/CodeGen/PowerPC/aix-ifunc-toc-restore-query.ll
Log Message:
-----------
[AIX] fix aix-ifunc-toc-restore-query.ll (#153049)
Commit: d53bf41395873918d0759f5ed17876143c64a635
https://github.com/llvm/llvm-project/commit/d53bf41395873918d0759f5ed17876143c64a635
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
A lld/test/ELF/eh-frame-hdr-sdata8.s
R lld/test/ELF/eh-frame-pcrel-overflow.s
Log Message:
-----------
[ELF] Support DW_EH_PE_sdata8 encoding in .eh_frame_hdr (#179089)
Currently, both GNU ld and lld only support
`table_enc = DW_EH_PE_datarel | DW_EH_PE_sdata4` for .eh_frame_hdr.
When a table entry exceeds the 32-bit range, we can use
`DW_EH_PE_sdata8` instead of reporting an error
(https://reviews.llvm.org/D49607 introduced the "PC offset is too large"
error). This is useful for certain large executables.
This patch auto-detects when 64-bit encoding is needed and upgrades
the encoding accordingly. We use DW_EH_PE_sdata8 when either a table
entry or eh_frame_ptr exceeds the 32-bit range.
Technically, eh_frame_ptr could remain sdata4 when only table entries
require sdata8, but there is little value in this flexibility since
.eh_frame/.eh_frame_hdr distance is a much less strict constraint than
.text/.eh_frame_hdr distance.
The implementation caches FDE data in EhFrameHeader during
updateAllocSize and reuses it in writeTo.
Previously, `EhFrameSection::getFdePc` was used to read the
`initial_location` value from .eh_frame FDEs. Since the value equals the
relocated symbol's VA for all cases that matter, we now obtain the value
directly and simplify the implementation.
Also update the outdated comment about sorting the FDE list; the ICF
case mentioned there no longer applies after
https://reviews.llvm.org/D116093.
In the new test eh-frame-hdr-sdata8.s, 3.lds is carefully crafted to
ensure that .eh_frame_hdr size requires fixed-point iteration (to test
`updateAllocSize`). This is also groundwork for compact unwind support
similar to Mach-O `__unwind_info`.
Close #172777
Commit: a3a15f3252dee76e394cb4c20bc287194ac55667
https://github.com/llvm/llvm-project/commit/a3a15f3252dee76e394cb4c20bc287194ac55667
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[LLVM] Remove 'libclc' from ALL projects (#179485)
Summary:
We should only build `libclc` as a runtime in the future. There's
already a warning for putting it in the projects list so it shouldn't be
included in all the projects.
Commit: 7b2190c458807c2b4bb4fb9a2c08a83bfd48adb9
https://github.com/llvm/llvm-project/commit/7b2190c458807c2b4bb4fb9a2c08a83bfd48adb9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/compress-opt-select.ll
Log Message:
-----------
[RISCV] Enable SelectCompressOpt with HasStdExtZca. (#179601)
This removes the last use of HasStdExtC in tablegen so I've removed it as
well.
Commit: a03f82d7e582078163bce7ecaf960e8a53fb4744
https://github.com/llvm/llvm-project/commit/a03f82d7e582078163bce7ecaf960e8a53fb4744
Author: Teja Alaghari <teja.alaghari at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/tools/llc/new-pm/regalloc-amdgpu.mir
Log Message:
-----------
[AMDGPU][NPM] Add target-specific register allocation options (#178889)
Add below AMDGPU-specific options for its SGPR, WWM & VGPR
registers allocation in NPM -
- `-sgpr-regalloc-npm`
- `-wwm-regalloc-npm`
- `-vgpr-regalloc-npm`
Commit: d8073d9b4bd4af4380e4ce04ad9ee6f41dd8df42
https://github.com/llvm/llvm-project/commit/d8073d9b4bd4af4380e4ce04ad9ee6f41dd8df42
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/vector-splice.ll
Log Message:
-----------
[InstCombine] Bubble splices of binop operands to their result (#179432)
In #172961 we are trying to remove llvm.experimental.vp.reverse now that
llvm.vector.splice.right supports variable offsets.
A VP reverse reverses the first EVL elements of the vector, e.g.
01234567 -> 210xxxxx when EVL=3, where x=poison.
This can now be represented by splice.right(reverse(V), poison, EVL):
01234567
-> 76543210 (reverse)
-> 210xxxxx (splice.right)
This PR implements the vp.reverse combines that pull through binops, but
generalized to vector.splice. Specifically, this implements the
following combines:
Op(splice(V1, poison, offset), splice(V2, poison, offset)) -> splice(Op(V1, V2), poison, offset)
Op(splice(V1, poison, offset), RHSSplat) -> splice(Op(V1, RHSSplat), poison, offset)
Op(LHSSplat, splice(V2, poison, offset)) -> splice(Op(LHSSplat, V2), poison, offset)
We can then remove the vp.reverse intrinsic and its related combines
soon after, once we migrate the loop vectorizer over.
Commit: 0d11f68a8aa235d023edee2d836373ebbf4786ed
https://github.com/llvm/llvm-project/commit/0d11f68a8aa235d023edee2d836373ebbf4786ed
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-struct.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/unmasked-tu.ll
M llvm/test/CodeGen/RISCV/rvv/vaadd.ll
M llvm/test/CodeGen/RISCV/rvv/vaaddu.ll
M llvm/test/CodeGen/RISCV/rvv/vadd.ll
M llvm/test/CodeGen/RISCV/rvv/vand.ll
M llvm/test/CodeGen/RISCV/rvv/vandn.ll
M llvm/test/CodeGen/RISCV/rvv/vasub.ll
M llvm/test/CodeGen/RISCV/rvv/vasubu.ll
M llvm/test/CodeGen/RISCV/rvv/vclmul.ll
M llvm/test/CodeGen/RISCV/rvv/vclmulh.ll
M llvm/test/CodeGen/RISCV/rvv/vdiv.ll
M llvm/test/CodeGen/RISCV/rvv/vdivu.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-bf.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax-bf.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-bf.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-bf.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul.ll
M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsgnj-bf.ll
M llvm/test/CodeGen/RISCV/rvv/vfsgnj.ll
M llvm/test/CodeGen/RISCV/rvv/vfsgnjn-bf.ll
M llvm/test/CodeGen/RISCV/rvv/vfsgnjn.ll
M llvm/test/CodeGen/RISCV/rvv/vfsgnjx-bf.ll
M llvm/test/CodeGen/RISCV/rvv/vfsgnjx.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-bf.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfwadd-w-bf.ll
M llvm/test/CodeGen/RISCV/rvv/vfwadd.w.ll
M llvm/test/CodeGen/RISCV/rvv/vfwsub-w-bf.ll
M llvm/test/CodeGen/RISCV/rvv/vfwsub.w.ll
M llvm/test/CodeGen/RISCV/rvv/vmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmax.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu.ll
M llvm/test/CodeGen/RISCV/rvv/vmin.ll
M llvm/test/CodeGen/RISCV/rvv/vminu.ll
M llvm/test/CodeGen/RISCV/rvv/vmul.ll
M llvm/test/CodeGen/RISCV/rvv/vmulh.ll
M llvm/test/CodeGen/RISCV/rvv/vmulhsu.ll
M llvm/test/CodeGen/RISCV/rvv/vmulhu.ll
M llvm/test/CodeGen/RISCV/rvv/vnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vor.ll
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/vrem.ll
M llvm/test/CodeGen/RISCV/rvv/vremu.ll
M llvm/test/CodeGen/RISCV/rvv/vrol.ll
M llvm/test/CodeGen/RISCV/rvv/vror.ll
M llvm/test/CodeGen/RISCV/rvv/vsadd.ll
M llvm/test/CodeGen/RISCV/rvv/vsaddu.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
M llvm/test/CodeGen/RISCV/rvv/vsll.ll
M llvm/test/CodeGen/RISCV/rvv/vsmul.ll
M llvm/test/CodeGen/RISCV/rvv/vsra.ll
M llvm/test/CodeGen/RISCV/rvv/vsrl.ll
M llvm/test/CodeGen/RISCV/rvv/vssub.ll
M llvm/test/CodeGen/RISCV/rvv/vssubu.ll
M llvm/test/CodeGen/RISCV/rvv/vsub.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd.w.ll
M llvm/test/CodeGen/RISCV/rvv/vwaddu.w.ll
M llvm/test/CodeGen/RISCV/rvv/vwsub.w.ll
M llvm/test/CodeGen/RISCV/rvv/vwsubu.w.ll
M llvm/test/CodeGen/RISCV/rvv/vxor.ll
Log Message:
-----------
[RISCV] Run VLOptimizer right after ISel (#179377)
When working on #177238 I found some cases where machine SSA
optimizations (or any optimizations that run before the current
VLOptimizer, really) can benefit from reduced VL operands. In addition,
by running VLOptimizer early, in the future we can further remove the
mini VL reduction currently in RISCVVectorPeephole, once we teach
VLOptimizer some corner cases (e.g. handle vector stores).
This patch therefore moves VLOptimizer to be (basically) right after the
ISel phase.
Commit: b10d6a501e0da1a88ebec3e05123ab99e307ad21
https://github.com/llvm/llvm-project/commit/b10d6a501e0da1a88ebec3e05123ab99e307ad21
Author: Mark Zhuang <mark.zhuang at spacemit.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMacroFusion.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/CodeGen/RISCV/macro-fusion-add-mem.mir
A llvm/test/CodeGen/RISCV/macro-fusion-logic-imm-reg.mir
A llvm/test/CodeGen/RISCV/macro-fusion-logic-reg-imm.mir
A llvm/test/CodeGen/RISCV/macro-fusion-logic-reg-reg.mir
A llvm/test/CodeGen/RISCV/macro-fusion-mul-add.mir
A llvm/test/CodeGen/RISCV/macro-fusion-shift-bit-extract.mir
Log Message:
-----------
[RISCV] Add macro fusion support for spacemit-x100 (#178594)
New fusion types:
- AND(I)/OR(I)/XOR(I) + AND(I)/OR(I)/XOR(I) (3 variants)
- MUL(W)+ADD(W)
- ADD + LOAD/STORE
- SLLI + SRLI/SRAI
Commit: 2abc5ecb33714c483c8fad08b7c40fda0e2e0a36
https://github.com/llvm/llvm-project/commit/2abc5ecb33714c483c8fad08b7c40fda0e2e0a36
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/tools/llvm-objdump/SourcePrinter.cpp
Log Message:
-----------
[perf] Replace copy-assign by move-assign in llvm/tools/ (#179463)
Commit: dcf853df8fda885cafbc02f916ef01684b7d1104
https://github.com/llvm/llvm-project/commit/dcf853df8fda885cafbc02f916ef01684b7d1104
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/Support/VirtualFileSystem.cpp
Log Message:
-----------
[perf] Replace extra copy-assign by move-assign in llvm/lib/ (#179465)
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: ed2aa304cac86e7fa88cd271c2d73ffd9e324e22
https://github.com/llvm/llvm-project/commit/ed2aa304cac86e7fa88cd271c2d73ffd9e324e22
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-03 (Tue, 03 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
Log Message:
-----------
[RISCV] Use RVInstVV as the base for CustomSiFiveVMACC. NFC (#179565)
This correctly names the operands vd, vs1, and vs2 instead of rd, rs1,
and rs2. RVInstVCCustom2 is now only used for VCIX which has its own
operand naming problems.
I'm considering using named operand indices in
RISCVAsmParser::validateInstruction for the RVVConstraints, but first I
would have to make vs1, vs2 named correctly across all vector
instructions.
Commit: 85c50299172bbd36ac345d5f50bce4bfee1e5667
https://github.com/llvm/llvm-project/commit/85c50299172bbd36ac345d5f50bce4bfee1e5667
Author: puneeth_aditya_5656 <myakampuneeth at gmail.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/test/AST/ByteCode/invalid.cpp
Log Message:
-----------
[clang][bytecode] Fix crash when dereferencing cast to larger type (#179030)
## Summary
When dereferencing a pointer that was `reinterpret_cast` to a larger
type (e.g. `*(int**)""`), the bytecode interpreter would crash with an
assertion failure because it tried to read more bytes than the
allocation contained.
## Changes
- Add a size check in `Pointer::toRValue()` before calling `deref<T>()`
to ensure the allocation is large enough
- If the allocation is too small, return `std::nullopt` to gracefully
fail the constant evaluation instead of crashing
- Add regression test
Fixes #179015
Commit: 3794b83ae59f79910f9ef573a753435c3f99ec68
https://github.com/llvm/llvm-project/commit/3794b83ae59f79910f9ef573a753435c3f99ec68
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Don't emit VP_SETCC in combineVectorSizedSetCCEquality. NFC (#179479)
This is part of the work to remove trivial VP intrinsics.
In the combineVectorSizedSetCCEquality combine, used for the compares
that ExpandMemcmp generates, we currently emit a VP_SETCC. We can just
emit a regular SETCC and let RISCVVLOptimizer take care of reducing the
VL.
Commit: 653b336e66db89650b767590fd850f340b8bc067
https://github.com/llvm/llvm-project/commit/653b336e66db89650b767590fd850f340b8bc067
Author: Luke Lau <luke at igalia.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Log Message:
-----------
[LegalizeVectorTypes] Don't emit VP_SELECT when widening MLOAD to VP_LOAD (#179478)
This is part of the work to remove trivial VP intrinsics.
When widening an MLOAD we may use a VP_LOAD if it's supported. We use a
VP_SELECT to merge in the passthru, but we don't check if it's supported
by the target. This changes it to just emit a regular VSELECT instead to
prevent crashing in that case, and a VP_MERGE to keep the lanes past EVL
poison.
Commit: 426374ed120763d83691e76342db82de056b9063
https://github.com/llvm/llvm-project/commit/426374ed120763d83691e76342db82de056b9063
Author: Twice <twice at apache.org>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M mlir/lib/Bindings/Python/Globals.cpp
Log Message:
-----------
[MLIR][Python] Ignore the returned status of `loadDialectModule` in lookup functions (#179609)
Since `loadDialectModule` doesn't work for Python-defined dialects
(`mlir.dialects.ext`), currently we should lookup for
dialect/operation/opadaptor class even if the `loadDialectModule`
function fails. It's also because users can import some modules
manually, and we do already ignore it in some cases:
https://github.com/llvm/llvm-project/blob/e2061328a8ae51cdf80e211ad27dd13d7bba766d/mlir/lib/Bindings/Python/Globals.cpp#L163-L166
Related to
https://github.com/llvm/llvm-project/pull/176920#discussion_r2762029022.
Commit: 4553f991a86e202fe216d98c752a50ad754f37f1
https://github.com/llvm/llvm-project/commit/4553f991a86e202fe216d98c752a50ad754f37f1
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/dot4add_i8packed.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/dot4add_u8packed.ll
Log Message:
-----------
[SPIRV] selectDot4AddPacked: add missing PackedVectorFormat4x8Bit optional operand (#179476)
According to SPIRV:
```
PackedVectorFormat4x8Bit (PackedVectorFormat4x8BitKHR)
Interpret 32-bit scalar integer operands as vectors of four 8-bit
components. Vector components follow byte significance order with the
lowest-numbered component stored in the least significant byte.
```
And in OpSDot / OpUDot:
```
When Vector 1 and Vector 2 are scalar integer types, Packed Vector
Format must be specified to select how the integers are to be
interpreted as vectors.
```
Commit: 04c56505f8adbd8e6c4b05318555990cd52df662
https://github.com/llvm/llvm-project/commit/04c56505f8adbd8e6c4b05318555990cd52df662
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/ARM/ARMInstructionSelector.cpp
M llvm/lib/Target/Mips/MipsInstructionSelector.cpp
M llvm/lib/Target/PowerPC/GISel/PPCInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
Log Message:
-----------
[NFC][LLVM] Make `constrainSelectedInstRegOperands` return `void` (#179501)
`constrainSelectedInstRegOperands` always returns `true`; so it can be
safely transformed to return `void` instead.
A follow-up patch should update `MachineInstrBuilder::constrainAllUses`.
Commit: 87e38d3b9767df0e3a289bf46af11115de14eb7d
https://github.com/llvm/llvm-project/commit/87e38d3b9767df0e3a289bf46af11115de14eb7d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
Log Message:
-----------
[clang][bytecode][NFC] Add Pointer::canDeref (#179618)
Commit: 2b887ce6044f0badee83bc0556ed4c657ad42ae7
https://github.com/llvm/llvm-project/commit/2b887ce6044f0badee83bc0556ed4c657ad42ae7
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
Log Message:
-----------
[SimpleLoopUnswitch][NFC] move quadratic asserts under EXPENSIVE_CHECKS (#144887)
Three asserts/checks in SimpleLoopUnswitchPass are quite expensive on IR
containing many deeply nested loop nests.
Their cost is not linear with the number of loop nests and these asserts
quickly become the most significant cost of the whole compilation.
This patch move some of the asserts under `EXPENSIVE_CHECKS` and leaves the one
line 1080 unguarded.
This problem was exposed with flang because of Fortran
multidimensional arrays and array expressions. In some programs, half of the end to
end compilation time was spent in those asserts.
Commit: dd02b404b020729a93919e3f6df650119fb99b77
https://github.com/llvm/llvm-project/commit/dd02b404b020729a93919e3f6df650119fb99b77
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/gfni-lzcnt.ll
M llvm/test/CodeGen/X86/gfni-tzcnt.ll
Log Message:
-----------
[X86] Lower CTTZ/CTLZ vXi8 vectors using GF2P8AFFINEQB (#118012)
CTTZ can be lowered using GF2P8AFFINEQB if we isolate the lowest set bit
(or is zero) and then use GF2P8AFFINEQB to perform a look up
With CTTZ, CTLZ can be lowered as CTTZ(BITREVERSE())
As discussed on #110308
Commit: 90c632ab48748808e95d9bb8cd4f3028888dc1b0
https://github.com/llvm/llvm-project/commit/90c632ab48748808e95d9bb8cd4f3028888dc1b0
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/MC/MCXCOFFStreamer.cpp
A llvm/test/CodeGen/PowerPC/aix-debug-aranges.ll
Log Message:
-----------
[PowerPC] Only set QualName symbol on first section switch (#179253)
We were setting it every time when switching to the section. This caused
problems when the debug_aranges emission performed a switch at the end
of the section, resulting in symbols incorrectly pointing to the end
instead of the start of the function.
Commit: f537b4e51822b19780386e0575ff95e82f8ec445
https://github.com/llvm/llvm-project/commit/f537b4e51822b19780386e0575ff95e82f8ec445
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M libcxx/include/__chrono/duration.h
Log Message:
-----------
[libc++] Avoid template instantiations in the duration aliases (#178182)
These templates are instantiated whenever `<__chrono/duration.h>` is
included, making these calculations quite costly. I also don't think
that folding the calculations decreases readability here (IMO it's
actually easier to read now), so I don't think there is a reason we
shouldn't do this.
`<__chrono/duration.h>` is currently (transitively) included in at least
(I stopped checking) `<algorithm>`, `<atomic>`, `<barrier>`, `<chrono>`,
`<condition_variable>`, `<future>`, `<iomanip>`, `<ios>`, `<iostream>`,
`<istream>`, `<latch>`, `<locale>`, `<mutex>`, `<ostream>`,
`<semaphore>`, `<shared_mutex>`, `<syncstream>` and `<thread>`
Commit: 45aa84b4051bf23fbd766ec1d790d7c66103f72a
https://github.com/llvm/llvm-project/commit/45aa84b4051bf23fbd766ec1d790d7c66103f72a
Author: Udaya Ranga <udaya.ranga at arm.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/constant_folding.mlir
Log Message:
-----------
[mlir][tosa]: Add MIN_SHAPE, MAX_SHAPE Ops folders (#179488)
Signed-off-by: Udaya Ranga <udaya.ranga at arm.com>
Commit: 3a653afd45709432181952c0ffdb53eceb0939ae
https://github.com/llvm/llvm-project/commit/3a653afd45709432181952c0ffdb53eceb0939ae
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M libcxx/include/__algorithm/unwrap_range.h
Log Message:
-----------
[libc++] Simplify the implementation of __{un,re}wrap_range (#178381)
We can use a relatively simple `if constexpr` chain instead of SFINAE
and class template specialization, making the functions much simpler to
understand.
Commit: 974b76899953e8f1b3f070c5ce8a3bbbbd29e813
https://github.com/llvm/llvm-project/commit/974b76899953e8f1b3f070c5ce8a3bbbbd29e813
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
A llvm/test/CodeGen/AArch64/clmul-fixed.ll
A llvm/test/CodeGen/AArch64/clmul-scalable.ll
M llvm/test/CodeGen/AArch64/clmul.ll
Log Message:
-----------
[AArch64] Add clmul AArch64 lowering tests (#179495)
Commit: 275eea298b0fc33b02044f552195f6e297aa7801
https://github.com/llvm/llvm-project/commit/275eea298b0fc33b02044f552195f6e297aa7801
Author: Abinaya Saravanan <quic_asaravan at quicinc.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
A llvm/test/CodeGen/Hexagon/no-invalid-node-v4i16.ll
Log Message:
-----------
[HEXAGON] Extend/Truncate the shift amount into i32 (#179499)
Fixes a Backend error
Commit: a631f3e434b41471aa9f852f23bbc1d0ab4fa7bd
https://github.com/llvm/llvm-project/commit/a631f3e434b41471aa9f852f23bbc1d0ab4fa7bd
Author: bala-bhargav <penugondabalabharghav at gmail.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/gfni-xor-fold-avx512.ll
A llvm/test/CodeGen/X86/gfni-xor-fold.ll
Log Message:
-----------
[X86] Fold vgf2p8affineqb XOR with splat constant into immediate (#179103)
The vgf2p8affineqb instruction performs an affine transformation on each
byte and then XORs the result with an 8-bit immediate operand. When this
instruction is followed by a standalone XOR with a splatted constant,
LLVM currently generates extra instructions instead of folding the
constant into the instruction's immediate.
This PR adds a DAG combine optimization that detects the pattern
vgf2p8affineqb(x, m, imm8) ^ C where C is a splatted 8-bit constant and
transforms it to vgf2p8affineqb(x, m, imm8 ^ C), eliminating the
unnecessary XOR instruction.
- The optimization runs during the combine phase after type legalization
- Handles XOR with the constant on either side (commutative)
- Only applies when the GFNI instruction has a single use to avoid
de-optimization
- Validates that the XOR operand is a splatted 8-bit constant before
folding
- Includes test coverage for positive cases and negative cases
(multi-use, non-splat constant, variable XOR)
Commit: 3462c2b552069cd62dceb006c416ccf9f383f3af
https://github.com/llvm/llvm-project/commit/3462c2b552069cd62dceb006c416ccf9f383f3af
Author: GkvJwa <gkvjwa at gmail.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/test/CodeGenCXX/exceptions-seh.cpp
Log Message:
-----------
[NFC] Add redirect the output (#179623)
Commit: 046413ff3f17998b192316202d56bb2c2471af23
https://github.com/llvm/llvm-project/commit/046413ff3f17998b192316202d56bb2c2471af23
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/unmerge-sgpr-s16.mir
Log Message:
-----------
AMDGPU/GlobalISel: Fix sgpr s16 unmerge lowering in regbanklegalize (#179441)
Used to fail EXPENSIVE_CHECKS because of type mismatch.
Commit: 280833247da6c83d371254fda5d2cee397acab47
https://github.com/llvm/llvm-project/commit/280833247da6c83d371254fda5d2cee397acab47
Author: Shamshura Egor <164661612+egorshamshura at users.noreply.github.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-bzhi.ll
Log Message:
-----------
[X86] computeKnownBitsForTargetNode - extend X86ISD::BZHI handling. Fixes 177364. (#179444)
Fixes #177364
Commit: 05db0c466afc9c6fac4ed2785fac8b4709c7cdf4
https://github.com/llvm/llvm-project/commit/05db0c466afc9c6fac4ed2785fac8b4709c7cdf4
Author: idubinov <53053614+idubinov at users.noreply.github.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULaneMaskUtils.h
Log Message:
-----------
[AMDGPU] Add CmpLG and OrN2 operators to LaneMaskConstants (#179493)
Add CmpLG and OrN2 operators to be able to use the LaneMaskConstants in
PhiLoweringHelper from SILowerI1Copies
Commit: 071bb466db85f52081b10d6e8d26a2c5395e2ece
https://github.com/llvm/llvm-project/commit/071bb466db85f52081b10d6e8d26a2c5395e2ece
Author: Abhinav Garg <39309352+abhigargrepo at users.noreply.github.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
A llvm/test/CodeGen/AMDGPU/pei-build-spill-offset-overflow-gfx950.mir
Log Message:
-----------
[AMDGPU][SIRegisterInfo] Fix maxoffset calculation in buildSpillLoadStore (#179182)
This PR addresses Maxoffset calculation bug in SIRegisterInfo. When
RemSize is non-zero, maxoffset, that needs to be encoded in the offset
field, will be equal to "Offset + Size".
---------
Co-authored-by: Abhinav Garg <abhigarg at amd.com>
Commit: 49bf907c832b39ff3dec47049eb80a7a192b92b3
https://github.com/llvm/llvm-project/commit/49bf907c832b39ff3dec47049eb80a7a192b92b3
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
M llvm/lib/Target/Mips/MipsInstructionSelector.cpp
M llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
M llvm/lib/Target/PowerPC/GISel/PPCInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
Log Message:
-----------
[NFC][LLVM] Make `MachineInstrBuilder::constrainAllUses` return `void` (#179632)
This function always returns `true`; so we can transform it to return
`void` and simplify the code.
Follow up of https://github.com/llvm/llvm-project/pull/179501 .
Commit: 8a2b41b49d754c3664d834416525a8195b220db5
https://github.com/llvm/llvm-project/commit/8a2b41b49d754c3664d834416525a8195b220db5
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/X86.cpp
Log Message:
-----------
[X86][NFC] Split mapxf options from mapx_features (#179638)
So that we don't need to check `Name == "apxf"` again.
Commit: ea7f8c8032ed224eacf59d1af105d9e16c49f87d
https://github.com/llvm/llvm-project/commit/ea7f8c8032ed224eacf59d1af105d9e16c49f87d
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
Log Message:
-----------
[AArch64] Fix a couple of typos (NFC) (#179639)
Fixes some comments I forgot to correct/update.
Commit: 7171d6c73bbe791d931632dba27f322edf25fe28
https://github.com/llvm/llvm-project/commit/7171d6c73bbe791d931632dba27f322edf25fe28
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVAtomicOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCastOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCompositeOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGroupOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td
Log Message:
-----------
[mlir][spirv] Update op examples that diverged from assemblyFormat. NFC. (#179594)
Commit: a8af0901dd1a8133f0978e11b84e91558aa99873
https://github.com/llvm/llvm-project/commit/a8af0901dd1a8133f0978e11b84e91558aa99873
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/c.c
Log Message:
-----------
[clang][bytecode] Don't call getOffset on non-block pointers (#179628)
Fixes https://github.com/llvm/llvm-project/issues/177587
Commit: 0fe9454c5672a73594fe71e28987760b7d82e3b7
https://github.com/llvm/llvm-project/commit/0fe9454c5672a73594fe71e28987760b7d82e3b7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512bwvl-arith.ll
M llvm/test/CodeGen/X86/legalize-vec-assertzext.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
Log Message:
-----------
[X86] Fold EXPAND(X,Y,M) -> SELECT(M,X,Y) when M is a lowest bit mask (#179630)
If a EXPAND node mask is just the lowest bits, then we can replace it
with a more general SELECT node, which can be cheaper and potentially
allow predication.
Fixes #179008
Commit: a13c6ea80dbd4c0a26ad290595aaf79f25f8ffa9
https://github.com/llvm/llvm-project/commit/a13c6ea80dbd4c0a26ad290595aaf79f25f8ffa9
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/ExpandPostRAPseudos.cpp
Log Message:
-----------
[CodeGen] Simplify ExpandPostRA::LowerSubregToReg. NFC. (#179634)
SUBREG_TO_REG always has a non-zero subreg index so DstSubReg can never
be the same as DstReg.
Commit: d24a6754ce8bf980dfc294dbc359bb8528db48b8
https://github.com/llvm/llvm-project/commit/d24a6754ce8bf980dfc294dbc359bb8528db48b8
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LowerMemIntrinsics.h
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memset.ll
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics-threshold.ll
M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
A llvm/test/CodeGen/AMDGPU/memset-param-combinations.ll
M llvm/test/CodeGen/NVPTX/lower-aggr-copies.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/memset.ll
M llvm/test/Transforms/PreISelIntrinsicLowering/AMDGPU/expand-mem-intrinsics.ll
M llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-inline-non-constant-len.ll
Log Message:
-----------
[LowerMemIntrinsics] Optimize memset lowering (#169040)
This patch changes the memset lowering to match the optimized memcpy lowering.
The memset lowering now queries TTI.getMemcpyLoopLoweringType for a preferred
memory access type. If that type is larger than a byte, the memset is lowered
into two loops: a main loop that stores a sufficiently wide vector splat of the
SetValue with the preferred memory access type and a residual loop that covers
the remaining bytes individually. If the memset size is statically known, the
residual loop is replaced by a sequence of stores.
This improves memset performance on gfx1030 (AMDGPU) in microbenchmarks by
around 7-20x.
I'm planning similar treatment for memset.pattern as a follow-up PR.
For SWDEV-543208.
Commit: cd31effb0aac9afde43a64b236c5fc95717c255c
https://github.com/llvm/llvm-project/commit/cd31effb0aac9afde43a64b236c5fc95717c255c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/placement-new.cpp
Log Message:
-----------
[clang][bytecode] Reject invalid CXXNewExprs (#179629)
If they contain errors, we can't rely on any of their API returning sane
values.
Commit: 5b073761448229fd8f967f07517a35568e449aca
https://github.com/llvm/llvm-project/commit/5b073761448229fd8f967f07517a35568e449aca
Author: puneeth_aditya_5656 <myakampuneeth at gmail.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-vararg.cpp
Log Message:
-----------
[clang-tidy] Allow type-generic builtins in pro-type-vararg check (#178656)
## Summary
Add type generic builtins to the allowed variadics list in the
`cppcoreguidelines-pro-type-vararg` check (also used by `hicpp-vararg`):
- `__builtin_clzg`
- `__builtin_ctzg`
- `__builtin_popcountg`
- `__builtin_bswapg`
## Root Cause
These builtins are declared as variadic (`int(...)`) to accept any
integer type via `CustomTypeChecking`. However, they are not C style
vararg functions , they take exactly one argument of a generic integer
type.
## Test
Added test cases in `pro-type-vararg.cpp` to verify no warning is
emitted.
Fixes #178629
Commit: be9ba44256fe84654da51714b5fa8dd7b13d6937
https://github.com/llvm/llvm-project/commit/be9ba44256fe84654da51714b5fa8dd7b13d6937
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/gfx11-sgpr-hazard-latency.mir
M llvm/test/CodeGen/AMDGPU/schedule-barrier-latency-gfx9.mir
Log Message:
-----------
[AMDGPU] Add machineFunctionInfo to recent MIR tests (#179602)
Initialize machineFunctionInfo in recently added MIR tests to assist in
downstream testing.
Commit: 890cdbe65358eb137788ea5d3a8007ec238be26b
https://github.com/llvm/llvm-project/commit/890cdbe65358eb137788ea5d3a8007ec238be26b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/invalid.cpp
Log Message:
-----------
[clang][bytecode] Handle a null record better (#179645)
This would otherwise later assert in vsitZeroRecordInitializer().
Commit: 7ccdc06780b05bd8f31c20a9734fca2fbf275d7f
https://github.com/llvm/llvm-project/commit/7ccdc06780b05bd8f31c20a9734fca2fbf275d7f
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/local-variables.f90
Log Message:
-----------
[flang][OpenMP] Leave local automatic variables alone (#178739)
There is code in resolve-directives.cpp that tries to apply DSA flags to
symbols encountered inside constructs. This code was written with the
assumption that all such symbols will be declared outside of the
construct.
When a symbol declared in a BLOCK construct nested in a construct was
found, the code would attempt to either privatize or share it in the
enclosing construct (where the symbol didn't exist) leading to trouble.
BLOCK constructs (and thus the possibility of having local variables)
was introduced in F2008.
The first OpenMP spec that considered F2008 was 5.0, where the behavior
of the BLOCK construct was explicitly left unspecified. From OpenMP 5.1
onwards, all local non-static variables are private in the construct
enclosing the declaration. This PR extends this behavior retroactively
to all prior OpenMP versions.
Fixes https://github.com/llvm/llvm-project/issues/178613
Commit: 1da316985cd1148954f1afce6db7535e9b3eb892
https://github.com/llvm/llvm-project/commit/1da316985cd1148954f1afce6db7535e9b3eb892
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/builtin-object-size-codegen.c
Log Message:
-----------
[clang][bytecode] Reject void ArraySubscriptExprs (#179619)
This happens in C when we subscript an expression of type void*, but
there's nothing for us to do here. Just reject it early.
Fixes https://github.com/llvm/llvm-project/issues/177758
Commit: f121d52bdeeb8022ef474651a7e64df173ac9344
https://github.com/llvm/llvm-project/commit/f121d52bdeeb8022ef474651a7e64df173ac9344
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M flang/lib/Lower/ConvertCall.cpp
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/function-return-destroy.f90
M flang/test/Lower/HLFIR/where.f90
M flang/test/Lower/io-statement-clean-ups.f90
Log Message:
-----------
[flang] fix early free of allocatable function result in WHERE mask (#178691)
Fix https://github.com/llvm/llvm-project/issues/168561.
The issue was that the allocatable function result used as WHERE mask
was freed too early.
This happened because lowering was moving the result via as_expr but was
still inserting the deallocation directly on the storage instead of
passing that responsibility to the moved value (hlfir.expr). Later, the
pass optimizing WHERE is extending the expr lifetime usage passed the
deallocation of the storage because it (rightfully) assumes it can
extent lifetime of hlfir.expr as long as it moves the related destroy.
Fix lowering to pass the storage ownership to the expression after the
call instead.
Commit: d26b035d6929f248d3c309b5f2b7b51694d5dc4b
https://github.com/llvm/llvm-project/commit/d26b035d6929f248d3c309b5f2b7b51694d5dc4b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/complex.cpp
Log Message:
-----------
[clang][bytecode] Remove an incorrect assertion (#179644)
There are situations where DiscardResult is set, but we still wish to
emit a float value, e.g. when we will discard the result of an operation
involving such a float value.
Commit: 802fd8c92ac7c0b8d6b6728bbd5cc89f843a6f41
https://github.com/llvm/llvm-project/commit/802fd8c92ac7c0b8d6b6728bbd5cc89f843a6f41
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
Log Message:
-----------
[perf] Replace copy-assign by move-assign in llvm/lib/Target (#179464)
Commit: 516eb3820db80cd706722af566897650bc949df7
https://github.com/llvm/llvm-project/commit/516eb3820db80cd706722af566897650bc949df7
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/ExpandIRInsts.cpp
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] Freeze value before fptoi expansion (#179659)
We're going to introduce new branches, and branch on undef/poison
is immediate UB.
Commit: f5410565137c5384835661ea5b6af7fc88e80513
https://github.com/llvm/llvm-project/commit/f5410565137c5384835661ea5b6af7fc88e80513
Author: woruyu <1214539920 at qq.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/CodeGen/builtins.c
M clang/test/CodeGenCXX/builtins.cpp
M clang/test/Sema/constant-builtins-2.c
M clang/test/Sema/constant-builtins.c
M clang/test/SemaCXX/builtin-bswapg.cpp
Log Message:
-----------
[Clang] Fixes builtin_bswapg builtin for bool type (#179177)
This PR resolves #178317, the related PR: #169285
Commit: cc2b48f1e4d633ff8f2708c0ab22f3a060fce54c
https://github.com/llvm/llvm-project/commit/cc2b48f1e4d633ff8f2708c0ab22f3a060fce54c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
Log Message:
-----------
SPIRVInstructionSelector::selectExtractVal - add missing brackets to assertion condition to fix gcc -Wparentheses warning (#179656)
Commit: aa7faec962a76dcdfa76249704bae514397cdfbb
https://github.com/llvm/llvm-project/commit/aa7faec962a76dcdfa76249704bae514397cdfbb
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/plugin_config.bzl
Log Message:
-----------
[bazel] Build mcp server for lldb (#178437)
Commit: d20b90a2da8ab69ccf846a450e0beadea70cf6f8
https://github.com/llvm/llvm-project/commit/d20b90a2da8ab69ccf846a450e0beadea70cf6f8
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Enhance `resolveBroadcastShape` to handle dynamic dims (#175932)
This commit improves `resolveBroadcastShape` when some input dims are
dynamic. Previously, this would result in shape inference failing,
meaning the output type of the operation would not be updated. Now the
output shape is correctly inferred, selecting the static dim if > 1,
otherwise selecting the dynamic dim.
Commit: c487e248b9442b60bb22b8a95c0daee474d9b928
https://github.com/llvm/llvm-project/commit/c487e248b9442b60bb22b8a95c0daee474d9b928
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.h
A llvm/test/CodeGen/SPIRV/is-shader-env.ll
Log Message:
-----------
[SPIR-V] Fix environment resolution causing legalization crash (#179052)
When the triple is spirv-unknown-unknown, SPIRVSubtarget::Env starts as
Unknown and was set via const_cast in SPIRVCallLowering when the first
entry point was lowered. This is too late: SPIRVLegalizerInfo has
already been constructed with, for example, the wrong vector size
limits, causing a crash (at best) or invalid SPIR-V generation.
Resolve the environment early in SPIRVPrepareFunctions::runOnModule() by
scanning the module for "hlsl.shader" attributes. Reinitialize the
legalizer and extended instruction sets after resolution. Remove the
const_cast lazy setting from SPIRVCallLowering.
Fixes: https://github.com/llvm/llvm-project/issues/171898
Commit: 15e807960a4f464a94ca093bb531cce8d86410ce
https://github.com/llvm/llvm-project/commit/15e807960a4f464a94ca093bb531cce8d86410ce
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
Log Message:
-----------
[mlir][tosa] Add support for boolean cast/gather/scatter operations (#177693)
Aligns with the spec change:
https://github.com/arm/tosa-specification/pull/32
Commit: 7b9fd32daad83b8412e12505b7ec01818cc37880
https://github.com/llvm/llvm-project/commit/7b9fd32daad83b8412e12505b7ec01818cc37880
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
Log Message:
-----------
[flang][OpenMP] Move resolution of common blocks to resolve-names.cpp… (#179669)
…, NFC
Commit: 2af18a17bb75a695dfb3ee8a13692222d5f789f8
https://github.com/llvm/llvm-project/commit/2af18a17bb75a695dfb3ee8a13692222d5f789f8
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
Log Message:
-----------
[NFC][LowerMemIntrinsics] Consistent parameter name comments in function calls (#176751)
The `/*ParamName=*/foo` syntax is prescribed by the coding standards:
https://llvm.org/docs/CodingStandards.html#comment-formatting
Commit: 1f76e44700c78b28e4482d5a0b9c8c59dc72ef61
https://github.com/llvm/llvm-project/commit/1f76e44700c78b28e4482d5a0b9c8c59dc72ef61
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg11xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/drs/cwg16xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg19xx.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg20xx.cpp
M clang/test/CXX/drs/cwg22xx.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg27xx.cpp
M clang/test/CXX/drs/cwg29xx.cpp
M clang/test/CXX/drs/cwg30xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/test/CXX/drs/cwg6xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
Log Message:
-----------
[clang][NFC] Use full diagnostic text in C++ DR tests (#179674)
This is the first of two patches that apply various fixes to C++ DR
tests based on new tooling I developed. This patch is almost entirely
about incomplete diagnostic text in `expected` directives, which was
intended to be complete, but I failed to notice that during reviews.
There is also a couple of fixes for `expected-note` directives that were
not correctly indented relative to the error they attach to. Then there
is couple of fixes when `expected` directives where not placed correctly
(didn't use `@-1` way).
Commit: 637a038c047ac89043bae3361d81f6363db5000c
https://github.com/llvm/llvm-project/commit/637a038c047ac89043bae3361d81f6363db5000c
Author: Tony Tao <tony.le.tao at gmail.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
A llvm/test/CodeGen/SystemZ/zos-lower-constant.ll
Log Message:
-----------
[SystemZ][GOFF] Implement lowerConstant (#179394)
Implement lowerConstants for SystemZ and handle special cases where
entries need to be created in the ADA for static functions or VCon for
externals.
---------
Co-authored-by: Tony Tao <tonytao at ca.ibm.com>
Commit: 5da7e9a2ad89b73214c7478d52db4fd6e8068d95
https://github.com/llvm/llvm-project/commit/5da7e9a2ad89b73214c7478d52db4fd6e8068d95
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtins.c
Log Message:
-----------
[clang][bytecode] Return Invalid() from atomic_is_lock_free calls (#179676)
If they are invalid. This is what the current interpreter does.
Commit: 5cc22a9772c6b7da201530a74f6cd8b821003f90
https://github.com/llvm/llvm-project/commit/5cc22a9772c6b7da201530a74f6cd8b821003f90
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
A clang/lib/StaticAnalyzer/Checkers/OpaqueSTLFunctionsModeling.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx-std-suppression.h
A clang/test/Analysis/diagnostics/opaque-stl-functions-modeling.cpp
Log Message:
-----------
[clang][analyzer] Add OpaqueSTLFunctionsModeling (#178910)
This modeling checker forces conservative evaluation for `std::sort`,
`std::stable_sort`, and `std::inplace_merge` to prevent false positives
caused by complex STL internals that cannot be adequately modeled by the
engine.
Using `evalCall` to avoid emitting false positives is more efficient than
suppressing them after analysis in `BugReporterVisitor`s.
Related to #177804
Commit: a3f848057be438a570655ee3ca48a1178e898658
https://github.com/llvm/llvm-project/commit/a3f848057be438a570655ee3ca48a1178e898658
Author: Connector Switch <c8ef at outlook.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M libcxx/include/__algorithm/for_each.h
M libcxx/include/__algorithm/for_each_n.h
M libcxx/include/__algorithm/generate_n.h
Log Message:
-----------
[libcxx] Modify `std::__for_each{, _n}` to accept r-values in `__f` (#179451)
This is necessary when optimizing algorithms for segmented iterators to
reduce boilerplate code.
related:
-
https://github.com/llvm/llvm-project/pull/177853#discussion_r2754820322
-
https://github.com/llvm/llvm-project/pull/164266#discussion_r2447129525
Commit: e9253f0e355f8818fd06124ec393fc4841bbb560
https://github.com/llvm/llvm-project/commit/e9253f0e355f8818fd06124ec393fc4841bbb560
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Prevent creation of `tosa.concat_shape` for scalar shape values (#176120)
Updates `tosa.concat_shape` inline with the following specification
change: https://github.com/arm/tosa-specification/pull/30.
Commit: e6983d08f69d3ae73f204778ab8219dcf54173dd
https://github.com/llvm/llvm-project/commit/e6983d08f69d3ae73f204778ab8219dcf54173dd
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Log Message:
-----------
[gn build] Port 5cc22a9772c6
Commit: 2e58f6024a9257f5e506a033f48c9239212dc21d
https://github.com/llvm/llvm-project/commit/2e58f6024a9257f5e506a033f48c9239212dc21d
Author: Brox Chen <guochen2 at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/test/CodeGen/AMDGPU/br_cc.f16.ll
M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll
M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
M llvm/test/CodeGen/AMDGPU/fcmp.f16.ll
M llvm/test/CodeGen/AMDGPU/fmax3.ll
M llvm/test/CodeGen/AMDGPU/fmin3.ll
M llvm/test/CodeGen/AMDGPU/fmul.f16.ll
M llvm/test/CodeGen/AMDGPU/fpext.f16.ll
M llvm/test/CodeGen/AMDGPU/fptosi.f16.ll
M llvm/test/CodeGen/AMDGPU/fptoui.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/fsub.f16.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/function-returns.ll
M llvm/test/CodeGen/AMDGPU/imm16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rcp.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rsq.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.ceil.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.fmuladd.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.rint.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.sqrt.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.sqrt.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
M llvm/test/CodeGen/AMDGPU/sitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/uitofp.f16.ll
M llvm/test/CodeGen/AMDGPU/v_madak_f16.ll
Log Message:
-----------
[AMDGPU][True16] t16 pseudo for mubuffer d16 load/store (#178822)
create t16 pseudos for mubuffer d16 load/store with vgpr16 in vdst/vdata
and use these t16 pseudo for isel pattern. Lower them back to d16
machine inst in mc level.
Commit: d82a6eba65ee1bcd3d42cb2d7222e0297453dfef
https://github.com/llvm/llvm-project/commit/d82a6eba65ee1bcd3d42cb2d7222e0297453dfef
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
Log Message:
-----------
[TableGen] Remove warning IntrinsicsToAttributesMap needs > 16 bits (#179533)
Remove the warning issued by intrinsic emitter when an entry in the
`IntrinsicsToAttributesMap` is > 16 bits. The exact conditions under
which this happen is tightly coupled with how the intrinsic emitter
represents intrinsic attributes and generally this warning may not be
actionable in any way without changing the semantics of the intrinsics
being compiled (i.e., changing their attributes to have less number of
unique attributes).
Commit: bc80d1ac0cff6823ca8d2de222623c0fd7ed8edf
https://github.com/llvm/llvm-project/commit/bc80d1ac0cff6823ca8d2de222623c0fd7ed8edf
Author: sujianIBM <98488060+sujianIBM at users.noreply.github.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
Log Message:
-----------
[SystemZ][z/OS] Set R5 as not restored. (#179666)
R5 (environment register) should not be restored. This is missing in the
code.
Add it back and also add a test to verify it.
Commit: 3c0e3268a51b9e3cca93c2e93e80722a80a34b04
https://github.com/llvm/llvm-project/commit/3c0e3268a51b9e3cca93c2e93e80722a80a34b04
Author: Islam Imad <143586474+Islam-Imad at users.noreply.github.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/add-i512.ll
M llvm/test/CodeGen/X86/sub-i512.ll
Log Message:
-----------
[X86] Lower i512 ADD/SUB using Kogge-Stone on AVX512 (#174761)
Closes #173996
Commit: 569a9b49253b26b1142040169ca88e0215bca475
https://github.com/llvm/llvm-project/commit/569a9b49253b26b1142040169ca88e0215bca475
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/shl-to-add-transformation3.ll
Log Message:
-----------
[SLP][NFC]Add another shl-to-add transformation test, NFC
Commit: 279600ac9b55e79ba9291717924dae6802f2b74c
https://github.com/llvm/llvm-project/commit/279600ac9b55e79ba9291717924dae6802f2b74c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M libcxx/test/benchmarks/format/formatter_int.bench.cpp
Log Message:
-----------
[libc++] Refactor formatter_int.bench.cpp to not use CartesianProduct (#179483)
The CartesianProduct machinery is incredibly expensive and makes it
trivial to add significant amounts of benchmarks which may not actually
serve much of a purpose. This patch doesn't remove any of the actual
benchmarks, but explicitly lists the benchmarks previous generated via
the CartesianProduct machinery. Still, the benchmarks run ~2x faster.
Fixes #178458
Commit: fc5b1bb8f8f5073dfa0ab363db8620e7cd787a81
https://github.com/llvm/llvm-project/commit/fc5b1bb8f8f5073dfa0ab363db8620e7cd787a81
Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M flang/include/flang/Optimizer/Passes/Pipelines.h
M flang/lib/Optimizer/Passes/Pipelines.cpp
Log Message:
-----------
[flang] Add getFIRToLLVMPassOptions helper function (#179293)
Extract `FIRToLLVMPassOptions` initialization into a helper function,
allowing other code to construct pass options from pipeline
configuration without duplication.
---------
Co-authored-by: Delaram Talaashrafi <dtalaashrafi at rome5.pgi.net>
Commit: 2828ee6bc2fe613e00e5b44825da9e407f1d5457
https://github.com/llvm/llvm-project/commit/2828ee6bc2fe613e00e5b44825da9e407f1d5457
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/test/CodeGen/X86/peephole.mir
Log Message:
-----------
[X86] Fix incorrect SUBREG_TO_REG usage in a MIR test (#179682)
Commit: 36dadddd74c7c9c1e98a2ec153a46af95928c71c
https://github.com/llvm/llvm-project/commit/36dadddd74c7c9c1e98a2ec153a46af95928c71c
Author: Chi-Chun, Chen <chichun.chen at hpe.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/Todo/affinity-clause.f90
A flang/test/Lower/OpenMP/task-affinity.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.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:
-----------
[Flang][mlir][OpenMP] Add affinity clause to omp.task and Flang lowering (#179003)
- Add MLIR OpenMP affinity clause
- Lower flang task affinity to mlir
- Emit TODO for iterator modifier and update negative test
Commit: 10d80708d9705af3307c99c0824d1bd2e3f86fd7
https://github.com/llvm/llvm-project/commit/10d80708d9705af3307c99c0824d1bd2e3f86fd7
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.td
M mlir/include/mlir/Dialect/EmitC/Transforms/Transforms.h
M mlir/lib/Dialect/EmitC/Transforms/WrapFuncInClass.cpp
M mlir/test/Dialect/EmitC/wrap-func-in-class.mlir
Log Message:
-----------
[mlir][emitc] Update the `WrapFuncInClassPass` pass (#179184)
Update the `WrapFuncInClassPass` pass so that, by default, the generated
method is named `operator()()` rather than `execute()`. This makes the
pass more generic, instead of catering to specific users expecting an
`execute()` method.
To preserve the original behaviour, add a new pass option to override
the method name: `func-name`. For example:
```bash
mlir-opt file.mlir -wrap-emitc-func-in-class=func-name=execute
```
Additionally, make a couple of small editorial changes:
* Rename `populateFuncPatterns` to `populateWrapFuncInClass` to make it
clear that the corresponding pattern is specific to the
`WrapFuncInClass` pass.
* Remove `// CHECK: module {` to reduce test noise.
For context, this change was proposed on Discourse:
* https://discourse.llvm.org/t/rfc-emitc-support-for-mlgo
Commit: c08b2c75dbc4aae897affa8d38108d779350e137
https://github.com/llvm/llvm-project/commit/c08b2c75dbc4aae897affa8d38108d779350e137
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M mlir/lib/Dialect/GPU/Transforms/EliminateBarriers.cpp
M mlir/test/Dialect/GPU/barrier-elimination.mlir
Log Message:
-----------
[milr][gpu] Make barrier elimination address-space aware (#178101)
Upgrade the barrier eliminiation pass to account for the address spaces
of accessed memory when deciding which barriers to eliminiate. In
particular, a loop that only reads and writes global memory that has a
workgoup-memory-fencing barrier inside of it will now have that barrier
marked for elimiination, as the global memory traffic is not being
synchronized by the barrier.
The pass is also adjusted to ignore barriers whose memory fencing list
is [], as those do not synchronize memory and therefore the logic in
this pass would potentially incorrectly remove them after proving that
fact.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: 8b28f5229e76e552160116c54d3d6994976e8440
https://github.com/llvm/llvm-project/commit/8b28f5229e76e552160116c54d3d6994976e8440
Author: sujianIBM <98488060+sujianIBM at users.noreply.github.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
Log Message:
-----------
[SystemZ][z/OS] Reverse the order of instructions to save and restore CSRs (#179540)
Reverse the order of instructions to save and restore CSRs so
instruction on small numbered reg goes first.
Commit: c61d4340c89307b5bc548a196e49b808abaddc51
https://github.com/llvm/llvm-project/commit/c61d4340c89307b5bc548a196e49b808abaddc51
Author: Akshay Deodhar <adeodhar at nvidia.com>
Date: 2026-02-04 (Wed, 04 Feb 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
M llvm/test/CodeGen/NVPTX/fence-cluster.ll
M llvm/test/CodeGen/NVPTX/fence-nocluster.ll
M llvm/test/CodeGen/NVPTX/fence.py
Log Message:
-----------
[NVPTX][NFC] Update fence.py and cmpxchg.py to generate ptxas-sm_XY and ptxas-isa-X.Y checks in RUN lines (#179378)
The cmpxchg-sm*.ll, fence*.ll files were manually updated to include
version checks. Modifying the generator scripts so that they will
correctly generate the version checks.
Fixes the issue raised in
https://github.com/llvm/llvm-project/pull/176078#issuecomment-3792304497
that led to
https://github.com/llvm/llvm-project/commit/acff9fa4dba2e39da73227d835dfd12be434645e.
(Thanks @vvereschaka!)
When I regenerated cmpxchg tests, I ended up overwriting the ptxas-sm
checks, because the generator script does not have them. Added comments
in the tests explaining that they should not be modified manually.
Commit: 8a83911c40ee3d329954e7e374cd079fa9c4314c
https://github.com/llvm/llvm-project/commit/8a83911c40ee3d329954e7e374cd079fa9c4314c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Log Message:
-----------
AMDGPU: Fix incorrect fold of undef for llvm.amdgcn.trig.preop (#179025)
We were folding undef inputs to qnan which is incorrect. The instruction
never returns nan. Out of bounds segment select will return 0, so fold
undef segment to 0.
Commit: e747287f6113e70a3c7123c11ad19bb780948538
https://github.com/llvm/llvm-project/commit/e747287f6113e70a3c7123c11ad19bb780948538
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Transforms/Attributor/AMDGPU/nofpclass-amdgcn-trig-preop.ll
Log Message:
-----------
AMDGPU: Implement computeKnownFPClass for llvm.amdgcn.trig.preop (#179026)
Surprisingly this doesn't consider the special cases, and literally
just extracts the exponent and proceeds as normal.
Commit: 7df2bd648e3174efcabfba21b150133b89ffcac5
https://github.com/llvm/llvm-project/commit/7df2bd648e3174efcabfba21b150133b89ffcac5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Transforms/Attributor/AMDGPU/nofpclass-amdgcn-fract.ll
Log Message:
-----------
AMDGPU: Implement computeKnownFPClass for llvm.amdgcn.fract (#179134)
Commit: 4a0a2057a8f317836fa60f63fa9a0794faa32873
https://github.com/llvm/llvm-project/commit/4a0a2057a8f317836fa60f63fa9a0794faa32873
Author: Reid Kleckner <rnk at llvm.org>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M .mailmap
M clang/AreaTeamMembers.txt
M clang/Maintainers.rst
M llvm/Maintainers.md
Log Message:
-----------
Update my email across the project (#179361)
At the moment, LLVM OSS stuff should go to rnk at llvm.org.
Commit: 23bf55eda43a7d2f9ffffce3f371fcf28c8d2df7
https://github.com/llvm/llvm-project/commit/23bf55eda43a7d2f9ffffce3f371fcf28c8d2df7
Author: GeorgeHuyubo <113479859+GeorgeHuyubo at users.noreply.github.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
A lldb/test/API/tools/lldb-dap/eventStatistic/Makefile
A lldb/test/API/tools/lldb-dap/eventStatistic/TestVSCode_eventStatistic.py
A lldb/test/API/tools/lldb-dap/eventStatistic/foo.cpp
A lldb/test/API/tools/lldb-dap/eventStatistic/foo.h
A lldb/test/API/tools/lldb-dap/eventStatistic/main.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
Log Message:
-----------
[lldb]Send statistics in initialized event (#178978)
Re-attemp landing of old commit:
https://github.com/llvm/llvm-project/commit/7fe3586cda5b683766ec6b6d5ca2d98c2baaf162
Co-authored-by: George Hu <georgehuyubo at gmail.com>
Commit: b0aea0539f968054a6a34add42588c6fceca540a
https://github.com/llvm/llvm-project/commit/b0aea0539f968054a6a34add42588c6fceca540a
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.format.f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.load.format.f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.tbuffer.load.f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.tbuffer.load.f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.format.f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.buffer.load.format.f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.ptr.tbuffer.load.f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.tbuffer.load.f16.ll
Log Message:
-----------
[AMDGPU][GlobalISel] Add buffer load format D16 RegBankLegalize rules (#179566)
Commit: 4fdb10b052b29a4160f25fdfaebda9c5d8734408
https://github.com/llvm/llvm-project/commit/4fdb10b052b29a4160f25fdfaebda9c5d8734408
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/include/clang/Frontend/CompilerInstance.h
M clang/lib/Frontend/CompilerInstance.cpp
Log Message:
-----------
[clang][modules] Allow specifying thread-safe module cache (#179510)
This PR adds new member to `CompilerInstance::ThreadSafeCloneConfig` to
allow using a different `ModuleCache` instance in the cloned
`CompilerInstance`. This is done so that the original and the clone
can't concurrently work on the same `InMemoryModuleCache`, which is not
thread safe. This will be made use of shortly from the dependency
scanner along with the single-module-parse-mode to compile modules
asynchronously/concurrently.
This also fixes an old comment that incorrectly claimed that
`CompilerInstance`'s constructor is responsible for finalizing
`InMemoryModuleCache` buffers, which is no longer the case.
Commit: 96448ef34a840682b27b1c9116d4b52269a20e98
https://github.com/llvm/llvm-project/commit/96448ef34a840682b27b1c9116d4b52269a20e98
Author: Fangrui Song <i at maskray.me>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
A llvm/test/tools/llvm-readobj/ELF/unwind-sdata8.test
M llvm/test/tools/llvm-readobj/ELF/unwind.test
M llvm/tools/llvm-readobj/DwarfCFIEHPrinter.h
Log Message:
-----------
[llvm-readelf] --unwind: Support DW_EH_PE_sdata8 encoding (#179152)
... for both eh_frame_ptr_enc and table_enc fields when parsing the
PT_GNU_EH_FRAME program header (which contains .eh_frame_hdr) . This is
needed for large binaries where offsets exceed the 32-bit range,
The sdata8 encoding has been tested on an executable
generated by lld patched with
https://github.com/llvm/llvm-project/pull/179089
```
% cat a.cc
#include <stdio.h>
int main() { try { throw 1; } catch (...) { puts("a"); } }
% cat a.lds
SECTIONS
{
. = SIZEOF_HEADERS;
.eh_frame : {}
.rodata.cst4 : {}
.text : {}
. = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));
.init_array :
{
PROVIDE_HIDDEN (__init_array_start = .);
KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*)))
KEEP (*(.init_array))
PROVIDE_HIDDEN (__init_array_end = .);
}
.fini_array :
{
PROVIDE_HIDDEN (__fini_array_start = .);
KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*)))
KEEP (*(.fini_array))
PROVIDE_HIDDEN (__fini_array_end = .);
}
. = DATA_SEGMENT_RELRO_END (0, .);
.data : { *(.data .data.*) }
. = .;
.bss : { *(.bss .bss.*) *(COMMON) }
. = DATA_SEGMENT_END (.);
.eh_frame_hdr 0x200000000 : {}
}
% /tmp/Rel/bin/clang++ -mcmodel=large a.cc -o a -fuse-ld=lld -Wl,a.lds
% ./a
```
The executable uses C++ exceptions. At runtime the libstdc++/libgcc
runtime
decodes the PT_GNU_EH_FRAME segment. A malformed .eh_frame_hdr would
lead to crash.
Previously, llvm-readelf would report "unexpected encoding
eh_frame_ptr_enc"
or "unexpected encoding table_enc" for .eh_frame_hdr sections using
sdata8.
Commit: 265a994f4de2025aabc6f78b47777235af0ab48e
https://github.com/llvm/llvm-project/commit/265a994f4de2025aabc6f78b47777235af0ab48e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
Log Message:
-----------
[RISCV] Add C/Zcf/Zcd/Zce implication rules to subtarget construction. (#179615)
This ensures the feature bits and RISCVSubtarget flags match what
RISCVISAInfo would do.
I'm not excited about the code duplication, but I need to set the
RISCVSubtarget flags along with calling ToggleFeature. I'll think about
how to improve this.
Commit: 7ea33e6848d3dca157a394ce1dde86243a3d5efb
https://github.com/llvm/llvm-project/commit/7ea33e6848d3dca157a394ce1dde86243a3d5efb
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/docs/MIRLangRef.rst
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/Target.td
M llvm/lib/CodeGen/ExpandPostRAPseudos.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/ARM/ARMInstrNEON.td
M llvm/lib/Target/BPF/BPFInstrInfo.td
M llvm/lib/Target/BPF/BPFMIPeephole.cpp
M llvm/lib/Target/BPF/BPFMISimplifyPatchable.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/lib/Target/MSP430/MSP430InstrInfo.td
M llvm/lib/Target/Mips/Mips64r6InstrInfo.td
M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCInstrP10.td
M llvm/lib/Target/PowerPC/PPCInstrVSX.td
M llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp
M llvm/lib/Target/PowerPC/PPCVSXWACCCopy.cpp
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrExtension.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrMisc.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Target/X86/X86InstrSystem.td
M llvm/lib/Target/X86/X86InstrVecCompiler.td
M llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/166563.mir
M llvm/test/CodeGen/AArch64/GlobalISel/fp16-copy-gpr.mir
M llvm/test/CodeGen/AArch64/GlobalISel/load-addressing-modes.mir
M llvm/test/CodeGen/AArch64/GlobalISel/opt-fold-ext-tbz-tbnz.mir
M llvm/test/CodeGen/AArch64/GlobalISel/opt-fold-xor-tbz-tbnz.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-lowering-swap-compare-operands.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-constrain-new-regop.mir
M llvm/test/CodeGen/AArch64/GlobalISel/preselect-process-phis.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-arith-extended-reg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-atomic-load-store.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-atomicrmw.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-build-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-cmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-cmpxchg.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-constant.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-extract-vector-elt-with-extend.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-fp-index-load.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-imm.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-insert-extract.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-int-ext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-jump-table-brjt-constrain.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-jump-table-brjt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-ldaxr-intrin.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-ldxr-intrin.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-load.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-ptr-add.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-reduce-add.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-redundant-zext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-scalar-merge.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-scalar-shift-imm.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-select.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-truncstore-atomic.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-zext-as-copy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-zextload.mir
M llvm/test/CodeGen/AArch64/GlobalISel/widen-narrow-tbz-tbnz.mir
M llvm/test/CodeGen/AArch64/GlobalISel/xro-addressing-mode-constant.mir
M llvm/test/CodeGen/AArch64/aarch64-combine-gather-lanes-limit-size.mir
M llvm/test/CodeGen/AArch64/aarch64-combine-gather-lanes-with-call.mir
M llvm/test/CodeGen/AArch64/aarch64-combine-gather-lanes.mir
M llvm/test/CodeGen/AArch64/aarch64-swp-ws-live-intervals-1.mir
M llvm/test/CodeGen/AArch64/aarch64-swp-ws-live-intervals.mir
M llvm/test/CodeGen/AArch64/addsub-24bit-imm.mir
M llvm/test/CodeGen/AArch64/addsub.ll
M llvm/test/CodeGen/AArch64/bf16_fast_math.ll
M llvm/test/CodeGen/AArch64/coalescer-drop-subreg-to-reg-imm-ops.mir
M llvm/test/CodeGen/AArch64/instr-ref-ldv.ll
M llvm/test/CodeGen/AArch64/loop-sink.mir
M llvm/test/CodeGen/AArch64/peephole-insert-subreg.mir
M llvm/test/CodeGen/AArch64/peephole-movd.mir
M llvm/test/CodeGen/AArch64/peephole-sxtw.mir
M llvm/test/CodeGen/AArch64/ptrauth-isel.ll
M llvm/test/CodeGen/AArch64/ptrauth-isel.mir
M llvm/test/CodeGen/AArch64/redundant-orrwrs-from-zero-extend.mir
M llvm/test/CodeGen/AArch64/register-coalesce-update-subranges-remat.mir
M llvm/test/CodeGen/AArch64/sink-and-fold-clear-kill-flags.mir
M llvm/test/CodeGen/AArch64/sms-acceptable-loop1.mir
M llvm/test/CodeGen/AArch64/sms-acceptable-loop2.mir
M llvm/test/CodeGen/AArch64/sms-acceptable-loop3.mir
M llvm/test/CodeGen/AArch64/sms-acceptable-loop4.mir
M llvm/test/CodeGen/AArch64/sms-instruction-scheduled-at-correct-cycle.mir
M llvm/test/CodeGen/AArch64/sms-loop-carried-fp-exceptions1.mir
M llvm/test/CodeGen/AArch64/sms-loop-carried-fp-exceptions2.mir
M llvm/test/CodeGen/AArch64/sms-order-physreg-deps.mir
M llvm/test/CodeGen/AArch64/sms-regpress.mir
M llvm/test/CodeGen/AArch64/sms-unacceptable-loop1.mir
M llvm/test/CodeGen/AArch64/sms-unacceptable-loop2.mir
M llvm/test/CodeGen/AArch64/sms-unpipeline-insts1.mir
M llvm/test/CodeGen/AArch64/sms-unpipeline-insts2.mir
M llvm/test/CodeGen/AArch64/subreg_to_reg_coalescing_issue.mir
M llvm/test/CodeGen/AArch64/zext-reg-coalesce.mir
M llvm/test/CodeGen/PowerPC/mi-simplify-code.mir
M llvm/test/CodeGen/PowerPC/subreg-coalescer.mir
M llvm/test/CodeGen/PowerPC/xxinsertw.ll
M llvm/test/CodeGen/X86/GlobalISel/select-ext-x86-64.mir
M llvm/test/CodeGen/X86/GlobalISel/select-ext.mir
M llvm/test/CodeGen/X86/GlobalISel/x86_64-select-zext.mir
M llvm/test/CodeGen/X86/apx/foldimmediate.mir
M llvm/test/CodeGen/X86/callbr-asm-different-indirect-target.mir
M llvm/test/CodeGen/X86/callbr-asm-outputs-indirect-isel.ll
M llvm/test/CodeGen/X86/coalescer-implicit-def-regression-imp-operand-assert.mir
M llvm/test/CodeGen/X86/coalescer-implicit-def-regression.mir
M llvm/test/CodeGen/X86/expand-post-ra-pseudo.mir
M llvm/test/CodeGen/X86/fast-regalloc-live-out-debug-values.mir
M llvm/test/CodeGen/X86/foldimmediate.mir
M llvm/test/CodeGen/X86/opt_phis2.mir
M llvm/test/CodeGen/X86/peephole-test-after-add.mir
M llvm/test/CodeGen/X86/peephole.mir
M llvm/test/CodeGen/X86/pr57673.ll
M llvm/test/CodeGen/X86/regalloc-fast-missing-live-out-spill.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra-inline-spiller.mir
M llvm/test/CodeGen/X86/statepoint-invoke-ra.mir
M llvm/test/CodeGen/X86/statepoint-vreg-details.ll
M llvm/test/CodeGen/X86/subreg-fail.mir
M llvm/test/CodeGen/X86/tail-dup-asm-goto.ll
M llvm/test/CodeGen/X86/tail-dup-pred-succ-size.mir
M llvm/test/DebugInfo/MIR/InstrRef/stack-coloring-dbg-phi.mir
M llvm/test/DebugInfo/MIR/InstrRef/x86-cmov-converter.mir
M llvm/test/DebugInfo/MIR/X86/machine-cse.mir
M llvm/test/DebugInfo/X86/salvage-add-node-indirect.ll
M llvm/test/TableGen/GlobalISelEmitter/Subreg.td
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86_asm_mir_mixed.ll.expected
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86_isel.ll.expected
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[CodeGen] Remove unused first operand of SUBREG_TO_REG (#179690)
The first input operand of SUBREG_TO_REG was an immediate that most
targets set to 0. In practice it had no effect on codegen. Remove it.
Commit: 26b1f61c14768b8104c998ab2579391e5cc766ed
https://github.com/llvm/llvm-project/commit/26b1f61c14768b8104c998ab2579391e5cc766ed
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
A mlir/include/mlir/Dialect/MPI/IR/Utils.h
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
M mlir/lib/Conversion/ShardToMPI/ShardToMPI.cpp
M mlir/lib/Dialect/MPI/IR/MPIOps.cpp
M mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir
M mlir/test/Conversion/ShardToMPI/convert-shard-to-mpi.mlir
A mlir/test/Dialect/MPI/canonicalize.mlir
M mlir/test/Dialect/Shard/partition.mlir
Log Message:
-----------
[mlir][shard,mpi] Fixing lowering allgather shard->mpi->llvm (#178870)
`shard.allgather` concatenates along a specified gather-axis. However,
`mpi.allgather` always concatenates along the first dimension and there
is no MPI operation that allows gathering along an arbitrary axis.
Hence, if gather-axis!=0, we need to create a temporary buffer where we
gather along the first dimension and then copy from that buffer to the
final output along the specified gather-axis. This is not ideal by far.
Along the way also
- fixing computation of memref size in mpitollvm
- adding a simple canonicalization pattern for comm_size for easier
debugging
- adding more tests
Commit: 273ee97738c607d5b9cc32060540fce8f64869fe
https://github.com/llvm/llvm-project/commit/273ee97738c607d5b9cc32060540fce8f64869fe
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sadde.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ssube.mir
Log Message:
-----------
[AMDGPU][GlobalISel] Add G_SADDE/SSUBE RegBankLegalize rule (#179603)
Commit: 7083354fd63b260ed340282d39485c4f86fe6909
https://github.com/llvm/llvm-project/commit/7083354fd63b260ed340282d39485c4f86fe6909
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSubtarget.h
Log Message:
-----------
[RISCV] Remove deprecated RISCVSubtarget::hasStdExtCOrZca(). NFC (#179616)
Commit: 24c7a10730a0c8ddce16741e9996bf11fc6ef885
https://github.com/llvm/llvm-project/commit/24c7a10730a0c8ddce16741e9996bf11fc6ef885
Author: Demetrius Kanios <demetrius at kanios.net>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
A clang/test/CodeGen/WebAssembly/builtins-table-externref.c
A clang/test/CodeGen/WebAssembly/builtins-table-funcref.c
R clang/test/CodeGen/WebAssembly/builtins-table.c
A clang/test/Sema/wasm-funcref-table.c
Log Message:
-----------
[Clang][WebAssembly] Fix WASM tables to allow `__funcref` function pointers (#178720)
Allows __funcref pointers to be used as the element type for WASM tables
in Clang (static, global, zero-length arrays of a reference type).
Modifies `QualType::isWebAssemblyFuncrefType` to correctly look at the
addrspace of the pointee, rather than the pointer type.
Related: #140933
Commit: 6d96ae6aa86feaece76f14d8b52d1d2d5d641914
https://github.com/llvm/llvm-project/commit/6d96ae6aa86feaece76f14d8b52d1d2d5d641914
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
Log Message:
-----------
[RISCV] Add tied destination constraint to CustomSiFiveVMACC. (#179567)
As the name suggess, these are multiply-accumulate instructions and
thus they have 3 sources.
Commit: 082a47d8944da242993bf28980b07f2c8c3df4a6
https://github.com/llvm/llvm-project/commit/082a47d8944da242993bf28980b07f2c8c3df4a6
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M lldb/test/Shell/helper/toolchain.py
Log Message:
-----------
[lldb-dap] fix executable substitution in tests (#179685)
This patch fixes the `lldb-dap` executable substitution in tests. This
was not done before.
Commit: e8b7181762826371324b5c05e3e84d1b685fcf4c
https://github.com/llvm/llvm-project/commit/e8b7181762826371324b5c05e3e84d1b685fcf4c
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Utils/Evaluator.cpp
Log Message:
-----------
[Evaluator] require invariant size to fully span the global (#179518)
Relying on the semantics of the type here is a bit potentially awkward,
since the full allocated space may be accessible to the user if desired,
since that space is defined to be a part of the type's sizeof
computation (e.g. for a `memcpy(gv, gv, sizeof(*gv))` or when making an
array of them). It also gets in the way of removing getAllocatedType
from AllocaInst entirely (they are converted to GlobalVariable
sometimes). It was originally added in
519561f418c77dcf46fd6d96d25d884fa07fd7da, though "correct size" is a
difficult thing to define.
The frontend (in clang) appears to always emit the full type size here,
so there seems like this shouldn't be visible change to clang users.
This is still a bit awkward though, since a global is defined to be any
size that is bigger than this unless it has a known initizalizer,
rendering the test still incomplete here against the IR semantics.
Commit: 9a47c3bcba38b5e203cc8bd02db753e58b750707
https://github.com/llvm/llvm-project/commit/9a47c3bcba38b5e203cc8bd02db753e58b750707
Author: weiguozhi <57237827+weiguozhi at users.noreply.github.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocGreedy.h
M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
A llvm/test/CodeGen/AArch64/ragreedy-csr2.ll
Log Message:
-----------
[RegAlloc] Change the computation of CSRCost (#177226)
This patch fixes https://github.com/llvm/llvm-project/issues/150737.
The original computed CSRCost is too small, so the optimization of
spilling instead of using CSR is rarely triggered.
Also the original cost model is too difficult to be understood and too
hard to be tuned by backend developers and users.
So this patch changes the CSRCost to be
CSRCost = TRI->getCSRFirstUseCost() * EntryFreq * Scale
TRI->getCSRFirstUseCost() is the raw cost of save/restore a CSR. Usually
we don't need to tune this number.
EntryFreq is the BlockFrequency of the entry block.
Scale is used to scale down the CSRCost, because we usually prefer a CSR
register instead of spilling if we have similar CSRCost and spill cost,
so it should be less than 100%. We usually tune this number.
Another problem is the original function RAGreedy::calcSpillCost()
actually computes a cost for block split, so this patch also implements
a correct RAGreedy::calcSpillCost() function.
This new behavior is not enabled by default. This optimization is used
by 3 targets (AArch64 / AMDGPU / RISCV), I will change them one by one
in following patches.
Commit: 0dd21ad1c6a304f4d446d067b80e8e364e6340e3
https://github.com/llvm/llvm-project/commit/0dd21ad1c6a304f4d446d067b80e8e364e6340e3
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c
M clang/test/CodeGen/AMDGPU/full-bf16.c
M clang/test/CodeGen/amdgpu-abi-version.c
M clang/test/CodeGen/builtins-extended-image.c
M clang/test/CodeGen/builtins-image-load.c
M clang/test/CodeGen/scoped-atomic-ops.c
M clang/test/CodeGen/target-addrspace.cpp
M clang/test/CodeGenCUDA/amdgpu-bf16.cu
M clang/test/CodeGenCUDA/spirv-amdgcn-bf16.cu
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenHIP/amdgpu-barrier-type.hip
M clang/test/CodeGenHIP/builtins-make-buffer-rsrc.hip
M clang/test/CodeGenHIP/hip_weak_alias.cpp
M clang/test/CodeGenHIP/printf.cpp
M clang/test/CodeGenHIP/printf_nonhostcall.cpp
M clang/test/CodeGenHIP/sanitize-undefined-null.hip
M clang/test/CodeGenHIP/spirv-amdgcn-ballot.cpp
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/atomic-ops.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M clang/test/CodeGenOpenCL/check-atomic-alignment.cl
M clang/test/CodeGenSYCL/function-attrs.cpp
M clang/test/Headers/__clang_hip_libdevice_declares.cpp
M clang/test/Headers/amdgcn_openmp_device_math.c
M clang/test/Headers/amdgcn_openmp_device_math_c.c
M clang/test/Headers/amdgcn_openmp_device_math_constexpr.cpp
M clang/test/Headers/gpu_disabled_math.cpp
M clang/test/Headers/gpuintrin.c
M clang/test/Headers/gpuintrin_lang.c
M clang/test/Headers/openmp-device-functions-bool.c
M clang/test/Headers/openmp_new_nothrow.cpp
M clang/test/OpenMP/amdgcn_weak_alias.c
M clang/test/OpenMP/amdgcn_weak_alias.cpp
Log Message:
-----------
[clang] remove addrspace cast from CreateIRTemp (#179327)
This just added unnecessary work to the IR, since they are only used for
load and store, which just causes some IR noise. Tests updated by UTC
script to remove the extra lines.
Commit: b20fca82ab0c4754e838a8e1eba3a7f49a2dbab0
https://github.com/llvm/llvm-project/commit/b20fca82ab0c4754e838a8e1eba3a7f49a2dbab0
Author: RattataKing <amilywu2 at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M mlir/include/mlir/Bindings/Python/Diagnostics.h
M mlir/include/mlir/Bindings/Python/Globals.h
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
M mlir/include/mlir/Bindings/Python/NanobindUtils.h
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/Bindings/Python/Globals.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
Log Message:
-----------
[MLIR][Python] Remove partial LLVM APIs in python bindings (3/n) (#178984)
This PR continues work from #178290
It cleans up multiple LLVM utilities in *.h files under
`mlir/Bindings/python`, along with the corresponding *.cpp files.
Commit: ba8df39898dea2003770163ffc43b6b911f71f2b
https://github.com/llvm/llvm-project/commit/ba8df39898dea2003770163ffc43b6b911f71f2b
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
Log Message:
-----------
Add SDNodeFlag::NoConvergent (#179323)
Commit: b9b7b31e2368eef78c69096c5b680c3ac7484ab9
https://github.com/llvm/llvm-project/commit/b9b7b31e2368eef78c69096c5b680c3ac7484ab9
Author: Jun Wang <jwang86 at yahoo.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
A llvm/test/MC/AMDGPU/exp-gfx11.s
A llvm/test/MC/AMDGPU/gfx10_asm_exp.s
M llvm/test/MC/AMDGPU/gfx11_asm_exp.s
M llvm/test/MC/AMDGPU/gfx12_asm_exp.s
M llvm/test/MC/AMDGPU/gfx9_asm_exp.s
Log Message:
-----------
[AMDGPU][MC] Allow nodone etc. in exp instructions (#172749)
This patch allows nodone, nocompr, novm, and norow_en to be used in exp
instructions to indicate the corresponding modifiers are not present.
Commit: 9fa14216a12ad5825f79830d02e8dff374db8bee
https://github.com/llvm/llvm-project/commit/9fa14216a12ad5825f79830d02e8dff374db8bee
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir][shard,mpi] Port #178870: arith dialect dep (#179723)
Commit: 320c3309897dc8279300fc3d233c5d677cf0053a
https://github.com/llvm/llvm-project/commit/320c3309897dc8279300fc3d233c5d677cf0053a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
M flang/test/Fir/CUDA/cuda-device-func-transform.mlir
Log Message:
-----------
[flang][cuda] Update visibility of declaration copied to in gpu.module (#179725)
https://github.com/llvm/llvm-project/pull/179362 changes which op is
checked for visibility during nested symbol resolution. This cause
issues in the CUDA Fortran pipeline and make some lookup fails. Update
the visibility of declaration copied to the gpu.module to nested.
Commit: d9da5d7626b0ea8d8f1d04ce017f147269512ef3
https://github.com/llvm/llvm-project/commit/d9da5d7626b0ea8d8f1d04ce017f147269512ef3
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU][SIInsertWaitcnt][NFC] Move eventCounter() function (#178949)
The eventCounter() function searches through the array of events. This
array is owned by the WaitcntGenerator class.
This patch moves the function into the WaitcntGenerator class which
helps hide the event array from the user.
It also renames it to getCounterFromEvent().
This should be NFC.
Commit: 9f1a9d24813c0c1b89d24063825a7fb8ca64a3a1
https://github.com/llvm/llvm-project/commit/9f1a9d24813c0c1b89d24063825a7fb8ca64a3a1
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/utils/lit/lit/run.py
M llvm/utils/lit/tests/lit.cfg
A llvm/utils/lit/tests/single-process.py
Log Message:
-----------
[lit] Avoid multiprocessing for -j1 runs (#175587)
### Problem
When running `lit` with `-j1` in a sandboxed environment (e.g., [Cursor
Sandbox Mode](https://cursor.com/blog/enterprise#sandbox-mode)), `lit`
crashes with `PermissionError: [Errno 1] Operation not permitted`
because it still attempts to create a `multiprocessing.Pool`, which
requires POSIX semaphores (`/dev/shm/sem.*`) that are blocked by the
sandbox.
**Reproducer:** Run any lit test suite with `-j1` in a [restricted
sandbox](https://cursor.com/blog/enterprise#sandbox-mode):
`LIT_OPTS="-j1 -v" ninja check-lld`
**Error trace:**
https://gist.github.com/alx32/0dc6abb45c40cf5753669e4c6cce929d
### Solution
When `workers == 1`, skip `multiprocessing.Pool` entirely and run tests
sequentially in the main process. This avoids creating POSIX semaphores
that fail in sandboxed environments.
To properly support `--max-time` in single-process mode (where we can't
terminate workers mid-test), we temporarily set `maxIndividualTestTime`
to the remaining time before the deadline. If a test times out due to
hitting the deadline, it's marked as SKIPPED to match multiprocessing
behavior.
### Testing
Added `single-process.py` test that uses strace to verify:
- With `-j1`: No `/dev/shm/sem.*` POSIX semaphores are created
- With `-j2`: Semaphores ARE created (validates the test won't XPASS)
### Historical Context
Lit previously had a "single process mode" that was:
- **Added** in Sept 2017 (42b6dcbcef4f) for debugging
- **Enhanced** in Feb 2019 (96adb78b120b) to auto-enable for `-j1`
- **Removed** in Oct 2019 (f3c329986cf4) as it "did not carry its
weight"
The original motivation was performance/debugging. The new motivation is
**compatibility with sandboxed execution environments** where
multiprocessing primitives are unavailable.
[Assisted-by](https://t.ly/Dkjjk): Cursor IDE + claude-opus-4.5-high +
gpt-5.2-xhigh
Commit: 3fcba45de123f2c3a09faf50b51f507437fe6b21
https://github.com/llvm/llvm-project/commit/3fcba45de123f2c3a09faf50b51f507437fe6b21
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/utils/lit/lit/run.py
M llvm/utils/lit/tests/lit.cfg
R llvm/utils/lit/tests/single-process.py
Log Message:
-----------
Revert "[lit] Avoid multiprocessing for -j1 runs (#175587)"
This reverts commit 9f1a9d24813c0c1b89d24063825a7fb8ca64a3a1.
This caused quite a few buildbot failures (see failures on the PR). It
does not look like a trivial fix to me.
Commit: 65c46fee1df4026273b8033a0486e66a2f5e6b35
https://github.com/llvm/llvm-project/commit/65c46fee1df4026273b8033a0486e66a2f5e6b35
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
A llvm/test/CodeGen/Hexagon/dag-isel-balancetree-rauw.ll
Log Message:
-----------
[Hexagon] Fix use-after-poison in balanceSubTree (#179239)
The balanceSubTree() function in HexagonISelDAGToDAG was accessing node
operands after recursive calls that could invalidate those nodes through
RAUW.
Use pre-captured Op0/Op1 values instead of re-accessing N's operands
after BST calls, add bounds checking before accessing node operands in
several places, check if nodes were RAUW'd before calling getHeight() on
them.
Commit: 68592fa7ee61f2bd5c648105203f002b5f6067e9
https://github.com/llvm/llvm-project/commit/68592fa7ee61f2bd5c648105203f002b5f6067e9
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/test/ClangScanDeps/prune-scanning-modules.m
Log Message:
-----------
[ClangScanDeps][test] Avoid writing to readonly dirs (#179733)
Writing files to the current dir fails when tests are run in an
environment w/ a readonly build tree. The normal fix is to write to an
explicitly writeable dir (i.e. `-o %t/info.json`), but since we don't
actually do anything w/ info.json, just write to `/dev/null` instead.
Commit: ccb58432e31c9c0174e2273fe1c12c4c0b5128d8
https://github.com/llvm/llvm-project/commit/ccb58432e31c9c0174e2273fe1c12c4c0b5128d8
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M libcxx/include/__algorithm/ranges_reverse_copy.h
M libcxx/include/__iterator/reverse_iterator.h
Log Message:
-----------
[libc++] Use views::reverse to implement ranges::reverse_copy (#177123)
We currently have a custom utility `__reverse_range`, which does
basically the same thing as `views::reverse` and the only place where we
use it is in `ranges::reverse_copy`. Instead of this special utility, we
can simply use `views::reverse`.
This has originally been introduced due to compile time concerns.
However, there doesn't seem to actually be a significant compile time
regression overall.
Commit: ecd0e7df8c8207589a675203d163d8709d8a6e82
https://github.com/llvm/llvm-project/commit/ecd0e7df8c8207589a675203d163d8709d8a6e82
Author: Saleem Abdulrasool <compnerd at compnerd.org>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Support/Windows/Path.inc
Log Message:
-----------
Support: allow `llvm::sys::fs::rename` to rename a directory on Windows (#179739)
`CreateFileW` must be passed `FILE_FLAG_BACKUP_SEMANTICS` to allow a
handle to a directory to be acquired. Without this, we would previously
fail with permission denied if a directory was attempted to be renamed.
Commit: 639a8d1f1d7a87ec5a8a61745b9a708a5a672df4
https://github.com/llvm/llvm-project/commit/639a8d1f1d7a87ec5a8a61745b9a708a5a672df4
Author: Ian Anderson <iana at apple.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/include/clang/Basic/TargetOSMacros.def
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/test/Driver/darwin-fapple-link-rtlib.c
M clang/test/Driver/darwin-ld.c
M clang/test/Driver/fdefine-target-os-macros.c
A clang/test/Driver/unsupported-target-vendor.c
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[Triple] Make a target triple "os" for firmware (#176272)
Make a Triple::OSType to support a generic "firmware" OS that isn't bare
metal, but isn't tied to a specific hardware platform like macOS or iOS.
Hook up support for the new OSType in the Darwin toolchain.
Commit: b33a0e61014cac598b251b803ada68661d2fb4da
https://github.com/llvm/llvm-project/commit/b33a0e61014cac598b251b803ada68661d2fb4da
Author: Alex Wang <yesterda9 at gmail.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
A llvm/test/CodeGen/AMDGPU/llvm.modf.ll
A llvm/test/CodeGen/AMDGPU/modf-constant-fold.ll
Log Message:
-----------
[SelectionDAG] Add expansion for llvm.modf intrinsic (#179434)
Targets without a `modf` libcall lower the intrinsic directly, matching
the existing `llvm.frexp` expansion. Targets with an existing libcall
are unchanged.
Fixes #173021
Commit: 49288b652301651df6f09da638f78d6676c23564
https://github.com/llvm/llvm-project/commit/49288b652301651df6f09da638f78d6676c23564
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
A llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/vplan.ll
A llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/vplan.ll.expected
A llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/vplan.test
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/update_analyze_test_checks.py
Log Message:
-----------
[UTC] Add initial VPlan support. (#178534)
Add support for extracting a VPlan from LV debug output and generalizing
matching for unnamed VPValues.
Once we have support for -vplan-print-after=xxxx we can strip the logic
to extract a VPlan manually. We cannot use regex, as we need to match
from start opening bracket to the correct closing bracket.
PR: PR: https://github.com/llvm/llvm-project/pull/178534
Commit: 3e1e86ef1fb8973f90cde376d5ad2d79ec7f52d9
https://github.com/llvm/llvm-project/commit/3e1e86ef1fb8973f90cde376d5ad2d79ec7f52d9
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.to.lds.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-lds-dma-volatile-and-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/waitcnt-unscoped.ll
Log Message:
-----------
[AMDGPU] Return two MMOs for load-to-lds and store-from-lds intrinsics (#175845)
Accurately represent both the load and the store part of those intrinsics.
The test changes seem to be mostly fairly insignificant changes caused
by subtly different scheduler behavior.
Commit: 1f8a3f2fdbf51cbba4635ef05e8139039a105c2c
https://github.com/llvm/llvm-project/commit/1f8a3f2fdbf51cbba4635ef05e8139039a105c2c
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/test/CIR/CodeGen/integer-overflow.c
Log Message:
-----------
[CIR] Fix a problem with createSub default overflow behavior (#179731)
When the createSub function was added in CIRBaseBuilderTy, the default
for the overflow behavior parameter was set to
OverflowBehavior::Saturated. This led to incorrect behavior for
subtraction when the -fwrapv option was used, but we didn't have a test
for that so it wasn't noticed.
This change adds a test and corrects the behavior.
Commit: 89655bda0daf3bc13c74b3020fbc463b8e4506d4
https://github.com/llvm/llvm-project/commit/89655bda0daf3bc13c74b3020fbc463b8e4506d4
Author: Florian Mayer <fmayer at google.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/abseil/unchecked-statusor-access.rst
Log Message:
-----------
[NFC] [clang-tidy] Add doc about FP in unchecked-statusor-access (#179592)
Commit: 9e146f757b26944cf639114d49aab7e5e9a24865
https://github.com/llvm/llvm-project/commit/9e146f757b26944cf639114d49aab7e5e9a24865
Author: Alexey Bader <alexey.bader at intel.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[NFC][clang-sycl-linker] Rename runSPIRVCodeGen to runCodeGen. (#179372)
`runSPIRVCodeGen` function doesn't use SPIR-V backend explicitly. The
backend is chosen based on `-triple` option value. Technically
`clang-sycl-linker` tool can emit PTX or a binary format based on the
triple value.
Fixed comments.
Commit: 861d2e2dd352895f4a1a0e4efac66aa5e713a56f
https://github.com/llvm/llvm-project/commit/861d2e2dd352895f4a1a0e4efac66aa5e713a56f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/test/MC/RISCV/option-arch.s
M llvm/test/MC/RISCV/rv32dc-valid.s
M llvm/test/MC/RISCV/rv32fc-valid.s
M llvm/test/MC/RISCV/rv64dc-valid.s
Log Message:
-----------
[RISCV] Deprecate RISCVSubtarget::hasStdExtCOrZcd() and hasStdExtCOrZcfOrZce(). (#179762)
Replace with hasStdExtZcd() and hastStdExtZcf().
Creation of RISCVSubtarget/MCSubtargetInfo handles implication of Zcf
and Zcd now. The exception is .option arch handling which will require
+zcf and +zcd to be listed explicitly. I'll try to fix this in a follow
up. #155035 had the same issue.
I've left the error messages mentioning both Zcf and C+F/D. We can
consider changing that in a follow up.
Commit: 2e429f7e1f5b490a703de4cf06ef65eed784f7ab
https://github.com/llvm/llvm-project/commit/2e429f7e1f5b490a703de4cf06ef65eed784f7ab
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M mlir/include/mlir/Dialect/MPI/IR/Utils.h
Log Message:
-----------
[mlir][shard,mpi][NFC] Add missing header (#179777)
Utils.h uses `mlir::mpi::CommWorldOp` w/o including the necessary header
(https://llvm.org/docs/CodingStandards.html#self-contained-headers),
making this not self contained. It only works because all the .cpp files
that use it have the necessary include.
Commit: 00e2649f030fe7841d97eca0c7166d7828664e68
https://github.com/llvm/llvm-project/commit/00e2649f030fe7841d97eca0c7166d7828664e68
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
M clang/test/CIR/CodeGen/new.cpp
Log Message:
-----------
[CIR] Upstream support for array new with non-empty ILE (#179556)
This adds CIR support for handling array new initialization with a
non-empty initializer list.
Commit: c51a758d7fe4d2168e62dfca5e1ef66a20d60d65
https://github.com/llvm/llvm-project/commit/c51a758d7fe4d2168e62dfca5e1ef66a20d60d65
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[lldb][test] Add SBExpressionOptions parameter to expect_expr (#177920)
Allows API tests to pass `SBExpressionOptions` when testing a successful
expression evaluation with `expect_expr`. Currently one would have to
use `SBFrame::EvaluateExpression` or pass the option as an argument to
the raw command (via `expect()` or `HandleCommand()`).
Chose not to do the `SetIgnoreBreakpoints`/`SetAutoApplyFixIts` with the
assumption that most expression evaluation tests don't actually need to
care about these. If the options are passed explicitly, lets use them
as-is. Otherwise default to the old options.
First usage of this new parameter would be in
https://github.com/llvm/llvm-project/pull/177926
Commit: 2e52de5aa26aa9e77bfacb7d330a63ac7a585ca5
https://github.com/llvm/llvm-project/commit/2e52de5aa26aa9e77bfacb7d330a63ac7a585ca5
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M lldb/bindings/interface/SBExpressionOptionsDocstrings.i
M lldb/include/lldb/API/SBExpressionOptions.h
M lldb/include/lldb/Target/Target.h
M lldb/source/API/SBExpressionOptions.cpp
M lldb/source/Target/Target.cpp
M lldb/test/API/commands/expression/options/TestExprOptions.py
M lldb/unittests/Expression/ExpressionTest.cpp
Log Message:
-----------
[lldb][Expression] Add API to set/get language-specific expression options (#179208)
The motivation here is that we don't want to pollute the SBAPI with
getters/setters for expression evaluation options that only apply to a
single language. The ultimate goal would be to have plugins register
additional options to the `expression` command when the plugin is
loaded. This patch only provides the minimal `SBExpressionOptions`
interface to set an option with an arbitrary name, which the language
plugin knows how to interpret. The underlying options dictionary is an
`StructuredData::Dictionary` so we can map strings to values of any
type. But the SBAPI just exposes setting a boolean value. Future
overloads of `SetLanguageOption` can provide setters for more types.
The boolean setter/getter will be used for the C++-specific option being
introduced in: https://github.com/llvm/llvm-project/pull/177926
Commit: 61118643c07a6232ffe0614cf4750d365cf5607d
https://github.com/llvm/llvm-project/commit/61118643c07a6232ffe0614cf4750d365cf5607d
Author: Justin Bogner <mail at justinbogner.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/test/CodeGenHLSL/resources/cbuffer_geps.hlsl
Log Message:
-----------
[HLSL] Fix miscompile of small structs after arrays in cbuffers (#179768)
We weren't accounting for skipped fields correctly when emitting struct
member exprs, which could lead to us reading padding instead of the
member itself when a struct followed an array.
Fixes #179716
Commit: d97ce9bc04394de6464b0278fe2d250bcc8f3a1b
https://github.com/llvm/llvm-project/commit/d97ce9bc04394de6464b0278fe2d250bcc8f3a1b
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
Log Message:
-----------
[LV] Use DomTree DFS numbers to sort early exit blocks.
properlyDominates does not provide a strict weak ordering. Use DFS in
numbers instead, to avoid ordering violations.
Commit: 66ba9c9475c7628893f387f1b9d9d3056b05d995
https://github.com/llvm/llvm-project/commit/66ba9c9475c7628893f387f1b9d9d3056b05d995
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/utils/mlgo-utils/mlgo/corpus/extract_ir_lib.py
Log Message:
-----------
[MLGO] Ensure cmd_filter is marked Optional (#179781)
cmd_filter is supposed to be set to None if there is no filter according
to the API documentation. This is not actually allowed currently though
according to the type information. Update the type information to match
what is intended.
Commit: 0cac3e381dc956f6e14cf0809dc054d7f68ff4bb
https://github.com/llvm/llvm-project/commit/0cac3e381dc956f6e14cf0809dc054d7f68ff4bb
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
M llvm/lib/Target/Lanai/LanaiInstrInfo.cpp
M llvm/lib/Target/Lanai/LanaiInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
Log Message:
-----------
[CodeGen][TII] Delete analyzeSelect hook (#175828)
The only caller of this function (`PeepholeOptimizer::optimizeSelect`)
did not use most of the parameters, was broadly equivalent to
`MI->isSelect()`, and the `optimizeSelect` hook can return `nullptr`
anyway.
Update `optimizeSelect` to return `nullptr` by default rather than
asserting when not implemented.
Commit: 031a90e977bd209e7bbaf7ba102ea9cf6d78c8ba
https://github.com/llvm/llvm-project/commit/031a90e977bd209e7bbaf7ba102ea9cf6d78c8ba
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/test/Driver/hip-rdc-device-only.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/hip-toolchain-rdc-separate.hip
M clang/test/Driver/hip-toolchain-rdc.hip
M clang/test/Driver/hipspv-toolchain-rdc.hip
M clang/test/Driver/hipspv-toolchain.hip
M clang/test/SemaCUDA/vararg.cu
Log Message:
-----------
[Clang] Remove use of deprecated `-fucda-allow-variadic-functions` (#179724)
Summary:
This option is a no-op but we're still passing it in places. Just remove
it entirely.
Commit: 4e21141bae0dac9eadd28fe230ffe213cd156af6
https://github.com/llvm/llvm-project/commit/4e21141bae0dac9eadd28fe230ffe213cd156af6
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M .github/workflows/issue-release-workflow.yml
Log Message:
-----------
workflows/issue-release-workflow: Add an environment in order to limit secret access (#179585)
I've created a new environment called `main-branch-only` which is meant
to be used for running the GitHub Actions based automations for the
project. By using an environment, we can move some of the secrets we use
from the repository configuration and into the environment
configuration, which means they will only be accessible for jobs that
run on the branch we specify, which in this case is the main branch.
This will prevent people from using user branches as a way to gain
access to secret values (which they can do now very easily by creating a
workflow that dumps the secrets). Even though someone could still do
this by pushing to main, user branches are hard to monitor and they can
be easily deleted after dumping the secrets leaving no trace.
If someone where to do this on the main branch it would be much more
visible and impossible to cover up.
I would like to apply this to more workflows, but I'm starting here so I
can test it and make sure it works the way I expect.
Commit: 1ade879267e8d4e2314b45fcd63e9fbbc8249226
https://github.com/llvm/llvm-project/commit/1ade879267e8d4e2314b45fcd63e9fbbc8249226
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M .github/workflows/release-binaries.yml
Log Message:
-----------
workflows/release-binaries: Fix typo (#178732)
This was causing the attestation-name to be null which caused the attestation upload to fail.
Commit: 14e50aa4c53e4ef1c3d3b6c31fd01815a0c1bfb6
https://github.com/llvm/llvm-project/commit/14e50aa4c53e4ef1c3d3b6c31fd01815a0c1bfb6
Author: Ilgar Gamidov <braam76.gamidov at yandex.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M mlir/include/mlir/ExecutionEngine/MemRefUtils.h
M mlir/unittests/ExecutionEngine/CMakeLists.txt
A mlir/unittests/ExecutionEngine/OwningMemRef.cpp
Log Message:
-----------
[mlir][ExecutionEngine] Fix missing return from operator==() in `OwningMemRef` (#179655)
Closes [#91233](https://github.com/llvm/llvm-project/issues/91233)
mlir/include/mlir/ExecutionEngine/MemRefUtils.h:190:No 'return'
statement in non-void function
---------
Co-authored-by: braam-76 <braam67.gamidov at yandex.com>
Commit: 6de2b513c6d13089f4190584a88602de8964813e
https://github.com/llvm/llvm-project/commit/6de2b513c6d13089f4190584a88602de8964813e
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
M llvm/utils/git/requirements.txt
M llvm/utils/git/requirements.txt.in
Log Message:
-----------
workflows/release-binaries: Add support for Windows ARM builds (#177609)
Commit: 6e98a933576da3fc368af394f630d454c1160ee3
https://github.com/llvm/llvm-project/commit/6e98a933576da3fc368af394f630d454c1160ee3
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
Log Message:
-----------
[LV] Make sure DFS numbers are valid before use.
This fixes random crashes with expensive checks after
d97ce9bc04394de6464b0278fe2d250bcc8f3a1b, as accessing DFS numbers is
only safe after calling updateDFSNumbers.
Commit: 28878137f0698b6b13bc6d77bfd0b97a72171b57
https://github.com/llvm/llvm-project/commit/28878137f0698b6b13bc6d77bfd0b97a72171b57
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/shl-to-add-transformation4.ll
Log Message:
-----------
[SLP][NFC]Add another test for shl-to-add transformation, NFC
Commit: dbafda598f92fc903414a8a6f924238fb534e082
https://github.com/llvm/llvm-project/commit/dbafda598f92fc903414a8a6f924238fb534e082
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[CI] Move libclc to runtimes (#179795)
https://github.com/llvm/llvm-project/pull/179485 deprecated enabling
this as a project which will cause premerge to fail in CMake when
testing it (currently only done when touching libclc, .ci, or .github).
Commit: fab5b1858d02ffed88b76d33f7c691ee4e0c82fb
https://github.com/llvm/llvm-project/commit/fab5b1858d02ffed88b76d33f7c691ee4e0c82fb
Author: Akshay Deodhar <adeodhar at nvidia.com>
Date: 2026-02-04 (Wed, 04 Feb 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:
-----------
Reland "[NVPTX][AtomicExpandPass] Complete support for AtomicRMW in NVPTX (#176015)" (#179553)
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.
Initially failed due to error: ptxas fatal : Value 'sm_60' is not
defined for option 'gpu-name'. Updated RUN lines in atomicrmw-sm*.py to
skip the ptxas-verify check if ptxas does not support that SM version.
Commit: 0129251487104adc73e0662709061a2b2215ef18
https://github.com/llvm/llvm-project/commit/0129251487104adc73e0662709061a2b2215ef18
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-05 (Thu, 05 Feb 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/test/CIR/IR/cleanup-scope.cir
Log Message:
-----------
[CIR] Allow return from cleanup scope op (#179820)
When the cir.cleanup.scope operation was added, it was not added to the
list of "returnable" operations. This fixes that oversight.
Commit: 0ec69a96d6ee2a6635b43963ad5e40943d775d30
https://github.com/llvm/llvm-project/commit/0ec69a96d6ee2a6635b43963ad5e40943d775d30
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-02-05 (Thu, 05 Feb 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
Log Message:
-----------
[CIR][NFC] Cleanup some stale missing features markers (#179822)
This deletes a few missing features markers where the missing code had
actually been implemented and deletes a handful that were not being used
anywhere.
Commit: bb7d1efbbd17bfaeeb68c10d425848e8e1396fc1
https://github.com/llvm/llvm-project/commit/bb7d1efbbd17bfaeeb68c10d425848e8e1396fc1
Author: Thurston Dang <thurston at google.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[msan] Add intermediate verbosity instruction dump (#178771)
This patch does not change MSan's instrumentation.
-msan-dump-{heuristic,strict}-instructions currently prints out two
lines per instruction:
1) instruction name only e.g., `call llvm.aarch64.neon.uqsub.v16i8`
2) the full instruction, including actual variables e.g., `%vqsubq_v.i15
= call noundef <16 x i8> @llvm.aarch64.neon.uqsub.v16i8(<16 x i8>
%vext21.i, <16 x i8> splat (i8 1)), !dbg !66`
Option 1) is too sparse for some uses, because it does not contain the
return types or parameter types (although `.v16i8` is part of the
function name in this example, in general, the function name does not
describe the types completely; e.g., `<16 x float>
llvm.x86.avx512.mask.scalef.ps.512(<16 x float>, <16 x float>, <16 x
float>, i16, i32)`). OTOH option 2) can be too verbose because it
contains the actual variables.
This patch adds a Goldilocks-verbosity line:
- instruction prototype (including return type and parameter types)
e.g., `call <16 x i8> @llvm.aarch64.neon.uqsub(<16 x i8>, <16 x i8>)`.
Note that this uses the base/non-overloaded function name, since the
parameter types are already included in the output.
Commit: 17eac111712bf7ce90f2c4cf577f97b9aab2799b
https://github.com/llvm/llvm-project/commit/17eac111712bf7ce90f2c4cf577f97b9aab2799b
Author: Thurston Dang <thurston at google.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/test/Instrumentation/MemorySanitizer/AArch64/aarch64-bf16-dotprod-intrinsics.ll
Log Message:
-----------
[msan][NFCI] Remove redundant tests from aarch64-bf16-dotprod-intrinsics.ll (#178832)
https://github.com/llvm/llvm-project/pull/178510#discussion_r2739401507
requested simplifying test cases by using parameters directly for the
intrinsic calls. Doing that reduces the test case to duplicates of
existing tests, thus this patch deletes the redundant tests.
Commit: d0f9373409d410a54ac17b0178d5963bf668eec9
https://github.com/llvm/llvm-project/commit/d0f9373409d410a54ac17b0178d5963bf668eec9
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp
Log Message:
-----------
[mlir][gpu][pipeline] Add missing passes in XeGPU to XeVM pipeline (#179320)
Commit: 07ebb18e07fb9e009b1f738d6214a49c7bbe8fee
https://github.com/llvm/llvm-project/commit/07ebb18e07fb9e009b1f738d6214a49c7bbe8fee
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2026-02-05 (Thu, 05 Feb 2026)
Changed paths:
M llvm/test/tools/llvm-profgen/Inputs/coff-profile.exe
A llvm/test/tools/llvm-profgen/Inputs/coff-profile.pdb
M llvm/test/tools/llvm-profgen/coff-profile.test
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
Log Message:
-----------
[llvm-profgen] Support loading symbols from symtab for COFF (#179175)
PE has strict size constraints. The DWARF sections can occupy a
significant amount of spaces. When using pseudo probe, the symtab
already contains all the required info except symbol size. This
patch teachs llvm-profgen to load symbol size from PDB file.
Commit: 8ab29461c3d9c16ac05a415b235d6a3bf6425645
https://github.com/llvm/llvm-project/commit/8ab29461c3d9c16ac05a415b235d6a3bf6425645
Author: Wenju He <wenju.he at intel.com>
Date: 2026-02-05 (Thu, 05 Feb 2026)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGenOpenCL/fpmath.cl
M clang/test/CodeGenOpenCL/sqrt-fpmath.cl
Log Message:
-----------
[OpenCL] Set half-precision Div and Sqrt accuracy (#179621)
OpenCL spec relaxed half-precision divide to 1 ULP and sqrt to 1.5 ULP
in https://github.com/KhronosGroup/OpenCL-Docs/pull/1293
https://github.com/KhronosGroup/OpenCL-Docs/pull/1386
This can enable target to use hardware rcp instruction for half.
Commit: 0b3934d67784728a72c4f63b1474bf4181b5607b
https://github.com/llvm/llvm-project/commit/0b3934d67784728a72c4f63b1474bf4181b5607b
Author: int-zjt <zhangjiatong.0 at bytedance.com>
Date: 2026-02-05 (Thu, 05 Feb 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/Transforms/SROA/basictest.ll
M llvm/test/Transforms/SROA/sroa-common-type-fail-promotion.ll
Log Message:
-----------
[SROA] Avoid redundant `.oldload` generation when `memset` fully covers a partition (#179643)
In our internal (ByteDance) builds we frequently hit very large
`DeadPhiWeb`s that cause serious compile-time slowdowns, especially in
some auto-generated code where a single file can take 20+ minutes to
compile. There were previous attempts to reduce `DeadPhiWeb` in
`InstCombine` (e.g. llvm/llvm-project#108876 and
llvm/llvm-project#158057), but in our workload we still see a lot of
time spent later in the pipeline (notably `JumpThreading` and
`CorrelatedValuePropagation`).
After digging into our cases, a big chunk of the `DeadPhiWeb` comes from
SROA rewriting `memset`s. We often end up with patterns like:
```
%.sroa.xxx.oldload = load <ty>, ptr %.sroa.xxx
%unused = ptrtoint ptr %.sroa.xxx.oldload to i64 ; or a bitcast-like use
store <ty> <new_value>, ptr %.sroa.xxx
```
Even if `%unused` is cleaned up by later DCE-style passes, the
load/store shape can still make `PromoteMem2Reg` conservatively treat
many blocks as live-in when computing IDF. With cyclic CFGs this can
easily create large, sticky dead phi webs, and the rest of the pipeline
pays for it.
The core issue is that `visitMemSetInst` was using the slice’s original
offsets (`BeginOffset`/`EndOffset`) when deciding whether it needs to
merge with an `.oldload` to preserve bytes not written by the `memset`.
First, there was a typo in the original condition (`EndOffset !=
NewAllocaBeginOffset` instead of `EndOffset != NewAllocaEndOffset`),
which effectively made the check always true and forced the merge path
in most cases. Second, even if the typo is fixed, comparing the original
slice range against the partition bounds is still too strict: cases
where the `memset` contains the partition (e.g. a large `memset` over
the whole alloca while the partition is just a subrange) would still be
misclassified as requiring an `.oldload`. Both issues lead to many
redundant loads and downstream dead phi webs.
This change switches the check to use the already-computed intersection
offsets (`NewBeginOffset`/`NewEndOffset`) against the partition bounds,
so we only generate `.oldload` when the `memset` actually writes only
part of the partition:
```diff
- if (IntTy && (BeginOffset != NewAllocaBeginOffset ||
- EndOffset != NewAllocaBeginOffset)) {
+ if (IntTy && (NewBeginOffset != NewAllocaBeginOffset ||
+ NewEndOffset != NewAllocaEndOffset)) {
; emit oldload + insertInteger merge
}
```
In our workload this cuts down a lot of pointless `.oldload`s and helps
reduce the size of dead phi webs seen after `mem2reg`, improving compile
time without changing semantics (partial overwrites still merge, full
overwrites don’t).
Commit: 5eba0e57a07715fc0c0e7fdae6d7eebac875c635
https://github.com/llvm/llvm-project/commit/5eba0e57a07715fc0c0e7fdae6d7eebac875c635
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/gen_version_script.gni
Log Message:
-----------
gn build: Use llvm-nm instead of nm to generate version script.
Commit: 16e2e7f59134e63810228c9a0dc990bfd96f9a1f
https://github.com/llvm/llvm-project/commit/16e2e7f59134e63810228c9a0dc990bfd96f9a1f
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
A llvm/utils/gn/secondary/compiler-rt/gen_dynamic_list.gni
M llvm/utils/gn/secondary/compiler-rt/lib/ubsan/BUILD.gn
Log Message:
-----------
gn build: Generate dynamic lists for ubsan.
Commit: a4b4534c31e6f720cee683003e9e8ae4d81c2961
https://github.com/llvm/llvm-project/commit/a4b4534c31e6f720cee683003e9e8ae4d81c2961
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2026-02-05 (Thu, 05 Feb 2026)
Changed paths:
M llvm/tools/llvm-profgen/CMakeLists.txt
Log Message:
-----------
[llvm-profgen] Fix PDB dependency (#179830)
Fix build failure after #179175
Commit: 477f3af7823c4557521fba6a101cad2aaceea5da
https://github.com/llvm/llvm-project/commit/477f3af7823c4557521fba6a101cad2aaceea5da
Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Date: 2026-02-05 (Thu, 05 Feb 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Fix Bazel build for 07ebb18 (#179840)
Co-authored-by: Pranav Kant <prka at google.com>
Commit: 42f423d28225403c85db6cd966cdb4e107e1d3b1
https://github.com/llvm/llvm-project/commit/42f423d28225403c85db6cd966cdb4e107e1d3b1
Author: Thurston Dang <thurston at google.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/switch-icmp.ll
Log Message:
-----------
[msan][NFCI] Add test for switch() (#179775)
This test compares the instrumentation for two loosely-equivalent
patterns: (icmp eq + br) vs. switch.
(icmp eq) can have an initialized output even if the inputs are partly
uninitialized, if a bit is initialized in both inputs but has a
different value. In contrast, switch() strictly checks that the input is
fully initialized.
Future work: since the compiler/optimizer may freely choose between
(icmp eq + br) vs. switch, MSan's switch instrumentation also needs to
be able to handle partly-uninitialized inputs.
Commit: 34523c200b21f3a645ce807d0547512b918a22ca
https://github.com/llvm/llvm-project/commit/34523c200b21f3a645ce807d0547512b918a22ca
Author: Anshul Nigham <nigham at google.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
M llvm/lib/Target/X86/X86PassRegistry.def
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/test/CodeGen/X86/llc-pipeline-npm.ll
Log Message:
-----------
[NewPM] Port x86-lvi-load (#179371)
Commit: 304f5c8c9182610ac8ef2c730a675e38b836670e
https://github.com/llvm/llvm-project/commit/304f5c8c9182610ac8ef2c730a675e38b836670e
Author: Nishant Sachdeva <32475507+nishant-sachdeva at users.noreply.github.com>
Date: 2026-02-05 (Thu, 05 Feb 2026)
Changed paths:
M llvm/test/tools/llvm-ir2vec/Inputs/input.ll
M llvm/test/tools/llvm-ir2vec/bindings/ir2vec-bindings.py
M llvm/tools/llvm-ir2vec/Bindings/PyIR2Vec.cpp
M llvm/tools/llvm-ir2vec/lib/Utils.cpp
M llvm/tools/llvm-ir2vec/lib/Utils.h
Log Message:
-----------
[llvm-ir2vec] adding function-embedding map API to ir2vec python bindings (#177166)
Adding `getFuncEmbMap` to the llvm-ir2vec python bindings
Commit: 010f8534084f86ab299f93770e9a83c815774b66
https://github.com/llvm/llvm-project/commit/010f8534084f86ab299f93770e9a83c815774b66
Author: Yevgeny Rouban <yrouban at gmail.com>
Date: 2026-02-05 (Thu, 05 Feb 2026)
Changed paths:
M llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
Log Message:
-----------
[BasicBlockUtilsTests] Added test case splitBlockBefore2. NFC (#179408)
Splitting a basic block BB into a pair of blocks NewBB->BB used to make
LoopInfo invalid. Commit 28a0cfa946c5 (PR #179392) fixed this issue. So
this commit just adds the test case the issue was found with.
Commit: f00584dbecfc3718c69d39f9bd653c9d576f9433
https://github.com/llvm/llvm-project/commit/f00584dbecfc3718c69d39f9bd653c9d576f9433
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M compiler-rt/lib/asan/asan_flags.cpp
A compiler-rt/test/asan/TestCases/AIX/lit.local.cfg.py
A compiler-rt/test/asan/TestCases/AIX/strict-init-order-warning.cpp
M compiler-rt/test/asan/TestCases/initialization-bug-no-global.cpp
Log Message:
-----------
[asan] Disable strict init checking on AIX (#178012)
The `__cxa_atexit` interceptor is disabled for `SANITIZER_AIX` because
Clang on AIX neither uses `__cxa_atexit` nor links against a library
with such. This interceptor calls `StopInitOrderChecking()`, which is
needed to prevent false positives for the `initialization-order-fiasco`
error observed in the asan test `init-order-atexit.cpp` that uses the
`strict_init_order` flag. For now, we'll disable the `strict_init_order`
flag, but we'll look to support it in the future by implementing an
`exit` interceptor or some other alternative. With the flag disabled, we
won't update `init-order-atexit.cpp` to ensure it continues to pass and
the false positive doesn't show up.
Commit: ce9471f82aa548dc49376e50b975ee8450c68eb1
https://github.com/llvm/llvm-project/commit/ce9471f82aa548dc49376e50b975ee8450c68eb1
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-02-05 (Thu, 05 Feb 2026)
Changed paths:
M .ci/buildbot/worker.py
M .ci/compute_projects.py
M .ci/compute_projects_test.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/new-prs-labeler.yml
M .github/renovate.json
M .github/workflows/commit-create-issue.py
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/docs.yml
M .github/workflows/ids-check.yml
M .github/workflows/issue-release-workflow.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/libcxx-check-generated-files.yml
M .github/workflows/libcxx-run-benchmarks.yml
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-tasks.yml
M .github/workflows/upload-release-artifact/action.yml
M .mailmap
M SECURITY.md
M bolt/docs/CommandLineArgumentReference.md
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/LongJmp.cpp
M bolt/lib/Passes/PLTCall.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
A bolt/test/AArch64/constant-island-reference.s
M bolt/test/X86/lit.local.cfg
M bolt/test/lit.local.cfg
A bolt/test/runtime/AArch64/disassemble-plts.c
M bolt/test/runtime/AArch64/long-jmp-bti-plt.c
A bolt/test/runtime/X86/plt-call.c
M clang-tools-extra/Maintainers.rst
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/ClangTidyProfiling.cpp
M clang-tools-extra/clang-tidy/GlobList.h
M clang-tools-extra/clang-tidy/add_new_check.py
M clang-tools-extra/clang-tidy/android/ComparisonInTempFailureRetryCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MacroParenthesesCheck.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/SuspiciousSemicolonCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeVarargCheck.cpp
M clang-tools-extra/clang-tidy/doc8.ini
M clang-tools-extra/clang-tidy/llvm/CMakeLists.txt
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/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/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.h
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.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/UseUsingCheck.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/MoveConstArgCheck.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/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/DeleteNullPointerCheck.cpp
M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.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/IsolateDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
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/clang-tidy-diff.py
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
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/LexerUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.h
M clang-tools-extra/clangd/FindSymbols.cpp
M clang-tools-extra/clangd/FindSymbols.h
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/XRefs.cpp
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/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
A clang-tools-extra/clangd/test/symbol-tags.test
M clang-tools-extra/clangd/test/symbols.test
M clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
M clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
M clang-tools-extra/clangd/unittests/IndexActionTests.cpp
M clang-tools-extra/clangd/unittests/SelectionTests.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/checks/abseil/unchecked-statusor-access.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unsafe-functions.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/dcl58-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/env33-c.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/err52-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/flp30-c.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/mem57-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/fuchsia/multiple-inheritance.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
M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.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
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/HTMLReport.cpp
M clang-tools-extra/include-cleaner/lib/Record.cpp
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
A clang-tools-extra/test/clang-tidy/checkers/bugprone/argument-comment-cxx-11-inherited-constructors.cpp
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
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
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-vararg.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/const-correctness/correctness-fixed.h
A clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/const-correctness/correctness.h
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
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.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/non-const-parameter.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/AreaTeamMembers.txt
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
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/MSVCCompatibility.rst
M clang/docs/MemorySanitizer.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/ReleaseNotesTemplate.txt
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/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTStructuralEquivalence.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/FormatString.h
M clang/include/clang/AST/HLSLResource.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/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
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
A clang/include/clang/Analysis/AnnexKDetection.h
M clang/include/clang/Analysis/CFG.h
M clang/include/clang/Analysis/CloneDetection.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/BuiltinsAMDGPU.td
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/BuiltinsX86_64.td
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
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/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/TargetInfo.h
M clang/include/clang/Basic/TargetOSMacros.def
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/TokenKinds.h
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/Driver/CommonArgs.h
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/CompilerInvocation.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/Overload.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/lib/AST/ASTContext.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.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/State.cpp
M clang/lib/AST/ByteCode/State.h
M clang/lib/AST/DeclPrinter.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/OpenMPClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
A clang/lib/Analysis/AnnexKDetection.cpp
M clang/lib/Analysis/CFG.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/FormulaSerialization.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.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/LifetimeAnnotations.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeSafety.cpp
M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
M clang/lib/Analysis/LifetimeSafety/Origins.cpp
M clang/lib/Analysis/Scalable/CMakeLists.txt
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/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/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.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/PPC.cpp
M clang/lib/Basic/Targets/RISCV.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.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
A clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
A clang/lib/CIR/CodeGen/CIRGenCUDARuntime.cpp
A clang/lib/CIR/CodeGen/CIRGenCUDARuntime.h
M clang/lib/CIR/CodeGen/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/CIRGenCleanup.h
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/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/CodeGen/TargetInfo.cpp
M clang/lib/CIR/CodeGen/TargetInfo.h
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/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/FlattenCFG.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/LowerItaniumCXXABI.cpp
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/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
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/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenPGO.h
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/lib/CodeGen/TargetBuiltins/PPC.cpp
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/DirectX.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/ARM.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/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/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/SPIRV.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/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/PrintPreprocessedOutput.cpp
M clang/lib/Headers/amdgpuintrin.h
M clang/lib/Headers/amo.h
M clang/lib/Headers/crc32intrin.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
M clang/lib/Headers/ptrauth.h
M clang/lib/Headers/spirvintrin.h
M clang/lib/Interpreter/IncrementalExecutor.cpp
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/Lexer.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/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExprCXX.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/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/OpenCLBuiltins.td
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaAttr.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/SemaHLSL.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPPC.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ModuleManager.cpp
M clang/lib/Serialization/TemplateArgumentHasher.cpp
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/OpaqueSTLFunctionsModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.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/BugSuppression.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/Tooling/DependencyScanningTool.cpp
M clang/lib/Tooling/InterpolatingCompilationDatabase.cpp
M clang/test/APINotes/Inputs/Headers/Methods.apinotes
M clang/test/APINotes/Inputs/Headers/Methods.h
M clang/test/APINotes/methods.cpp
M clang/test/AST/ByteCode/builtin-align-cxx.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
A clang/test/AST/ByteCode/builtin-object-size-codegen.c
M clang/test/AST/ByteCode/builtins.c
M clang/test/AST/ByteCode/c.c
M clang/test/AST/ByteCode/codegen.cpp
M clang/test/AST/ByteCode/complex.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/cxx26.cpp
M clang/test/AST/ByteCode/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/lifetimes26.cpp
A clang/test/AST/ByteCode/object-size-flex-array.c
M clang/test/AST/ByteCode/placement-new.cpp
M clang/test/AST/ByteCode/shifts.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/matrix-constructors.hlsl
M clang/test/AST/HLSL/matrix-general-initializer.hlsl
M clang/test/AST/ast-dump-decl-stmts.cpp
M clang/test/AST/ms-constexpr-new.cpp
A clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx-std-suppression.h
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/block-in-critical-section.cpp
A clang/test/Analysis/diagnostics/opaque-stl-functions-modeling.cpp
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
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-vals.cpp
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
A clang/test/CIR/CodeGen/address-of.cpp
A clang/test/CIR/CodeGen/alloc-size.c
M clang/test/CIR/CodeGen/atomic.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/coro-task.cpp
M clang/test/CIR/CodeGen/dynamic-cast.cpp
M clang/test/CIR/CodeGen/inline-asm.c
A clang/test/CIR/CodeGen/integer-overflow.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/pointer-to-data-member-cast.cpp
A clang/test/CIR/CodeGen/pointer-to-member-func-cast.cpp
A clang/test/CIR/CodeGen/pointer-to-member-func-cmp.cpp
M clang/test/CIR/CodeGen/pointer-to-member-func.cpp
A clang/test/CIR/CodeGen/side-effect.cpp
M clang/test/CIR/CodeGen/trivial-ctor-const-init.cpp
M clang/test/CIR/CodeGen/vtt.cpp
A clang/test/CIR/CodeGenBuiltins/AArch64/neon/fullfp16.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceIntrin.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512-reduceMinMaxIntrin.c
A clang/test/CIR/CodeGenBuiltins/X86/avx512-select-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512fp16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlbf16-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/avx512vlfp16-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/keylocker.c
M clang/test/CIR/CodeGenBuiltins/X86/ms-x86-intrinsics.c
A clang/test/CIR/CodeGenBuiltins/X86/prefetchw-builtins.c
A clang/test/CIR/CodeGenBuiltins/X86/rdrand-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/sse-builtins.c
M clang/test/CIR/CodeGenBuiltins/builtin_bit.cpp
M clang/test/CIR/CodeGenBuiltins/builtin_call.cpp
M clang/test/CIR/CodeGenBuiltins/builtin_new_delete.cpp
A clang/test/CIR/CodeGenCUDA/Inputs/cuda.h
A clang/test/CIR/CodeGenCUDA/filter-decl.cu
A clang/test/CIR/CodeGenCUDA/kernel-call.cu
A clang/test/CIR/CodeGenCUDA/kernel-stub-name.cu
A clang/test/CIR/CodeGenCUDA/nvptx-basic.cu
A clang/test/CIR/IR/cleanup-scope.cir
A clang/test/CIR/IR/eh-flat.cir
A clang/test/CIR/IR/invalid-cast.cir
A clang/test/CIR/IR/invalid-eh-flat.cir
A clang/test/CIR/IR/invalid-memcpy.cir
M clang/test/CIR/IR/invalid-struct.cir
A clang/test/CIR/IR/libc-memchr.cir
A clang/test/CIR/IR/libc-memcpy.cir
M clang/test/CIR/IR/method-attr.cir
A clang/test/CIR/Lowering/libc.cir
M clang/test/CXX/basic/basic.link/p3.cpp
M clang/test/CXX/basic/basic.scope/basic.scope.namespace/p2.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg11xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/drs/cwg16xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg19xx.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg20xx.cpp
M clang/test/CXX/drs/cwg22xx.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg27xx.cpp
A clang/test/CXX/drs/cwg2947.cpp
M clang/test/CXX/drs/cwg29xx.cpp
M clang/test/CXX/drs/cwg30xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/test/CXX/drs/cwg6xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
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/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
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/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
M clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c
M clang/test/CodeGen/AMDGPU/full-bf16.c
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
R clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/vfncvt.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/vfncvtbf16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/vfwcvtbf16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/vfncvt.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/vfncvtbf16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/vfwcvtbf16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/policy/non-overloaded/vfncvt.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/policy/non-overloaded/vfncvtbf16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/policy/non-overloaded/vfwcvtbf16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/policy/overloaded/vfncvt.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/policy/overloaded/vfncvtbf16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/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/WebAssembly/builtins-table-externref.c
A clang/test/CodeGen/WebAssembly/builtins-table-funcref.c
R clang/test/CodeGen/WebAssembly/builtins-table.c
M clang/test/CodeGen/X86/cx-complex-range.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/amdgpu-abi-version.c
M clang/test/CodeGen/arm-aapcs-vfp.c
M clang/test/CodeGen/arm-abi-vector.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/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-ifunc.c
M clang/test/CodeGen/attr-ifunc.cpp
M clang/test/CodeGen/attr-noundef.cpp
M clang/test/CodeGen/builtin-rotate.c
M clang/test/CodeGen/builtin_float_strictfp.c
M clang/test/CodeGen/builtins-extended-image.c
M clang/test/CodeGen/builtins-image-load.c
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/builtins.c
M clang/test/CodeGen/cx-complex-range.c
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGen/fp16-ops-strictfp.c
M clang/test/CodeGen/ifunc.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
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/pragma-export.c
A clang/test/CodeGen/pragma-export.cpp
M clang/test/CodeGen/ptrauth-in-c-struct.c
M clang/test/CodeGen/ptrauth-intrinsics.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-addrspace.cpp
M clang/test/CodeGen/target-data.c
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/CodeGenCUDA/amdgpu-bf16.cu
M clang/test/CodeGenCUDA/spirv-amdgcn-bf16.cu
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
M clang/test/CodeGenCXX/builtins.cpp
M clang/test/CodeGenCXX/copy-initialization.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/empty-nontrivially-copyable.cpp
M clang/test/CodeGenCXX/exceptions-seh.cpp
M clang/test/CodeGenCXX/externc-ifunc-resolver.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
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/ptrauth-qualifier-struct.cpp
M clang/test/CodeGenCXX/regparm.cpp
A clang/test/CodeGenCXX/tmp-md-nodes3.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-await-elidable.cpp
M clang/test/CodeGenHIP/amdgpu-barrier-type.hip
M clang/test/CodeGenHIP/builtins-make-buffer-rsrc.hip
A clang/test/CodeGenHIP/device-function-huge-arg-ret.hip
M clang/test/CodeGenHIP/hip_weak_alias.cpp
M clang/test/CodeGenHIP/printf.cpp
M clang/test/CodeGenHIP/printf_nonhostcall.cpp
M clang/test/CodeGenHIP/sanitize-undefined-null.hip
M clang/test/CodeGenHIP/spirv-amdgcn-ballot.cpp
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptConstSwizzle.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptDynamicSwizzle.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptSetter.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/matrix-type-indexing.hlsl
M clang/test/CodeGenHLSL/BoolMatrix.hlsl
M clang/test/CodeGenHLSL/builtins/WaveActiveBallot.hlsl
A clang/test/CodeGenHLSL/builtins/WavePrefixCountBits.hlsl
A clang/test/CodeGenHLSL/builtins/WavePrefixSum.hlsl
M clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/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/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
M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-methods.hlsl
A clang/test/CodeGenHLSL/resources/Texture2D.sample.hlsl
M clang/test/CodeGenHLSL/resources/cbuffer_geps.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/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
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
M clang/test/CodeGenOpenCL/atomic-ops.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/CodeGenOpenCL/check-atomic-alignment.cl
M clang/test/CodeGenOpenCL/fpmath.cl
A clang/test/CodeGenOpenCL/local-scope.cl
M clang/test/CodeGenOpenCL/sqrt-fpmath.cl
M clang/test/CodeGenSPIRV/Builtins/subgroup.c
A clang/test/CodeGenSPIRV/Builtins/variadic.c
M clang/test/CodeGenSYCL/function-attrs.cpp
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/anon-union-vars.cpp
M clang/test/DebugInfo/CXX/codeview-unnamed.cpp
M clang/test/DebugInfo/CXX/debug-info.cpp
M clang/test/DebugInfo/CXX/gline-tables-only-codeview.cpp
M clang/test/DebugInfo/CXX/lambda-capture-packs.cpp
M clang/test/DebugInfo/CXX/lambda-this.cpp
M clang/test/DebugInfo/Generic/codeview-unnamed.c
M clang/test/DebugInfo/Generic/unused-types.c
M clang/test/DebugInfo/Generic/unused-types.cpp
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
M 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/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/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
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-sycl-linker-test.cpp
M 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-fapple-link-rtlib.c
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-ld.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/fdefine-target-os-macros.c
M clang/test/Driver/hip-rdc-device-only.hip
M clang/test/Driver/hip-runtime-libs-linux.hip
M clang/test/Driver/hip-runtime-libs-msvc.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/hip-toolchain-rdc-separate.hip
M clang/test/Driver/hip-toolchain-rdc.hip
M clang/test/Driver/hipspv-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/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
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/riscv-arch.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Driver/rocm-detect.hip
M clang/test/Driver/spirv-tools-err.c
R clang/test/Driver/sycl.c
A clang/test/Driver/sycl.cpp
A clang/test/Driver/unsupported-target-vendor.c
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/Headers/__clang_hip_libdevice_declares.cpp
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/amdgcn_openmp_device_math.c
M clang/test/Headers/amdgcn_openmp_device_math_c.c
M clang/test/Headers/amdgcn_openmp_device_math_constexpr.cpp
M clang/test/Headers/gpu_disabled_math.cpp
M clang/test/Headers/gpuintrin.c
M clang/test/Headers/gpuintrin_lang.c
M clang/test/Headers/opencl-c-header.cl
M clang/test/Headers/openmp-device-functions-bool.c
M clang/test/Headers/openmp_new_nothrow.cpp
M clang/test/Headers/stdarg.cpp
M clang/test/Index/pch-from-libclang.c
M clang/test/InstallAPI/Inputs/MacOSX13.0.sdk/SDKSettings.json
A clang/test/Lexer/cxx20-module-directive.cpp
M clang/test/Misc/amdgcn.languageOptsOpenCL.cl
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M clang/test/Misc/target-invalid-cpu-note/mips.c
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
R clang/test/Modules/Inputs/pch-config-macros/include/Mod1.h
R clang/test/Modules/Inputs/pch-config-macros/include/module.modulemap
M clang/test/Modules/context-hash.c
A clang/test/Modules/demote-var-def.cpp
A clang/test/Modules/modulemap-with-named-module.cppm
R clang/test/Modules/pch-config-macros.c
M clang/test/Modules/pr121066.cpp
A clang/test/Modules/pr171769.cpp
A clang/test/Modules/pr177385.cppm
M clang/test/Modules/preprocess-named-modules.cppm
M clang/test/Modules/sdk-settings-json-dep.m
A clang/test/Modules/var-inst-def.cppm
M clang/test/OpenMP/amdgcn-attributes.cpp
M clang/test/OpenMP/amdgcn_weak_alias.c
M clang/test/OpenMP/amdgcn_weak_alias.cpp
A clang/test/OpenMP/codegen_attr_pgo.c
M clang/test/OpenMP/declare_mapper_codegen.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
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
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
M clang/test/Parser/cxx2b-lambdas.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-loongarch.c
M clang/test/Preprocessor/riscv-target-features.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/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
A clang/test/Sema/builtin-stdc-rotate.c
A clang/test/Sema/builtins-bcd-format-conversion.c
M clang/test/Sema/const-ptr-int-ptr-cast.c
M clang/test/Sema/constant-builtins-2.c
M clang/test/Sema/constant-builtins.c
M clang/test/Sema/format-strings-nonnull.c
M clang/test/Sema/format-strings.c
A clang/test/Sema/pragma-export-failing.c
A clang/test/Sema/pragma-export-failing.cpp
M clang/test/Sema/ptrauth.c
M clang/test/Sema/scoped-atomic-ops.c
A clang/test/Sema/stack_protector_ignore.c
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-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/wasm-funcref-table.c
A clang/test/Sema/wave-reduce-builtins-validate-amdgpu.cl
M clang/test/SemaCUDA/vararg.cu
M clang/test/SemaCXX/alloc-token.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
M clang/test/SemaCXX/builtin-bswapg.cpp
A clang/test/SemaCXX/constexpr-builtin-stdc-rotate.cpp
A clang/test/SemaCXX/crash-GH170433.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/enable_if.cpp
M clang/test/SemaCXX/ifunc-has-attribute.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/underlying_type.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/SemaHLSL/BuiltIns/ByteAddressBuffers.hlsl
A clang/test/SemaHLSL/BuiltIns/WavePrefixCountBits-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/WavePrefixSum-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/f32tof16-errors.hlsl
A clang/test/SemaHLSL/Language/EmptyInitializers.hlsl
A clang/test/SemaHLSL/Texture2D-Sema.hlsl
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
M clang/test/SemaTemplate/concepts.cpp
A clang/test/Tooling/clang-extdef-mapping-no-args.cpp
A clang/test/Tooling/clang-extdef-mapping.cpp
M clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/AST/DeclPrinterTest.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/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/DarwinSDKInfoTest.cpp
M clang/unittests/DirectoryWatcher/CMakeLists.txt
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestJava.cpp
M clang/unittests/Format/TokenAnnotatorTest.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/CMakeLists.txt
A clang/unittests/Serialization/NamespaceLookupTest.cpp
M clang/utils/TableGen/CIRLoweringEmitter.cpp
M clang/utils/TableGen/ClangAttrEmitter.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
A cmake/Modules/HandleDoxygen.cmake
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/include/fuzzer/FuzzedDataProvider.h
M compiler-rt/lib/asan/asan_descriptions.cpp
M compiler-rt/lib/asan/asan_fake_stack.cpp
M compiler-rt/lib/asan/asan_flags.cpp
M compiler-rt/lib/asan/asan_rtl.cpp
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
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/lib/builtins/ppc/init_ifuncs.c
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/hwasan/hwasan.h
M compiler-rt/lib/hwasan/hwasan_linux.cpp
M compiler-rt/lib/orc/elfnix_platform.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/tsan/rtl/tsan_flags.cpp
A compiler-rt/test/asan/TestCases/AIX/lit.local.cfg.py
A compiler-rt/test/asan/TestCases/AIX/strict-init-order-warning.cpp
M compiler-rt/test/asan/TestCases/initialization-bug-no-global.cpp
A compiler-rt/test/builtins/Unit/arm/aeabi_unaligned_access_test.c
A compiler-rt/test/builtins/Unit/ppc/aix_ifunc.c
M compiler-rt/test/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
A compiler-rt/test/orc/TestCases/Linux/Generic/ctor-dtor.cpp
A compiler-rt/test/profile/AIX/ifunc.c
M compiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_allowlist_ignorelist.cpp
M cross-project-tests/dtlto/archive.test
M cross-project-tests/dtlto/archives-mixed-lto-modes-test.test
M 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/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 flang-rt/README.md
M flang-rt/include/flang-rt/runtime/terminator.h
M flang-rt/include/flang-rt/runtime/type-info.h
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/copy.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/main.cpp
M flang-rt/lib/runtime/stop.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/unittests/Runtime/Reduction.cpp
M flang/docs/Directives.md
M flang/docs/Extensions.md
M flang/docs/FortranStandardsSupport.md
M flang/docs/OpenACC.md
M flang/docs/ParallelMultiImageFortranRuntime.md
M flang/include/flang/Evaluate/check-expression.h
M flang/include/flang/Evaluate/initial-image.h
M flang/include/flang/Evaluate/real.h
M flang/include/flang/Frontend/CodeGenOptions.def
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/Optimizer/Analysis/AliasAnalysis.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
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/Pipelines.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/options.h
M flang/include/flang/Parser/parse-tree-visitor.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/extensions.h
M flang/include/flang/Runtime/stop.h
M flang/include/flang/Semantics/dump-expr.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/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/fold.cpp
M flang/lib/Evaluate/initial-image.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/shape.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.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/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.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/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Main.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/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
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/Support/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/Support/FIROpenMPOpsInterfaces.cpp
M flang/lib/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.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
M flang/lib/Optimizer/Transforms/CUDA/CUFComputeSharedMemoryOffsetsAndSize.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFFunctionRewrite.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp
A flang/lib/Optimizer/Transforms/CUDA/CUFOpConversionLate.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
M flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
M flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/message.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/parsing.cpp
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-call.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-loop.cpp
M flang/lib/Semantics/check-omp-structure.cpp
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/expression.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/load-ptr-alloca.fir
A flang/test/Analysis/AliasAnalysis/modref-alloc-free-effects.fir
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/fast-math.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
A flang/test/Driver/protect-parens.f90
M flang/test/Driver/target-cpu-features-invalid.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
M flang/test/Fir/CUDA/cuda-device-func-transform.mlir
M flang/test/Fir/CUDA/cuda-global-addr.mlir
M flang/test/Fir/CUDA/cuda-launch.fir
M flang/test/Fir/CUDA/cuda-shared-offset.mlir
A flang/test/Fir/FirToSCF/any.fir
A flang/test/Fir/FirToSCF/do-extra.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
M flang/test/Fir/OpenACC/openacc-mappable.fir
M flang/test/Fir/basic-program.fir
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
M flang/test/Lower/CUDA/cuda-allocatable-device.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
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/function-return-destroy.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/protect-parens-arrays.f90
A flang/test/Lower/HLFIR/protect-parens.f90
M flang/test/Lower/HLFIR/where.f90
M flang/test/Lower/Intrinsics/exit.f90
M flang/test/Lower/Intrinsics/storage_size-2.f90
A flang/test/Lower/MIF/change_team2.f90
M flang/test/Lower/OpenACC/acc-cache.f90
A flang/test/Lower/OpenACC/acc-declare-common-present-in-function.f90
A flang/test/Lower/OpenACC/acc-deviceptr.f90
A flang/test/Lower/OpenACC/acc-no-create-array-section.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Lower/OpenMP/Todo/affinity-clause.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/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/real10.f90
A flang/test/Lower/OpenMP/target-parameter-array.f90
A flang/test/Lower/OpenMP/task-affinity.f90
A flang/test/Lower/OpenMP/thread-limit-dims.f90
M flang/test/Lower/array-elemental-calls-char-dynamic.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/assigned-goto.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/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
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/dummy-argument-assumed-shape-optional.f90
M flang/test/Lower/dummy-argument-contiguous.f90
M flang/test/Lower/dummy-argument-optional-2.f90
M flang/test/Lower/dummy-argument-optional.f90
M flang/test/Lower/dummy-arguments.f90
M flang/test/Lower/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
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-openmp.f90
A flang/test/Parser/bug135964.f90
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/Semantics/OpenACC/acc-host-data.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/declare-simd-uniform.f90
M flang/test/Semantics/OpenMP/declare-target08.f90
A flang/test/Semantics/OpenMP/lastprivate-intent-in-pointer.f90
A flang/test/Semantics/OpenMP/linear-clause03.f90
A flang/test/Semantics/OpenMP/local-variables.f90
M flang/test/Semantics/OpenMP/map-clause-v60.f90
M flang/test/Semantics/OpenMP/use_device_addr1.f90
A flang/test/Semantics/ac-impl-do-data-ptr.f90
A flang/test/Semantics/bug150820.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/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/equivalence02.f90
M flang/test/Semantics/generic09.f90
M flang/test/Semantics/misc-intrinsics.f90
A flang/test/Semantics/rank-clause01.f90
M flang/test/Semantics/resolve11.f90
M flang/test/Semantics/resolve17.f90
M flang/test/Semantics/resolve18.f90
M flang/test/Semantics/symbol03.f90
M flang/test/Semantics/typeinfo01.f90
M flang/test/Semantics/typeinfo08.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
M flang/test/Transforms/OpenACC/acc-implicit-data.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/licm.fir
A flang/test/Transforms/omp-function-filtering-todo.mlir
R flang/test/Transforms/omp-function-filtering.mlir
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/tools/bbc/bbc.cpp
M flang/tools/f18/CMakeLists.txt
M flang/unittests/Common/FortranFeaturesTest.cpp
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/config/baremetal/config.json
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/printf_behavior.rst
M libc/docs/gpu/building.rst
M libc/fuzzing/__support/CMakeLists.txt
A libc/fuzzing/__support/weak_avl_fuzz.cpp
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-macros/pthread-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/Elf32_Xword.h
R libc/include/pthread.h.def
M libc/include/pthread.yaml
M libc/shared/math.h
A libc/shared/math/dfmaf128.h
A libc/shared/math/dfmal.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/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/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/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/limits.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/GPU/allocator.cpp
M libc/src/__support/ctype_utils.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/asin.h
M libc/src/__support/math/atan2.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/common_constants.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/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/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/log10.h
A libc/src/__support/math/log1p.h
A libc/src/__support/math/log2.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
M libc/src/__support/math/range_reduction_double_common.h
M libc/src/__support/math/range_reduction_fma.h
M libc/src/__support/math/sin.h
A libc/src/__support/math/sincosf.h
M libc/src/__support/math/sincosf_float_eval.h
M libc/src/__support/math/sincosf_utils.h
A libc/src/__support/math/sinf.h
A libc/src/__support/math/sinf16.h
A libc/src/__support/math/sinhf.h
A libc/src/__support/math/sinhf16.h
A libc/src/__support/math/sinpif.h
A libc/src/__support/math/sqrt.h
A libc/src/__support/math/sqrtf.h
A libc/src/__support/math/sqrtf16.h
A libc/src/__support/math/tan.h
A libc/src/__support/math/tanf.h
M libc/src/__support/str_to_float.h
M libc/src/__support/threads/fork_callbacks.cpp
M libc/src/__support/wchar/CMakeLists.txt
R libc/src/__support/wchar/character_converter.cpp
M libc/src/__support/wchar/character_converter.h
R libc/src/__support/wchar/wcrtomb.cpp
M libc/src/__support/wchar/wcrtomb.h
A libc/src/__support/weak_avl.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/asin.cpp
M libc/src/math/generic/dfmaf128.cpp
M libc/src/math/generic/dfmal.cpp
M libc/src/math/generic/f16fma.cpp
M libc/src/math/generic/f16fmal.cpp
M libc/src/math/generic/f16sqrt.cpp
M libc/src/math/generic/f16sqrtl.cpp
M libc/src/math/generic/fsqrt.cpp
M libc/src/math/generic/fsqrtf128.cpp
M libc/src/math/generic/fsqrtl.cpp
M libc/src/math/generic/hypotf.cpp
M libc/src/math/generic/ilogb.cpp
M libc/src/math/generic/ilogbf.cpp
M libc/src/math/generic/ilogbf128.cpp
M libc/src/math/generic/ilogbl.cpp
M libc/src/math/generic/llogb.cpp
M libc/src/math/generic/llogbf.cpp
M libc/src/math/generic/llogbf128.cpp
M libc/src/math/generic/llogbf16.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log2.cpp
M libc/src/math/generic/logbf.cpp
M libc/src/math/generic/logbf128.cpp
M libc/src/math/generic/logbf16.cpp
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/logf16.cpp
M libc/src/math/generic/sincosf.cpp
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/sinf16.cpp
M libc/src/math/generic/sinhf.cpp
M libc/src/math/generic/sinhf16.cpp
M libc/src/math/generic/sinpif.cpp
M libc/src/math/generic/sqrt.cpp
M libc/src/math/generic/sqrtf.cpp
M libc/src/math/generic/sqrtf16.cpp
M libc/src/math/generic/tan.cpp
M libc/src/math/generic/tanf.cpp
A libc/src/pthread/pthread_getattr_np.h
M libc/src/spawn/linux/posix_spawn.cpp
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/printf_core/char_converter.h
M libc/src/stdio/printf_core/core_structs.h
M libc/src/stdio/printf_core/linux/error_mapper.h
M libc/src/stdio/printf_core/parser.h
M libc/src/string/memory_utils/aarch64/inline_memcpy.h
M libc/src/string/memory_utils/inline_memcpy.h
M libc/src/string/memory_utils/inline_memmove.h
M libc/src/string/memory_utils/inline_memset.h
M libc/startup/gpu/CMakeLists.txt
M libc/startup/gpu/amdgpu/start.cpp
M libc/startup/gpu/nvptx/start.cpp
M libc/startup/linux/CMakeLists.txt
M libc/startup/linux/do_start.cpp
A libc/startup/linux/gnu_property_section.cpp
A libc/startup/linux/gnu_property_section.h
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libc/test/src/__support/CMakeLists.txt
A libc/test/src/__support/weak_avl_test.cpp
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/strings/CMakeLists.txt
A libc/test/src/strings/wide_read_memory_test.cpp
M libc/test/src/time/TmMatcher.h
M libc/test/src/time/gmtime_r_test.cpp
M libc/test/src/time/gmtime_test.cpp
M libc/test/src/time/mktime_test.cpp
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/internal/math/clc_sw_fma.h
M libclc/clc/include/clc/math/gentype.inc
M libclc/clc/include/clc/math/math.h
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/clc/lib/clspv/SOURCES
R libclc/clc/lib/clspv/math/clc_sw_fma.cl
M libclc/clc/lib/generic/SOURCES
M libclc/clc/lib/generic/atomic/clc_atomic_dec.cl
M libclc/clc/lib/generic/atomic/clc_atomic_inc.cl
M libclc/clc/lib/generic/math/clc_fma.cl
R libclc/clc/lib/generic/math/clc_fma.inc
M libclc/clc/lib/generic/math/clc_remquo.cl
M libclc/clc/lib/generic/math/clc_remquo.inc
R libclc/clc/lib/generic/math/clc_sw_fma.cl
M libclc/clc/lib/r600/SOURCES
A libclc/clc/lib/r600/math/clc_fma.cl
A libclc/clc/lib/r600/math/clc_fma.inc
A libclc/clc/lib/r600/math/clc_sw_fma.cl
M libclc/clc/lib/spirv/SOURCES
R libclc/clc/lib/spirv/math/clc_runtime_has_hw_fma32.cl
M libclc/cmake/modules/AddLibclc.cmake
M libclc/opencl/include/clc/opencl/opencl-base.h
M libclc/opencl/include/clc/opencl/synchronization/utils.h
M libclc/opencl/include/clc/opencl/utils.h
M libclc/opencl/lib/clspv/SOURCES
R libclc/opencl/lib/clspv/math/fma.cl
M libclc/opencl/lib/spirv/SOURCES
R libclc/opencl/lib/spirv/math/fma.cl
M libcxx/.clang-format
M libcxx/CMakeLists.txt
M libcxx/Maintainers.md
A libcxx/cmake/caches/Generic-asan-in-tests-only.cmake
M libcxx/docs/CodingGuidelines.rst
M libcxx/docs/Contributing.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/for_each.h
M libcxx/include/__algorithm/for_each_n.h
M libcxx/include/__algorithm/generate_n.h
M libcxx/include/__algorithm/pstl.h
M libcxx/include/__algorithm/ranges_reverse_copy.h
A libcxx/include/__algorithm/ranges_shift_left.h
M libcxx/include/__algorithm/ranges_swap_ranges.h
M libcxx/include/__algorithm/shift_left.h
M libcxx/include/__algorithm/specialized_algorithms.h
M libcxx/include/__algorithm/swap_ranges.h
M libcxx/include/__algorithm/unwrap_range.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__atomic/atomic_sync.h
A libcxx/include/__atomic/atomic_sync_timed.h
M libcxx/include/__atomic/atomic_waitable_traits.h
M libcxx/include/__bit_reference
M libcxx/include/__chrono/day.h
M libcxx/include/__chrono/duration.h
M libcxx/include/__chrono/hh_mm_ss.h
M libcxx/include/__chrono/literals.h
M libcxx/include/__chrono/month.h
M libcxx/include/__chrono/month_weekday.h
M libcxx/include/__chrono/monthday.h
M libcxx/include/__chrono/weekday.h
M libcxx/include/__chrono/year.h
M libcxx/include/__chrono/year_month.h
M libcxx/include/__chrono/year_month_day.h
M libcxx/include/__chrono/year_month_weekday.h
M libcxx/include/__config
M libcxx/include/__config_site.in
A libcxx/include/__configuration/attributes.h
M libcxx/include/__configuration/availability.h
M libcxx/include/__configuration/language.h
M libcxx/include/__cxx03/__config
M libcxx/include/__cxx03/cfloat
M libcxx/include/__cxx03/module.modulemap
M libcxx/include/__debug_utils/sanitizers.h
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__format/unicode.h
A libcxx/include/__iterator/capacity_aware_iterator.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__iterator/wrap_iter.h
M libcxx/include/__memory/inout_ptr.h
M libcxx/include/__memory/out_ptr.h
M libcxx/include/__pstl/backend_fwd.h
M libcxx/include/__pstl/backends/default.h
M libcxx/include/__random/binomial_distribution.h
M libcxx/include/__ranges/join_with_view.h
M libcxx/include/__ranges/subrange.h
M libcxx/include/__split_buffer
M libcxx/include/__tree
M libcxx/include/__vector/vector.h
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/atomic
M libcxx/include/cfloat
M libcxx/include/deque
R libcxx/include/float.h
M libcxx/include/future
M libcxx/include/module.modulemap.in
M libcxx/include/optional
M libcxx/include/semaphore
M libcxx/include/stdatomic.h
M libcxx/include/string
M libcxx/include/version
M libcxx/lib/abi/README.TXT
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/modules/std/algorithm.inc
M libcxx/src/CMakeLists.txt
M libcxx/src/atomic.cpp
M libcxx/src/chrono.cpp
M libcxx/src/experimental/time_zone.cpp
M libcxx/src/filesystem/filesystem_clock.cpp
M libcxx/src/include/config_elast.h
M libcxx/src/include/refstring.h
M libcxx/test/CMakeLists.txt
R libcxx/test/benchmarks/algorithms/lower_bound.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/copy.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/copy_backward.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/copy_if.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/copy_n.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/fill.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/fill_n.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/generate.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/generate_n.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/move.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/move_backward.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/remove.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/remove_copy.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/replace.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/reverse.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/reverse_copy.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/rotate.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/rotate_copy.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/sample.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/shuffle.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/swap_ranges.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/transform.binary.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/transform.unary.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/unique.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/unique_copy.bench.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/adjacent_find.bench.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/any_all_none_of.bench.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/count.bench.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/equal.bench.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/find.bench.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/find_end.bench.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/find_first_of.bench.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/for_each.bench.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/for_each_n.bench.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/is_permutation.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/lower_upper_bound.bench.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/mismatch.bench.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/search.bench.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/search_n.bench.cpp
M libcxx/test/benchmarks/algorithms/partitions/is_partitioned.bench.cpp
M libcxx/test/benchmarks/algorithms/partitions/partition.bench.cpp
M libcxx/test/benchmarks/algorithms/partitions/partition_copy.bench.cpp
M libcxx/test/benchmarks/algorithms/partitions/partition_point.bench.cpp
M libcxx/test/benchmarks/algorithms/partitions/stable_partition.bench.cpp
M libcxx/test/benchmarks/algorithms/sorting/is_sorted.bench.cpp
M libcxx/test/benchmarks/algorithms/sorting/is_sorted_until.bench.cpp
M libcxx/test/benchmarks/algorithms/sorting/partial_sort.bench.cpp
M libcxx/test/benchmarks/algorithms/sorting/partial_sort_copy.bench.cpp
M libcxx/test/benchmarks/algorithms/sorting/sort.bench.cpp
M libcxx/test/benchmarks/algorithms/sorting/stable_sort.bench.cpp
M libcxx/test/benchmarks/format/formatter_float.bench.cpp
M libcxx/test/benchmarks/format/formatter_int.bench.cpp
M libcxx/test/benchmarks/format/std_format_spec_string_unicode.bench.cpp
M libcxx/test/benchmarks/format/std_format_spec_string_unicode_escape.bench.cpp
M libcxx/test/benchmarks/iterators/distance.bench.cpp
M libcxx/test/benchmarks/spec.gen.py
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
A libcxx/test/extensions/libcxx/depr/depr.c.headers/include_stdatomic_as_c.sh.cpp
R libcxx/test/libcxx-03/libcpp_freestanding.sh.cpp
A libcxx/test/libcxx/algorithms/alg.modifying.operations/alg.shift/assert.shift_left.pass.cpp
M libcxx/test/libcxx/algorithms/pstl.nodiscard.verify.cpp
A libcxx/test/libcxx/algorithms/specialized_algorithms.compile.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/gdb/gdb_pretty_printer_test.sh.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/arithmetic.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/assert.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/comparison.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/contiguous.verify.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/dereference.pass.cpp
A libcxx/test/libcxx/iterators/capacity_aware_iter/types.compile.pass.cpp
R libcxx/test/libcxx/libcpp_freestanding.sh.cpp
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
M libcxx/test/libcxx/strings/basic.string/nonnull.verify.cpp
A libcxx/test/libcxx/thread/futures/launch_any_deprecated.verify.cpp
M libcxx/test/libcxx/thread/nodiscard.verify.cpp
M libcxx/test/libcxx/time/nodiscard.verify.cpp
M libcxx/test/libcxx/type_traits/is_trivially_relocatable.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/libcxx/utilities/optional/optional.object/optional.iterator/assert.bounded_iterator.pass.cpp
A libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/ranges.shift_left.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp
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
M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
M libcxx/test/std/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
M libcxx/test/std/depr/depr.c.headers/float_h.compile.pass.cpp
M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
M libcxx/test/std/language.support/support.limits/c.limits/cfloat.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
M libcxx/test/std/thread/futures/futures.async/async.pass.cpp
M libcxx/test/std/thread/futures/futures.overview/launch.pass.cpp
A libcxx/test/std/thread/thread.semaphore/lost_wakeup.timed.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/nonmembers/comparison.pass.cpp
M libcxx/test/std/utilities/any/any.class/any.cons/value.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/monadic/transform.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/monadic/transform_error.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/monadic/transform_error.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char_array.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_array.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
A libcxx/test/std/utilities/optional/optional.iterator/compare.pass.cpp
M libcxx/test/std/utilities/optional/optional.iterator/iterator.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.observe/dereference.pass.cpp
R libcxx/test/std/utilities/optional/optional.object/optional.object.observe/dereference_const.pass.cpp
R libcxx/test/std/utilities/optional/optional.object/optional.object.observe/dereference_const_rvalue.pass.cpp
R libcxx/test/std/utilities/optional/optional.object/optional.object.observe/dereference_rvalue.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.observe/op_arrow.pass.cpp
R libcxx/test/std/utilities/optional/optional.object/optional.object.observe/op_arrow_const.pass.cpp
M libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp
R libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value_const.compile.fail.cpp
R libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp
R libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp
R libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/PR31384.pass.cpp
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
M libcxx/test/support/asan_testing.h
M libcxx/utils/benchmark-historical
M libcxx/utils/build-at-commit
A libcxx/utils/ci/benchmark-for-lnt.py
M libcxx/utils/ci/images/libcxx_release_runners.txt
M libcxx/utils/ci/run-buildbot
M libcxx/utils/gdb/libcxx/printers.py
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/features/libcxx_macros.py
M libcxx/utils/libcxx/test/features/localization.py
M libcxx/utils/libcxx/test/params.py
A libcxx/utils/parse-time-output
M libcxx/utils/test-at-commit
M libcxxabi/src/cxa_guard_impl.h
M libcxxabi/src/cxa_personality.cpp
M libcxxabi/src/fallback_malloc.cpp
M libcxxabi/test/guard_test_basic.pass.cpp
M libcxxabi/test/guard_threaded_test.pass.cpp
M libcxxabi/test/test_fallback_malloc.pass.cpp
M libsycl/CMakeLists.txt
M libsycl/Maintainers.md
M libsycl/README.md
M libsycl/docs/index.rst
A libsycl/include/sycl/__impl/backend.hpp
M libsycl/include/sycl/__impl/detail/config.hpp
A libsycl/include/sycl/__impl/detail/obj_utils.hpp
A libsycl/include/sycl/__impl/exception.hpp
A libsycl/include/sycl/__impl/info/desc_base.hpp
A libsycl/include/sycl/__impl/info/platform.hpp
M libsycl/include/sycl/__impl/platform.hpp
M libsycl/include/sycl/sycl.hpp
M libsycl/src/CMakeLists.txt
A libsycl/src/detail/global_objects.cpp
A libsycl/src/detail/global_objects.hpp
A libsycl/src/detail/offload/offload_topology.cpp
A libsycl/src/detail/offload/offload_topology.hpp
A libsycl/src/detail/offload/offload_utils.cpp
A libsycl/src/detail/offload/offload_utils.hpp
A libsycl/src/detail/platform_impl.cpp
A libsycl/src/detail/platform_impl.hpp
A libsycl/src/exception.cpp
A libsycl/src/exception_list.cpp
M libsycl/src/platform.cpp
M libsycl/src/version.hpp.in
A libsycl/tools/CMakeLists.txt
A libsycl/tools/sycl-ls/CMakeLists.txt
A libsycl/tools/sycl-ls/sycl-ls.cpp
M libunwind/include/libunwind.h
M libunwind/include/mach-o/compact_unwind_encoding.h
M libunwind/include/unwind_itanium.h
M libunwind/src/FrameHeaderCache.hpp
M libunwind/src/Registers.hpp
M libunwind/src/UnwindCursor.hpp
M libunwind/src/UnwindLevel1-gcc-ext.c
M libunwind/src/UnwindLevel1.c
M libunwind/src/libunwind.cpp
M libunwind/src/libunwind_ext.h
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/LTO.cpp
M lld/COFF/MinGW.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/Writer.cpp
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/Mips.cpp
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.h
M lld/ELF/InputSection.cpp
M lld/ELF/LTO.cpp
M lld/ELF/LinkerScript.cpp
M lld/ELF/MarkLive.cpp
M lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/ELF/ScriptParser.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/MachO/InputFiles.cpp
M lld/MachO/InputSection.cpp
M lld/MachO/ObjC.cpp
M lld/MachO/SectionPriorities.cpp
M lld/MachO/SymbolTable.cpp
M lld/include/lld/Common/BPSectionOrdererBase.inc
M lld/test/ELF/aarch64-abs16.s
M lld/test/ELF/aarch64-abs32.s
M lld/test/ELF/aarch64-fpic-abs16.s
M lld/test/ELF/aarch64-fpic-prel16.s
M lld/test/ELF/aarch64-hi21-error.s
M lld/test/ELF/aarch64-ldprel-lo19-invalid.s
M lld/test/ELF/aarch64-lo12-alignment.s
M lld/test/ELF/aarch64-lo21-error.s
M lld/test/ELF/aarch64-load-alignment.s
A lld/test/ELF/aarch64-memtag-pauth-globals-out-of-range.s
A lld/test/ELF/aarch64-memtag-pauth-globals.s
M lld/test/ELF/aarch64-movw-error.s
M lld/test/ELF/aarch64-prel16.s
M lld/test/ELF/aarch64-prel32.s
M lld/test/ELF/arm-adr-err-long.s
M lld/test/ELF/arm-adr-err.s
M lld/test/ELF/arm-ldrlit-err.s
M lld/test/ELF/arm-tag-vfp-args-errs.s
M lld/test/ELF/arm-thumb-adr-err.s
M lld/test/ELF/arm-thumb-ldrlit-err.s
M lld/test/ELF/arm-thumb2-adr-err.s
M lld/test/ELF/arm-thumb2-ldrlit-err.s
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
A lld/test/ELF/dtlto/timetrace.test
A lld/test/ELF/eh-frame-hdr-sdata8.s
R lld/test/ELF/eh-frame-pcrel-overflow.s
M lld/test/ELF/execute-only-mixed-data.s
M lld/test/ELF/fill-trap.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
A lld/test/ELF/loongarch-call30.s
A lld/test/ELF/loongarch-ifunc-nonpreemptible.s
A lld/test/ELF/loongarch-relax-call30-2.s
A lld/test/ELF/loongarch-relax-call30.s
M lld/test/ELF/loongarch-relax-emit-relocs.s
M lld/test/ELF/loongarch-tls-gd-edge-case.s
M lld/test/ELF/loongarch-tls-gd.s
M lld/test/ELF/loongarch-tls-ie.s
M lld/test/ELF/loongarch-tls-ld.s
M lld/test/ELF/loongarch-tlsdesc.s
M lld/test/ELF/mips-align-err.s
M lld/test/ELF/mips-mgot.s
M lld/test/ELF/mips-micro-bad-cross-calls.s
M lld/test/ELF/mips-out-of-bounds-call16-reloc.s
M lld/test/ELF/mips-tls-64.s
M lld/test/ELF/mips-tls.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/pr34872.s
M lld/test/ELF/relocation-before-merge-start.s
M lld/test/ELF/relocation-nocopy.s
M lld/test/ELF/relocation-past-merge-end.s
M lld/test/ELF/reproduce-error.s
M lld/test/ELF/riscv-branch.s
M lld/test/ELF/riscv-call.s
M lld/test/ELF/riscv-hi20-lo12.s
M lld/test/ELF/riscv-ifunc-nonpreemptible.s
M lld/test/ELF/riscv-jal.s
M lld/test/ELF/riscv-pcrel-hilo.s
M lld/test/ELF/riscv-vendor-relocations.s
M lld/test/ELF/static-error.s
R lld/test/ELF/verneed-as-needed-weak.s
A lld/test/ELF/verneed-weak.s
M lld/test/ELF/why-live.test
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
A lld/test/MachO/arm64-branch-addend-stubs.s
M lld/test/MachO/order-file-cstring.s
A lld/test/wasm/debug-weak-unused.s
M lld/test/wasm/export-all.s
A lld/test/wasm/merge-undefined-symbols.s
M lld/test/wasm/mutable-global-exports.s
A lld/test/wasm/pic-static-unused.s
R lld/test/wasm/pic-static.ll
A lld/test/wasm/pic-static.s
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
M lld/wasm/InputFiles.cpp
M lld/wasm/Relocations.cpp
M lld/wasm/SymbolTable.cpp
M lld/wasm/SyntheticSections.h
M lld/wasm/Writer.cpp
M lldb/bindings/interface/SBExpressionOptionsDocstrings.i
M lldb/bindings/interface/SBInstructionExtensions.i
M lldb/bindings/python/python-wrapper.swig
M lldb/docs/dil-expr-lang.ebnf
M lldb/docs/use/mcp.md
M lldb/include/lldb/API/SBDebugger.h
M lldb/include/lldb/API/SBExpressionOptions.h
M lldb/include/lldb/API/SBInstruction.h
M lldb/include/lldb/API/SBStructuredData.h
M lldb/include/lldb/API/SBValue.h
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/Disassembler.h
M lldb/include/lldb/Core/Module.h
M lldb/include/lldb/Core/ModuleList.h
M lldb/include/lldb/Core/ModuleSpec.h
A lldb/include/lldb/DataFormatters/FormatterBytecode.def
A lldb/include/lldb/DataFormatters/FormatterBytecode.h
M lldb/include/lldb/Expression/ObjectFileJIT.h
M lldb/include/lldb/Host/FileSystem.h
M lldb/include/lldb/Host/HostInfoBase.h
M lldb/include/lldb/Host/JSONTransport.h
M lldb/include/lldb/Host/MemoryMonitor.h
M lldb/include/lldb/Host/ProcessLaunchInfo.h
M lldb/include/lldb/Host/windows/PseudoConsole.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedFrameInterface.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/include/lldb/Target/DynamicLoader.h
M lldb/include/lldb/Target/ExecutionContext.h
M lldb/include/lldb/Target/ProcessStructReader.h
M lldb/include/lldb/Target/StackFrame.h
M lldb/include/lldb/Target/StackFrameList.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/Target/Thread.h
M lldb/include/lldb/Utility/DataExtractor.h
M lldb/include/lldb/Utility/UserID.h
M lldb/include/lldb/Utility/VirtualDataExtractor.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/lldb/lldb-defines.h
M lldb/include/lldb/lldb-private-interfaces.h
M lldb/include/lldb/lldb-types.h
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/packages/Python/lldbsuite/test/lldbtest.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/source/API/CMakeLists.txt
M lldb/source/API/SBBreakpointName.cpp
M lldb/source/API/SBExpressionOptions.cpp
M lldb/source/API/SBInstruction.cpp
M lldb/source/API/SBValue.cpp
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Commands/CommandObjectApropos.cpp
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Core/Address.cpp
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Disassembler.cpp
M lldb/source/Core/DynamicLoader.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/ModuleList.cpp
M lldb/source/DataFormatters/FormatterBytecode.cpp
R lldb/source/DataFormatters/FormatterBytecode.def
R lldb/source/DataFormatters/FormatterBytecode.h
M lldb/source/DataFormatters/FormatterSection.cpp
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/source/DataFormatters/ValueObjectPrinter.cpp
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Expression/Expression.cpp
M lldb/source/Expression/IRInterpreter.cpp
M lldb/source/Expression/ObjectFileJIT.cpp
M lldb/source/Expression/UserExpression.cpp
M lldb/source/Host/common/FileSystem.cpp
M lldb/source/Host/common/MemoryMonitor.cpp
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
M lldb/source/Host/macosx/objcxx/PosixSpawnResponsible.h
M lldb/source/Host/windows/MainLoopWindows.cpp
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Host/windows/PseudoConsole.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/Options.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
M lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
M lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
M lldb/source/Plugins/ABI/LoongArch/ABISysV_loongarch.cpp
M lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp
M lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
M lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
M lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
M lldb/source/Plugins/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/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp
M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
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/source/Plugins/Language/CPlusPlus/MsvcStl.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
M lldb/source/Plugins/Language/CPlusPlus/MsvcStlVariant.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.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/PlatformAppleSimulator.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformRemoteDarwinDevice.cpp
M lldb/source/Plugins/Platform/WebAssembly/PlatformWasm.cpp
M lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
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.cpp
M lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.h
M lldb/source/Plugins/Process/FreeBSDKernel/RegisterContextFreeBSDKernel_i386.cpp
M lldb/source/Plugins/Process/FreeBSDKernel/ThreadFreeBSDKernel.cpp
M lldb/source/Plugins/Process/FreeBSDKernel/ThreadFreeBSDKernel.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
M lldb/source/Plugins/Process/scripted/ScriptedFrame.h
M lldb/source/Plugins/Process/wasm/ProcessWasm.cpp
M lldb/source/Plugins/Process/wasm/ProcessWasm.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/JSON/SymbolFileJSON.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDBProperties.td
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Protocol/MCP/Server.cpp
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/Symbol/Function.cpp
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Symbol/SymbolFileOnDemand.cpp
M lldb/source/Symbol/Symtab.cpp
M lldb/source/Symbol/Variable.cpp
M lldb/source/Target/ExecutionContext.cpp
M lldb/source/Target/ModuleCache.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StackFrameRecognizer.cpp
M lldb/source/Target/Statistics.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/TargetList.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanShouldStopHere.cpp
M lldb/source/Utility/DataExtractor.cpp
M lldb/source/Utility/VirtualDataExtractor.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/source/ValueObject/ValueObject.cpp
A lldb/test/API/commands/apropos/formatting/TestAproposFormatting.py
M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
M lldb/test/API/commands/expression/ir-interpreter/TestIRInterpreter.py
M lldb/test/API/commands/expression/options/TestExprOptions.py
M lldb/test/API/commands/frame/var-dil/basics/ArraySubscript/TestFrameVarDILArraySubscript.py
M lldb/test/API/commands/frame/var-dil/basics/BitFieldExtraction/TestFrameVarDILBitFieldExtraction.py
M lldb/test/API/commands/help/TestHelp.py
M lldb/test/API/commands/settings/TestSettings.py
M lldb/test/API/functionalities/breakpoint/breakpoint_names/TestBreakpointNames.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/ordering/TestDataFormatterStdOrdering.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/TestDataFormatterStdVariant.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/main.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/optional/TestDataFormatterLibcxxOptionalSimulator.py
M lldb/test/API/functionalities/disassembler-variables/TestVariableAnnotationsDisassembler.py
M lldb/test/API/functionalities/memory-region/TestMemoryRegion.py
M lldb/test/API/functionalities/plugins/command_plugin/TestPluginCommands.py
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
A lldb/test/API/functionalities/postmortem/elf-core/linux-x86_64-no-exe.core
M lldb/test/API/functionalities/process_save_core/TestProcessSaveCore.py
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
M lldb/test/API/functionalities/stats_api/TestStatisticsAPI.py
A lldb/test/API/functionalities/stats_api/minidump.yaml
M lldb/test/API/functionalities/ubsan/basic/Makefile
M lldb/test/API/functionalities/ubsan/basic/TestUbsanBasic.py
M lldb/test/API/functionalities/ubsan/basic/main.c
M lldb/test/API/lang/cpp/function-template-parameter-pack/TestFunctionTemplateParameterPack.py
M lldb/test/API/lang/cpp/template-alias/TestTemplateAlias.py
M lldb/test/API/lang/cpp/template-arguments/TestCppTemplateArguments.py
M lldb/test/API/lang/objc/failing-description/TestObjCFailingDescription.py
M lldb/test/API/lang/objc/struct-description/TestObjCStructDescription.py
A lldb/test/API/macosx/extended-backtrace-api/Makefile
A lldb/test/API/macosx/extended-backtrace-api/TestExtendedBacktraceAPI.py
A lldb/test/API/macosx/extended-backtrace-api/main.m
M lldb/test/API/python_api/file_handle/TestFileHandle.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/breakpoint/TestDAP_setExceptionBreakpoints.py
M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
M lldb/test/API/tools/lldb-dap/completions/main.cpp
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
M lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
A lldb/test/API/tools/lldb-dap/eventStatistic/Makefile
A lldb/test/API/tools/lldb-dap/eventStatistic/TestVSCode_eventStatistic.py
A lldb/test/API/tools/lldb-dap/eventStatistic/foo.cpp
A lldb/test/API/tools/lldb-dap/eventStatistic/foo.h
A lldb/test/API/tools/lldb-dap/eventStatistic/main.cpp
M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
A lldb/test/API/tools/lldb-dap/exception/asan/Makefile
A lldb/test/API/tools/lldb-dap/exception/asan/TestDAP_asan.py
A lldb/test/API/tools/lldb-dap/exception/asan/categories
A lldb/test/API/tools/lldb-dap/exception/asan/main.cpp
M lldb/test/API/tools/lldb-dap/exception/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/ubsan/Makefile
A lldb/test/API/tools/lldb-dap/exception/ubsan/TestDAP_ubsan.py
A lldb/test/API/tools/lldb-dap/exception/ubsan/categories
A lldb/test/API/tools/lldb-dap/exception/ubsan/main.c
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/launch/io/TestDAP_launch_io.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/startDebugging/TestDAP_startDebugging.py
A lldb/test/API/tools/lldb-dap/stopped-events/Makefile
A lldb/test/API/tools/lldb-dap/stopped-events/TestDAP_stopped_events.py
A lldb/test/API/tools/lldb-dap/stopped-events/main.cpp
M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
M lldb/test/API/tools/lldb-dap/threads/TestDAP_threads.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/CMakeLists.txt
A lldb/test/Shell/Commands/command-memory-region.test
A lldb/test/Shell/DAP/TestSTDINConsole.test
A lldb/test/Shell/Expr/TestObjCIncompleteSuperclass.test
M lldb/test/Shell/ScriptInterpreter/Python/io.test
M lldb/test/Shell/Settings/TestChildDepthTruncation.test
A lldb/test/Shell/SymbolFile/DWARF/Inputs/gnu-ref-strp-alt.yaml
A lldb/test/Shell/SymbolFile/DWARF/gnu-ref-strp-alt.test
A lldb/test/Shell/SymbolFile/NativePDB/invalid-inlinee-not-in-ipi.yaml
M lldb/test/Shell/SymbolFile/NativePDB/lit.local.cfg
M lldb/test/Shell/helper/toolchain.py
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/EventHelper.h
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
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
M lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/NextRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/ScopesRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepInRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepOutRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.h
M lldb/tools/lldb-dap/ProgressEvent.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolEvents.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolEvents.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
A lldb/tools/lldb-dap/SBAPIExtras.h
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/Variables.cpp
M lldb/tools/lldb-dap/Variables.h
M lldb/tools/lldb-dap/extension/package.json
M lldb/unittests/Core/ModuleListTest.cpp
M lldb/unittests/Core/ModuleSpecTest.cpp
M lldb/unittests/DAP/CMakeLists.txt
M lldb/unittests/DAP/LLDBUtilsTest.cpp
A lldb/unittests/DAP/ProtocolEventsTest.cpp
M lldb/unittests/DAP/ProtocolTypesTest.cpp
M lldb/unittests/DAP/VariablesTest.cpp
M lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp
M lldb/unittests/Expression/ExpressionTest.cpp
M lldb/unittests/Instruction/RISCV/TestRISCVEmulator.cpp
M lldb/unittests/ObjectFile/MachO/TestObjectFileMachO.cpp
M lldb/unittests/Symbol/SymtabTest.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
M lldb/unittests/Target/LocateModuleCallbackTest.cpp
M lldb/unittests/TestingSupport/TestUtilities.h
M lldb/unittests/Utility/VirtualDataExtractorTest.cpp
M llvm/.clang-format
M llvm/CMakeLists.txt
M llvm/Maintainers.md
M llvm/cmake/config-ix.cmake
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/GenerateVersionFromVCS.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
A llvm/docs/AIToolPolicy.md
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CommandGuide/FileCheck.rst
M llvm/docs/CommandGuide/llvm-cov.rst
M llvm/docs/CommandGuide/llvm-dwarfdump.rst
M llvm/docs/CommandGuide/llvm-objdump.rst
M llvm/docs/CommandGuide/llvm-readelf.rst
M llvm/docs/CommandGuide/llvm-readobj.rst
M llvm/docs/DTLTO.rst
M llvm/docs/DebuggingLLVM.rst
M llvm/docs/DeveloperPolicy.rst
M llvm/docs/Extensions.rst
M llvm/docs/GettingInvolved.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/docs/MIRLangRef.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/Reference.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SPIRVUsage.rst
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl02.rst
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl03.rst
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl04.rst
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/ADT/PostOrderIterator.h
M llvm/include/llvm/ADT/StringExtras.h
M llvm/include/llvm/Analysis/CallGraphSCCPass.h
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/include/llvm/Analysis/DominanceFrontier.h
M llvm/include/llvm/Analysis/DominanceFrontierImpl.h
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/include/llvm/Analysis/LoopCacheAnalysis.h
M llvm/include/llvm/Analysis/MemorySSA.h
M llvm/include/llvm/Analysis/RuntimeLibcallInfo.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/ScalarEvolutionDivision.h
M llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/AsmParser/AsmParserContext.h
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/BinaryFormat/MachO.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CAS/BuiltinUnifiedCASDatabases.h
A llvm/include/llvm/CAS/CASNodeSchema.h
M llvm/include/llvm/CAS/MappedFileRegionArena.h
A llvm/include/llvm/CAS/NamedValuesSchema.h
A llvm/include/llvm/CAS/OnDiskCASLogger.h
M llvm/include/llvm/CAS/OnDiskDataAllocator.h
M llvm/include/llvm/CAS/OnDiskGraphDB.h
M llvm/include/llvm/CAS/OnDiskKeyValueDB.h
M llvm/include/llvm/CAS/OnDiskTrieRawHashMap.h
M llvm/include/llvm/CAS/UnifiedOnDiskCache.h
A llvm/include/llvm/CAS/ValidationResult.h
M llvm/include/llvm/CGData/CGDataPatchItem.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/BasicBlockSectionsProfileReader.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/CFIFixup.h
M llvm/include/llvm/CodeGen/CalcSpillWeights.h
M llvm/include/llvm/CodeGen/FastISel.h
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/LibcallLoweringInfo.h
M llvm/include/llvm/CodeGen/LiveIntervalUnion.h
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/include/llvm/CodeGen/LiveRegMatrix.h
M llvm/include/llvm/CodeGen/LiveStacks.h
M llvm/include/llvm/CodeGen/LiveVariables.h
M llvm/include/llvm/CodeGen/MachineDominanceFrontier.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
M llvm/include/llvm/CodeGen/MachinePipeliner.h
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/PBQP/Math.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/RegisterUsageInfo.h
M llvm/include/llvm/CodeGen/ReplaceWithVeclib.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/include/llvm/DTLTO/DTLTO.h
M llvm/include/llvm/DebugInfo/BTF/BTFParser.h
M llvm/include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h
M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ObjectFormats.h
M llvm/include/llvm/Frontend/HLSL/HLSLResource.h
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/IR/Argument.h
M llvm/include/llvm/IR/Attributes.h
M llvm/include/llvm/IR/Attributes.td
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/FixedMetadataKinds.def
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/GlobalAlias.h
M llvm/include/llvm/IR/GlobalIFunc.h
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/IR/GlobalVariable.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InlineAsm.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/OptBisect.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/IR/ProfDataUtils.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/include/llvm/IR/SymbolTableListTraits.h
M llvm/include/llvm/IR/User.h
M llvm/include/llvm/IR/Value.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCGOFFAttributes.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCWinEH.h
M llvm/include/llvm/Object/ELFTypes.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/Support/BranchProbability.h
M llvm/include/llvm/Support/CodeGen.h
M llvm/include/llvm/Support/Compiler.h
M llvm/include/llvm/Support/DXILABI.h
A llvm/include/llvm/Support/ErrorExtras.h
M llvm/include/llvm/Support/GenericDomTree.h
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
M llvm/include/llvm/Support/IntegerInclusiveInterval.h
M llvm/include/llvm/Support/KnownBits.h
M llvm/include/llvm/Support/KnownFPClass.h
M llvm/include/llvm/Support/LSP/Protocol.h
M llvm/include/llvm/Support/Registry.h
M llvm/include/llvm/Support/SourceMgr.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Support/thread.h
M llvm/include/llvm/TableGen/CodeGenHelpers.h
M llvm/include/llvm/Target/CGPassBuilderOption.h
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/TargetParser/LoongArchTargetParser.def
M llvm/include/llvm/TargetParser/LoongArchTargetParser.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Transforms/CFGuard.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
M llvm/include/llvm/Transforms/Utils/CodeExtractor.h
M llvm/include/llvm/Transforms/Utils/LoopPeel.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/include/llvm/Transforms/Utils/LowerMemIntrinsics.h
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/include/llvm/Transforms/Utils/PredicateInfo.h
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Analysis/CallGraphSCCPass.cpp
M llvm/lib/Analysis/CmpInstAnalysis.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyBranchProbabilityInfo.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/LoopCacheAnalysis.cpp
M llvm/lib/Analysis/LoopUnrollAnalyzer.cpp
M llvm/lib/Analysis/MemoryBuiltins.cpp
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/AsmParser/AsmParserContext.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
M llvm/lib/CAS/ActionCaches.cpp
M llvm/lib/CAS/BuiltinCAS.cpp
M llvm/lib/CAS/BuiltinCAS.h
M llvm/lib/CAS/BuiltinUnifiedCASDatabases.cpp
A llvm/lib/CAS/CASNodeSchema.cpp
M llvm/lib/CAS/CMakeLists.txt
M llvm/lib/CAS/DatabaseFile.cpp
M llvm/lib/CAS/DatabaseFile.h
M llvm/lib/CAS/MappedFileRegionArena.cpp
A llvm/lib/CAS/NamedValuesSchema.cpp
M llvm/lib/CAS/OnDiskCAS.cpp
A llvm/lib/CAS/OnDiskCASLogger.cpp
M llvm/lib/CAS/OnDiskDataAllocator.cpp
M llvm/lib/CAS/OnDiskGraphDB.cpp
M llvm/lib/CAS/OnDiskKeyValueDB.cpp
M llvm/lib/CAS/OnDiskTrieRawHashMap.cpp
M llvm/lib/CAS/UnifiedOnDiskCache.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
M llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/BasicBlockMatchingAndInference.cpp
M llvm/lib/CodeGen/BasicBlockPathCloning.cpp
M llvm/lib/CodeGen/BasicBlockSections.cpp
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/BranchRelaxation.cpp
M llvm/lib/CodeGen/BreakFalseDeps.cpp
M llvm/lib/CodeGen/CFGuardLongjmp.cpp
M llvm/lib/CodeGen/CFIInstrInserter.cpp
M llvm/lib/CodeGen/CalcSpillWeights.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/CodeGen/DeadMachineInstructionElim.cpp
M llvm/lib/CodeGen/DwarfEHPrepare.cpp
M llvm/lib/CodeGen/EHContGuardTargets.cpp
M llvm/lib/CodeGen/EarlyIfConversion.cpp
M llvm/lib/CodeGen/ExpandIRInsts.cpp
M llvm/lib/CodeGen/ExpandMemCmp.cpp
M llvm/lib/CodeGen/ExpandPostRAPseudos.cpp
M llvm/lib/CodeGen/ExpandReductions.cpp
M llvm/lib/CodeGen/FEntryInserter.cpp
M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
M llvm/lib/CodeGen/FuncletLayout.cpp
M llvm/lib/CodeGen/GCEmptyBasicBlocks.cpp
M llvm/lib/CodeGen/GCMetadata.cpp
M llvm/lib/CodeGen/GCRootLowering.cpp
M llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/GlobalISel.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
M llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/CodeGen/HardwareLoops.cpp
M llvm/lib/CodeGen/IfConversion.cpp
M llvm/lib/CodeGen/ImplicitNullChecks.cpp
M llvm/lib/CodeGen/IndirectBrExpandPass.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
M llvm/lib/CodeGen/JMCInstrumenter.cpp
M llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp
M llvm/lib/CodeGen/LibcallLoweringInfo.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugVariables.cpp
M llvm/lib/CodeGen/LiveIntervalUnion.cpp
M llvm/lib/CodeGen/LiveIntervals.cpp
M llvm/lib/CodeGen/LiveRangeShrink.cpp
M llvm/lib/CodeGen/LiveRegMatrix.cpp
M llvm/lib/CodeGen/LiveVariables.cpp
M llvm/lib/CodeGen/LocalStackSlotAllocation.cpp
M llvm/lib/CodeGen/LowerEmuTLS.cpp
M llvm/lib/CodeGen/MIR2Vec.cpp
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
M llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp
M llvm/lib/CodeGen/MachineBlockHashInfo.cpp
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp
M llvm/lib/CodeGen/MachineCFGPrinter.cpp
M llvm/lib/CodeGen/MachineCSE.cpp
M llvm/lib/CodeGen/MachineCombiner.cpp
M llvm/lib/CodeGen/MachineCycleAnalysis.cpp
M llvm/lib/CodeGen/MachineDominanceFrontier.cpp
M llvm/lib/CodeGen/MachineDominators.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/MachineFunctionPass.cpp
M llvm/lib/CodeGen/MachineFunctionSplitter.cpp
Log Message:
-----------
Merge branch 'main' into users/kasuga-fj/pipeliner-handle-global-barrier
Compare: https://github.com/llvm/llvm-project/compare/86b2d84e9c26...ce9471f82aa5
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