[all-commits] [llvm/llvm-project] f7a226: [IR] Skip remove_if scan for empty maps in removeN...
jofrn via All-commits
all-commits at lists.llvm.org
Fri May 29 06:08:41 PDT 2026
Branch: refs/heads/users/jofrn/x86-remove-shouldcastatomicloadinir-v2
Home: https://github.com/llvm/llvm-project
Commit: f7a2267de9e3088bafe241da9bd90c710ccc9c3c
https://github.com/llvm/llvm-project/commit/f7a2267de9e3088bafe241da9bd90c710ccc9c3c
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/IR/LegacyPassManager.cpp
Log Message:
-----------
[IR] Skip remove_if scan for empty maps in removeNotPreservedAnalysis (#200292)
removeNotPreservedAnalysis runs after every legacy-PM pass. #198982
changed it to DenseMap::remove_if, which iterates the raw bucket array
even when the map is empty. The old begin()/end() loop did not:
begin()'s
makeBegin returns end() directly for an empty map (its "avoid advancing
past empty buckets" shortcut), so the loop touched no buckets. These
maps
are usually empty here but keep a grown bucket array after their entries
are erased (a 64-bucket array when compiling sqlite3.i at -O0 -g), so
remove_if walks empty buckets for nothing, regressing instructions:u
(most visible at -O0). #199571 was a small fix for the out-of-lined
remove_if call; this addresses the dominant cost.
Skip empty maps, which fixes the regression:
https://llvm-compile-time-tracker.com/compare.php?from=8ab00f2c21e5975f5de977ca68607b4acc23c856&to=6a33135fad599da0c2c9919ec37f81217e5c8f6b&stat=instructions:u
Commit: 3648f148c70b1980e858f539f1d49837ad94dbf0
https://github.com/llvm/llvm-project/commit/3648f148c70b1980e858f539f1d49837ad94dbf0
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Add myself as maintainer for LoopInterchange and related passes (#200335)
I have been consistently contributing to LoopInterchange and the passes
related to it, including Delinearization, DependenceAnalysis, and
ScalarEvolutionDivision. In accordance with [the LLVM Developer
Policy](https://llvm.org/docs/DeveloperPolicy.html#adding-or-enabling-a-new-llvm-pass),
and to help move things forward, particularly toward enabling
LoopInterchange by default, I would like to nominate myself as a
maintainer for these passes.
See also: #124911.
Commit: 971ad593d6a2df38ab3854dc3bc440eab8416057
https://github.com/llvm/llvm-project/commit/971ad593d6a2df38ab3854dc3bc440eab8416057
Author: Joshua Rodriguez <josh.rodriguez at arm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
Log Message:
-----------
[AArch64][GlobalISel] Add handling for scalar sqneg intrinsic (#200211)
Scalar versions of the intrinsic must be performed on FPR banks. To
ensure this happens, coerce the source and destination registers to be
on FPR.
Commit: 3ca81aa6b6d081797eeb555fb905fe7707acac74
https://github.com/llvm/llvm-project/commit/3ca81aa6b6d081797eeb555fb905fe7707acac74
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/load-extractelement-scalarization.ll
Log Message:
-----------
[VectorCombine] Don't scalarize atomic loads (#200263)
scalarizeLoad tries to convert e.g.
%a = load <2 x i32> %ptr
%b = extractelement %a, 1
into a scalar load. Before this patch it would do this even when the
load is atomic, but in doing so it accidentally dropped the atomicity of
the load!
Although it is correct to apply this transformation to unordered
atomics, for now we simply don't apply this pass to atomics at all.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 9d47197593c671a2925b1121b9194d73d2b0195b
https://github.com/llvm/llvm-project/commit/9d47197593c671a2925b1121b9194d73d2b0195b
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M libcxx/include/__memory/shared_ptr.h
Log Message:
-----------
[libc++] Use variable templates instead of class templates in shared_ptr.h (#199481)
This improves readability and compile times a bit.
Commit: eaf5ba7478e774e55334b021221db62f331667e5
https://github.com/llvm/llvm-project/commit/eaf5ba7478e774e55334b021221db62f331667e5
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/test/CodeGen/SPIRV/transcoding/ReqdSubgroupSize.ll
Log Message:
-----------
[SPIR-V] Recognize reqd_sub_group_size metadata for SubgroupSize (#199521)
Recognize function metadata without a vendor prefix for the
`SubgroupSize` Execution Mode, alongside the existing vendor-prefixed
metadata. `SubgroupSize` is a core SPIR-V feature, so representing it
using vendor-prefixed metadata was misleading.
Relates to
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/issues/3742
Commit: e8772d99d89a5ed47a58d1a429bc55e5e055c3f7
https://github.com/llvm/llvm-project/commit/e8772d99d89a5ed47a58d1a429bc55e5e055c3f7
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[Maintainers] Fix Markdown heading level (#200340)
Commit: d7703c6aab9fd496cc467d81415d07c01247f188
https://github.com/llvm/llvm-project/commit/d7703c6aab9fd496cc467d81415d07c01247f188
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/headers.txt
Log Message:
-----------
[libc] Add byteswap.h to Linux public header target lists (#200345)
The headers don't get built/installed without this.
Commit: a0f7a62bb6a20404221e2823d4b7dd77f67e77ea
https://github.com/llvm/llvm-project/commit/a0f7a62bb6a20404221e2823d4b7dd77f67e77ea
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[clang][doc][SYCL] Add a very first SYCL release note (#200200)
Commit: 2d046bd62066067a1de8cb65752f1dd9404c4121
https://github.com/llvm/llvm-project/commit/2d046bd62066067a1de8cb65752f1dd9404c4121
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll
A llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-negative-i32-offset.ll
Log Message:
-----------
[LSR] Improve the recognition of vscale immediates (#196998)
Previously, the extraction of vscale immediates was handled the same as
the non-scalable case. That is we'd look for a `vscale * constant`
scMulExpr on the LHS of the SCEV expression.
However, within a SCEV expression operands are ordered by "complexity",
which is defined (mostly) by the order of the SCEVTypes enum:
https://github.com/llvm/llvm-project/blob/bcb84e234980ca42ee47e21e4c97180c788c946a/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h#L38-L59
So, (non-scalable) constants would always occur on the LHS as the
simplest expression type, but a scMulExpr could occur later in the
operand list for a scAddExpr (e.g., after a sext/zext expression). This
meant in some cases we'd fail to find vscale immediates.
This patch updates `ExtractImmediate` to search later operands to find
vscale offsets, and prefer vscale offsets based on the access type and
current BaseOffset. So for scalable accesses, we prefer finding vscale
immediates over fixed immediates when both are present.
Commit: f7fa98ea57dc665d8fcde895fe44547b9d9189cb
https://github.com/llvm/llvm-project/commit/f7fa98ea57dc665d8fcde895fe44547b9d9189cb
Author: David Spickett <david.spickett at arm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[llvm][docs] Correct link to libc maintainers file (#200348)
Commit: c2e39974c8e27727b15297f82b6bd3be684a4789
https://github.com/llvm/llvm-project/commit/c2e39974c8e27727b15297f82b6bd3be684a4789
Author: Weibo He <NewSigma at 163.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/Coroutines/SuspendCrossingInfo.h
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/SuspendCrossingInfo.cpp
A llvm/test/Transforms/Coroutines/coro-frame-inramp.ll
Log Message:
-----------
[CoroSplit] Never cross suspending points when `coro.is_in_ramp` is true (#198226)
When `coro.is_in_ramp` is true, the marked region does not appear in
resumers after splitting and therefore never crosses a suspension point.
This patch leverages that property to avoid wasting space on lazy
conversion:
``` C++
#include <coroutine>
struct coro {
struct promise_type {
auto get_return_object() noexcept {
return std::coroutine_handle<promise_type>::from_promise(*this);
}
std::suspend_always initial_suspend() noexcept { return {}; }
std::suspend_never final_suspend() noexcept { return {}; }
void return_void() noexcept {}
void unhandled_exception() {}
};
coro(std::coroutine_handle<promise_type> handle) : handle(handle) {}
std::coroutine_handle<> handle;
long l[2];
};
coro fn() {
co_return;
}
```
Commit: 2e10a9f2e95a17d4d009e9546a6cb5d442049233
https://github.com/llvm/llvm-project/commit/2e10a9f2e95a17d4d009e9546a6cb5d442049233
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/const-eval.c
Log Message:
-----------
[clang][bytecode] Check Mulc op for numbers (#199657)
Commit: bafde6fbb860e9b2f887a649c19f3b3ebb168041
https://github.com/llvm/llvm-project/commit/bafde6fbb860e9b2f887a649c19f3b3ebb168041
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M flang-rt/CMakeLists.txt
M flang-rt/cmake/modules/AddFlangRT.cmake
A flang-rt/cmake/modules/FlangRTIntrospection.cmake
M flang-rt/lib/CMakeLists.txt
M flang-rt/lib/runtime/CMakeLists.txt
A flang-rt/lib/runtime/__cuda_builtins.f90
A flang-rt/lib/runtime/__cuda_device.f90
A flang-rt/lib/runtime/__fortran_builtins.f90
A flang-rt/lib/runtime/__fortran_ieee_exceptions.f90
A flang-rt/lib/runtime/__fortran_type_info.f90
A flang-rt/lib/runtime/__ppc_intrinsics.f90
A flang-rt/lib/runtime/__ppc_types.f90
A flang-rt/lib/runtime/cooperative_groups.f90
A flang-rt/lib/runtime/cuda_runtime_api.f90
A flang-rt/lib/runtime/cudadevice.f90
A flang-rt/lib/runtime/flang_debug.f90
A flang-rt/lib/runtime/ieee_arithmetic.f90
A flang-rt/lib/runtime/ieee_exceptions.f90
A flang-rt/lib/runtime/ieee_features.f90
A flang-rt/lib/runtime/iso_c_binding.f90
A flang-rt/lib/runtime/iso_fortran_env.f90
M flang-rt/lib/runtime/iso_fortran_env_impl.cpp
A flang-rt/lib/runtime/iso_fortran_env_impl.f90
A flang-rt/lib/runtime/mma.f90
M flang-rt/test/CMakeLists.txt
M flang-rt/test/Driver/compare_iso_fortran_env_symbols.f90
M flang-rt/test/Driver/iso_fortran_env_impl.f90
M flang-rt/test/lit.cfg.py
M flang-rt/test/lit.site.cfg.py.in
M flang/CMakeLists.txt
M flang/lib/Semantics/semantics.cpp
R flang/module/.clang-format
R flang/module/__cuda_builtins.f90
R flang/module/__cuda_device.f90
R flang/module/__fortran_builtins.f90
R flang/module/__fortran_ieee_exceptions.f90
R flang/module/__fortran_type_info.f90
R flang/module/__ppc_intrinsics.f90
R flang/module/__ppc_types.f90
R flang/module/cooperative_groups.f90
R flang/module/cuda_runtime_api.f90
R flang/module/cudadevice.f90
R flang/module/flang_debug.f90
R flang/module/ieee_arithmetic.f90
R flang/module/ieee_exceptions.f90
R flang/module/ieee_features.f90
R flang/module/iso_c_binding.f90
R flang/module/iso_fortran_env.f90
R flang/module/iso_fortran_env_impl.f90
R flang/module/mma.f90
M flang/test/CMakeLists.txt
R flang/test/Driver/Inputs/resource_dir_with_per_target_subdir/finclude/flang/x86_64-unknown-linux-gnu/.keep
M flang/test/Driver/intrinsic-module-path_per_target.f90
M flang/test/Driver/pp-fixed-form.f90
M flang/test/Lower/OpenMP/simd_aarch64.f90
M flang/test/Lower/OpenMP/target-enter-data-default-openmp52.f90
M flang/test/Lower/where-loc.f90
M flang/test/Parser/bug2280.f90
M flang/test/Preprocessing/fixed-free.f
M flang/test/Preprocessing/no-pp-if.f90
M flang/test/Semantics/bug163242.f90
M flang/test/Semantics/bug164303.f90
M flang/test/Semantics/bug2021.f90
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/CMakeLists.txt
R flang/tools/f18/CMakeLists.txt
R flang/tools/f18/dump.cpp
M llvm/runtimes/CMakeLists.txt
M openmp/CMakeLists.txt
R openmp/cmake/modules/LibompCheckFortranFlag.cmake
M openmp/cmake/modules/LibompHandleFlags.cmake
M openmp/module/CMakeLists.txt
M openmp/runtime/cmake/LibompExports.cmake
M openmp/runtime/test/lit.cfg
M openmp/runtime/test/lit.site.cfg.in
M runtimes/cmake/config-Fortran.cmake
Log Message:
-----------
[Flang] Move builtin .mod generation into runtimes (Reapply #137828) (#171515)
Reapplication of #137828 and #169638
Move building the .mod files from openmp/flang to openmp/flang-rt using
a shared mechanism. Motivations to do so are:
1. Most modules are target-dependent and need to be re-compiled for each
target separately, which is something the LLVM_ENABLE_RUNTIMES system
already does. Prime example is `iso_c_binding.mod` which encodes the
target's ABI. Constants such as `c_long_double` also have different
values).
Most other modules have `#ifdef`-enclosed code as well. For instance
this caused offload targets nvptx64-nvidia-cuda/amdgpu-amd-amdhsa to use
the modules files compiled for the host which may contrain uses of the
types REAL(10) or REAL(16) not available for nvptx/amdgpu.
2. CMake has support for Fortran that we should use. Among other things,
it automatically determines module dependencies so there is no need to
hardcode them in the CMakeLists.txt.
Currently the dependencies between builtin modules and `omp_lib.mod`
seem to be incorrect:
https://github.com/llvm/llvm-project/pull/174474#issuecomment-3880189581
3. It allows using Fortran itself to implement Flang-RT. Currently, only
`iso_fortran_env_impl.f90` emits object files that are needed by Fortran
applications (#89403). The workaround of #95388 could be reverted (PR
#169525).
If using Flang for cross-compilation or target-offloading, flang-rt must
now be compiled for each target not only for the library, but also to
get the target-specific module files. For instance in a bootstrapping
runtime build, this can be done by adding:
`-DLLVM_RUNTIME_TARGETS=default;nvptx64-nvidia-cuda;amdgpu-amd-amdhsa`.
Some new dependencies come into play:
* openmp depends on flang-rt for building `lib_omp.mod` and
`lib_omp_kinds.mod`. Currently, if flang-rt is not found then the
modules are not built.
* check-flang depends on flang-rt: If not found, the majority of tests
are disabled. If not building in a bootstrpping build, the location of
the module files can be pointed to using
`-DFLANG_INTRINSIC_MODULES_DIR=<path>`, e.g. in a flang-standalone
build. Alternatively, the test needing any of the intrinsic modules
could be marked with `REQUIRES: flangrt-modules`.
* check-flang depends on openmp: Not a change; tests requiring
`lib_omp.mod` and `lib_omp_kinds.mod` those are already marked with
`openmp_runtime`.
As intrinsic are now specific to the target, their location is moved
from `include/flang` to `<resource-dir>/finclude/flang/<triple>`. The
mechnism to compute the location have been moved from flang-rt
(previously used to compute the location of `libflang_rt.*.a`) to common
locations in `cmake/GetToolchainDirs.cmake` and
`runtimes/CMakeLists.txt` so they can be used by both, openmp and
flang-rt. Potentially the mechnism could also be shared by other
libraries such as compiler-rt.
`finclude` was chosen because `gfortran` uses it as well and avoids
misuse such as `#include <flang/iso_c_binding.mod>`. The search location
is now determined by `ToolChain` in the driver, instead of by the
frontend. Another subdirectory `flang` avoids accidental inclusion of
gfortran-modules which due to compression would result in
user-unfriendly errors. Now the driver adds `-fintrinsic-module-path`
for that location to the frontend call (Just like gfortran does).
Since the driver determines the location,
tests invoking `flang -fc1` and `bbc` must also be passed the location
by llvm-lit. This works like llvm-lit does for finding the include dirs
for Clang using `-print-file-name=...`.
Commit: 0d8316a53da5ef7b46dd54ea5cf69c89129bb46d
https://github.com/llvm/llvm-project/commit/0d8316a53da5ef7b46dd54ea5cf69c89129bb46d
Author: Dan Liew <dan at su-root.co.uk>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M compiler-rt/docs/BuildingCompilerRT.rst
M compiler-rt/test/CMakeLists.txt
Log Message:
-----------
[Compiler-rt][CMake][BoundsSafety] Add `COMPILER_RT_ENABLE_TEST_SUITES` to control which test suites are enabled (#196385)
This change introduces a new CMake cache variable
`COMPILER_RT_ENABLE_TEST_SUITES` that allows users to have fine-grained
control over which test suites are included and therefore run when
running `ninja check-all`.
For example building with `COMPILER_RT_ENABLE_TEST_SUITES=builtins;asan`
will only enable the builtins and asan tests under `compiler-rt/tests`.
The default value of `COMPILER_RT_INCLUDE_TESTS` is `all` which is a
special value that includes everything and it being the default means
this patch preserves existing behavior. Note this new option only has
affect when `COMPILER_RT_INCLUDE_TESTS` is On.
The primary use case for this change is it allows controlling tests that
don't have a corresponding runtime to be enabled/disabled. An example of
this is the `shadowcallstack` test suite. `-fbounds-safety` also has a
downstream test suite in compiler-rt like this. Previously there was no
way to disable including these tests when `COMPILER_RT_INCLUDE_TESTS`
was on.
The `-fbounds-safety` test suite will be upstreamed once the necessary
clang pieces exist upstream.
A side benefit of this change is it allows building runtimes but not
testing some of them which can be useful in some testing environments
(e.g. smoke-test). It is not the primary motivation though.
While the existing `COMPILER_RT_BUILD_<NAME>` options can be used to
prevent running tests (by not building corresponding runtimes) that
isn't a good solution because it:
* Doesn't work for tests that have no corresponding runtime to be built
like `shadowcallstack` because there's no CMake option for it.
* Requires specifying multiple CMake options to disable building each
runtime that we don't want tested. This approach disallows "building
but not testing certain runtimes" and also is annoying to maintain
because its effectively a subtractive list (you say what you don't
want) that has to be updated everytime a new runtime is introduced
whereas COMPILER_RT_ENABLE_TEST_SUITES is an additive list (you say
what you want) that doesn't need modifying everytime a new runtime is
introduced.
To implement this all test directories in `compiler-rt/test` are now
added through the `compiler_rt_test_runtime()` function which has been
adapted to accommodate all use cases.
Assisted-by: Claude Code
rdar://176477660
Commit: 386dac00fba8c7386fe33174234ca1c22b82258b
https://github.com/llvm/llvm-project/commit/386dac00fba8c7386fe33174234ca1c22b82258b
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/test/CodeGenCXX/new_hot_cold.cpp
M clang/test/CodeGenCXX/operator-new.cpp
Log Message:
-----------
Revert "[Clang] Mark new as inaccessiblememonly if sane" (#200349)
Reverts llvm/llvm-project#197199.
This had some unexpected optimization impact.
Commit: 0850f6e62ea02a51be9aa465dbc926d30f7ef6a5
https://github.com/llvm/llvm-project/commit/0850f6e62ea02a51be9aa465dbc926d30f7ef6a5
Author: Bill Wendling <morbo at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.h
Log Message:
-----------
[CodeGen][NFC] Refactor EmitAsmStmt to reduce header churn (#199377)
Implement Justin's suggestion, which was far better than what we had.
Commit: 2c49ef885bae8fdb540705a8df0200fbc9de4592
https://github.com/llvm/llvm-project/commit/2c49ef885bae8fdb540705a8df0200fbc9de4592
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads-with-predicated-stores.ll
Log Message:
-----------
[VPlan] Support URem in getSCEVExprForVPValue. (#199794)
Extend vputils::getSCEVExprForVPValue to construct SCEV expressions for
URem recipes.
Enables SCEV-based no-alias reasoning for stores derived from UREM GEPs.
PR: https://github.com/llvm/llvm-project/pull/199794
Commit: 73080a6c3b5c3e7d11c1294e0afa7ebe5821d712
https://github.com/llvm/llvm-project/commit/73080a6c3b5c3e7d11c1294e0afa7ebe5821d712
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU] Remove _dpp variants from VOPD tables (#200184)
DPP instructions are not eligible to pariticpate in VOPD and will be
eventually rejected -- `VOPDComponentTable` size is reduced by 33%. This
address a comment from #199072.
Assisted-by: Claude Code
Commit: 7527985fd76cd2a22e4d2a168b813fd29142e24d
https://github.com/llvm/llvm-project/commit/7527985fd76cd2a22e4d2a168b813fd29142e24d
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/VOPDInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU] Use direct lookup table for VOPD eligibility (#200241)
This further improves lookup by using a packed key that returns both X
and Y eligibility via a direct lookup, removing the need for a binary
search on the VOPDX and VOPDY tables.
Due to TableGen limitations the direct lookup table is generated
manually from the VOPDX and VOPDY tables. Doing it automatically is
future work.
After this patch, `getCanBeVOPD` is reduced to one O(log n) binary
search and one O(1) direct lookup. We could replace the whole function
with a direct lookup using Opc as a key, but the new table would be an
order of magnitude larger. As such, a two-step lookup is the preferred
approach unless we can show that the benefit of a single lookup
outweighs the significant increase in table size — especially since n in
the initial O(log n) lookup is only ~50.
With this patch I'm seeing a decrease from ~2.5% to ~1.75% in perf
report for `getCanBeVOPD`. The baseline has both #199072 and #200184
applied.
Assisted-By: Claude Code
Commit: afddfe074afb19681e2d7628f37f5d621df2ff3a
https://github.com/llvm/llvm-project/commit/afddfe074afb19681e2d7628f37f5d621df2ff3a
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h
Log Message:
-----------
[lldb][NFCI] Cleanup AppleObjCClassDescriptorV2::class_ro_t API (#200213)
Commit: 7a4d7733ae55ef8ac139d80e2b0f2bd1951ff5c8
https://github.com/llvm/llvm-project/commit/7a4d7733ae55ef8ac139d80e2b0f2bd1951ff5c8
Author: Deepak Shirke <117824396+deepakshirkem at users.noreply.github.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lld/ELF/LinkerScript.cpp
M lld/docs/ReleaseNotes.rst
M lld/test/ELF/linkerscript/end-overflow-check.test
A lld/test/ELF/linkerscript/memory-loc-counter-dot-addr.s
Log Message:
-----------
[ELF] Fix location counter used for output section address with MEMOR… (#197293)
When a section uses '.' as its address expression inside a MEMORY region
(e.g. 's02 . : { ... } > FLASH'), lld was incorrectly evaluating '.'
against the memory region's current position instead of the global
location counter. Save the global dot before the memRegion override and
restore it when an explicit addrExpr is present.
Fixes #112919
@maskray @smithp35 could you please review this patch?
Commit: 3843c160526fcda1e6c0760bff09b9c43c3a0b9d
https://github.com/llvm/llvm-project/commit/3843c160526fcda1e6c0760bff09b9c43c3a0b9d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/const-eval.c
Log Message:
-----------
[clang][bytecode] `Pointer::computeOffsetForComparison()` can fail (#199987)
It used to cause an assertion failure inside
`ASTContext::getTypeSizeInChars()` when the reocord decl was not
defined.
Commit: cfeeab33e66c56bf7619a8672bf44cb48473b00d
https://github.com/llvm/llvm-project/commit/cfeeab33e66c56bf7619a8672bf44cb48473b00d
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
Log Message:
-----------
[SystemZ] Remove unused variable warning (#200359)
This PR removes a variable declaration that was causing issues in builds
without assertions and `-Werror` enabled. Instead of declaring a
variable that is then only used in an assert, the value assigned to the
variable is moved into the assert instead.
This should resolve the build issue caused by #169317 discovered
[here](https://lab.llvm.org/buildbot/#/builders/228/builds/377).
Commit: e7a1a60f63b095f45cbd66f5e9542bd2498e371a
https://github.com/llvm/llvm-project/commit/e7a1a60f63b095f45cbd66f5e9542bd2498e371a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/revec-fma-vectorize.ll
Log Message:
-----------
[SLP][REVEC] Skip external-use extract cost for insertelement buildvector roots
An insertelement buildvector node produces a single vector whose type
equals the scalar type, and its external use is the whole vector, not a
subvector lane. SLP charged it an SK_ExtractSubvector cost, flipping
trees like the complex FMA (2.0f * A) + B from cost -1 to 0 so REVEC
kept them scalar.
Fixes #199715
Reviewers: RKSimon, hiraditya, bababuck
Pull Request: https://github.com/llvm/llvm-project/pull/200299
Commit: 1cf8469545abb5f5df92714a3b6d98dc2a485fa0
https://github.com/llvm/llvm-project/commit/1cf8469545abb5f5df92714a3b6d98dc2a485fa0
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.h
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.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/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
Log Message:
-----------
[NFC][ValueType] Add is*VectorOf(VT) helpers. (#200189)
Allows VT.isFixedLengthVectorOf(MVT::i1) in place of
"VT.isFixedLengthVector() && VT.getVectorElementType() == MVT::i1".
Commit: 354cdd40be8715c41c1d68faab31c330e026b369
https://github.com/llvm/llvm-project/commit/354cdd40be8715c41c1d68faab31c330e026b369
Author: Martin Storsjö <martin at martin.st>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M compiler-rt/lib/builtins/arm/fixdfdi.S
M compiler-rt/lib/builtins/arm/fixsfdi.S
M compiler-rt/lib/builtins/arm/fixunsdfdi.S
M compiler-rt/lib/builtins/arm/fixunssfdi.S
Log Message:
-----------
[compiler-rt] [ARM] Restore Windows specific names for fp->int functions (#200360)
These Windows specific names were added in
8c59680ac26cf3d772f51aa5ebd64be8e59ed384 (and refactored later in
e6407356ba008e474322d52b7d031f65fa4913fc).
When ARM specific implementations of them were added in
174eb79572b3433aa338ede31815fa8fa6a13b29, the ARM specific files replace
the generic ones - while the ARM specific file lacked the Windows/ARM
renaming of the functions.
Restore the Windows naming of these functions.
Commit: 458e23591c4df2b330aa9d949c4b0933c1529be2
https://github.com/llvm/llvm-project/commit/458e23591c4df2b330aa9d949c4b0933c1529be2
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstSimplify/sincos.ll
Log Message:
-----------
[LLVM][InstSimplify] Ensure scalar sincos constant fold only triggers for scalars. (#200229)
Commit: fad51d3f41482e148683e12741ac9abfbe49742d
https://github.com/llvm/llvm-project/commit/fad51d3f41482e148683e12741ac9abfbe49742d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M libcxx/include/__configuration/namespace.h
Log Message:
-----------
[libc++] Only push/pop diagnostics for ABI annotations pragmas if not in a system header (#200338)
This should significantly reduce the compile time hit for Clang modules
with the new explicit and implicit ABI annotations.
Commit: edb7a0487060c9e786d9d4dd7d362627a7d3da54
https://github.com/llvm/llvm-project/commit/edb7a0487060c9e786d9d4dd7d362627a7d3da54
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/LoongArch/lsx/vmskcond.ll
Log Message:
-----------
[DAG] isAllOnesOrAllOnesSplat - handle implicitly truncated constants (#200209)
Allow implicit truncation in BUILD_VECTOR/SPLAT_VECTOR splat nodes - we only need 1's in the lower bits of every element
More yak shaving for #198162 where we often have <8 x i1> <i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1> used in XOR patterns.
Commit: 1cd28beb77558f80644b4764a9402d0461345ae9
https://github.com/llvm/llvm-project/commit/1cd28beb77558f80644b4764a9402d0461345ae9
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/extend-phi-subrange-not-in-parent.mir
M llvm/test/CodeGen/AMDGPU/ipra-regmask.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/preserve-wwm-copy-dst-reg.ll
M llvm/test/CodeGen/AMDGPU/scc-clobbered-sgpr-to-vmem-spill.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber-unhandled.mir
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/AMDGPU/split-liverange-overlapping-copies.mir
A llvm/test/MC/AMDGPU/vcc_tuples.s
Log Message:
-----------
[AMDGPU] Have VCC as a first-class member of the SGPR pool. (#173870)
Add VCC and tuples using VCC to SGPR register classes.
We already support VCC as an allocatable register for 32-bit SGPR
operands, so it seems most natural to support it for register
tuple operands as well.
s106/s107 are still not allowed as aliases of vcc_lo/hi in
AsmParser.
The names given to the VCC tuples match those produced by SP3,
though it feels like there is room for improvement.
https://github.com/llvm/llvm-project/issues/62651
Commit: 472e7ed971bd24a14ba2c75f6c442928f8283d7c
https://github.com/llvm/llvm-project/commit/472e7ed971bd24a14ba2c75f6c442928f8283d7c
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionUtil.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/test/API/commands/expression/expr_inside_lambda/TestExprInsideLambdas.py
Log Message:
-----------
[lldb] Treat `__this` from CodeView/PDB as captured `this` (#200271)
When building with CodeView/PDB, the captured `this` parameter in a
lambda is named `__this` instead of `this` (for clang, see
[`CGDebugInfo::GetLambdaCaptureName`](https://github.com/llvm/llvm-project/blob/23776bd325ec951781923a638ad632e4126b30ea/clang/lib/CodeGen/CGDebugInfo.cpp#L2064)).
In this PR, I added lookups for `__this`. This change will make the
success cases in `TestExprInsideLambdas.py` pass. The only difference
with CodeView/PDB is that the errors show "use of undeclared identifier"
instead of "use of non-static data member" because the lambda object
isn't a nested type here.
Fixes #71837.
Commit: e0282749ff6bab5a436b201315982483a6d04113
https://github.com/llvm/llvm-project/commit/e0282749ff6bab5a436b201315982483a6d04113
Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV][NFC] Factor out vectorization report functions to a separate namespace (#194951)
This patch groups the stateless vectorization-reporting helpers into a
new `LoopVectorizationUtils` namespace in the Planner so they can be
shared cleanly across the Loop Vectorizer's components.
Commit: 9f34092cbdc079e17fb42c4c911f5e90ffbb7f14
https://github.com/llvm/llvm-project/commit/9f34092cbdc079e17fb42c4c911f5e90ffbb7f14
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/www/c_status.html
Log Message:
-----------
[C23] Combine two proposals on C status tracking page (#200239)
N2601 is what added Annex H for the interchange and extended floating
point types.
N2844 removed default argument promotions for the types in Annex H.
So these two proposals really do go together.
Commit: 421cfead959f7a616a4899828895347edb28ff1b
https://github.com/llvm/llvm-project/commit/421cfead959f7a616a4899828895347edb28ff1b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
Log Message:
-----------
[clang][bytecode] Reject dynamic_cast on constexpr-unknown pointers (#200363)
Commit: caa7b801d217b3a6147e0a9a6787d56f4496abf3
https://github.com/llvm/llvm-project/commit/caa7b801d217b3a6147e0a9a6787d56f4496abf3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/test/CodeGen/X86/avx512-mask-op.ll
Log Message:
-----------
[X86] avx512-mask-op.ll - add #198162 test coverage based off "Eval4Inputs" example (#200373)
Commit: 8c4a5318ae93ffc598b5dbc4cc0c3795ecd423eb
https://github.com/llvm/llvm-project/commit/8c4a5318ae93ffc598b5dbc4cc0c3795ecd423eb
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFileBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/RawConstants.h
M llvm/lib/DebugInfo/PDB/Native/PDBFile.cpp
M llvm/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp
A llvm/test/tools/llvm-pdbutil/dxcontainer.test
M llvm/tools/llvm-pdbutil/PdbYaml.cpp
M llvm/tools/llvm-pdbutil/PdbYaml.h
M llvm/tools/llvm-pdbutil/YAMLOutputStyle.cpp
M llvm/tools/llvm-pdbutil/YAMLOutputStyle.h
M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.h
Log Message:
-----------
[PDB][llvm-pdbutil] Add DXContainer support for `pdb2yaml` and `yaml2pdb` (#198351)
This patch enables the following:
1. Attempting to parse a `DXContainer` from stream 5 (generated by
DirectX tools) of a PDB file.
2. Outputting a PDB file with a built in DXContainer as YAML. Existing
DirectX tools form a PDB container with empty DBI, TPI and IPI streams,
so this patch also allows them to be empty when dumping a PDB file as
YAML.
3. Creating a PDB file from YAML with an built in DXContainer. When
creating a PDB with a DXContainer, streams DBI, TPI and IPI can be
completely empty, so this patch also includes adjustments to allow
forming such a PDB file. This is done to maintain compatibility with
other DirectX tools.
Commit: 5154b695ec1c37b4756199234842a1eea3437258
https://github.com/llvm/llvm-project/commit/5154b695ec1c37b4756199234842a1eea3437258
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
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/EvalEmitter.h
M clang/lib/AST/ExprConstant.cpp
Log Message:
-----------
[clang][bytecode] Use in `VarDecl::evaluateDestruction()` (#199646)
Fixes https://github.com/llvm/llvm-project/issues/146832
It's not possible to add a test for this unfortunately, since using the
current interpreter for this isolated use case worked just fine. I have
verified that this does not cause any regressions however.
Commit: 040ee4af4d2554ebee49cc7792869f247c462960
https://github.com/llvm/llvm-project/commit/040ee4af4d2554ebee49cc7792869f247c462960
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
Log Message:
-----------
[VPlan] Add m_Shl matcher. (NFC) (#200376)
Add matcher for Shl, analogous to m_URem, m_UDiv etc.
Commit: 8785f7cea2ce68fb117e23ac0d6700d14c8beae1
https://github.com/llvm/llvm-project/commit/8785f7cea2ce68fb117e23ac0d6700d14c8beae1
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/IR/Intrinsics.cpp
M llvm/test/Assembler/implicit-intrinsic-declaration-invalid.ll
M llvm/test/Verifier/arbitrary-fp-convert.ll
M llvm/test/Verifier/callbr.ll
M llvm/test/Verifier/get-active-lane-mask.ll
M llvm/test/Verifier/intrinsic-arg-overloading-struct-ret.ll
M llvm/test/Verifier/matrix-intrinsics.ll
M llvm/test/Verifier/reduction-intrinsics.ll
M llvm/test/Verifier/sat-intrinsics.ll
M llvm/test/Verifier/scatter_gather.ll
M llvm/test/Verifier/stepvector-intrinsic.ll
M mlir/test/Dialect/LLVMIR/call-intrin.mlir
Log Message:
-----------
[LLVM] Precise error message for intrinsic signature verification (2/n) (#199217)
Print precise error message for overloaded types and `LLVMMatchType`
when an intrinsic's type signature verfication fails.
Commit: 78eca55b542b6bca573f34a1b359fa949c3a8c89
https://github.com/llvm/llvm-project/commit/78eca55b542b6bca573f34a1b359fa949c3a8c89
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
A llvm/test/CodeGen/SystemZ/combine-ccmask-tm-full.ll
Log Message:
-----------
[SystemZ] Fix off-by-one error in backend (#200141)
When combineCCMask is called on a TM node with two constant operands,
and all of the bits in the mask are active, the existing APInt bit
access goes off the overall length of the integer by one. This commit
fixes that by using the index value of the leftmost active bit, rather
than the number of active bits.
Commit: f9cab1481053994428feba1baf7571188f00a368
https://github.com/llvm/llvm-project/commit/f9cab1481053994428feba1baf7571188f00a368
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
Log Message:
-----------
[lldb][windows] allow longer paths than MAX_PATH in GetFileNameByLoadAddress (#200225)
DLLs can be longer than MAX_PATH. This is causing test failures when
running `check-lldb` in a Windows Docker container.
This patch allow long paths when calling `GetFileNameByLoadAddress`.
https://github.com/llvm/llvm-project/pull/198795#discussion_r3276277895
was correct.
Commit: 5e89f5217299579dd834e42173fcc50bc1d31f10
https://github.com/llvm/llvm-project/commit/5e89f5217299579dd834e42173fcc50bc1d31f10
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFileBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/RawConstants.h
M llvm/lib/DebugInfo/PDB/Native/PDBFile.cpp
M llvm/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp
R llvm/test/tools/llvm-pdbutil/dxcontainer.test
M llvm/tools/llvm-pdbutil/PdbYaml.cpp
M llvm/tools/llvm-pdbutil/PdbYaml.h
M llvm/tools/llvm-pdbutil/YAMLOutputStyle.cpp
M llvm/tools/llvm-pdbutil/YAMLOutputStyle.h
M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.h
Log Message:
-----------
Revert "[PDB][llvm-pdbutil] Add DXContainer support for `pdb2yaml` and `yaml2pdb`" (#200380)
Reverts llvm/llvm-project#198351
Commit: 2359e773d7e4fa003b921a2b6bded996657fb868
https://github.com/llvm/llvm-project/commit/2359e773d7e4fa003b921a2b6bded996657fb868
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/Mips/MipsInstrInfo.td
A llvm/test/MC/Mips/j-alias-r6.s
Log Message:
-----------
[Mips] Add 'j' alias for r6 (#196706)
Fix #107460.
Commit: 8466750c230d5e51d509a8071c8a50e7de390029
https://github.com/llvm/llvm-project/commit/8466750c230d5e51d509a8071c8a50e7de390029
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/MultiImageFortran.cpp
M flang/test/Lower/MIF/coarray_allocation.f90
Log Message:
-----------
[flang][coarray] Fix error fir.store mismatch memory reference type in genCoBounds #193131 (#194870)
The error mentioned in issue #193131 occurs when the lower bound of a
coarray is specified and its corank is 1. A conversion operation was
missing.
I noticed that the hasStat argument wasn't being taken into account in
Allocatable.cpp
Commit: 3c0e4ece789db7750e65c6d8b31f652be906c8a2
https://github.com/llvm/llvm-project/commit/3c0e4ece789db7750e65c6d8b31f652be906c8a2
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M .github/workflows/ci-post-commit-analyzer.yml
Log Message:
-----------
workflows/ci-post-commit-analyzer: Pin container image (#200293)
This is pinned to the image that was used in the last successful run of
this job.
https://github.com/llvm/llvm-project/security/code-scanning/1596
Commit: a182b4bed2c443f383258fe7dcd886b39624526f
https://github.com/llvm/llvm-project/commit/a182b4bed2c443f383258fe7dcd886b39624526f
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/include/lldb/Host/FileBase.h
M lldb/include/lldb/Host/windows/FileWindows.h
M lldb/source/Host/common/File.cpp
M lldb/source/Host/windows/FileWindows.cpp
M lldb/test/API/python_api/file_handle/TestFileHandle.py
Log Message:
-----------
[lldb][windows] fix command source hitting EOF (#194950)
Commit: 13ccc7c5bfc6f878625a7ab019926d72f878d07a
https://github.com/llvm/llvm-project/commit/13ccc7c5bfc6f878625a7ab019926d72f878d07a
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/test/CIR/CodeGen/ctor-null-init.cpp
Log Message:
-----------
[CIR] Handle vptr zero-init- (#200305)
For the purposes of zeroing out a type, we need to make sure that we
handle vptrs. While this seems like it is the wrong thing to do, we end
up immediately initializing the vtable correctly in the constructor
prologue, so this just ensures we do a memset/etc right before then.
Note that the original version of this function operates on a
CXXRecordDecl, so skips this type, which we cannot do, since later logic
determines whether we can/should zero-init this based on whether there
is zero-attrs in the zero init.
Commit: 4a955e932e3a622c601e8fbd78f975191c0ea856
https://github.com/llvm/llvm-project/commit/4a955e932e3a622c601e8fbd78f975191c0ea856
Author: Abhinav Garg <abhinav.garg at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx950.ll
Log Message:
-----------
[AMDGPU][GIsel] Legalize rules for cvt_scalef32_sr_pk_fp4_{f16,f32} intrinsic (#193176)
Add RegBankLegalize rules for- - amdgcn_cvt_scalef32_sr_pk_fp4_f16
- amdgcn_cvt_scalef32_sr_pk_fp4_f32
Update the existing test case _llvm.amdgcn.cvt.scalef32.sr.pk.gfx950.ll_
to use -new-reg-bank-select flag.
Commit: c7d072c0d046a4334ec1dc383c6d19858aace37c
https://github.com/llvm/llvm-project/commit/c7d072c0d046a4334ec1dc383c6d19858aace37c
Author: MarcoCastorina <125660462+MarcoCastorina at users.noreply.github.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
A llvm/test/CodeGen/AMDGPU/wqm-debug-instr-terminator.mir
Log Message:
-----------
Fix assert in SlotIndexes::getInstructionIndex in debug builds (#189370)
In some cases, when debug info is enabled, the assertion in
SlotIndexes::getInstructionIndex fires as the interval contains only
debug instructions. This change ensures only valid instructions are
taken into account.
Fixes SWDEV-581578
Commit: f545a3b3f558a29e2d7c2dc18748e8bedc3ce6c6
https://github.com/llvm/llvm-project/commit/f545a3b3f558a29e2d7c2dc18748e8bedc3ce6c6
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/include/lldb/Host/PseudoTerminal.h
M lldb/include/lldb/Host/windows/PseudoConsole.h
M lldb/source/Host/common/PseudoTerminal.cpp
M lldb/source/Host/windows/PseudoConsole.cpp
Log Message:
-----------
[lldb] Make PTY initialization idempotent (#197717)
Commit: 046d23fb40a33f2467fb71fa6aecc9a190d770b4
https://github.com/llvm/llvm-project/commit/046d23fb40a33f2467fb71fa6aecc9a190d770b4
Author: jofrn <jo7frn1 at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M .github/workflows/ci-post-commit-analyzer.yml
M clang/docs/ReleaseNotes.rst
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
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/EvalEmitter.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.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/ExprConstant.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/test/AST/ByteCode/const-eval.c
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/CIR/CodeGen/ctor-null-init.cpp
M clang/test/CodeGenCXX/new_hot_cold.cpp
M clang/test/CodeGenCXX/operator-new.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
M clang/www/c_status.html
M compiler-rt/docs/BuildingCompilerRT.rst
M compiler-rt/lib/builtins/arm/fixdfdi.S
M compiler-rt/lib/builtins/arm/fixsfdi.S
M compiler-rt/lib/builtins/arm/fixunsdfdi.S
M compiler-rt/lib/builtins/arm/fixunssfdi.S
M compiler-rt/test/CMakeLists.txt
M flang-rt/CMakeLists.txt
M flang-rt/cmake/modules/AddFlangRT.cmake
A flang-rt/cmake/modules/FlangRTIntrospection.cmake
M flang-rt/lib/CMakeLists.txt
M flang-rt/lib/runtime/CMakeLists.txt
A flang-rt/lib/runtime/__cuda_builtins.f90
A flang-rt/lib/runtime/__cuda_device.f90
A flang-rt/lib/runtime/__fortran_builtins.f90
A flang-rt/lib/runtime/__fortran_ieee_exceptions.f90
A flang-rt/lib/runtime/__fortran_type_info.f90
A flang-rt/lib/runtime/__ppc_intrinsics.f90
A flang-rt/lib/runtime/__ppc_types.f90
A flang-rt/lib/runtime/cooperative_groups.f90
A flang-rt/lib/runtime/cuda_runtime_api.f90
A flang-rt/lib/runtime/cudadevice.f90
A flang-rt/lib/runtime/flang_debug.f90
A flang-rt/lib/runtime/ieee_arithmetic.f90
A flang-rt/lib/runtime/ieee_exceptions.f90
A flang-rt/lib/runtime/ieee_features.f90
A flang-rt/lib/runtime/iso_c_binding.f90
A flang-rt/lib/runtime/iso_fortran_env.f90
M flang-rt/lib/runtime/iso_fortran_env_impl.cpp
A flang-rt/lib/runtime/iso_fortran_env_impl.f90
A flang-rt/lib/runtime/mma.f90
M flang-rt/test/CMakeLists.txt
M flang-rt/test/Driver/compare_iso_fortran_env_symbols.f90
M flang-rt/test/Driver/iso_fortran_env_impl.f90
M flang-rt/test/lit.cfg.py
M flang-rt/test/lit.site.cfg.py.in
M flang/CMakeLists.txt
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/MultiImageFortran.cpp
M flang/lib/Semantics/semantics.cpp
R flang/module/.clang-format
R flang/module/__cuda_builtins.f90
R flang/module/__cuda_device.f90
R flang/module/__fortran_builtins.f90
R flang/module/__fortran_ieee_exceptions.f90
R flang/module/__fortran_type_info.f90
R flang/module/__ppc_intrinsics.f90
R flang/module/__ppc_types.f90
R flang/module/cooperative_groups.f90
R flang/module/cuda_runtime_api.f90
R flang/module/cudadevice.f90
R flang/module/flang_debug.f90
R flang/module/ieee_arithmetic.f90
R flang/module/ieee_exceptions.f90
R flang/module/ieee_features.f90
R flang/module/iso_c_binding.f90
R flang/module/iso_fortran_env.f90
R flang/module/iso_fortran_env_impl.f90
R flang/module/mma.f90
M flang/test/CMakeLists.txt
R flang/test/Driver/Inputs/resource_dir_with_per_target_subdir/finclude/flang/x86_64-unknown-linux-gnu/.keep
M flang/test/Driver/intrinsic-module-path_per_target.f90
M flang/test/Driver/pp-fixed-form.f90
M flang/test/Lower/MIF/coarray_allocation.f90
M flang/test/Lower/OpenMP/simd_aarch64.f90
M flang/test/Lower/OpenMP/target-enter-data-default-openmp52.f90
M flang/test/Lower/where-loc.f90
M flang/test/Parser/bug2280.f90
M flang/test/Preprocessing/fixed-free.f
M flang/test/Preprocessing/no-pp-if.f90
M flang/test/Semantics/bug163242.f90
M flang/test/Semantics/bug164303.f90
M flang/test/Semantics/bug2021.f90
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/CMakeLists.txt
R flang/tools/f18/CMakeLists.txt
R flang/tools/f18/dump.cpp
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/headers.txt
M libcxx/include/__configuration/namespace.h
M libcxx/include/__memory/shared_ptr.h
M lld/ELF/LinkerScript.cpp
M lld/docs/ReleaseNotes.rst
M lld/test/ELF/linkerscript/end-overflow-check.test
A lld/test/ELF/linkerscript/memory-loc-counter-dot-addr.s
M lldb/include/lldb/Host/FileBase.h
M lldb/include/lldb/Host/PseudoTerminal.h
M lldb/include/lldb/Host/windows/FileWindows.h
M lldb/include/lldb/Host/windows/PseudoConsole.h
M lldb/source/Host/common/File.cpp
M lldb/source/Host/common/PseudoTerminal.cpp
M lldb/source/Host/windows/FileWindows.cpp
M lldb/source/Host/windows/PseudoConsole.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionUtil.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
M lldb/test/API/commands/expression/expr_inside_lambda/TestExprInsideLambdas.py
M lldb/test/API/python_api/file_handle/TestFileHandle.py
M llvm/Maintainers.md
M llvm/include/llvm/CodeGen/ValueTypes.h
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/include/llvm/Transforms/Coroutines/SuspendCrossingInfo.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPDInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.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/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/SuspendCrossingInfo.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/runtimes/CMakeLists.txt
M llvm/test/Assembler/implicit-intrinsic-declaration-invalid.ll
M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/extend-phi-subrange-not-in-parent.mir
M llvm/test/CodeGen/AMDGPU/ipra-regmask.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx950.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/preserve-wwm-copy-dst-reg.ll
M llvm/test/CodeGen/AMDGPU/scc-clobbered-sgpr-to-vmem-spill.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber-unhandled.mir
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/AMDGPU/split-liverange-overlapping-copies.mir
A llvm/test/CodeGen/AMDGPU/wqm-debug-instr-terminator.mir
M llvm/test/CodeGen/LoongArch/lsx/vmskcond.ll
M llvm/test/CodeGen/SPIRV/transcoding/ReqdSubgroupSize.ll
A llvm/test/CodeGen/SystemZ/combine-ccmask-tm-full.ll
M llvm/test/CodeGen/X86/avx512-mask-op.ll
A llvm/test/MC/AMDGPU/vcc_tuples.s
A llvm/test/MC/Mips/j-alias-r6.s
A llvm/test/Transforms/Coroutines/coro-frame-inramp.ll
M llvm/test/Transforms/InstSimplify/sincos.ll
M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll
A llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-negative-i32-offset.ll
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads-with-predicated-stores.ll
M llvm/test/Transforms/SLPVectorizer/X86/revec-fma-vectorize.ll
M llvm/test/Transforms/VectorCombine/X86/load-extractelement-scalarization.ll
M llvm/test/Verifier/arbitrary-fp-convert.ll
M llvm/test/Verifier/callbr.ll
M llvm/test/Verifier/get-active-lane-mask.ll
M llvm/test/Verifier/intrinsic-arg-overloading-struct-ret.ll
M llvm/test/Verifier/matrix-intrinsics.ll
M llvm/test/Verifier/reduction-intrinsics.ll
M llvm/test/Verifier/sat-intrinsics.ll
M llvm/test/Verifier/scatter_gather.ll
M llvm/test/Verifier/stepvector-intrinsic.ll
M mlir/test/Dialect/LLVMIR/call-intrin.mlir
M openmp/CMakeLists.txt
R openmp/cmake/modules/LibompCheckFortranFlag.cmake
M openmp/cmake/modules/LibompHandleFlags.cmake
M openmp/module/CMakeLists.txt
M openmp/runtime/cmake/LibompExports.cmake
M openmp/runtime/test/lit.cfg
M openmp/runtime/test/lit.site.cfg.in
M runtimes/cmake/config-Fortran.cmake
Log Message:
-----------
Merge branch 'main' into users/jofrn/x86-remove-shouldcastatomicloadinir-v2
Compare: https://github.com/llvm/llvm-project/compare/99e797b80fae...046d23fb40a3
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