[all-commits] [llvm/llvm-project] 01cfba: workflows/upload-release-artifact: Use require-rel...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Sat May 30 04:25:47 PDT 2026
Branch: refs/heads/users/alexey-bataev/spr/slp-fix-extract-cost-scale-for-lcssa-phi-external-users-in-nested-loops
Home: https://github.com/llvm/llvm-project
Commit: 01cfbaabef6cb59a1a6eb870bf5f48ac2e747118
https://github.com/llvm/llvm-project/commit/01cfbaabef6cb59a1a6eb870bf5f48ac2e747118
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-sources.yml
M .github/workflows/release-tasks.yml
M .github/workflows/upload-release-artifact/action.yml
Log Message:
-----------
workflows/upload-release-artifact: Use require-release-manager action (#195374)
This removes the final use of RELEASE_TASKS_USER_TOKEN secret. It
required plumbing the secrets in thrugh several levels of workflow
calls, which is not ideal, but I don't see a better way to do this.
Commit: f7f3d9d0aea8588ed1aff033978370a5bdf97029
https://github.com/llvm/llvm-project/commit/f7f3d9d0aea8588ed1aff033978370a5bdf97029
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M lldb/test/API/windows/thread/main.c
Log Message:
-----------
[lldb][Windows] Move `processthreadsapi.h` include (#200278)
`processthreadsapi.h` needs to be included after `windows.h`.
clang-format needs to be disabled here to avoid sorting the includes.
Fixes the test failure from
https://github.com/llvm/llvm-project/pull/199983#issuecomment-4567633271.
Commit: 075e16f74d7b265a22af73c4fcb5a6bd4b186543
https://github.com/llvm/llvm-project/commit/075e16f74d7b265a22af73c4fcb5a6bd4b186543
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/test/CIR/CodeGen/vla.c
Log Message:
-----------
[CIR] Correctly emit the size expr of a VLA with a 'bool' size. (#200066)
This came up in a test suite, the frontend considers 'bool' to be
integral enough to use as a bounds, so bool makes it through to the VLA
codegen. This patch adds a new cast function that takes a bool or int
type and casts it to an int (as this is a pretty useful task, that I
believe I've seen before).
Commit: 927c51d2434e9cb094742e77289b35dad88383c5
https://github.com/llvm/llvm-project/commit/927c51d2434e9cb094742e77289b35dad88383c5
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/test/API/commands/frame/recognizer/TestFrameRecognizer.py
Log Message:
-----------
[lldb] Improve frame variable handling of recognizer arguments (#200084)
Fixes two bugs. The bug which prompted this change is that `frame
variable name` would
print all regcognizer arguments, even though only "name" was requested.
While making a test for the first bug, I found that `frame variable
recognizer_arg` will
both successfully print the variable, and also report a false positive
error:
```
error: <user expression>:1:1: use of undeclared identifier 'recognizer_arg'
1 | recognizer_arg
```
This change fixes both bugs, including when using `--regex`.
Commit: 58dff928280641f764fd08e421ee8a707f586f2d
https://github.com/llvm/llvm-project/commit/58dff928280641f764fd08e421ee8a707f586f2d
Author: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
A llvm/test/tools/llvm-offload-binary/llvm-offload-binary-malformed.ll
M llvm/test/tools/llvm-offload-binary/llvm-offload-binary.ll
Log Message:
-----------
[llvm-offload-binary] Fix test failures on z/OS by splitting malformed tests (#200258)
## Summary
This PR fixes test failures in `llvm-offload-binary.ll` on z/OS (and
potentially other EBCDIC platforms) by splitting the malformed file
tests into a separate test file.
## Problem
The test was failing on z/OS because it uses `printf` with octal escape
sequences to create malformed binary test data:
```bash
printf "\020\377\020\255\012" > %t9
```
On z/OS, the shell's I/O redirection performs automatic EBCDIC-to-ASCII
translation on the output from `printf`. This means the binary data
written to the file gets translated, resulting in different bytes than
intended. The malformed test data is therefore not created correctly,
causing `llvm-offload-binary` to fail in unexpected ways or not produce
the expected error messages.
## Benefits of this solution
- Main test file now passes on all platforms including z/OS
- Malformed file error handling tests are preserved for ASCII-based
systems
- Clear separation of concerns between standard tests and
platform-specific tests
- No loss of test coverage on supported platforms
Commit: ee40c5e35152cbd7ddb9d44aecab455e66df8d5a
https://github.com/llvm/llvm-project/commit/ee40c5e35152cbd7ddb9d44aecab455e66df8d5a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M flang/lib/Optimizer/Analysis/ArraySectionAnalyzer.cpp
A flang/test/HLFIR/order_assignments/where-allocatable-base.f90
Log Message:
-----------
[flang] Fix WHERE self-updates on allocatable array sections (#200281)
Teach ArraySectionAnalyzer to use the scheduler's value-equivalence
callback
when comparing hlfir.designate base memrefs. This lets HLFIR ordered
assignment
lowering recognize allocatable WHERE self-updates as aligned even when
the LHS
and RHS use distinct descriptor loads.
This avoids generating full-sized RHS temporaries for these masked
self-updates, preventing device heap exhaustion while preserving
parallel
kernel generation. Add a regression test for allocatable WHERE section
scheduling.
Commit: 7e200ebdd08cc5d95016c02636abe6e93bb581d4
https://github.com/llvm/llvm-project/commit/7e200ebdd08cc5d95016c02636abe6e93bb581d4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/test/Transforms/AggressiveInstCombine/popcount.ll
Log Message:
-----------
[AggressiveInstCombine] Support Len==8 in tryToRecognizePopCount2n3. (#199551)
Len==8 can use matchPopCountBytes to do it's matching.
Commit: f85729489de0289a24920fa931b0aa00fb095c56
https://github.com/llvm/llvm-project/commit/f85729489de0289a24920fa931b0aa00fb095c56
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/docs/TestingGuide.rst
Log Message:
-----------
[Docs] Improve Documentation on Writing IR Test Cases (#200259)
This adds documentation for a couple common review comments I've seen:
1. Extraneous target triples/data-layouts
2. Tests not getting put in the right folder (especially when they
require a target and are not put in the target-specific subfolder)
3. Extraneous FileCheck prefixes.
Commit: 75fb8e47f6170d66c72311b9629b19c02e97841b
https://github.com/llvm/llvm-project/commit/75fb8e47f6170d66c72311b9629b19c02e97841b
Author: Alan Zhao <ayzhao at google.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M lld/ELF/Arch/X86_64.cpp
Log Message:
-----------
[lld][nfc] Fix spelling (#200279)
Commit: 8d8ebb1cb1b552423f6dff74a0887943d36dce08
https://github.com/llvm/llvm-project/commit/8d8ebb1cb1b552423f6dff74a0887943d36dce08
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/revec-fma-vectorize.ll
Log Message:
-----------
[SLP][REVEC][NFC]Add a test with the missed fma vectorization, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/200298
Commit: a853917bbf7b88e5b7e6cf61d0e724d68e0e1df1
https://github.com/llvm/llvm-project/commit/a853917bbf7b88e5b7e6cf61d0e724d68e0e1df1
Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/IPO/InstrumentorUtils.h
Log Message:
-----------
[Instrumentor] Fix nondeterminism in indirect argument alloca usage (#200289)
Co-authored-by: Kevin Sala Penades <salapenades1 at llnl.gov>
Commit: 3f140498c2d7ad67226c14d9d2cf5caf1442cceb
https://github.com/llvm/llvm-project/commit/3f140498c2d7ad67226c14d9d2cf5caf1442cceb
Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Instrumentor.h
M llvm/include/llvm/Transforms/IPO/InstrumentorStubPrinter.h
M llvm/lib/Transforms/IPO/Instrumentor.cpp
M llvm/lib/Transforms/IPO/InstrumentorStubPrinter.cpp
R llvm/test/Instrumentation/Instrumentor/default_rt
A llvm/test/Instrumentation/Instrumentor/default_rt.c
A llvm/test/Instrumentation/Instrumentor/default_rt.h
M llvm/test/Instrumentation/Instrumentor/generate_rt.ll
A llvm/test/Instrumentation/Instrumentor/lit.local.cfg
M llvm/test/Instrumentation/Instrumentor/rt_config.json
Log Message:
-----------
[Instrumentor] Improve stub printer (for C/C++ and value packs) (#198366)
The stub printer now emits a helper header to deal with value packs (in
C and C++). We also make the files C/C++ compatible and use the proper
format strings for int32_t and int64_t.
Commit: 843d4a6a27a06527122d3c5fa1a3f85fd8d5fd1b
https://github.com/llvm/llvm-project/commit/843d4a6a27a06527122d3c5fa1a3f85fd8d5fd1b
Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Instrumentor.h
M llvm/lib/Transforms/IPO/Instrumentor.cpp
M llvm/test/Instrumentation/Instrumentor/default_config.json
M llvm/test/Instrumentation/Instrumentor/module_and_globals.ll
A llvm/test/Instrumentation/Instrumentor/operations.json
A llvm/test/Instrumentation/Instrumentor/operations.ll
Log Message:
-----------
[Instrumentor] Add numeric operation instruction instrumentation support (#199749)
This patch introduces a new instrumentation opportunity for numeric
operations.
Commit: 4910eda2a04e8532e434acb140c692e1c4da319c
https://github.com/llvm/llvm-project/commit/4910eda2a04e8532e434acb140c692e1c4da319c
Author: Florian Mayer <fmayer at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
Log Message:
-----------
[FlowSensitive] [StatusOr] Support ABSL_RETURN_IF_ERROR (#200287)
This was recently introduced in absl
Commit: 7964b66bf55d53f7a528a8153c005bee0614a3d7
https://github.com/llvm/llvm-project/commit/7964b66bf55d53f7a528a8153c005bee0614a3d7
Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/include/llvm/CMakeLists.txt
A llvm/include/llvm/Transforms/IPO/InstrumentorRuntimeHelper.h
A llvm/include/llvm/Transforms/IPO/InstrumentorVariables.inc.in
M llvm/lib/Transforms/IPO/InstrumentorStubPrinter.cpp
M llvm/test/Instrumentation/Instrumentor/default_rt.h
Log Message:
-----------
[Instrumentor] Move instrumentor stub library into its own header file (#199329)
This patch depends on #198366. It moves the instrumentor runtime helper
header into its own file and makes it accessible as a string value to
the instrumentor pass.
Commit: 5047ae21b426452b3ee753574be45404d15111cb
https://github.com/llvm/llvm-project/commit/5047ae21b426452b3ee753574be45404d15111cb
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/docs/DeveloperPolicy.rst
Log Message:
-----------
[Docs] Note change to Maintainers.md in DeveloperPolicy (#200315)
This was brought up in a Discord discussion around adding a new target.
Update the documentation to mention Maintainers.md everywhere and remove
references to Maintainers.rst where the former is exclusive.
The only remaining usage of Maintainers.rst is in clang-tools-extra and
we should probably just rewrite it in Markdown especially given it seems
like there is conesnsus to move away from ReST entirely, but we can do
that later.
Commit: 7672a992182dee9ddaabe538bd3fd61a91d854b8
https://github.com/llvm/llvm-project/commit/7672a992182dee9ddaabe538bd3fd61a91d854b8
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 7964b66 (#200316)
This fixes 7964b66bf55d53f7a528a8153c005bee0614a3d7.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 4c33844b4b560f24b2a3a0cc689d73510cb01ad5
https://github.com/llvm/llvm-project/commit/4c33844b4b560f24b2a3a0cc689d73510cb01ad5
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M compiler-rt/lib/profile/CMakeLists.txt
Log Message:
-----------
[PGO][HIP] Skip ROCm interceptor in profile-only compiler-rt builds (#200111)
PR #177665 made `libclang_rt.profile.a` merge `RTInterception` and
`sanitizer_common` object libs to support the `hipModuleLoad*` host
interceptor added in `InstrProfilingPlatformROCm.cpp`. Those object-lib
targets are only created when `COMPILER_RT_BUILD_SANITIZERS / _MEMPROF /
_XRAY / _CTX_PROFILE` is enabled (see `compiler-rt/lib/CMakeLists.txt`),
so a profile-only configuration fails at configure time:
```
CMake Error at cmake/Modules/AddCompilerRT.cmake:365 (add_library):
Error evaluating generator expression:
$<TARGET_OBJECTS:RTInterception.x86_64>
Objects of target "RTInterception.x86_64" referenced but no such target
exists.
Call Stack (most recent call first):
lib/profile/CMakeLists.txt:233 (add_compiler_rt_runtime)
```
Fix: gate the object-lib merge on the `RTInterception.<arch>` /
`RTSanitizerCommon*.<arch>` targets actually existing, and drop
`InstrProfilingPlatformROCm.cpp` from `PROFILE_SOURCES` in that case so
the static archive stays self-contained. The host-side hook
`__llvm_profile_hip_collect_device_data` is already declared weak in
`InstrProfilingFile.c` (PR #200101), so its absence is fine at link
time.
Verified:
- Profile-only standalone compiler-rt build
(`-DCOMPILER_RT_BUILD_SANITIZERS=OFF -DCOMPILER_RT_BUILD_MEMPROF=OFF
-DCOMPILER_RT_BUILD_XRAY=OFF -DCOMPILER_RT_BUILD_CTX_PROFILE=OFF
-DCOMPILER_RT_BUILD_PROFILE=ON`) now configures and links cleanly.
- Default runtimes build still merges the object libs and produces the
interceptor; `check-profile` 134/134 pass.
Commit: 3cb8e7215f2d3aa2849813320d3d337859242388
https://github.com/llvm/llvm-project/commit/3cb8e7215f2d3aa2849813320d3d337859242388
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h
Log Message:
-----------
[AMDGPU] Address follow-up concerns from 189121 (#192322)
Addressing some comments missed in
https://github.com/llvm/llvm-project/pull/185726
Commit: 561c528b5e1900d41aeef506dfb632a66b3b9d51
https://github.com/llvm/llvm-project/commit/561c528b5e1900d41aeef506dfb632a66b3b9d51
Author: Luke Lau <luke at igalia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vp-combine-reverse-load.ll
M llvm/test/CodeGen/RISCV/rvv/vp-combine-store-reverse.ll
Log Message:
-----------
[RISCV] Extend vp.reverse vp.load/vp.store combine to non-VP splice + reverse (#180907)
As part of #172961, we can replace vp.reverse with
vector.splice.right(reverse(X), poison, EVL). This extends the existing
vp.reverse(vp.load) -> vp.strided.load stride=-1 and
vp.store(vp.reverse) -> vp.strided.store stride=-1 combines to also
handle the splice form.
It adds a pattern match helper to match both vp.reverse and
vector.splice.right. If vp.reverse is removed in future, then this
pattern match helper can be removed.
Commit: 01a92098491a9d94f84149b92a5a522b1725668b
https://github.com/llvm/llvm-project/commit/01a92098491a9d94f84149b92a5a522b1725668b
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
Log Message:
-----------
[CIR] Add emitBuiltinWithOneOverloadedType helper (#199518)
Port `emitBuiltinWithOneOverloadedType<N>` from classic
CodeGen(`CGBuiltin.h`) to `CIRGenFunction` so the common pattern "emit N
scalar operands and call an LLVM intrinsic whose return type matches the
first operand" can be written as a one-liner across all targets.
Used it to simplify a few existing AMDGPU builtin lowerings (`div_fmas`,
`ds_swizzle`, `readlane`, `readfirstlane`).
Commit: b378c7162613afdc982e8a2e6ec478066ea04492
https://github.com/llvm/llvm-project/commit/b378c7162613afdc982e8a2e6ec478066ea04492
Author: Jin Huang <jinhuang1102 at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/CodeGen/ExpandIRInsts.cpp
M llvm/test/CodeGen/AArch64/fcvt-i256.ll
M llvm/test/CodeGen/AMDGPU/itofp.i128.bf.ll
M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
M llvm/test/CodeGen/RISCV/bitint-fp-conv-200.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-fp-convert-small.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-int-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
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-si129tofp.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-ui129tofp.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-optnone.ll
Log Message:
-----------
[profcheck] Fix profile metadata propagation for Large FP Operations (#175864)
This PR improves the propagation of profile metadata within the
ExpandIRInsts pass. When lowering non-standard floating-point
operations, the pass now ensures that branch weights are correctly
attached to the generated control flow, preventing the loss of profile
data during IR expansion.
This enhancements cover the conversions between non-standard
floating-point formats and large integers (e.g., `fptosi/fptoui`,
`sitofp/uitofp` involving `i129`).
This PR implements Heuristic-Based Branch Weights labeling using
established heuristics for Floating-point rounding overflow and
saturation checks and adds detailed comments within the expansion logic
to explain the rationale behind specific branch weight choices and the
underlying mathematical invariants.
Please refer to the implementation details in the source code for the
specific branch weight values and the logic governing their application.
---------
Co-authored-by: Jin Huang <jingold at google.com>
Co-authored-by: Aiden Grossman <aidengrossman at google.com>
Commit: 023e7decf625eb03e93aec568ffdbf13e726fbee
https://github.com/llvm/llvm-project/commit/023e7decf625eb03e93aec568ffdbf13e726fbee
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMoveMerger.cpp
M llvm/test/CodeGen/RISCV/rv32-merge-non-arg-reg.mir
Log Message:
-----------
[RISCV] Skip unrelated COPY during Zdinx/P instruction generation in RISCVMoveMerge (#200219)
`findMatchingInstPair` returned early on the first non-matching `COPY`,
which could miss a valid later `COPY` pair.
Update the scan to continue past non-matching `COPY` instructions and
only apply existing dependency checks when a lane match is found.
Commit: 479818a38ccfb1d82a1e67d13ae11d2151a62c30
https://github.com/llvm/llvm-project/commit/479818a38ccfb1d82a1e67d13ae11d2151a62c30
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[Profcheck] Update xfail list after b378c7162613afdc982e8a2e6ec478066ea04492 (#200326)
Commit: 767f01e0910d9211486d4022c5c5e7d71c85dff2
https://github.com/llvm/llvm-project/commit/767f01e0910d9211486d4022c5c5e7d71c85dff2
Author: Wenju He <wenju.he at intel.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
A libclc/clc/include/clc/internal/math/clc_runtime_has_hw_fma32.h
M libclc/clc/include/clc/internal/math/clc_sw_fma.h
M libclc/clc/include/clc/math/clc_fma.h
M libclc/clc/lib/generic/math/clc_fma.cl
M libclc/clc/lib/spirv/CMakeLists.txt
A libclc/clc/lib/spirv/math/clc_fma.cl
A libclc/clc/lib/spirv/math/clc_fma.inc
A libclc/clc/lib/spirv/math/clc_runtime_has_hw_fma32.cl
A libclc/clc/lib/spirv/math/clc_sw_fma.cl
M libclc/clc/lib/spirv/vulkan/CMakeLists.txt
R libclc/clc/lib/spirv/vulkan/math/clc_sw_fma.cl
M libclc/opencl/lib/generic/math/fma.cl
M libclc/opencl/lib/spirv/CMakeLists.txt
A libclc/opencl/lib/spirv/math/fma.cl
Log Message:
-----------
[libclc] Use float sw_fma for spirv*-mesa-mesa3d targets (#199626)
This partially reverts 39f3d72b72fd, which changes almost all targets to
use __builtin_elementwise_fma.
The same revert was done for clspv in 1d719edd9935.
Restore __clc_runtime_has_hw_fma32 so that Mesa can dynamically change
its behavior to enable native fma for specific hardware.
Fixes #198542
Commit: 021b93e7e763e81db740972c5f2b761a6f7f47b5
https://github.com/llvm/llvm-project/commit/021b93e7e763e81db740972c5f2b761a6f7f47b5
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/test/API/python_api/sbmodule/TestSBModule.py
Log Message:
-----------
[lldb] Make TestSBModule a no-SHARED_BUILD_TESTCASE (#188265)
Building libfoo.a twice (quickly) confuses the cache in
ObjectContainerBSDArchive (which works only with second granularity),
and causes the second test to fail due to accessing wrong parts of the
file.
I'm also making this a NO_DEBUG_INFO_TESTCASE as the debug info
distinction is not particularly relevant for this test. Technically,
this would be enough as the collision is between two debug info variants
of the same test case, but SHARED_BUILD_TESTCASE=False seems like a more
principled fix.
Commit: bf8dabd88282bb9cf6bd364d29e6d797645074f0
https://github.com/llvm/llvm-project/commit/bf8dabd88282bb9cf6bd364d29e6d797645074f0
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
A offload/ci/hip-tpl.py
Log Message:
-----------
[HIP][CI] Add HIP Kokkos bot recipe (#200201)
Commit: 7d7f98b11b9c2dee5ca6b570fba161dbb102ef87
https://github.com/llvm/llvm-project/commit/7d7f98b11b9c2dee5ca6b570fba161dbb102ef87
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/test/CodeGen/construction-vtable-visibility.cpp
M clang/test/CodeGen/push-hidden-visibility-subclass.cpp
M clang/test/CodeGen/split-lto-unit-input.cpp
M clang/test/CodeGenCUDA/increment-index-for-thunks.cu
M clang/test/CodeGenCUDA/record-layout.cu
M clang/test/CodeGenCXX/OmitRTTIComponentABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/PR26569.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/available_externally-vtable.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/child-inheritted-from-parent-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/child-vtable-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-1.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-2.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inheritted-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inline-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inlined-key-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/multiple-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/no-alias-when-dso-local.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/overriden-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/parent-and-child-in-comdats.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/parent-vtable-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-flag.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-hwasan.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/vtable-hidden-when-in-comdat.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-call-2.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-call.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenCXX/attr-exclude_from_explicit_instantiation.exclude_from_dllexport.cpp
M clang/test/CodeGenCXX/attr-exclude_from_explicit_instantiation.exclude_from_dllimport.cpp
M clang/test/CodeGenCXX/cfi-cross-dso.cpp
M clang/test/CodeGenCXX/ctor-dtor-alias.cpp
M clang/test/CodeGenCXX/cxx11-vtable-key-function.cpp
M clang/test/CodeGenCXX/dllexport.cpp
M clang/test/CodeGenCXX/dllimport-rtti.cpp
M clang/test/CodeGenCXX/dllimport.cpp
M clang/test/CodeGenCXX/dso-local-executable.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/internal-linkage.cpp
M clang/test/CodeGenCXX/key-function-vtable.cpp
M clang/test/CodeGenCXX/mangle-ms-md5.cpp
M clang/test/CodeGenCXX/mangle-subst-std.cpp
M clang/test/CodeGenCXX/mdefault-visibility-export-mapping-rtti.cpp
M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-interface.cpp
M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/modules-vtable.cppm
M clang/test/CodeGenCXX/ms-local-vft-alias-comdat.cpp
M clang/test/CodeGenCXX/ms-thunks-unprototyped.cpp
M clang/test/CodeGenCXX/pr70585.cppm
M clang/test/CodeGenCXX/ps-dllstorage-vtable-rtti.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call-2.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenCXX/ptrauth-explicit-vtable-pointer-control.cpp
M clang/test/CodeGenCXX/ptrauth-global-constant-initializers.cpp
M clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp
M clang/test/CodeGenCXX/ptrauth-type-info-vtable.cpp
M clang/test/CodeGenCXX/ptrauth-virtual-function.cpp
M clang/test/CodeGenCXX/ptrauth-vtable-virtual-inheritance-thunk.cpp
M clang/test/CodeGenCXX/template-instantiation.cpp
M clang/test/CodeGenCXX/type-metadata.cpp
M clang/test/CodeGenCXX/type_visibility.cpp
M clang/test/CodeGenCXX/vcall-visibility-metadata.cpp
M clang/test/CodeGenCXX/virt-template-vtable.cpp
M clang/test/CodeGenCXX/visibility-dllstorageclass.cpp
M clang/test/CodeGenCXX/visibility.cpp
M clang/test/CodeGenCXX/vtable-align-address-space.cpp
M clang/test/CodeGenCXX/vtable-align.cpp
M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
M clang/test/CodeGenCXX/vtable-assume-load.cpp
M clang/test/CodeGenCXX/vtable-available-externally.cpp
M clang/test/CodeGenCXX/vtable-consteval.cpp
M clang/test/CodeGenCXX/vtable-constexpr-address-space.cpp
M clang/test/CodeGenCXX/vtable-constexpr.cpp
M clang/test/CodeGenCXX/vtable-key-function-address-space.cpp
M clang/test/CodeGenCXX/vtable-key-function-arm.cpp
M clang/test/CodeGenCXX/vtable-key-function-ios.cpp
M clang/test/CodeGenCXX/vtable-key-function-win-comdat.cpp
M clang/test/CodeGenCXX/vtable-key-function.cpp
M clang/test/CodeGenCXX/vtable-linkage-address-space.cpp
M clang/test/CodeGenCXX/vtable-linkage.cpp
M clang/test/CodeGenCXX/vtt-layout-address-space.cpp
M clang/test/CodeGenCXX/vtt-layout.cpp
M clang/test/CodeGenCXX/windows-itanium-type-info.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-diamond.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-multiple.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-simple-main.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-simple.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-virtual.cpp
M clang/test/DebugInfo/CXX/vtable-template-instantiation.cpp
M clang/test/Headers/hip-header.hip
M clang/test/Modules/vtable-windows.cppm
M clang/test/OpenMP/nvptx_target_pure_deleted_codegen.cpp
M clang/test/OpenMP/target_vtable_codegen_explicit.cpp
Log Message:
-----------
[CodeGen] Stop setting vtable as unnamed_addr (#200108)
Successor of https://github.com/llvm/llvm-project/pull/197855
Close https://github.com/llvm/llvm-project/issues/71196
See the above PR for the full context.
AI assisted
Commit: 891b8f6fa8e796464b34fa9460933fccf69f3cc3
https://github.com/llvm/llvm-project/commit/891b8f6fa8e796464b34fa9460933fccf69f3cc3
Author: Claire Fan <fanyungching at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/BPF/BPFSelectionDAGInfo.cpp
M llvm/lib/Target/BPF/BPFSelectionDAGInfo.h
A llvm/test/CodeGen/BPF/libcall-memcpy-threshold.ll
Log Message:
-----------
[BPF] crash fix for memcpy with unsupported alignment (#199541)
### Summary
BPF only has scalar load/store opcodes up to 8 bytes and `memcpy` with
16 byte alignment crashes with `llvm_unreachable("unsupported memcpy
alignment");` in `BPFInstrInfo::expandMEMCPY`
### Issue
The crash can be reproduced from Rust code like:
```rust
#[no_mangle]
pub extern "C" fn entry(src: *const u128) -> u64 {
let mut dst = [0u128; 2];
unsafe { ptr::copy_nonoverlapping(src, dst.as_mut_ptr(), 2) };
let _ = black_box(dst);
0
}
```
This produces a `memcpy` with 16-byte alignment and
`BPFSelectionDAGInfo::EmitTargetCodeForMemcpy` emit the `BPFISD::MEMCPY`
pseudo for 16-byte alignment. That pseudo later reaches `expandMEMCPY`
during the Post-RA pseudo expansion pass and hits:
```
llvm_unreachable("unsupported memcpy alignment");
```
The crash report looks like:
```
= note: PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/
and include the crash backtrace and instructions to reproduce the bug.
Stack dump:
0. Running pass 'Function Pass Manager' on module 'linked_module'.
1. Running pass 'Post-RA pseudo instruction expansion pass' on function '@entry'
```
### Fix
Return `SDValue()` in `BPFSelectionDAGInfo::EmitTargetCodeForMemcpy`
when the alignment is larger than 8 bytes. LLVM then naturally falls
back to the existing libcall path and emits `call memcpy` instead of
creating a pseudo instruction that cannot be expanded later.
Since `memcpy`, `memset`, and `memmove` are now whitelisted, I think
this fallback behavior is the right fix: unsupported target expansion
should decline and use the existing libcall path instead of crashing.
### Opt-in controls around libcalls
I also want to use this chance to introduce two opt-in controls around
libcalls for VM/runtime use cases built on top of the BPF backend (both
controls are opt-in and disabled by default, so existing kernel projects
and current BPF behavior remain unchanged),
### --bpf-max-stores-per-memfunc
First, an opt-in flag to control over
`BPFSelectionDAGInfo::getCommonMaxStoresPerMemFunc()`.
Today, the target memory expansion path uses:
```c++
if (StoresNumEstimate > getCommonMaxStoresPerMemFunc())
return SDValue();
```
This threshold controls whether `EmitTargetCodeForMemcpy` continues
emitting the BPF memory pseudo(which is later expanded with load/store
ops) or falls back to the libcall path.
Currently this value is effectively fixed at 128, which means most
constant-size memory operations are expanded into inline load/store
sequences. Exposing the threshold gives VM/runtime users a way to allow
more memory operations to fall through to libcalls, while keeping the
current default behavior unchanged.
### --bpf-allows-libcalls (PR #199542 )
Second, an opt-in flag to allow additional libcalls beyond the currently
whitelisted ones.
Today BPF rejects unsupported libcalls here:
```c++
if (Sym != BPF_TRAP && Sym != "__multi3" && Sym != "__divti3" &&
Sym != "__modti3" && Sym != "__udivti3" &&
Sym != "__umodti3" && Sym != "memcpy" &&
Sym != "memset" && Sym != "memmove")
fail(
CLI.DL, DAG,
Twine("A call to built-in function '" + Sym +
"' is not supported."));
```
With the new flag enabled, _this error path is skipped_ so VM/runtime
environments can provide their own libcall implementations.
For VM runtimes using the BPF backend, libcalls are useful because they
create an interface between normal compiler-generated code and
runtime-specific optimization. We have already explored this model for
u128 arithmetic, where libcalls allow normal Rust code to stay unchanged
while the runtime can provide optimized behavior:
https://blueshift.gg/research/accelerating-u128-math-with-libcalls-and-jit-intrinsics
The same idea applies to memory operations. Users can continue writing
normal Rust like `ptr::copy_nonoverlapping`, while the runtime can
choose an implementation tailored to its execution environment.
Both controls are opt-in and disabled by default, so existing kernel
projects and current BPF behavior remain unchanged.
Commit: 6bee6b09e21c579f191daab05a180b3ffeedfebc
https://github.com/llvm/llvm-project/commit/6bee6b09e21c579f191daab05a180b3ffeedfebc
Author: Claire Fan <fanyungching at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/BPF/BPFISelLowering.cpp
A llvm/test/CodeGen/BPF/libcall-non-whitelisted.ll
Log Message:
-----------
[BPF] cli option to allow libcalls (#199542)
This is the follow up PR for PR #199541
### --bpf-allows-libcalls
Second, an opt-in flag to allow additional libcalls beyond the currently
whitelisted ones.
Today BPF rejects unsupported libcalls here:
```c++
if (Sym != BPF_TRAP && Sym != "__multi3" && Sym != "__divti3" &&
Sym != "__modti3" && Sym != "__udivti3" &&
Sym != "__umodti3" && Sym != "memcpy" &&
Sym != "memset" && Sym != "memmove")
fail(
CLI.DL, DAG,
Twine("A call to built-in function '" + Sym +
"' is not supported."));
```
With the new flag enabled, this error path is skipped so VM/runtime
environments can provide their own libcall implementations.
For VM runtimes using the BPF backend, libcalls are useful because they
create an interface between normal compiler-generated code and
runtime-specific optimization. We have already explored this model for
u128 arithmetic, where libcalls allow normal Rust code to stay unchanged
while the runtime can provide optimized behavior:
https://blueshift.gg/research/accelerating-u128-math-with-libcalls-and-jit-intrinsics
The same idea applies to memory operations. Users can continue writing
normal Rust like `ptr::copy_nonoverlapping`, while the runtime can
choose an implementation tailored to its execution environment.
This new option is opt-in and disabled by default, so existing kernel
projects and current BPF behavior remain unchanged.
Commit: 05bcb056f05607025d260945a982dd2fd230b9f6
https://github.com/llvm/llvm-project/commit/05bcb056f05607025d260945a982dd2fd230b9f6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMoveMerger.cpp
Log Message:
-----------
[RISCV] Combine isGPRPairCopyCandidateEven/isGPRPairCopyCandidateOdd in MoveMerger. NFC (#200254)
These only differ in the subreg index. Add a bool to control it.
Commit: 4c1bc59365360f7f24a5c82b8cebd2b52634879a
https://github.com/llvm/llvm-project/commit/4c1bc59365360f7f24a5c82b8cebd2b52634879a
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/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/cxx23.cpp
Log Message:
-----------
[clang][bytecode] Fix variadic operator calls with explicit this (#199978)
Commit: bbf8a33ad5f51b5641e7665e5f0d2f0079b454f6
https://github.com/llvm/llvm-project/commit/bbf8a33ad5f51b5641e7665e5f0d2f0079b454f6
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaOps.cpp
M mlir/test/Conversion/TosaToSPIRVTosa/tosa-to-spirv.mlir
Log Message:
-----------
[mlir][spirv][tosa] Extend TOSA to SPIR-V TOSA op conversion (#200009)
Add conversion patterns for additional TOSA 1.0 operations targeting
the SPIR-V TOSA extended instruction set.
Introduce a common TosaOpConvert pattern with small replacer classes
to share result type conversion while keeping op-specific replacement
logic explicit.
The newly covered operations include:
* elementwise ops such as clamp, arithmetic_right_shift, mul, table,
negate, and select
* reductions and argmax
* gather, scatter, resize
* reshape, reverse, slice, tile, transpose
* cast and const_shape
Also add conversion tests.
---------
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: b835d5a98f48cb9dcae3ec915a0790826eb7d2a2
https://github.com/llvm/llvm-project/commit/b835d5a98f48cb9dcae3ec915a0790826eb7d2a2
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/IR/Value.cpp
M llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll
Log Message:
-----------
[IR] Only require nofree in canBeFreed() (#200191)
After https://github.com/llvm/llvm-project/pull/195658 we only need the
function to be nofree, as this also precludes freeing via
synchronization now. Being nosync is no longer required.
Commit: 01c93f511b4b5f734ac420709266036497610014
https://github.com/llvm/llvm-project/commit/01c93f511b4b5f734ac420709266036497610014
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:
-----------
[Clang] Mark new as inaccessiblememonly if sane (#197199)
If `-fassume-sane-operator-new` (the default), assume that `operator
new` does not read or write accessible memory.
Currently, this assumption already exists due to special treatment in
BasicAA. I'd like to remove this special treatment (see
https://github.com/llvm/llvm-project/pull/197180), and instead rely only
on the `memory` attribute.
It's worth noting that this is consistent with GCC's interpretation of
the flag (where it is also enabled by default):
> [...] With -fassume-sane-operators-new-delete option GCC may assume
that calls to the replaceable global operators from new or delete
expressions or from __builtin_operator_new or __builtin_operator_delete
calls don’t read or modify any global variables or variables whose
address could escape to the operators (global state; except for errno
for the new and new[] operators). [...]
Commit: b159ed6fa212607ecd287fa73f4bee59802b1528
https://github.com/llvm/llvm-project/commit/b159ed6fa212607ecd287fa73f4bee59802b1528
Author: hev <wangrui at loongson.cn>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/CMakeLists.txt
M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.h
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
A llvm/lib/Target/LoongArch/LoongArchTargetObjectFile.cpp
A llvm/lib/Target/LoongArch/LoongArchTargetObjectFile.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCAsmInfo.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchTargetStreamer.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchTargetStreamer.h
A llvm/test/DebugInfo/LoongArch/tls.ll
A llvm/test/MC/LoongArch/Directives/tls.s
M llvm/utils/gn/secondary/llvm/lib/Target/LoongArch/BUILD.gn
Log Message:
-----------
[LoongArch] Emit DTPREL relocations for TLS debug info (#199326)
Teach the LoongArch backend to lower thread-local debug references using
target-specific DTPREL relocations.
This adds .dtprelword and .dtpreldword directive parsing and streaming,
introduces 32-bit and 64-bit DTPREL fixups and ELF relocation mappings,
and uses a LoongArch target object file to represent debug TLS symbols
as VK_DTPREL expressions. LoongArchAsmPrinter is updated to emit the new
directives for debug TLS values in assembly output.
Add MC and debug info tests for assembly emission and object
relocations.
Commit: 8f45cf9822a5840925836457b78ba4d515ef8da5
https://github.com/llvm/llvm-project/commit/8f45cf9822a5840925836457b78ba4d515ef8da5
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/SystemZ/cmp-ext-01.ll
Log Message:
-----------
[SystemZ] Handle pointer size correctly in getVectorBitmaskConversionCost(). (#200171)
Unfortunately, getScalarSizeInBits() returns 0 for PointerTy, which
means that the loop vectorizer got way too high costs for sext i1 after
a compare(ptr, 0).
There is already a version of getScalarSizeInBits() in
SystemZTargetTransformInfo.cpp that handles this, so this is fixed by
using this in the needed places.
As a result, a few more loops are vectorized, and perl improves ~1%.
Commit: 64bc1fae11d6591739ed0c14f1f3464ae7bc24ac
https://github.com/llvm/llvm-project/commit/64bc1fae11d6591739ed0c14f1f3464ae7bc24ac
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Options/Options.td
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/CodeGen/SystemZ/stack-guard-global-option.c
M clang/test/Driver/stack-protector-guard.c
M llvm/include/llvm/IR/Module.h
M llvm/lib/IR/Module.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
A llvm/test/CodeGen/SystemZ/stack-guard-global-nopic.ll
A llvm/test/CodeGen/SystemZ/stack-guard-global-pic.ll
A llvm/test/CodeGen/SystemZ/stack-guard-pseudos.ll
A llvm/test/CodeGen/SystemZ/stack-guard-tls.ll
R llvm/test/CodeGen/SystemZ/stack-guard.ll
Log Message:
-----------
[SystemZ] Global Stackprotector and associated location section (#169317)
This commit allows `-mstack-protector-guard=global` for `s390x`.
It also adds a new arch-specific option
`-mstack-protector-guard-record`, analogous to `-mrecord-mcount`, which
will cause `clang` to emit a `__stack_protector_loc` section containing
all the locations in the output binary that load the stack guard
address, for the purposes of later rewriting of those loads by the
kernel. This new option only works together with the `global` stack
protector.
In order to minimize exposure of the stack guard, both the storing of
the stack guard onto the stack, and the later comparison of that value
against the reference value, are handled via direct mem-to-mem
instructions, those being `mvc` and `clc`.
This is achieved by introducing two new pseudo instructions,
`MOVE_STACK_GUARD` and `COMPARE_STACK_GUARD`, which are inserted by the
DAGCombiner after SelectionDAG construction. These pseudos stick around
throughout the entire backend pipeline, and are lowered only in the
AsmPrinter.
This commit also adds tests for both kinds of stack protectors (tls and
global), for the proper insertion of the pseudos, the proper emission of
the, `__stack_protector_loc` section, as well as the option
compatibility checks for the new options.
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: 4b703fb5fbb9e517eb205f310a129472f3cac655
https://github.com/llvm/llvm-project/commit/4b703fb5fbb9e517eb205f310a129472f3cac655
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] enumerate volumes via FindFirstVolumeW (#200231)
Commit: a64bc13adcb51db80dd1167ac0338cd6d9771720
https://github.com/llvm/llvm-project/commit/a64bc13adcb51db80dd1167ac0338cd6d9771720
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/IR/ValueMap.h
Log Message:
-----------
[ValueMap] Simplify insert methods (NFC) (#200264)
The other methods cannot be simplified: the use of find_as() here is to
specifically avoid the construction of temporary CallbackVHs, which is
very expensive.
Commit: 0fd11e4a83e862fcb48690555015f7da44131075
https://github.com/llvm/llvm-project/commit/0fd11e4a83e862fcb48690555015f7da44131075
Author: eleviant <eleviant at accesssoftek.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/docs/UsersManual.rst
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Options/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGen/ms-intrinsics.c
A clang/test/CodeGen/wrapv.c
M clang/test/Driver/clang_wrapv_opts.c
M compiler-rt/test/ubsan/TestCases/Integer/shift.cpp
M compiler-rt/test/ubsan/TestCases/Misc/abs.cpp
Log Message:
-----------
Honor two's complement signed overflow with -fms-compatibility (#198538)
This matches MSVC behavior, where signed integer overflow follows
two's-complement semantics
Commit: 7fba4dba57ac5624e7918c023b83faa4dec973ec
https://github.com/llvm/llvm-project/commit/7fba4dba57ac5624e7918c023b83faa4dec973ec
Author: Valery Pykhtin <valery.pykhtin at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
Log Message:
-----------
[NFC][AMDGPU] Replace getClampMask with hasSameClamp in SIInstrInfo (#200382)
getClampMask had a single call site that used the result only for
equality comparison. Replace it with hasSameClamp(A, B) which directly
expresses the intent and removes the need to expose raw TSFlags bit
values through the return type.
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: f9207d7c4b48836d83cce1d369f7115a0122618d
https://github.com/llvm/llvm-project/commit/f9207d7c4b48836d83cce1d369f7115a0122618d
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++][NFC] Move functions in shared_ptr.h into the class body (#200343)
This removes some boilerplate code and makes it more consistent with
most of the rest of the code base.
Commit: 733d188a9548a3601278b35b027fc02d0ce94731
https://github.com/llvm/llvm-project/commit/733d188a9548a3601278b35b027fc02d0ce94731
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
Log Message:
-----------
[AArch64][llvm] Restrict STSHH decoding to valid policy encodings (#200389)
Commit: 3791c8b8773735a20fcb07f7f8d87fb2222b795c
https://github.com/llvm/llvm-project/commit/3791c8b8773735a20fcb07f7f8d87fb2222b795c
Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
M flang/test/Transforms/FIRToMemRef/slice-projected.mlir
Log Message:
-----------
[flang][FIRToMemRef] Non-box complex slices use shapeVec strides, not `fir.box_dims` (#200285)
FIRToMemRef now lowers `fir.array_coor` on projected complex %re / %im
when the base is a contiguous `!fir.ref` with `fir.shape` (e.g. a static
component array in a derived type), without calling `fir.box_dims` on
the ref and with strides that match the memref<…×2×T> view.
Previously, any projected slice is lowered through the descriptor path
and produced invalid `fir.box_dims` on a ref. Fixed to take descriptor
strides only when the coor base is actually a box. For ref + shape, it
keeps the synthesized row-major layout and scales array strides by two
scalar slots per complex, with a re/im dimension (extent 2, stride 1).
Commit: afe61654c0e8637b919c9292659a7a5515027d7c
https://github.com/llvm/llvm-project/commit/afe61654c0e8637b919c9292659a7a5515027d7c
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
A clang/test/Sema/gh170072.c
Log Message:
-----------
[Clang][Sema] Fix crash when calling EvaluateForOverflow for UnaryOpe… (#200317)
…rator that can not overflow
A while ago I added checking for overflow in unary operators during
constant evaluation:
https://reviews.llvm.org/D142867
This created some new bug opportunities. I am now checking if the
UnaryOperator can overflow before calling EvaluateForOverflow in
Sema::CheckForIntOverflow.
Fixes: https://github.com/llvm/llvm-project/issues/170072
Commit: a8a91c01b734cfecdd6061caef71554deee55daf
https://github.com/llvm/llvm-project/commit/a8a91c01b734cfecdd6061caef71554deee55daf
Author: Srividya Sundaram <srividya.sundaram at intel.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/test/Driver/sycl-offload-jit-unix.cpp
M clang/test/Driver/sycl-offload-jit.cpp
M clang/test/Driver/sycl-windows.cpp
Log Message:
-----------
[SYCL] Fix -nolibsycl and spurious spirv-link flags for SYCL offloading (#200252)
Two related driver fixes for SYCL offloading on Linux:
1. Honor -nolibsycl during linking: the SYCL runtime library
(libLLVMSYCL.so) was unconditionally added to the link line even when
-nolibsycl was passed. The flag was recognized but silently ignored at
the point where the library path is emitted.
2. Do not forward spirv-link flags to clang-sycl-linker: the driver was
passing --allow-partial-linkage and --create-library to
clang-sycl-linker for all SPIR-V offload targets, but these flags are
only meaningful to the out-of-tree spirv-link tool used by OpenMP. SYCL
uses clang-sycl-linker which does not accept them, causing a link
failure. The flags are now restricted to non-SYCL SPIR-V offload kinds.
---------
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: 4db74c054e2bc911a942f0843c2fdb49a95dd9df
https://github.com/llvm/llvm-project/commit/4db74c054e2bc911a942f0843c2fdb49a95dd9df
Author: Valery Pykhtin <valery.pykhtin at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
Log Message:
-----------
[NFC][AMDGPU] Replace uint64_t SDWA inst-type discriminant with typed enum (#200388)
cvtSDWA() previously took a uint64_t BasicInstType parameter and callers
passed raw TSFlag bit values (SIInstrFlags::VOP1/VOP2/VOPC) as a
discriminant. Introduce a private AMDGPUAsmParser::SDWAInstType enum
class to remove the raw-flag dependency.
---------
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: bdcce4a12c828d7cf5475e5f39dde32280c29a3c
https://github.com/llvm/llvm-project/commit/bdcce4a12c828d7cf5475e5f39dde32280c29a3c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512-mask-op.ll
M llvm/test/CodeGen/X86/fold-select.ll
Log Message:
-----------
[X86] combineMaskBitOp - fold vXi1 logicop(truncate(N0),truncate(N1)) -> truncate(logicop(X,Y)) (#200385)
Replace costly predicate logic when possible - generic 128/256/512 vector types are always cheaper
Part of #198162
Commit: 170bdf55faef8000f8abe8eb97472b3c3bab91c5
https://github.com/llvm/llvm-project/commit/170bdf55faef8000f8abe8eb97472b3c3bab91c5
Author: Valery Pykhtin <valery.pykhtin at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
Log Message:
-----------
[NFC][AMDGPU] Introduce AMDGPU::FlatVariant enum to replace uint64_t FLAT discriminant (#200396)
Replace the uint64_t parameter used as a FLAT address-space segment
discriminant in isLegalFLATOffset, splitFlatOffset,
allowNegativeFlatOffset with a typed enum class to prevent usage of raw
TSFlags.
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: c4a6fe766e2fe71d478efc9652f45abec8ce5abb
https://github.com/llvm/llvm-project/commit/c4a6fe766e2fe71d478efc9652f45abec8ce5abb
Author: hev <wangrui at loongson.cn>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
A lld/test/ELF/loongarch-tls-dtprel.s
Log Message:
-----------
[lld][LoongArch] Handle DTPREL relocations in debug sections (#199327)
Teach the LoongArch lld backend to classify R_LARCH_TLS_DTPREL32 and
R_LARCH_TLS_DTPREL64 as R_DTPREL.
This allows linker processing of TLS debug info references emitted into
.debug_info via .dtprelword/.dtpreldword. Add 32-bit and 64-bit tests
that assemble objects with DTPREL relocations in debug sections.
Commit: 8d4e7d9f4e2e16fb14a1409b1bb5a9fc469c7de5
https://github.com/llvm/llvm-project/commit/8d4e7d9f4e2e16fb14a1409b1bb5a9fc469c7de5
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
Add new coro test to profcheck-xfail.txt (coro aren't yet profcheck ready (#200422)
Commit: 00062ed982256651a28187e865d6ae14e21d8395
https://github.com/llvm/llvm-project/commit/00062ed982256651a28187e865d6ae14e21d8395
Author: Valery Pykhtin <valery.pykhtin at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
Log Message:
-----------
Revert "[NFC][AMDGPU] Introduce AMDGPU::FlatVariant enum to replace uint64_t FLAT discriminant" (#200420)
Reverts llvm/llvm-project#200396
Build failure
Commit: fa6f7426a39977661a100547690c30e5a4b3691e
https://github.com/llvm/llvm-project/commit/fa6f7426a39977661a100547690c30e5a4b3691e
Author: Yury Plyakhin <yury.plyakhin at intel.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/docs/ClangSYCLLinker.rst
R clang/test/Driver/Inputs/SYCL/bar.ll
R clang/test/Driver/Inputs/SYCL/baz.ll
R clang/test/Driver/Inputs/SYCL/foo.ll
R clang/test/Driver/Inputs/SYCL/libLLVMSYCL.ll
R clang/test/Driver/link-device-code.test
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/test/OffloadTools/clang-sycl-linker/basic.ll
A clang/test/OffloadTools/clang-sycl-linker/link.ll
M clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
Log Message:
-----------
[clang-sycl-linker] Decouple link step from SYCL; adopt -L / --bc-library options (#199777)
The bitcode link phase in `clang-sycl-linker` is not SYCL-specific — it
links input bitcode, then links library bitcode with `LinkOnlyNeeded`.
This PR makes the implementation reflect that and aligns the option
surface with `clang-nvlink-wrapper`.
- Rename `linkDeviceCode` / `getSYCLDeviceLibs` and strip SYCL/device
wording from verbose output, errors, and doc-comments. The
`runSYCLLink` doc-comment is expanded to describe the full
link → split → codegen → AOT → pack pipeline it actually drives.
- Replace `--device-libs=a.bc,b.bc` with repeatable `--bc-library`,
resolved against `-L` search paths. `-L` becomes the canonical form;
`--library-path` / `--library-path=` are kept as hidden aliases and
now accumulate (previously last-wins).
- Consolidate the four `Inputs/SYCL/*.ll` fixtures and
`link-device-code.test` into one `split-file`-based `link.ll`; refresh
affected check prefixes. New checks cover `-L` joined form,
multi-`-L` fall-through, and first-match-wins ordering.
- ClangSYCLLinker.rst got a substantive refresh beyond doc-comments:
intro paragraphs rewritten, help-text block updated, dropped options
(-g,
-is-windows-msvc-env, -llvm-spirv-options=, --llvm-spirv-path=) and
added options (--module-split-mode, --ocloc-options,
--opencl-aot-options) so the doc
matches current .td reality.
Assisted by claude.
Commit: a57049a7f8259d197361acd833c36b0467ecd44b
https://github.com/llvm/llvm-project/commit/a57049a7f8259d197361acd833c36b0467ecd44b
Author: Domenic Nutile <domenic.nutile at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-fmed3-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-minmax-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-fma-mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-sub-mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmed3-min-max-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-add.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.class.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.class.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w32.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w64.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-and.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-anyext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ashr.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-constant.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fabs.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fceil.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ffloor.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum-ieee.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum-ieee.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmul.v2s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fneg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-freeze.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fshr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-lshr.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-or.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-smed3.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-umed3.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-shl.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-xor.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
Log Message:
-----------
[AMDGPU][True16] Upstream GlobalISel True16 tests/run lines (#200288)
All of these tests do not require functional changes to go with them
Commit: 6ce211f02fcf114a843a29b2910f6633e701b4e6
https://github.com/llvm/llvm-project/commit/6ce211f02fcf114a843a29b2910f6633e701b4e6
Author: Martin Storsjö <martin at martin.st>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
M llvm/lib/IR/Value.cpp
M llvm/unittests/ADT/BitVectorTest.cpp
Log Message:
-----------
Revert "[DenseMap] Replace tombstone deletion with TAOCP 6.4 Algorithm R" (#200421)
Reverts llvm/llvm-project#199615.
That change causes nondeterministic failed assertions, see the linked PR
for examples.
Commit: dc40fccbc1f8fcd6d53c970efe199fc02464b986
https://github.com/llvm/llvm-project/commit/dc40fccbc1f8fcd6d53c970efe199fc02464b986
Author: Derek Schuff <dschuff at chromium.org>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
M llvm/test/CodeGen/WebAssembly/exception.ll
Log Message:
-----------
[WebAssembly] Avoid crash in LateEHPrepare with empty cleanup pads (#200322)
WebAssemblyLateEHPrepare::addCatchRefsAndThrowRefs was using
Catch->getIterator()->getNextNode() to find the insertion position
after the CATCH (or CATCH_ALL) instruction in an EH pad.
If the CATCH/CATCH_ALL instruction is the last instruction in the basic
block, getNextNode() returns nullptr, which causees a crash when passed
to BuildMI. This patch fixes it by using std::next(Catch->getIterator())
which returns MBB.end() if the catch is the last instruction, and the
overload of BuildMI that takes an iterator correctly handles BB.end().
Fixes #197077
Assisted-By: Gemini
Commit: 99b5ebd51f498804d6e555952e895d79152340c8
https://github.com/llvm/llvm-project/commit/99b5ebd51f498804d6e555952e895d79152340c8
Author: Sean Clarke <seanedwardsclarke at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/test/Transforms/InstCombine/sub-xor.ll
Log Message:
-----------
[InstCombine] Replace undef with poison in a test (#199757)
This is intended as part of the effort to deprecate undef. The
additional wrap-flags are due to the fact that the add can no longer
overflow with poison, but could overflow with undef.
Alive2 proof: https://alive2.llvm.org/ce/z/qiRYcQ
Commit: 6c9542c3f99e5cc8cdba8122b36323370fcf6d95
https://github.com/llvm/llvm-project/commit/6c9542c3f99e5cc8cdba8122b36323370fcf6d95
Author: Matt Davis <mattd at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
M llvm/lib/Target/NVPTX/NVPTXDwarfDebug.cpp
M llvm/lib/Target/NVPTX/NVPTXDwarfDebug.h
A llvm/test/DebugInfo/NVPTX/language-dialect.ll
Log Message:
-----------
Add NVPTX DW_AT_LLVM_language_dialect emission. (#200003)
This PR makes use of the recently introduced DW_AT_LLVM_language_dialect
attribute. Currently, no other targets emit this compile unit DWARF
attribute ; however, this PR changes that. NVPTX can optionally emit a
dialect based on the type of input being compiled (e.g., from a Tile
frontend or traditional CUDA (SIMT) frontend).
- DwarfDebug: add finishTargetUnitAttributes virtual hook so backends
can finalize per-CU attributes.
- NVPTX: override the hook to emit DW_AT_LLVM_language_dialect
(DW_FORM_data1) for the simt and tile dialects, suppressing emission and
warning (per-CU deduplicated) for unknown values.
(Co-developed via LLM)
Commit: c4346f2a09aa809ddd5b3607f6efe8de254890b7
https://github.com/llvm/llvm-project/commit/c4346f2a09aa809ddd5b3607f6efe8de254890b7
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/Transforms/Utils/AssignGUID.h
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/Transforms/IPO/ConstantMerge.cpp
M llvm/lib/Transforms/Utils/AssignGUID.cpp
M llvm/test/Transforms/ConstantMerge/merge-dbg.ll
A llvm/test/Transforms/GlobalMerge/guid.ll
Log Message:
-----------
Ignore `!guid` metadata when merging globals or constants (#200323)
Follow up from PR #184065. Since globals or constants would now have
their GUID pre-calculated and affixed with metadata, we need to tolerate
its presence when merging. To that effect, we rename (and change
accordingly) `GlobalObject::hasMetadataOtherThanDebugLoc` to
`...AndGuid`.
In the case of Constants, they are merged into one of them, which then
keeps its guid, while the rest are erased. In the case of
GlobalVariables, a new one is created, and we will give it its own guid.
Commit: d043ec846b79e30b8de88e601e8c9e36eee771eb
https://github.com/llvm/llvm-project/commit/d043ec846b79e30b8de88e601e8c9e36eee771eb
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
Log Message:
-----------
[lldb] Avoid trie prefix recompuation (NFC) (#200026)
Avoid O(depth) string concatenations for every symbol in the Mach-O
exports trie.
This change uses a string to track the current trie prefix, instead of a
vector of substrings. Instead of pushing and popping on the vector, the
string is appended and truncated.
Assisted-by: claude
Commit: a8a988bd6a5be1d58402a66613814afcb60ef920
https://github.com/llvm/llvm-project/commit/a8a988bd6a5be1d58402a66613814afcb60ef920
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/test/CIR/CodeGen/multi-vtable.cpp
M clang/test/CIR/CodeGen/thunks.cpp
M clang/test/CIR/CodeGen/vbase.cpp
M clang/test/CIR/CodeGen/virtual-function-calls.cpp
M clang/test/CIR/CodeGen/vtable-emission.cpp
M clang/test/CIR/CodeGen/vtable-linkage-explicit-instantiation.cpp
M clang/test/CIR/CodeGen/vtt.cpp
M clang/test/CIR/CodeGenCXX/vtable-linkage.cpp
Log Message:
-----------
[CIR]Fix CIR Test failures after unnamed_addr removed from vtables (#200435)
See #200108 and #197855 for the cause. We weren't generating this
anywhere in our code, so it is only OGCG check lines that got changed.
Commit: 7dcce4c16da12365709adc685679df70572ac49e
https://github.com/llvm/llvm-project/commit/7dcce4c16da12365709adc685679df70572ac49e
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] fix scope_exit warning (#200439)
Using the constructor rather than `make_scope_exit` is preferred.
Commit: bf8e8c221f26fd92fc4ab8baa0e801e599b67fc8
https://github.com/llvm/llvm-project/commit/bf8e8c221f26fd92fc4ab8baa0e801e599b67fc8
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Context.h
M llvm/tools/llubi/lib/Value.cpp
M llvm/tools/llubi/lib/Value.h
Log Message:
-----------
[llubi] Map tags into provenances (#200236)
This patch adjusts https://github.com/llvm/llvm-project/pull/185977 to
generate tags for provenances (i.e., pointer components excluding
addresses), instead of memory objects. This allows us to distinguish
between `read_provenance` and `provenance`. See the original comment in
https://github.com/llvm/llvm-project/pull/185977#discussion_r3310861793.
Currently, tags are only generated for those pointer components
associated with a known memory object. We may need some special tags for
`capture(address)`-only pointers and the result of inttoptr (wildcard
provenance) in the future.
Commit: 398573eecb37143f649f0562e565a6a5f6da5255
https://github.com/llvm/llvm-project/commit/398573eecb37143f649f0562e565a6a5f6da5255
Author: Prasoon <prasoonkumar054 at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/utils/lit/lit/Test.py
Log Message:
-----------
[lit] Make MetricValue a proper abstract base class (#200187)
Currently, `MetricValue` signals abstract methods by raising
`RuntimeError("abstract method")` at runtime. This means a subclass that
forgets to implement `format()` or `todata()` is only caught when the
method is actually called.
This change makes `MetricValue` inherit from `abc.ABC` and decorates
`format` and `todata` with `@abc.abstractmethod`. All three existing
subclasses (`IntMetricValue`, `RealMetricValue`, `JSONMetricValue`)
already implement both methods. No change in behavior.
Signed-off-by: Prasoon Kumar <prasoonkumar054 at gmail.com>
Commit: 0ad051a0a338797c37aa05ca8e79c0062d9c52eb
https://github.com/llvm/llvm-project/commit/0ad051a0a338797c37aa05ca8e79c0062d9c52eb
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMIRFormatter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMIRFormatter.h
M llvm/test/CodeGen/AMDGPU/asyncmark-merge-empty-other.mir
M llvm/test/CodeGen/AMDGPU/expert_scheduling_gfx12.mir
M llvm/test/CodeGen/AMDGPU/expert_scheduling_gfx1250.mir
M llvm/test/CodeGen/AMDGPU/insert-skips-gfx12.mir
M llvm/test/CodeGen/AMDGPU/insert-waitcnts-gfx12-wbinv.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.signal.isfirst.mir
M llvm/test/CodeGen/AMDGPU/spill-wait.mir
M llvm/test/CodeGen/AMDGPU/wait-xcnt-drain.mir
M llvm/test/CodeGen/AMDGPU/wait-xcnt.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-func-global-inv.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-gfx1250.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-kmcnt-scc-different-block.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-overflow.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-preexisting.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-vmcnt-loop.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-wcg-attributes.mir
A llvm/test/CodeGen/MIR/AMDGPU/s_wait_loadcnt_dscnt-errors.mir
A llvm/test/CodeGen/MIR/AMDGPU/s_wait_loadcnt_dscnt.mir
Log Message:
-----------
[AMDGPU][MIRFormatter] S_WAIT_LOADCNT_DSCNT human-readable mask (#200059)
This patch implements a printer and parser for the S_WAIT_LOADCNT_DSCNT
mask. It prints the mask in a human-readable format, showing the counter
values like: `Loadcnt_<NUM>_Dscnt_<NUM>`.
The format matches the printing style of S_WAITCNT_DEPCTR. For example:
```
S_WAIT_LOADCNT_DSCNT .Loadcnt_0_Dsccnt_0
S_WAIT_LOADCNT_DSCNT .Dsccnt_2
S_WAIT_LOADCNT_DSCNT .AllOff
```
Counters at their maximum value (meaning "don't wait") are omitted. When
all counters are at max, `.AllOff` is printed.
Commit: 5f71480b522edbe5c8c4d509e1d9872575ace1d6
https://github.com/llvm/llvm-project/commit/5f71480b522edbe5c8c4d509e1d9872575ace1d6
Author: Matt <MattPD at users.noreply.github.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Semantics/OpenMP/declare-reduction-use-assoc-named.f90
Log Message:
-----------
[flang][OpenMP] Fix USE-associated declare reduction symbol resolution (#200328)
When a declare reduction is accessed via USE association, the symbol in
the consuming scope has `UseDetails` rather than `UserReductionDetails`.
Calling `detailsIf<UserReductionDetails>()` directly on such a symbol
returns nullptr. This causes two distinct failure modes:
1. **Operator/identifier validation** (`CheckReductionOperator`): named
reductions and defined operators are rejected with "Invalid reduction
identifier" or "Invalid reduction operator".
2. **Type validation** (`CheckSymbolSupportsType`,
`IsReductionAllowedForType`):
the type compatibility check cannot find `UserReductionDetails` for the
reduction, producing "The type of 'x' is incompatible with the
reduction operator".
This bug has existed since `UserReductionDetails` was introduced (June
2025). Only intrinsic operator reductions (like `+`) worked via USE,
because they bypass the operator validation check and their type
checking
was handled by a global module scan workaround (added Feb 2026).
**Fix:** Add `GetUltimate()` at 4 locations in `check-omp-structure.cpp`
to resolve
through `UseDetails` chains before checking for `UserReductionDetails`:
two in `CheckReductionOperator` (validation paths 1 and 2 above), one in
`CheckSymbolSupportsType`, and one in `IsReductionAllowedForType`.
Fixes https://github.com/llvm/llvm-project/issues/184932
Co-authored-by: Matt P. Dziubinski <matt-p.dziubinski at hpe.com>
Commit: 912f0d1055b8dafe8602c773787c658b5d7b3bd8
https://github.com/llvm/llvm-project/commit/912f0d1055b8dafe8602c773787c658b5d7b3bd8
Author: Chris B <chris.bieneman at me.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ExprConstant.cpp
A clang/test/SemaHLSL/Language/ConstexprVectorCasts.hlsl
A clang/test/SemaHLSL/Types/BuiltinVector/VectorCastConstantExpr.hlsl
Log Message:
-----------
[HLSL] `constexpr` vector element conversions (#195173)
This PR updates the constant expression evaluators to support HLSL's
element-wise vector element conversions. These conversions allow
element-by-element conversion of a vector from one type to another
vector of the same dimension.
Fixes #163437
---------
Co-authored-by: Deric C. <cheung.deric at gmail.com>
Commit: 3c34c34901d659873117546781847d4d68710973
https://github.com/llvm/llvm-project/commit/3c34c34901d659873117546781847d4d68710973
Author: Adhemerval Zanella <zatrazz at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAArch64.td
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/Headers/arm64intr.h
M clang/lib/Headers/intrin.h
M clang/lib/Sema/SemaARM.cpp
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/Verifier.cpp
A llvm/test/CodeGen/AArch64/read-fp-reg.ll
A llvm/test/CodeGen/AArch64/write-volatile-register.ll
Log Message:
-----------
[aarch64] Add more MSVC intrinsics (#194632)
This patchset adds more intrinsics from MSVC build 2026 [1]. I focused
on the one documented by Microsoft, although intrin.h and related
headers do export more symbols.
This is split from https://github.com/llvm/llvm-project/pull/193221 ,
where I only added the non-controversial ones.
Commit: c241374079f12aabe5d1db5133cb5d924a3cc1d6
https://github.com/llvm/llvm-project/commit/c241374079f12aabe5d1db5133cb5d924a3cc1d6
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Comment.h
M clang/lib/AST/Comment.cpp
M clang/lib/Index/CommentToXML.cpp
M clang/test/Sema/warn-documentation.cpp
Log Message:
-----------
[clang] Fix @tparam warnings for concept template parameters (#199800)
`-Wdocumentation` would warn on `@tparam` commands for concepts even if
the named
parameter existed. This patch fixes that by adding concept support to
`comment::DeclInfo` when its
properties are filled from the associated comment's decl.
Fixes #64087
Commit: 77800224eba1bd273c50fb1153945c38da507a52
https://github.com/llvm/llvm-project/commit/77800224eba1bd273c50fb1153945c38da507a52
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:
-----------
Reapply "[PDB][llvm-pdbutil] Add DXContainer support for `pdb2yaml` and `yaml2pdb`" (#200413)
This reapplies #198351 with a fix for `-Wchanges-meaning` causing an
error in `PdbYaml.h`.
Original description:
This patch enables the following:
1. Attempting to parse a `DXContainer` from stream 5 (generated by
DirectX tools) of a PDB file, to be used later in `llvm-pdbutil`.
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: 4472e935678ae8aba762b2464867f9e3fe81ca15
https://github.com/llvm/llvm-project/commit/4472e935678ae8aba762b2464867f9e3fe81ca15
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py
Log Message:
-----------
[LLDB] Skip test with older versions of clang (#200456)
Commit: 2f2122a1438116b6e4d159bc8c7d7abe49ce7098
https://github.com/llvm/llvm-project/commit/2f2122a1438116b6e4d159bc8c7d7abe49ce7098
Author: lntue <lntue at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/test/CMakeLists.txt
M libc/test/UnitTest/LibcTest.h
M libc/test/shared/CMakeLists.txt
Log Message:
-----------
[libc][NFC] Add few options to allow users to skip building and running some tests. (#199474)
These options will be used to reduce redundancy and time for precommit
CIs:
- LIBC_TEST_SKIP_DEATH_TESTS
- LIBC_TEST_SKIP_SHARED_MATH_TESTS
- LIBC_TEST_CHECK_LIBC_BUILD_ONLY
Commit: 2520a9bcd0911b598e99a34420d6359c3dc61277
https://github.com/llvm/llvm-project/commit/2520a9bcd0911b598e99a34420d6359c3dc61277
Author: Jan Schultke <me at eisenwave.net>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M llvm/include/llvm/ADT/APInt.h
M llvm/lib/Support/APInt.cpp
M llvm/unittests/ADT/APIntTest.cpp
Log Message:
-----------
[APInt] Add `APIntOps::compressBits` and `APIntOps::expandBits` (#200114)
These are necessary to implement portable intrinsics for
bit_compress/pext/bext and bit_expand/pdep/bdep.
See
- https://github.com/llvm/llvm-project/issues/172857
- https://github.com/llvm/llvm-project/pull/168527 (I basically modeled my PR after this one)
Commit: df697a65e67300c72851dddb31f7e1b5e869c931
https://github.com/llvm/llvm-project/commit/df697a65e67300c72851dddb31f7e1b5e869c931
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/test/CIR/CodeGen/global-array-dtor.cpp
M clang/test/CIR/CodeGen/global-init.cpp
M clang/test/CIR/CodeGen/static-members.cpp
Log Message:
-----------
[CIR] Set the linkage properly for the _GLOBAL__SUB_I_ function (#200443)
These are required to have internal linkage, however we were generating
them with external linkage. This causes problems with linking together
files with the same name for one reason or another.
This patch does NOT change the module initializer linkage, which based
on all uses I could find, should remain external linkage.
Commit: e5dc01128ac53f4831c314906305ccca480eeecb
https://github.com/llvm/llvm-project/commit/e5dc01128ac53f4831c314906305ccca480eeecb
Author: Domenic Nutile <domenic.nutile at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/select-merge-values-build-vector-s16.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/true16-merge-values-s16.ll
Log Message:
-----------
[AMDGPU][True16] Add legalization/selection handling for G_MERGE_VALUES of 2 s16 -> s32 (#200082)
Co-authored-by: Petar Avramovic <Petar.Avramovic at amd.com>
Commit: 098b05f32989a4243243860c69e8ec775c86669c
https://github.com/llvm/llvm-project/commit/098b05f32989a4243243860c69e8ec775c86669c
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/lib/Target/RISCV/RISCVInstrInfoY.td
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/CodeGen/RISCV/rvy/rvy-invalid-operands.mir
A llvm/test/MC/RISCV/rvy/rvy-basic-invalid.s
A llvm/test/MC/RISCV/rvy/rvy-basic.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISC-V][MC] Introduce initial support for RVY (CHERI)
This adds MC-level support for most of the base Y extension instructions
using the latest 0.9.8.2 draft of the specification. This initial pull
request is restricted to the execution-mode-independent subset. The RVY
base ISA (CHERI for RISC-V) also introduces an execution mode that
determines whether certain register operands use the full extended
register or only the address subset (the current XLEN registers). The
instructions that depend on execution mode (loads/stores/jumps + AUIPC)
will be added in the following commits in this stack of changes.
Specification: https://riscv.github.io/riscv-cheri/
Co-authored-by: Jessica Clarke <jrtc27 at jrtc27.com>
Pull Request: https://github.com/llvm/llvm-project/pull/199771
Commit: 8a3ed55e56dc24cfa7d78875b89f0911a791dc55
https://github.com/llvm/llvm-project/commit/8a3ed55e56dc24cfa7d78875b89f0911a791dc55
Author: Alex Langford <alangford at apple.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/test/API/lang/objc/foundation/TestObjCMethods.py
Log Message:
-----------
[lldb] Tighten TestObjcMethods test case for arm64e (#200262)
This test explicitly checks for spurious DWARF lookups by looking for
the string `$__lldb` in the dwarf lookup logs. The intent here is to
validate that any calls to `FindFunctions` or `FindTypes` won't have
`$__lldb` in its lookup target. On arm64, this is trivial because `expr
self` goes through the IRInterpreter.
However, on arm64e, `expr self` is JIT compiled and executed in the
inferior process. LLDB installs some utility functions to check
invariants and those functions are usually prefixed with `$__lldb`. When
those utility functions appear in the logs, the test incorrectly fails.
Commit: 82840c51a843ee3cf0f1480be618262465ca0bc2
https://github.com/llvm/llvm-project/commit/82840c51a843ee3cf0f1480be618262465ca0bc2
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
Log Message:
-----------
[analyzer][webkit][NFC] Add more tests for nodelete checker (#200357)
Add more test cases based on false negative we've seen in the past.
Commit: 2d411c58671de2e251a40ec89a20b828b7a25b27
https://github.com/llvm/llvm-project/commit/2d411c58671de2e251a40ec89a20b828b7a25b27
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/unchecked-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars-arc.mm
Log Message:
-----------
[alpha.webkit.UncountedLocalVarsChecker] Check uninitialized raw pointer. (#200309)
Emit a warning for a uninitialized local pointer variable.
Commit: 70b6c3419e997a6b84c0985a13cd56b24488666b
https://github.com/llvm/llvm-project/commit/70b6c3419e997a6b84c0985a13cd56b24488666b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M flang-rt/cmake/modules/AddFlangRT.cmake
M flang/test/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[Flang] Fix runtime module file dependency on tests (#200417)
Summary:
Ever since https://github.com/llvm/llvm-project/pull/171515 we now build
the moduel files in the runtime step. This is problematic because pretty
much all of the tests depend on them. The current dependency chain
doesn't work correctly because the dependencies are set much later.
This fix just adds a global property so that we can set these
out-of-order and sets that property to depend on all the runtime tests.
Flang now becomes the only test suite who depends on the runtimes like
this, every other project's test suite is hermetic. However, moving
pretty much every flang test to flang-rt isn't ideal. We can investigate
this in depth later but for now this fixes the build.
Commit: 3330752fa10ada656e3484c82bfa8fb702c69c4f
https://github.com/llvm/llvm-project/commit/3330752fa10ada656e3484c82bfa8fb702c69c4f
Author: Teresa Johnson <tejohnson at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/ThinLTO/X86/memprof-imported-alias-assert.ll
Log Message:
-----------
Fix MemProf imported alias handling after guid metadata changes (#200430)
After PR184065 was committed, memprof ThinLTO builds were failing on
imported aliases, which now have the original aliasee guid attached
as metadata (we import aliases as a copy of the aliasee body). In
distributed ThinLTO, unless also importing the aliasee symbol, we won't
have an entry in the summary for the aliasee guid. And we now don't have
a way to locate the alias summary, which caused some assumptions and
assertions to fail.
Work around this with a TODO to add a way to find the original alias
guid.
Commit: 2c5dca550ae7b86f213aa56a0c92c53a69257968
https://github.com/llvm/llvm-project/commit/2c5dca550ae7b86f213aa56a0c92c53a69257968
Author: Peter Collingbourne <pcc at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-objdump.rst
M llvm/test/tools/llvm-objdump/X86/disassemble-functions.test
M llvm/tools/llvm-objdump/ObjdumpOpts.td
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
llvm-objdump: Support --disassemble= option.
This is compatible with GNU, as well as being shorter and allowing users
to specify symbol names with commas in them.
Note that this is distinct from the existing --disassemble which has
existed for a long time and disassembles all symbols. This change adds
a near-alias for the existing LLVM-specific --disassemble-symbols=.
Reviewers: jh7370, MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/196594
Commit: 8918dd8b4dc646fa9707bbfedd4efe5116abe971
https://github.com/llvm/llvm-project/commit/8918dd8b4dc646fa9707bbfedd4efe5116abe971
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/test/Driver/freebsd.c
Log Message:
-----------
[Clang][test] Fix space in ld path (#200012)
The driver resolves the path to the linker ("ld") to the absolute path.
Microsoft Visual Studio comes with its own instance of `ld.lld` which it
installs under
"c:\\program files\\microsoft visual studio\\2022\\community\\vc\\tools\\llvm\\x64\\bin\\ld.lld.exe"
In the developer command prompt, this path is added to PATH where the
Clang driver finds it. However, this path does not match regular
expression `"{{[^" ]*}}ld{{[^" ]*}}"` used by the MIPS test because the
path contains spaces.
Fix the test failure by matching only the the trailing component after
`ld`. Matching the prefix of the path is unique to the MIPS test, this
is not done with tests for other platforms.
Commit: ddef3a893ae3af11ea3a47580379e1ee6512bff9
https://github.com/llvm/llvm-project/commit/ddef3a893ae3af11ea3a47580379e1ee6512bff9
Author: Peter Collingbourne <pcc at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
LangRef: Clarify that unnamed_addr constants can be duplicated.
It has always been the intent that it was possible to duplicate
unnamed_addr constants, and LTO takes advantage of it. The current LangRef
wording allows it, but it was not explicitly spelled out, which led Clang
developers to add an optimization that assumed that it wasn't possible.
We are considering changing the semantics of unnamed_addr, but for now,
just make the current state explicit.
Reviewers:
teresajohnson, zygoloid, rjmccall, ChuanqiXu9, efriedma-quic, ojhunt
Pull Request: https://github.com/llvm/llvm-project/pull/199251
Commit: bd5c7247525f448b54fc18213ee1deb7b8aaa3b0
https://github.com/llvm/llvm-project/commit/bd5c7247525f448b54fc18213ee1deb7b8aaa3b0
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-sync_synchronize.c
Log Message:
-----------
[CIR] Implement __sync_synchronize builtin (#200423)
This showed up on a spec test, but is a very simple system-sequentially
consistent fence instruction.
Commit: a10ca8ed6454361b3889a9d5b41b97d065984648
https://github.com/llvm/llvm-project/commit/a10ca8ed6454361b3889a9d5b41b97d065984648
Author: Piotr Balcer <piotr.balcer at intel.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/Frontend/Offloading/Utility.h
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.h
M offload/include/Shared/APITypes.h
M offload/liboffload/API/Kernel.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/level_zero/dynamic_l0/L0DynWrapper.cpp
M offload/plugins-nextgen/level_zero/dynamic_l0/level_zero/ze_api.h
M offload/plugins-nextgen/level_zero/include/L0Kernel.h
M offload/plugins-nextgen/level_zero/src/L0Kernel.cpp
M offload/unittests/Conformance/include/mathtest/DeviceContext.hpp
M offload/unittests/Conformance/include/mathtest/Support.hpp
M offload/unittests/Conformance/lib/DeviceContext.cpp
M offload/unittests/OffloadAPI/device_code/CMakeLists.txt
A offload/unittests/OffloadAPI/device_code/composite.cpp
M offload/unittests/OffloadAPI/device_code/multiargs.cpp
M offload/unittests/OffloadAPI/event/olGetEventElapsedTime.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernelCooperative.cpp
M offload/unittests/OffloadAPI/memory/olMemcpy.cpp
M offload/unittests/OffloadAPI/queue/olLaunchHostFunction.cpp
M offload/unittests/OffloadAPI/queue/olWaitEvents.cpp
Log Message:
-----------
[offload] use argument pointer array in olLaunchKernel (#194333)
This PR changes olLaunchKernel to accept an array of pointers to
arguments:
```
void *ArgPtrs[] = {&A, &B, &C};
size_t ArgSizes[] = {sizeof(A), sizeof(B), sizeof(C)};
olLaunchKernel(Queue, Device, Kernel, &LaunchArgs, std::size(ArgPtrs), ArgPtrs, ArgSizes);
```
The newly proposed interface is implementable by existing and
anticipated
backends, is familiar to CUDA programmers, eliminates the extraneous
construction of a contiguous arguments buffer, replacing it with
constructing
an array of pointers, sidesteps the alignment requirements, does not
require reading program image metadata where it's impractical, and
enables
a compliant SYCL implementation to be built on top of it.
The ArgSizes array is required to support OpenCL, which does not have
native support for launching a kernel with an argument pointer array, or
a reliable way of retrieving argument sizes for a kernel.
## Mapping the proposed API to backends
CUDA and Level-Zero both support accepting an array of pointers to
kernel arguments, through `cuLaunchKernel`
(https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__EXEC.html#group__CUDA__EXEC_1gb8f3dc3031b40da29d5f9a7139e52e15)
and `zeCommandListAppendLaunchKernelWithArguments`
(https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/api.html#zecommandlistappendlaunchkernelwitharguments)
respectively.
For OpenCL, which requires the kernel arguments to be set separately
from the kernel launch, a potential implementation can extract the
number of arguments from the OpenCL API, and then iterate over the
argument pointer and size arrays:
```
cl_uint num_args = 0;
cl_int err = clGetKernelInfo(kernel, CL_KERNEL_NUM_ARGS,
sizeof(num_args), &num_args, NULL);
for (cl_uint i = 0; i < num_args; ++i) {
clSetKernelArg(kernel, i, ArgSizes[i], ArgPtrs[i]);
}
```
The AMDGPU plugin needs to construct a contiguous buffer using the array
of argument pointers. To do this conversion, we need to have offsets
at which to place the arguments. Here, luckily, as mentioned before,
the AMD plugin already reads kernel metadata from the program image.
The implementation simply retrieves size and offset for each argument
from the kernel image, and then uses it to populate a buffer.
Commit: 36264ec6151880d0a55a98b73e48da729058b76e
https://github.com/llvm/llvm-project/commit/36264ec6151880d0a55a98b73e48da729058b76e
Author: Prasoon <prasoonkumar054 at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/utils/lit/lit/TestingConfig.py
Log Message:
-----------
[lit] Remove redundant f.close() in TestingConfig (#200459)
[This
commit](https://github.com/llvm/llvm-project/commit/5536348d060066e875c9bf9e056447ece59c783d)
moved the config file `open()` into a `with` context manager but left
the trailing `f.close()` call behind. Since the context manager already
closes the file, the call is redundant. It is also outside the `with`
block, so `f` is unbound on the `except OSError` path. This removes it.
No change in behavior.
Signed-off-by: Prasoon Kumar <prasoonkumar054 at gmail.com>
Commit: 91f3d8d7030ecf4c78307bc58917f6f5ec5cdfef
https://github.com/llvm/llvm-project/commit/91f3d8d7030ecf4c78307bc58917f6f5ec5cdfef
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/docs/DeveloperPolicy.rst
Log Message:
-----------
[Docs] Fix build (#200467)
5047ae21b426452b3ee753574be45404d15111cb left out some whitespace that
is necessary for sphinx to work.
Commit: 3e3871d6fecdc4dfda0e0147979aea16a94bab54
https://github.com/llvm/llvm-project/commit/3e3871d6fecdc4dfda0e0147979aea16a94bab54
Author: joaosaffran <joaosaffranllvm at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/splitdouble_mat.hlsl
M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/asuint_mat-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/splitdouble-errors.hlsl
A llvm/test/CodeGen/DirectX/splitdouble_mat.ll
Log Message:
-----------
[HLSL] Adding matrix support to splitdouble (#200257)
This patch modifies existing splitdouble lowering to handle matrix
types.
Fix: https://github.com/llvm/llvm-project/issues/199069
Commit: 5945eacb934590c2a7091d73f53289e5dbcf2c40
https://github.com/llvm/llvm-project/commit/5945eacb934590c2a7091d73f53289e5dbcf2c40
Author: michaelselehov <michael.selehov at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M libclc/test/math/cos.cl
Log Message:
-----------
[libclc][test] Update math/cos.cl check lines after #199981 revert (#200353)
The libclc lit test 'math/cos.cl' (introduced by #197151 with
auto-generated FileCheck assertions) started failing on the staging
buildbot after the revert in #199981 of the AMDGPU ABI coercion change
(#185083). The revert restores the older codegen path, which produces a
slightly different IR shape for the select instruction inside the cos()
implementation:
- the select's 'contract' fast-math flag is no longer present, and
- the result is named %.v.i.i instead of a numbered SSA temporary.
Regenerate the AMDGCN CHECK lines with
libclc/test/update_libclc_tests.py to reflect the post-revert IR. After
this change, all 10 libclc tests in check-libclc-amdgcn-amd-amdhsa-llvm
pass.
Note: running update_libclc_tests.py also produces a purely cosmetic
diff in math/rsqrt.cl (it renames a few FileCheck capture names like
META13 to META12 to match the actual metadata indices); those capture
renames are not required for the test to pass and are not included here
to keep the change minimal.
Co-authored-by: mselehov <mselehov at amd.com>
Commit: 3aed319af981c39a0988485135070399917ada56
https://github.com/llvm/llvm-project/commit/3aed319af981c39a0988485135070399917ada56
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
A llvm/test/CodeGen/SPIRV/declarations-only-module.ll
Log Message:
-----------
[SPIR-V] Insert service function when module has only declarations (#199964)
A declarations-only module produces no `MachineFunction` at all,
`SPIRVModuleAnalysis` is freed before `AsmPrinter::doFinalization` and
`outputModuleSections` asserts in `getAnalysis<SPIRVModuleAnalysis>()`
which causes a failure
Commit: d5abd9c851e81accb1b743e3f12a6d7482c657ac
https://github.com/llvm/llvm-project/commit/d5abd9c851e81accb1b743e3f12a6d7482c657ac
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/CodeGen/ExpandIRInsts.cpp
Log Message:
-----------
[ExpandIRInsts] Avoid redundant dyn_cast after #175864 (#200475)
CreateCondBr always returns an Instruction, so no need to dyn_cast back
to an instruction after downcasting to a Value.
Commit: 6da24e4022f0cc6e97db939c1ea6df20dbb02ae6
https://github.com/llvm/llvm-project/commit/6da24e4022f0cc6e97db939c1ea6df20dbb02ae6
Author: Alexey Bader <alexey.bader at intel.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/test/OffloadTools/clang-sycl-linker/basic.ll
A clang/test/OffloadTools/clang-sycl-linker/options.ll
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[clang-sycl-linker] Improve --spirv-dump-device-code and harden CLI handling (#200096)
Several small fixes and improvements to `clang-sycl-linker`'s
command-line
handling, plus completing the `--spirv-dump-device-code` option:
- **`--version`**: now exits with `EXIT_SUCCESS` after printing, instead
of
falling through into the rest of `main`.
- **Empty input**: report a clear "No input files provided" error from
`getInput` rather than triggering an assertion deep inside
`linkDeviceCode`.
- **`--spirv-dump-device-code`**: previously parsed but ignored — now
actually
copies each generated `.spv` file into the requested directory. The
directory is created up-front (`mkdir -p` semantics) so a missing path
produces a friendly diagnostic instead of a low-level copy errno.
Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: 550f61f191e57660ce9a55da22304b736ff85606
https://github.com/llvm/llvm-project/commit/550f61f191e57660ce9a55da22304b736ff85606
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/merge-cond-stores.ll
Log Message:
-----------
[SimplifyCFG] Preserve atomicity when merging atomic conditional stores (#200327)
mergeConditionalStoreToAddress() merges two stores into one. It does
this for non-atomic and atomic-unordered stores, but when merging
unordered stores, it would downgrade them to non-atomic!
This bug isn't accessible from C because C doesn't expose unordered
atomics. But you can access it from e.g. Objective-C with something like
```
// repro.m — clang -fno-objc-arc -O2
__attribute__((objc_root_class))
@interface C { int _value; }
@property(atomic, direct) int value;
@end
@implementation C
@end
void f(C *obj, _Bool c1, _Bool c2, int v1, int v2) {
if (!obj) __builtin_unreachable();
if (c1) obj.value = v1;
if (c2) obj.value = v2;
}
```
LLVM merges these into a single store. The store is non-atomic without
this change.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
Commit: 43511b564751fa0231d012b8bda59b88915d5855
https://github.com/llvm/llvm-project/commit/43511b564751fa0231d012b8bda59b88915d5855
Author: adams381 <adams at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
A clang/test/CIR/Transforms/abi-lowering/extend-after-ignore.cir
A clang/test/CIR/Transforms/abi-lowering/extend-return.cir
A clang/test/CIR/Transforms/abi-lowering/extend-signed-arg.cir
A clang/test/CIR/Transforms/abi-lowering/extend-unsigned-arg.cir
Log Message:
-----------
[CIR] Add Extend (signext/zeroext) handling to CallConvLowering (#195745)
Third PR in the series splitting
[#192119](https://github.com/llvm/llvm-project/pull/192119) /
[#192124](https://github.com/llvm/llvm-project/pull/192124).
[#195725](https://github.com/llvm/llvm-project/pull/195725) and
[#195737](https://github.com/llvm/llvm-project/pull/195737) have merged;
this PR is now a standalone diff on main.
Adds Extend (signext / zeroext) to `cir-call-conv-lowering`. The CIR
signature keeps the original narrow integer type; the rewriter attaches
`llvm.signext` / `llvm.zeroext` to `arg_attrs` and `res_attrs`. That
matches classic Clang's LLVM IR convention — `define void @f(i8 signext
%x)`, not `define void @f(i32 signext %x)` with an entry-block
truncation. The `coercedType` field on an Extend `ArgClassification` is
informational only; the rewriter doesn't use it to change the CIR
signature.
Three `.cir` tests cover narrow-signed-arg, narrow-unsigned-arg, and
narrow-signed-return. Since the test target's narrow-int Extend rule
fires only on MLIR `IntegerType` and CIR functions use `cir::IntType`,
these tests drive the rewriter through the classification-injection path
added in [#195725](https://github.com/llvm/llvm-project/pull/195725).
Commit: 352fd0bd9b8ee5f89ec1fe508d5aa35525cd94e9
https://github.com/llvm/llvm-project/commit/352fd0bd9b8ee5f89ec1fe508d5aa35525cd94e9
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
Log Message:
-----------
[lldb][test] Link test binaries with -random_uuid (#199385)
Link using `-random_uuid` on macOS to avoid accidental UUID matching in tests.
Commit: a20c21b8bedc0492ea7f78e5bc72b805d47b0520
https://github.com/llvm/llvm-project/commit/a20c21b8bedc0492ea7f78e5bc72b805d47b0520
Author: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/test/SemaCXX/init-priority-attr.cpp
Log Message:
-----------
[clang] Enable GNU __attribute__((init_priority(...))) on z/OS. (#199573)
Enable `init_priority` on z/OS
Motivation
The recent addition of `clang/test/Sema/type-dependent-attrs.cpp` in
https://github.com/llvm/llvm-project/pull/182208 started failing on
z/OS. That test uses `[[gnu::init_priority(2000)]]`, and the failure
exposed that init_priority support was still disabled for z/OS in
`Attr.td`.
What changed
- Enabled init_priority for z/OS in `clang/include/clang/Basic/Attr.td`
- Updated `clang/test/SemaCXX/init-priority-attr.cpp` so z/OS now
expects normal semantic handling for init_priority
This reverts commit 2c7e24c4b6893a93ddb2b2cca91eaf5bf7956965 and
preserve any changes done after this commit.
Commit: 6a96948271810324d02b23d31a83bc2166f4c787
https://github.com/llvm/llvm-project/commit/6a96948271810324d02b23d31a83bc2166f4c787
Author: lntue <lntue at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M libc/src/__support/FPUtil/x86_64/sqrt.h
Log Message:
-----------
[libc] Fix SSE2 check for x86_64/sqrt.h. (#200468)
Commit: 0fc5d0ab0cea3afe32592f24af17b5d7e02c9dfe
https://github.com/llvm/llvm-project/commit/0fc5d0ab0cea3afe32592f24af17b5d7e02c9dfe
Author: Fei Peng <feip at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/FixedMetadataKinds.def
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/Bitcode/compatibility.ll
M llvm/test/Transforms/GVN/metadata.ll
M llvm/test/Transforms/InstCombine/loadstore-metadata.ll
M llvm/test/Transforms/SimplifyCFG/hoist-with-metadata.ll
A llvm/test/Verifier/mem-cache-hint.ll
Log Message:
-----------
[IR] Introduce `mem.cache_hint` metadata for composable memory cache control hints (#181612)
Add target-agnostic infrastructure for the !mem.cache_hint metadata
kind,
https://discourse.llvm.org/t/rfc-composable-and-extensible-memory-cache-control-hints-in-llvm-ir/89443
This patch includes:
- Registration of mem.cache_hint in FixedMetadataKinds
- IR Verifier validation of structural constraints
- Metadata helper support in combineMetadata(), copyMetadataForLoad(),
and dropUBImplyingAttrsAndMetadata()
- LangRef documentation for the metadata format and semantics
- Verifier and transform pass test coverage (GVN, InstCombine,
SimplifyCFG)
Co-authored-by: Yonah Goldberg <ygoldberg at nvidia.com>
Assisted-by: Claude Code
---------
Co-authored-by: Yonah Goldberg <ygoldberg at nvidia.com>
Commit: e04dbbf194773f2c70b6df9ffcfad25a493b3b45
https://github.com/llvm/llvm-project/commit/e04dbbf194773f2c70b6df9ffcfad25a493b3b45
Author: lntue <lntue at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][bazel] Add arm and riscv FEnvImpl.h to textual_hdrs. (#200479)
Commit: 02997d75928b23a3e84cce8f30418599ba12b5c0
https://github.com/llvm/llvm-project/commit/02997d75928b23a3e84cce8f30418599ba12b5c0
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/IR/Instruction.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/ExpandReductions.cpp
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/tools/llubi/lib/Interpreter.cpp
Log Message:
-----------
[IR] Introduce Instruction::getFastMathFlagsOrNone (NFC) (#200457)
Commit: d337e680ba320b3c641f043f3b17fe79c12846f9
https://github.com/llvm/llvm-project/commit/d337e680ba320b3c641f043f3b17fe79c12846f9
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
R llvm/test/CodeGen/DirectX/Metadata/cbuffer-layouttype.ll
Log Message:
-----------
[DirectX] Remove obsolete cbuffer layout test (#200307)
This test uses outdated `cbuffer` layout design. It has been replaced by
`cbuffer-metadata.ll` when we updated the frontend to use explicit
padding for `cbuffer` data types.
Commit: c9cdbc4a30b83b8a8d100c19c4aba16c848b9dfb
https://github.com/llvm/llvm-project/commit/c9cdbc4a30b83b8a8d100c19c4aba16c848b9dfb
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
Log Message:
-----------
[scudo] Improve performance of pushBlocks sort. (#200297)
Ran this on an Android device using both algorithms, the new algorithm
is on average 10% faster, but gets to be 15% faster in some cases. This
is an example of the speed-ups.
Average Operation Time Maximum Operation Time Name
326.9(ns) 80770(ns) PushBlocks New
365.9(ns) 108032(ns) PushBlocks Old
Commit: 9b4e2dc291777db06af2e1a425906dd1e1cf8ffb
https://github.com/llvm/llvm-project/commit/9b4e2dc291777db06af2e1a425906dd1e1cf8ffb
Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Semantics/check-omp-atomic.cpp
A flang/test/Integration/OpenMP/atomic-capture-release.f90
M flang/test/Integration/OpenMP/atomic-compare.f90
A flang/test/Lower/OpenMP/atomic-mem-order-transform.f90
M flang/test/Lower/OpenMP/atomic-requires-conflict-v50-3.f90
M flang/test/Lower/OpenMP/atomic-requires-conflict-v50-4.f90
M flang/test/Lower/OpenMP/requires-admo-acqrel.f90
A flang/test/Semantics/OpenMP/atomic-mem-order.f90
M flang/test/Semantics/OpenMP/atomic01.f90
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
Log Message:
-----------
[Flang][OpenMP]Handling restrictions of using Memory-Order-Clause with Atomic-Clause (#199636)
Adhering to the restrictions of using Memory-Order-Clause with
Atomic-Clause.
Added warnings to indicate the transformations that will done internally
in flang.
In the process of handling all the restrictions of using
memory-order-clause This also Fixes
[#199490](https://github.com/llvm/llvm-project/issues/199490)
---------
Co-authored-by: Sunil Kuravinakop <kuravina at pe31.hpc.amslabs.hpecorp.net>
Commit: f8545bed74159326ee0e62637943f57c10a216c9
https://github.com/llvm/llvm-project/commit/f8545bed74159326ee0e62637943f57c10a216c9
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
Log Message:
-----------
[CIR] Implement cleanups of base classes for aggregates. (#200473)
This is a very simple implementation, we just make sure we add the base
class destructor to the cleanup scope.
Commit: 4e8c14df16a7758ce5f471cfed200ad0e02847a0
https://github.com/llvm/llvm-project/commit/4e8c14df16a7758ce5f471cfed200ad0e02847a0
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/CodeGen/ExpandIRInsts.cpp
M llvm/test/CodeGen/AArch64/fcvt-i256.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fpto-sat-vector.ll
Log Message:
-----------
[ExpandIRInsts] Fix e.g. fptoui.sat.f32.i256's handling of inf (#200261)
When expanding fptoui.sat/fptosi.sat, we saturate when the biased
exponent is at least ExponentBias + BitWidth - IsSigned, the point where
the value no longer fits in the target integer.
We should *also* always saturate when the floating-point value is
+/-inf. Usually this doesn't require any special handling; for example
for a float32 -> int32 conversion, inf has a biased exponent of 255 >
ExponentBias + BitWidth - IsSigned = 127 + 32 - 1.
But for integer types which are large enough to contain all source
floating-point values, this doesn't work. For example, if you're
converting float32 to int256, you'd compute a threshold of 383, which is
greater than 255. Therefore float32(inf) would not correctly saturate
to INT256_MAX.
Fix this by clamping the threshold to the all-ones biased exponent.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 9b6611986828eebaf521a7a29414cdf3ca770b22
https://github.com/llvm/llvm-project/commit/9b6611986828eebaf521a7a29414cdf3ca770b22
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
A llvm/test/tools/obj2yaml/DXContainer/ShaderFlagsSM68.yaml
Log Message:
-----------
Add yamlobj roundtrip tests for SM 6.8 features (#198403)
This PR adds DXContainer tests for Shader Model 6.8 features;
SampleCmpGradientOrBias and ExtendedCommandInfo.
Assisted by: Github Copilot
Fixes https://github.com/llvm/llvm-project/issues/83177
Commit: 59eb19d0c061f4458b299dcbda242a90c4263689
https://github.com/llvm/llvm-project/commit/59eb19d0c061f4458b299dcbda242a90c4263689
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/Analysis/InstructionSimplify.h
M llvm/lib/Analysis/InstructionSimplify.cpp
Log Message:
-----------
[InstSimplify] Expose simplifyUnaryIntrinsic (NFC) (#200444)
With the eventual goal of supporting unary intrinsics in the
constant-folder.
Commit: 5d6ed5365c0fd3909b2a83be659f23738a2d1d59
https://github.com/llvm/llvm-project/commit/5d6ed5365c0fd3909b2a83be659f23738a2d1d59
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M flang/docs/Extensions.md
Log Message:
-----------
[flang][docs] Documented IS_CONTIGUOUS() extension for constant arrays (#200451)
Flang considers constant objects or subobjects of constant objects as
contiguous even in cases, where the other compilers may consider them
non-contiguous. Documented the extension.
Fixes #199878
Commit: ee872666e2881119b66b137c590a59eeace22996
https://github.com/llvm/llvm-project/commit/ee872666e2881119b66b137c590a59eeace22996
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vscale-based-trip-counts.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-loop-backedge-elimination-epilogue.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/induction-step.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/pr31190.ll
Log Message:
-----------
[VPlan] Expand VPExpandSCEVRecipes to VPInstructions before CSE. (#197643)
Add expandSCEVExpressions transform that converts VPExpandSCEVRecipes
to VPInstructions where possible, running before CSE so duplicates with
other SCEV expansions (e.g., from addMinimumIterationCheck) are
eliminated. This also reuses existing loop-invariant IR values via
ScalarEvolution::getSCEVValues to avoid redundant computation.
Currently limited to SCEVMulExpr (along with constants, unknowns, and
vscale). Support for SCEVAddExpr and SCEVUDivExpr will follow in
subsequent patches.
Depends on https://github.com/llvm/llvm-project/pull/189455
PR: https://github.com/llvm/llvm-project/pull/197643
Commit: 0ed795a70b9df40d08a08e70acb889eaba5f8713
https://github.com/llvm/llvm-project/commit/0ed795a70b9df40d08a08e70acb889eaba5f8713
Author: Reid Kleckner <rnk at llvm.org>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/docs/ghlinks.py
Log Message:
-----------
[docs] Rewrite the ghlink Sphinx plugin to use doctree (#199076)
Previously we did a simple reST-based textual rewrite during the
source-read Sphinx phase. This did the wrong thing for markdown sources,
and would rewrite #GH123 in escaped code blocks.
The new implementations does a DFS walk over the doctree AST and does
targetted replacements in text nodes matching the pattern. This makes it
more accurate and portable between markup languages.
This does renumber the #idN anchors that refer back to the table of
contents because inline reST links consume internal id numbers. However,
the #id numbers aren't stable, they change any time we add a new
heading, so I don't see this as a blocker.
An LLM did the first draft of the script, and I tuned it up from there.
Commit: 4ac26f45fa8f5c58a90effb903808cb0e908cf1c
https://github.com/llvm/llvm-project/commit/4ac26f45fa8f5c58a90effb903808cb0e908cf1c
Author: Justin Bogner <mail at justinbogner.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/test/CodeGen/DirectX/firstbitlow_error.ll
M llvm/test/CodeGen/DirectX/firstbitshigh_error.ll
M llvm/test/CodeGen/DirectX/firstbituhigh_error.ll
M llvm/test/CodeGen/DirectX/saturate_errors.ll
Log Message:
-----------
[DirectX] Update checks for more precise error messages (#200491)
We've improved these error messages in #199217, update the tests for the
DirectX backend.
Commit: 3a2b697fc101f8c9e1d59307e7936ecc1f99d308
https://github.com/llvm/llvm-project/commit/3a2b697fc101f8c9e1d59307e7936ecc1f99d308
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Check type in collectGroupedReplicateMemOps (NFC) (#192781)
collectGroupedReplicateMemOps is currently not reusable, because it
groups memory operations by the address SCEV, ignoring the load-store
type. Fix this by factoring the check from
collectComplementaryPredicatedMemOps.
Commit: 61d17f0e69cd2cbee77a5bddac2abcfeaf0e4458
https://github.com/llvm/llvm-project/commit/61d17f0e69cd2cbee77a5bddac2abcfeaf0e4458
Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
A llvm/test/CodeGen/NVPTX/lower-aggr-copies-shared.ll
Log Message:
-----------
[NVPTX][FIX] Ensure memmove are kept if not lowered to loops (#200469)
Memmove lowering can fail, so we cannot unconditionally remove the
intrinsic.
Issue found by Robert Imschweiler <robert.imschweiler at amd.com>
Commit: 37732ab65726a6ba1e06435ad2aaabf267dcceff
https://github.com/llvm/llvm-project/commit/37732ab65726a6ba1e06435ad2aaabf267dcceff
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M offload/libomptarget/interface.cpp
Log Message:
-----------
[OpenMP] Fix RPC register segfaulting without PM initialized (#200494)
Summary:
This happens in practice if you link libomptarget without initializing
it in the Flang RPC IO handling.
Commit: 60290059386b267e52c2e0dbb37867ce546f3788
https://github.com/llvm/llvm-project/commit/60290059386b267e52c2e0dbb37867ce546f3788
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/include/clang/DependencyScanning/DependencyScanningFilesystem.h
M clang/include/clang/DependencyScanning/DependencyScanningService.h
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/DependencyScanning/DependencyScanningService.cpp
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
M clang/unittests/DependencyScanning/DependencyScanningFilesystemTest.cpp
Log Message:
-----------
[clang][scan-deps] Add option to disable caching stat failures (#200484)
While the source code isn't supposed to change during a build, in some
environments it does. This adds an option that disables caching of stat
failures, meaning that source files can be added to the build during
scanning.
This adds a `-no-cache-negative-stats` option to clang-scan-deps to
enable this behavior. There are no tests for clang-scan-deps as there's
no reliable way to do so from it. A unit test has been added that
modifies the filesystem between scans to test it.
Co-authored-by: Michael Spencer <bigcheesegs at gmail.com>
Commit: 0f8a64fb33efa81d07ace7489f99eb9bc66e5ccc
https://github.com/llvm/llvm-project/commit/0f8a64fb33efa81d07ace7489f99eb9bc66e5ccc
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll
Log Message:
-----------
[AtomicExpand] Preserve flags expanding loads/stores to cmpxchg/atomicrmw (#200324)
Don't drop volatile and syncscope flags.
Commit: 03d8fa70398db82a962de9368622add69e26e805
https://github.com/llvm/llvm-project/commit/03d8fa70398db82a962de9368622add69e26e805
Author: veera <veera at efficient.computer>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
M mlir/test/Dialect/Arith/emulate-wide-int.mlir
Log Message:
-----------
[MLIR][Arith][WIE] Fix Conversions for Shift Left and Right Ops (#198457)
The current conversions for `arith.shli`, `arith.shrui` and
`arith.shrsi` does not handle shift by zero correctly. It tries to shift
a `iN` value by N and results in a poison value.
This PR fixes it by adopting the math used by RISCV backend to lower 64
bit shift operations for 32 bit targets. This implementation uses less
number of ops than the existing one.
Negative proofs for current implementation:
shli: https://alive2.llvm.org/ce/z/_Q8ZuC
shrui: https://alive2.llvm.org/ce/z/vDZeEV
shrsi: https://alive2.llvm.org/ce/z/vZVatx
Proofs for attempted fix in this PR:
shli: https://alive2.llvm.org/ce/z/SDJJXW
shrui: https://alive2.llvm.org/ce/z/FZcP5y
shrsi: https://alive2.llvm.org/ce/z/5nk86z
Commit: 02cf363d17487378d0a2a89e1e95738d0945ab4c
https://github.com/llvm/llvm-project/commit/02cf363d17487378d0a2a89e1e95738d0945ab4c
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/assets/namespace-template.mustache
M clang-tools-extra/test/clang-doc/json/class-specialization.cpp
Log Message:
-----------
[clang-doc] Add specialization info to record references (#191252)
Class specializations listed in a namespace's page had the problem of
being indistinguishable from each other since they couldn't display
their template arguments. They would just be displayed as a series of
the base
template's name. Now, we can display those arguments in HTML
for a better experience.
In JSONGenerator, we query the set of Infos to find the Reference's
corresponding RecordInfo. That requires keeping a pointer to the map in
JSONGenerator.
Fixes #181771
Commit: 50ed21d39c0d0ca6d8ae4f7beed5f70d7e7f7343
https://github.com/llvm/llvm-project/commit/50ed21d39c0d0ca6d8ae4f7beed5f70d7e7f7343
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/test/CIR/CodeGen/loop-cond-cleanup.cpp
Log Message:
-----------
[CIR] Add RunCleanupsScope RAII around loop bodies (#200461)
This fixes yet another problem where a ternary operator in a loop body
was leading to an unterminated region. We have long had a comment
suggesting that we should consider loop-specific cleanup handling to
mimic the cleanup exit block that classic codegen creates. I previously
believed that wasn't really necessary because CIR's structured
representation handles branching through cleanups during later lowering.
That's true, but not having something to trigger the cleanup stack
handling when we exit the loop's body region was causing us to miss
emitting a yield after the loop operation.
This change introduces the RAII object for cleanups. This also allows me
to remove some handling in LexicalScope::cleanup that was basically
there to smooth over terminator insertion problems.
Assisted-by: Cursor / claude-opus-4.7
Commit: 34da785839f7ddabfa735655d1c6e45c7f85b353
https://github.com/llvm/llvm-project/commit/34da785839f7ddabfa735655d1c6e45c7f85b353
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/test/Dialect/Vector/flatten-memref-and-emulate-narrow-types.mlir
A mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned-dynamic-store.mlir
M mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned.mlir
M mlir/test/Dialect/Vector/vector-emulate-narrow-type.mlir
Log Message:
-----------
[mlir][vector] Fix incorrect byte-alignment assumption in ConvertVectorStore (#189235)
When `ConvertVectorStore` emits the narrow-type emulation for a
`vector.store` into a 2-D memref, it previously assumed that if the
trailing dimension of the memref exactly matches the vector size
(`trailingDimsMatch`), then the last-dimension index must be zero and no
sub-byte alignment adjustment is needed. This assumption is wrong: a
valid store such as
vector.store %v, %src[%c0, %c1] : memref<3x4xi2>, vector<4xi2>
has a non-zero column index (%c1 == 1) even though trailingDim (4)
equals the vector size (4). The incorrect shortcut caused the pattern to
fall into the "aligned" path and emit a plain bitcast + store at byte
offset 0, silently dropping elements [1], [2], [3] of the first byte and
overwriting the wrong memory.
Fix: use `linearizedInfo.intraDataOffset` when it can be folded, so
constant non-zero offsets emit the required partial RMW stores. If the
offset is dynamic, reject the generic unaligned lowering instead of
assuming byte alignment; callers that can guarantee container-element
alignment should use the existing `assumeAligned` path.
The regression coverage includes the original constant-index case,
dynamic unaligned stores that now fail legalization, and existing
dynamic-row cases where the low-order offset is provably aligned.
Fixes #131528
Assisted-by: Claude Code
Assisted-by: Codex
Commit: 9b5d0af42f8d5f10f6ca566eeebf162dc22abe7b
https://github.com/llvm/llvm-project/commit/9b5d0af42f8d5f10f6ca566eeebf162dc22abe7b
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/include/lldb/Core/DemangledNameInfo.h
Log Message:
-----------
[lldb] Halve the size of indexes in DemangledNameInfo (NFC) (#200506)
Mangled should not be more than 4GB. This will halve the size of
`DemangledNameInfo` from 128 to 64 bytes.
Commit: f958f1716fe3dc61a48f1d53a98e38a3be5791ff
https://github.com/llvm/llvm-project/commit/f958f1716fe3dc61a48f1d53a98e38a3be5791ff
Author: veera <veera at efficient.computer>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
M mlir/test/Dialect/Arith/emulate-wide-int.mlir
Log Message:
-----------
Revert "[MLIR][Arith][WIE] Fix Conversions for Shift Left and Right Ops" (#200512)
Reverts llvm/llvm-project#198457 since there are buildbot failures.
Commit: 3d24f9acc92bc3288efa8e17eee6ae41d694677f
https://github.com/llvm/llvm-project/commit/3d24f9acc92bc3288efa8e17eee6ae41d694677f
Author: satyanarayana reddy janga <satyajanga at fb.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
M lldb/include/lldb/Host/common/NativeProcessProtocol.h
A lldb/include/lldb/Utility/AcceleratorGDBRemotePackets.h
M lldb/include/lldb/Utility/GDBRemote.h
M lldb/include/lldb/Utility/StringExtractorGDBRemote.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/source/Plugins/Process/gdb-remote/CMakeLists.txt
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
A lldb/source/Plugins/Process/gdb-remote/LLDBServerAcceleratorPlugin.cpp
A lldb/source/Plugins/Process/gdb-remote/LLDBServerAcceleratorPlugin.h
A lldb/source/Utility/AcceleratorGDBRemotePackets.cpp
M lldb/source/Utility/CMakeLists.txt
M lldb/source/Utility/StringExtractorGDBRemote.cpp
A lldb/test/API/accelerator/mock/Makefile
A lldb/test/API/accelerator/mock/TestMockAcceleratorPlugin.py
A lldb/test/API/accelerator/mock/main.c
M lldb/test/API/lit.site.cfg.py.in
M lldb/test/CMakeLists.txt
M lldb/tools/lldb-server/CMakeLists.txt
A lldb/tools/lldb-server/Plugins/Accelerator/CMakeLists.txt
A lldb/tools/lldb-server/Plugins/Accelerator/Mock/CMakeLists.txt
A lldb/tools/lldb-server/Plugins/Accelerator/Mock/LLDBServerMockAcceleratorPlugin.cpp
A lldb/tools/lldb-server/Plugins/Accelerator/Mock/LLDBServerMockAcceleratorPlugin.h
A lldb/tools/lldb-server/Plugins/CMakeLists.txt
M lldb/tools/lldb-server/lldb-gdbserver.cpp
M lldb/utils/lldb-dotest/CMakeLists.txt
M lldb/utils/lldb-dotest/lldb-dotest.in
Log Message:
-----------
[lldb-server] Add accelerator plugin infrastructure for debugging hardware accelerators like gpus (#198907)
This is the first patch of many related to
https://discourse.llvm.org/t/upstreaming-basic-support-for-accelerators/89827/6
### What this patch adds
- **`LLDBServerAcceleratorPlugin`** base class in
`source/Plugins/Process/gdb-remote/` so accelerator can implement the
own plugin
- **`accelerator-plugins+`** feature in `qSupported` response, only
advertised when at least one plugin is installed
- **`jAcceleratorPluginInitialize`** GDB remote packet and its
implementation in handlers, request and response.
- **`AcceleratorActions`** struct so every plugin can return the actions
that needs to be on the initilaize. in the future we will extend this
install breakpoints etc.
- **Mock accelerator plugin** for testing, gated by CMake option
`LLDB_ENABLE_MOCK_ACCELERATOR_PLUGIN` (default OFF)
- **Tests** that connect to a real lldb-server, verify
`accelerator-plugins+` in `qSupported`, send
`jAcceleratorPluginInitialize`, and validate the JSON response
### Design decisions
- CMake option defaults to OFF so normal builds are unaffected
- Tests skip automatically when the plugin is not compiled in
Commit: f976a1d67108d7324844635a580fc4d30e554b02
https://github.com/llvm/llvm-project/commit/f976a1d67108d7324844635a580fc4d30e554b02
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Squelch unused warn in collectMemOps (NFC) (#200507)
Squelch a warning reported by a Buildbot:
https://lab.llvm.org/buildbot/#/builders/228/builds/477.
Commit: 7565961d1906df86b87c41b84a2beffc9e0a4b21
https://github.com/llvm/llvm-project/commit/7565961d1906df86b87c41b84a2beffc9e0a4b21
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M .github/workflows/issue-write.yml
Log Message:
-----------
workflows/issue-write: Do not read pr number from file for pull_request events (#200474)
For pull_request events, the author of the pull request has full control
over the workflow job and can potentially write any pull request number
to the file. This would allow them to modify comments on any pull
request not just their own.
The reading of the pull request number from the file was added in
53ff447b64186ff51181cd6050a9613983ff80be to support issue_comment events
so we don't need it for pull_request events anyway.
Commit: d70975c36995fb744b08e899a41270b3d7a609ba
https://github.com/llvm/llvm-project/commit/d70975c36995fb744b08e899a41270b3d7a609ba
Author: Brad Smith <brad at comstyle.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M libcxx/test/benchmarks/algorithms/min_max_element.bench.cpp
M libcxx/test/benchmarks/containers/deque_iterator.bench.cpp
M libcxx/test/benchmarks/containers/sequence/vector_bool.bench.cpp
M libcxx/test/benchmarks/join_view.bench.cpp
M libcxx/test/benchmarks/streams/copy.bench.cpp
M libcxx/test/benchmarks/streams/ofstream.bench.cpp
A third-party/benchmark/.bazelversion
M third-party/benchmark/.clang-tidy
A third-party/benchmark/.clang-tidy.ignore
M third-party/benchmark/.pre-commit-config.yaml
R third-party/benchmark/.travis.yml
M third-party/benchmark/.ycm_extra_conf.py
M third-party/benchmark/AUTHORS
M third-party/benchmark/CMakeLists.txt
M third-party/benchmark/CONTRIBUTORS
M third-party/benchmark/MODULE.bazel
M third-party/benchmark/README.md
M third-party/benchmark/bazel/benchmark_deps.bzl
R third-party/benchmark/bindings/python/build_defs.bzl
M third-party/benchmark/bindings/python/google_benchmark/__init__.py
M third-party/benchmark/bindings/python/google_benchmark/benchmark.cc
M third-party/benchmark/bindings/python/google_benchmark/example.py
R third-party/benchmark/bindings/python/google_benchmark/version.py
R third-party/benchmark/bindings/python/nanobind.BUILD
R third-party/benchmark/bindings/python/python_headers.BUILD
M third-party/benchmark/cmake/CXXFeatureCheck.cmake
M third-party/benchmark/cmake/Config.cmake.in
M third-party/benchmark/cmake/GoogleTest.cmake.in
M third-party/benchmark/cmake/benchmark.pc.in
A third-party/benchmark/cmake/benchmark_main.pc.in
M third-party/benchmark/docs/dependencies.md
M third-party/benchmark/docs/platform_specific_build_instructions.md
M third-party/benchmark/docs/reducing_variance.md
M third-party/benchmark/docs/releasing.md
M third-party/benchmark/docs/user_guide.md
M third-party/benchmark/include/benchmark/benchmark.h
M third-party/benchmark/pyproject.toml
M third-party/benchmark/setup.py
M third-party/benchmark/src/CMakeLists.txt
M third-party/benchmark/src/benchmark.cc
M third-party/benchmark/src/benchmark_api_internal.cc
M third-party/benchmark/src/benchmark_api_internal.h
M third-party/benchmark/src/benchmark_main.cc
M third-party/benchmark/src/benchmark_name.cc
M third-party/benchmark/src/benchmark_register.cc
M third-party/benchmark/src/benchmark_register.h
M third-party/benchmark/src/benchmark_runner.cc
M third-party/benchmark/src/benchmark_runner.h
M third-party/benchmark/src/check.cc
M third-party/benchmark/src/check.h
M third-party/benchmark/src/colorprint.cc
M third-party/benchmark/src/colorprint.h
M third-party/benchmark/src/commandlineflags.cc
M third-party/benchmark/src/commandlineflags.h
M third-party/benchmark/src/complexity.cc
M third-party/benchmark/src/console_reporter.cc
M third-party/benchmark/src/counter.cc
M third-party/benchmark/src/csv_reporter.cc
M third-party/benchmark/src/cycleclock.h
M third-party/benchmark/src/internal_macros.h
M third-party/benchmark/src/json_reporter.cc
M third-party/benchmark/src/log.h
M third-party/benchmark/src/perf_counters.cc
M third-party/benchmark/src/re.h
M third-party/benchmark/src/reporter.cc
M third-party/benchmark/src/statistics.cc
M third-party/benchmark/src/string_util.cc
M third-party/benchmark/src/string_util.h
M third-party/benchmark/src/sysinfo.cc
M third-party/benchmark/src/thread_manager.h
M third-party/benchmark/src/timers.cc
M third-party/benchmark/src/timers.h
M third-party/benchmark/test/CMakeLists.txt
M third-party/benchmark/test/basic_test.cc
M third-party/benchmark/test/benchmark_gtest.cc
M third-party/benchmark/test/benchmark_min_time_flag_iters_test.cc
M third-party/benchmark/test/benchmark_min_time_flag_time_test.cc
M third-party/benchmark/test/benchmark_random_interleaving_gtest.cc
A third-party/benchmark/test/benchmark_setup_teardown_cb_types_gtest.cc
M third-party/benchmark/test/benchmark_setup_teardown_test.cc
M third-party/benchmark/test/benchmark_test.cc
M third-party/benchmark/test/complexity_test.cc
R third-party/benchmark/test/cxx03_test.cc
A third-party/benchmark/test/cxx11_test.cc
M third-party/benchmark/test/diagnostics_test.cc
M third-party/benchmark/test/display_aggregates_only_test.cc
M third-party/benchmark/test/donotoptimize_assembly_test.cc
M third-party/benchmark/test/donotoptimize_test.cc
M third-party/benchmark/test/filter_test.cc
M third-party/benchmark/test/internal_threading_test.cc
M third-party/benchmark/test/link_main_test.cc
A third-party/benchmark/test/locale_impermeability_test.cc
A third-party/benchmark/test/manual_threading_test.cc
M third-party/benchmark/test/map_test.cc
M third-party/benchmark/test/memory_manager_test.cc
A third-party/benchmark/test/memory_results_gtest.cc
M third-party/benchmark/test/multiple_ranges_test.cc
M third-party/benchmark/test/options_test.cc
M third-party/benchmark/test/output_test.h
M third-party/benchmark/test/output_test_helper.cc
A third-party/benchmark/test/overload_test.cc
M third-party/benchmark/test/perf_counters_gtest.cc
M third-party/benchmark/test/perf_counters_test.cc
A third-party/benchmark/test/profiler_manager_gtest.cc
A third-party/benchmark/test/profiler_manager_iterations_test.cc
A third-party/benchmark/test/profiler_manager_test.cc
M third-party/benchmark/test/register_benchmark_test.cc
M third-party/benchmark/test/repetitions_test.cc
M third-party/benchmark/test/report_aggregates_only_test.cc
M third-party/benchmark/test/reporter_output_test.cc
M third-party/benchmark/test/skip_with_error_test.cc
M third-party/benchmark/test/spec_arg_test.cc
M third-party/benchmark/test/spec_arg_verbosity_test.cc
M third-party/benchmark/test/state_assembly_test.cc
M third-party/benchmark/test/string_util_gtest.cc
A third-party/benchmark/test/templated_fixture_method_test.cc
M third-party/benchmark/test/time_unit_gtest.cc
M third-party/benchmark/test/user_counters_tabular_test.cc
M third-party/benchmark/test/user_counters_test.cc
M third-party/benchmark/test/user_counters_thousands_test.cc
A third-party/benchmark/test/user_counters_threads_test.cc
M third-party/benchmark/tools/compare.py
M third-party/benchmark/tools/gbench/report.py
M third-party/benchmark/tools/gbench/util.py
M third-party/benchmark/tools/libpfm.BUILD.bazel
M third-party/benchmark/tools/requirements.txt
M third-party/benchmark/tools/strip_asm.py
Log Message:
-----------
Update Google Benchmark to v1.9.5 (#198964)
Commit: 9b77b22a0d14b08fb4d3b217f323449911ef8213
https://github.com/llvm/llvm-project/commit/9b77b22a0d14b08fb4d3b217f323449911ef8213
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
Log Message:
-----------
[lldb][Darwin] Correct jGetLoadedDynamicLibrariesInfos typeo & fallback (#200515)
Jonas caught that I had a typeo in checking for the
`sizeof_mh_and_loadcmds` key in the `jGetLoadedDynamicLibrariesInfos`
response from debugserver in DyanmicLoaderDarwin. Fix that.
Also I originally picked a fallback value for the mach header + load
commands as a guess. I've sinced looked at a large UI app's binaries and
based on the size of their actual mh+load commands, picked a default
that will read all the data needed in the majority of cases.
rdar://178283767
Commit: 4e47b560196a442c2cbdb451c0d28df128f9f1d0
https://github.com/llvm/llvm-project/commit/4e47b560196a442c2cbdb451c0d28df128f9f1d0
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/CodeGen/ExpandIRInsts.cpp
M llvm/test/CodeGen/AArch64/fcvt-i256.ll
M llvm/test/CodeGen/RISCV/bitint-fp-conv-200.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-si129tofp.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-ui129tofp.ll
Log Message:
-----------
[ExpandIRInsts] Fix sitofp/uitofp to float producing garbage instead of inf (#200291)
[ExpandIRInsts] Fix sitofp/uitofp producing garbage instead of inf
s/uitofp of an integer larger than the max finite floating-point value
should produce inf. This can't happen with e.g. an int32 -> float32
conversion, but can happen for e.g. int256 -> float32.
Before this change we'd produce garbage.
Fixes #189054.
Co-Authored-By: Claude Opus 4.8 <noreply at anthropic.com>
Commit: a3241c53528a9600046b4cd9d55793cf59992a75
https://github.com/llvm/llvm-project/commit/a3241c53528a9600046b4cd9d55793cf59992a75
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M .github/workflows/build-ci-container-windows.yml
Log Message:
-----------
workflows/build-ci-container-windows: Remove template expansion (#200097)
https://github.com/llvm/llvm-project/security/code-scanning/1580
https://github.com/llvm/llvm-project/security/code-scanning/1581
https://github.com/llvm/llvm-project/security/code-scanning/1582
https://github.com/llvm/llvm-project/security/code-scanning/1583
https://github.com/llvm/llvm-project/security/code-scanning/1584
https://github.com/llvm/llvm-project/security/code-scanning/1585
https://github.com/llvm/llvm-project/security/code-scanning/1586
https://github.com/llvm/llvm-project/security/code-scanning/1587
Commit: 95994d1e630722badb647a423f6e78f806c983d9
https://github.com/llvm/llvm-project/commit/95994d1e630722badb647a423f6e78f806c983d9
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/include/llvm/Support/FileSystem.h
M llvm/lib/Support/Path.cpp
M llvm/lib/Support/Windows/Path.inc
M llvm/unittests/Support/Path.cpp
Log Message:
-----------
[Support] Add path-based setLastAccessAndModificationTime overload (#199256)
The existing setLastAccessAndModificationTime takes a file descriptor.
Add a const Twine & overload that opens the path internally so callers
no longer need to manage the fd themselves. The new overload accepts
both files and directories: on POSIX, O_RDONLY opens directories and the
existing fd-based implementation accepts a directory fd. On Windows,
FILE_FLAG_BACKUP_SEMANTICS is required to obtain a handle for a
directory.
The path overload pair mirrors the existing (Twine &) / (int FD) shape
used by setPermissions and resize_file.
Commit: 796f1b3320591b6045d2a269cc4edf525890b285
https://github.com/llvm/llvm-project/commit/796f1b3320591b6045d2a269cc4edf525890b285
Author: Akimasa Watanuki <mencotton0410 at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
A clang/test/CIR/CodeGenHIP/device-var-registration.hip
Log Message:
-----------
[CIR][HIP][NFC] Add device variable registration coverage (#200204)
Cover the HIP `__hipRegisterVar` path in CIR and LLVM.
Commit: d46b9851c0e2c5af1729f89fb24fa368f0389839
https://github.com/llvm/llvm-project/commit/d46b9851c0e2c5af1729f89fb24fa368f0389839
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck] Exclude some tests (#200527)
Introduced in #200291. Exclude for now while we get to fixing it.
Commit: 20f117f386e53fe348967c355d07842190c001ee
https://github.com/llvm/llvm-project/commit/20f117f386e53fe348967c355d07842190c001ee
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/source/Symbol/Symbol.cpp
Log Message:
-----------
[lldb] Fix copy-paste typo in Symbol::operator= (#200528)
Commit: cc8dd6ccd30774d3e084be01653c7c075d30c254
https://github.com/llvm/llvm-project/commit/cc8dd6ccd30774d3e084be01653c7c075d30c254
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/test/CodeGen/X86/apx/kmov-kk.ll
Log Message:
-----------
[X86] Use kmovw, not kmovq, for VK16 copies without BWI (#200337)
`copyPhysReg` selected `KMOVQkk_EVEX` for a `$k -> $k` VK16 copy on a
`+egpr` (APX) subtarget even without BWI, but `KMOVQ` requires BWI. Use
`KMOVW` instead.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 720df36d34e734f40a09f3d5a909353af619128b
https://github.com/llvm/llvm-project/commit/720df36d34e734f40a09f3d5a909353af619128b
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
A clang/test/SemaCXX/os_log.cpp
Log Message:
-----------
[os_log] Fix a CodeGen crash for non-trivial C++ arguments (#200320)
The earlier fix in commit 8a0d145d90df (#158744) only emitted a hard
error for os_log arguments of record or complex type that took the
VarArgKind::Valid / ValidInCXX11 path in checkFormatExpr. Arguments of
non-trivial C++ class type (non-trivial copy/move ctor or dtor) instead
take the VarArgKind::Undefined path, which only emitted the
-Wnon-pod-varargs warning and let compilation proceed into CodeGen.
There, emitBuiltinOSLogFormat passes the argument expression to
EmitScalarExpr, which requires a scalar type. A non-trivial class
argument is not a scalar, so CodeGen crashes (asserting in
hasScalarEvaluationKind in assertions builds).
Emit the hard error err_format_conversion_argument_type_mismatch on the
Undefined path too, so compilation stops before CodeGen.
rdar://174747930
Commit: f561d59856c1a2a1f7adb9604d47e9e1e940c7a0
https://github.com/llvm/llvm-project/commit/f561d59856c1a2a1f7adb9604d47e9e1e940c7a0
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/test/API/lang/objc/objc-po-hint/TestObjcPoHint.py
Log Message:
-----------
[LLDB] Simplify the hint when po-ing an object with no object descrip… (#200499)
…tion
The current wording of the hint is so long that the output obscures the
output of the command, which can be confusing. By shortening the message
the command output hopefully comes back into the center of attention.
Commit: 1dd08114eb3b6a245ea478a6f96746085c07c30b
https://github.com/llvm/llvm-project/commit/1dd08114eb3b6a245ea478a6f96746085c07c30b
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
A llvm/test/CodeGen/RISCV/zilsd-csr-duplicate.mir
Log Message:
-----------
[RISCV] Do not append duplicate Zilsd GPRPair CSR (#200463)
`determineCalleeSaves` can run more than once and as a result we were
appending duplicate `Zilsd GPRPair CSR's`. Skip a pair if it is already
present in the CSR set.
Commit: 522ac7582ddad5296c1a2e72b98f4a396dac507d
https://github.com/llvm/llvm-project/commit/522ac7582ddad5296c1a2e72b98f4a396dac507d
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
A llvm/test/tools/dsymutil/X86/bundle-mtime.test
M llvm/tools/dsymutil/dsymutil.cpp
Log Message:
-----------
[dsymutil] Bump .dSYM bundle directory mtime after a rewrite (#199257)
When dsymutil rewrites an existing .dSYM bundle, only the inner DWARF
file is replaced and the bundle directory's mtime stays frozen at the
time of the original build.
macOS Spotlight's bundle re-import path keys off the bundle directory's
mtime to decide whether the importer should re-run. With the mtime
frozen, Spotlight keeps the previous build's UUID indexed forever,
DebugSymbols.framework's Spotlight lookup misses on the new UUID.
Bump the bundle directory's mtime explicitly at the end of a successful
run, reusing the .dSYM extraction already used by the codesign path.
rdar://177725866
Commit: 0c94404f2135d3e6f34388d8118ddb64d27f3c02
https://github.com/llvm/llvm-project/commit/0c94404f2135d3e6f34388d8118ddb64d27f3c02
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
A clang/test/AST/ByteCode/blocks.cpp
Log Message:
-----------
[clang][bytecode] Reject bitcasts of objc block pointers (#200397)
They are unsupported and will hopefully always be.
Commit: 524734d88b3cdd874f00853ea6309e70bbb1cd4e
https://github.com/llvm/llvm-project/commit/524734d88b3cdd874f00853ea6309e70bbb1cd4e
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M lldb/test/API/assert_messages_test/TestAssertMessages.py
M lldb/test/API/lang/objc/objc-optimized/TestObjcOptimized.py
M lldb/test/API/python_api/debugger/TestDebuggerAPI.py
Log Message:
-----------
[lldb/test] Trim @expectedFailureAll(remote=True) decorators (#200529)
These three tests pass when run against a remote-darwin platform backed
by lldb-platform on device. Update each decorator to reflect where it's
still expected to fail rather than blanket-XFAILing every remote run.
- `TestAssertMessages.test_createTestTarget`: was XFAIL on
oslist=no_match(["linux"]) + remote=True. Add darwin_all to the no_match
list so the XFAIL stays only on remote-windows / remote-freebsd /
remote-netbsd / remote-android.
- `TestDebuggerAPI.test_CreateTarget_platform`: scope to non-Darwin
remotes (bug llvm/llvm-project#92419 still tracks the underlying issue
on those platforms).
- `TestObjcOptimized`: drop @expectedFailureAll(remote=True) from the
test method and put @skipUnlessDarwin on the class. The Makefile depends
on `-framework Foundation` and `-lobjc`, so the test cannot build on
non-Darwin platforms — skip it there outright instead of pretending it
could XFAIL.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 08d281fe7a907089789be2c6ca6577cf3aac5629
https://github.com/llvm/llvm-project/commit/08d281fe7a907089789be2c6ca6577cf3aac5629
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M clang/CMakeLists.txt
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Config/config.h.cmake
M clang/lib/Basic/LangOptions.cpp
Log Message:
-----------
[clang] Add CLANG_USE_EXPERIMENTAL_CONST_INTERP cmake option (#199396)
To enable the new constant interpreter by default at configure time.
I don't expect any distributions to set this for now but it's useful for
testing and I think we need it eventually.
Commit: d38b5b3b990d8f8e3782ed0ea7e0499dd168d9e6
https://github.com/llvm/llvm-project/commit/d38b5b3b990d8f8e3782ed0ea7e0499dd168d9e6
Author: Prasoon <prasoonkumar054 at gmail.com>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M llvm/utils/lit/lit/ShellEnvironment.py
M llvm/utils/lit/lit/builtin_commands/diff.py
Log Message:
-----------
[lit] Add __slots__ to hot shell-execution objects (#199668)
`ShellCommand`, `ShellEnvironment` and `DiffFlags` classes are
instantiated per commad / per diff. `__slots__` drops the per-instance
`__dict__`, lowering memory and speeding attribute access. (`__slots__`
not `@dataclass(slots=True)` to keep Python 3.8 support.)
**Baseline:**
| Stage | Metric (Runtime / Peak RSS) |
| :--- | :--- |
| **CodeGen-X86** | 99.310s / 51872 kB |
| **llvm-transforms** | 51.457s / 66928 kB |
**Changes made here:**
| Stage | Metric (Runtime / Peak RSS) |
| :--- | :--- |
| **CodeGen-X86** | 98.708s / 51872 kB |
| **llvm-transforms** | 51.496s / 66824 kB |
This PR is part of the "GSoC 2026: Improving lit" project.
Signed-off-by: Prasoon Kumar <prasoonkumar054 at gmail.com>
Commit: 4672169040454c255dabf8023d553823833f6236
https://github.com/llvm/llvm-project/commit/4672169040454c255dabf8023d553823833f6236
Author: maxbartel <bartel at roofline.ai>
Date: 2026-05-29 (Fri, 29 May 2026)
Changed paths:
M utils/bazel/third_party_build/nanobind.BUILD
Log Message:
-----------
[Bazel] Add inl files to nanobind textual headers (#200516)
When using this overlay to build some bindings I noticed that
counter.inl was not available in the sandbox and the build failed. This
line adds it to the sandbox.
Commit: 3c193d4d88c8c05157b61da3f3cf925eef8d6c5d
https://github.com/llvm/llvm-project/commit/3c193d4d88c8c05157b61da3f3cf925eef8d6c5d
Author: Ayush Sahay <asahay at qti.qualcomm.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.h
Log Message:
-----------
[lldb][Windows] Cache thread context in NativeRegisterContextWindows_arm64 (#197385)
Cache thread context in _NativeRegisterContextWindows_arm64_ to improve
read performance. Previously, the thread context was retrieved for every
read or write operation.
This change intends to lay the groundwork for provisioning debug support
for SVE on WoA.
Assisted-by: Claude Sonnet 4.6
Commit: 9b03d3f319689c936937ba442d0fe5af69d26965
https://github.com/llvm/llvm-project/commit/9b03d3f319689c936937ba442d0fe5af69d26965
Author: AbdallahRashed <63146988+AbdallahRashed at users.noreply.github.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
A clang/test/CIR/CodeGenOpenCL/address-space-local-var.clcpp
Log Message:
-----------
[CIR][CodeGen] Replace errorNYI with assert for address space in emitAutoVarAlloca (#197506)
Auto variables can only be in the default address space, or
opencl_private when compiling OpenCL. Replace the errorNYI with an
assert matching OG codegen (CGDecl.cpp).
Fixes part of #160386
Co-authored-by: Andy Kaylor <akaylor at nvidia.com>
Commit: 799b8669e57a5981477d1afc462efd79aff1c4c1
https://github.com/llvm/llvm-project/commit/799b8669e57a5981477d1afc462efd79aff1c4c1
Author: jofrn <jo7frn1 at gmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Log Message:
-----------
[SelectionDAG] Remove redundant asserts in WidenVecRes_ATOMIC_LOAD (#200159)
These asserts duplicate guarantees already provided elsewhere:
- `isVector()` checks are redundant because `findMemType()` calls
`WidenVT.getVectorElementType()` and `WidenVT.isScalableVector()`
internally, and `WidenVecRes_ATOMIC_LOAD` is only reached from the
`ATOMIC_LOAD` case in `WidenVectorResult`, which is the vector path.
- The element-type and scalability consistency between `LdVT` and
`WidenVT` is a property of `GetWidenedVector` / `getTypeToTransformTo`.
Follow-up to feedback on #197618.
Commit: 666a8cf6ebb7b1cf502b5963c81c0ea3e19e21b1
https://github.com/llvm/llvm-project/commit/666a8cf6ebb7b1cf502b5963c81c0ea3e19e21b1
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/program-parsers.cpp
A flang/test/Parser/compiler-directive-in-interface.f90
Log Message:
-----------
[Flang][Parser] Handle compiler directives inside INTERFACE blocks (#198516)
Unrecognized !DIR$ directives between interface specifications currently
cause cascading parse errors because the grammar for
InterfaceSpecification has no path to consume them. This patch adds
CompilerDirective as a valid alternative — matching how
InternalSubprogram and ModuleSubprogram already handle this — so that
unrecognized directives produce the expected warning instead of a fatal
parse failure.
Fixes :
[https://github.com/llvm/llvm-project/issues/198289](https://github.com/llvm/llvm-project/issues/198289)
---------
Co-authored-by: Chandra Ghale <ghale at pe34genoa.hpc.amslabs.hpecorp.net>
Commit: 9d0ce81b649ffaf029e32d11680d340d7759c0ae
https://github.com/llvm/llvm-project/commit/9d0ce81b649ffaf029e32d11680d340d7759c0ae
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M flang/lib/Semantics/check-omp-loop.cpp
A flang/test/Semantics/OpenMP/linear-clause-array-section.f90
Log Message:
-----------
[Flang][OpenMP] Reject array sections and subobjects in LINEAR clause (#197430)
Array sections like a(:,1,1) and array elements like a(1) in a LINEAR
clause cause a crash during MLIR-to-LLVM IR translation because the
semantic checker doesn't catch them.
This adds a call to CheckVarIsNotPartOfAnotherVar for the LINEAR clause,
which is the same check used by PRIVATE and FIRSTPRIVATE to reject
subobject designators.
Fixes :
[https://github.com/llvm/llvm-project/issues/196068](https://github.com/llvm/llvm-project/issues/196068)
Co-authored-by: Chandra Ghale <ghale at pe34genoa.hpc.amslabs.hpecorp.net>
Commit: 9e3c18494dfd32f85997868c7244a7ed472506d9
https://github.com/llvm/llvm-project/commit/9e3c18494dfd32f85997868c7244a7ed472506d9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi2.ll
Log Message:
-----------
Revert "[X86] matchBinaryPermuteShuffle - match to X86ISD::SHLD funnel shift patterns" (#200546)
Reverts llvm/llvm-project#200136 while I investigate a miscompilation report
Commit: 093c76a9b101e4ed14854daad66223463d86d2ba
https://github.com/llvm/llvm-project/commit/093c76a9b101e4ed14854daad66223463d86d2ba
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
A llvm/test/CodeGen/X86/atomic-mmo-align.ll
Log Message:
-----------
[SelectionDAG] Preserve IR alignment on atomicrmw/cmpxchg MMOs (#200332)
Previously SelectionDAG used the natural alignment of the value type,
even if the instruction specified a different alignment.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: c22f5665a9d631742a58e87b80b15359f65b3a66
https://github.com/llvm/llvm-project/commit/c22f5665a9d631742a58e87b80b15359f65b3a66
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/test/Transforms/LICM/hoist-add-sub.ll
Log Message:
-----------
[LICM] Drop poison-generating flags when reassociating an icmp (#200344)
`hoistAdd`/`hoistSub` turn `LV + C1 <pred> C2` into `LV <pred> C2 - C1`,
changing the icmp's LHS. A `samesign` flag asserted about the old
operands need not hold for the new LHS, so keeping it can turn a defined
comparison into poison (e.g. for `%iv = -3`, `samesign slt(2, 100)` is
true but the reassociated `samesign slt(-3, 95)` has
opposite-sign operands → poison). Drop the icmp's poison-generating
flags after the rewrite, as `hoistMulAddAssociation` already does.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
Commit: c7614cd5507091768084f36106fa9a37f2503715
https://github.com/llvm/llvm-project/commit/c7614cd5507091768084f36106fa9a37f2503715
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/MergeICmps.cpp
M llvm/test/Transforms/MergeICmps/X86/pair-int32-int32.ll
Log Message:
-----------
[MergeICmps] Don't merge comparisons whose width isn't a byte multiple (#200346)
MergeICmps looks for cases like
struct S { char x; char y; }
A.x == B.x && A.y == B.y
If `x` and `y` are stored adjacent to one another, we can convert the
above into a memcmp, which can then be converted into a single 16-bit
compare.
This pass currently does the wrong thing if the struct members' sizes
are not multiples of 8 bits. To fix this, we simply bail if the elements
in question are not multiples of one byte.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 3c4bc6c9f7b535275a2344a78c94b8b7eb10b433
https://github.com/llvm/llvm-project/commit/3c4bc6c9f7b535275a2344a78c94b8b7eb10b433
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select.ll
Log Message:
-----------
[InstCombine] Handle "trunc nuw to i1" as "icmp ne,0" in foldSelectValueEquivalence (#198131)
proof: https://alive2.llvm.org/ce/z/MGhWgE
Commit: 02af47b6053dff5d9b81a04b4a55e747a31c5ff0
https://github.com/llvm/llvm-project/commit/02af47b6053dff5d9b81a04b4a55e747a31c5ff0
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M clang/test/Driver/freebsd.c
Log Message:
-----------
[Clang][test] Fix leading slash (#200549)
A reviewer in #200012 required checking for a leading (back-)slash to
the test despite none of the other tests doing so. Turns out, the slash
isn't there if the driver is unable to resolve the full path to the
linker. Remove the leading slash from the test.
Fixes reported buildbot failures:
* clang-solaris11-sparcv9
* clang-solaris11-amd64
Commit: fdfb99f6336401e534f611c4b2df5a338e26b997
https://github.com/llvm/llvm-project/commit/fdfb99f6336401e534f611c4b2df5a338e26b997
Author: Xavier Roche <xavier.roche at algolia.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M libcxx/include/__bit/byteswap.h
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/numerics/bit/byteswap.pass.cpp
A libcxx/test/std/numerics/bit/byteswap.verify.cpp
Log Message:
-----------
[libc++] std::byteswap support for _BitInt(N) (#196512)
Add a byte-reversal loop fallback for `std::byteswap` when `sizeof(T) >
16`,
so the function works for `_BitInt(N)` with `N > 128` and any future
wider
integer type. Without it, those calls hit `static_assert(sizeof(_Tp) ==
0)`
and fail to compile.
Reject `_BitInt(N)` where `N` is not a multiple of `CHAR_BIT`. The
existing
`__builtin_bswap{16,32,64,128}` paths swap the storage representation
including padding bits, and the resulting value's meaning is
unspecified.
A new `static_assert` catches that case and reports it. Size-1 types are
exempt from the check, since no bytes move there.
Part of the [_BitInt(N) libc++
effort](https://discourse.llvm.org/t/bitint-n-support-in-libc-investigations-possible-improvements-looking-for-guidance/90063).
Assisted-by: Claude (Anthropic)
---------
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
Commit: e3f80fe493c1e7d4701d6c08a57f106f99d15380
https://github.com/llvm/llvm-project/commit/e3f80fe493c1e7d4701d6c08a57f106f99d15380
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/test/Conversion/MathToSPIRV/math-to-fpclassify-spirv.mlir
M mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir
Log Message:
-----------
[mlir][SPIR-V] Convert math.clampf to spirv.GLFClamp and math.ctpop to spirv.BitCount (#200454)
Commit: f15904ec71a8ac092aaca29bddb5f419f2919b6b
https://github.com/llvm/llvm-project/commit/f15904ec71a8ac092aaca29bddb5f419f2919b6b
Author: Kevin Sala Penades <salapenades1 at llnl.gov>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M offload/include/Shared/APITypes.h
M offload/liboffload/src/OffloadImpl.cpp
M offload/libomptarget/KernelLanguage/API.cpp
M offload/libomptarget/omptarget.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
A offload/test/offloading/ompx_bare_gridsize.c
M offload/unittests/OffloadAPI/device_code/CMakeLists.txt
A offload/unittests/OffloadAPI/device_code/gridsize.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
Log Message:
-----------
[offload][OpenMP] Add strict flag for blocks and threads in kernel arguments (#199483)
Until now, strict behavior in the number of threads and blocks has been
applied only when the kernel is in bare mode. When this mode is enabled,
the values passed in UserNumBlocks and UserThreadLimit are not adjusted
and are the definitive values used to launch the kernel. This commit
detaches the strictness from the kernel mode.
This is going to be used by the kernel replay tool. Additionally, it
starts clearing the path for the upcoming OpenMP dims modifier, used to
configure multidimensional teams and leagues, which will include
strictness choices for teams and threads.
All the bare kernels must indicate strict behavior. Asserts are added to
check this condition.
Commit: 80ad13af63ef25d4e62adce6e3362f659b5c521f
https://github.com/llvm/llvm-project/commit/80ad13af63ef25d4e62adce6e3362f659b5c521f
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
Log Message:
-----------
[bazel] Fix compiler-rt:interception (#200561)
- Add `-DCOMPILER_RT_BUILD_PROFILE_ROCM=1`
- Prune `"lib/sanitizer_common/*.S"`, it means `*.inc.S`
- Add `-fvisibility=hidden`
Bazel doesn't add `-gline-tables-only` by default. Add flags to CMake
side to align the build to Bazel.
- `-DCOMPILER_RT_HAS_G_FLAG=OFF`
- `-DCOMPILER_RT_HAS_GLINE_TABLES_ONLY_FLAG=OFF`
Commit: a59f9951f3e197127fb13d729ad4c52168f29432
https://github.com/llvm/llvm-project/commit/a59f9951f3e197127fb13d729ad4c52168f29432
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/recalc-copyable-node.ll
Log Message:
-----------
[SLP] Recompute copyable operand deps for duplicate copyable nodes
A bundle may duplicate a previously built node that has copyable elements
(same schedulable instructions, different copyable lane) while the parent
node also has copyable elements. An operand modeled as a copyable element
in the previous node is then used directly by the new node, which is not
registered in the tree yet. Recomputing that operand's direct
dependencies at this point misses the direct use, so the scheduler
decrements the operand more times than its dependency count and trips the
unscheduled-deps assertion.
Defer recomputation of such operand dependencies via
RecalcCopyableOperandDeps and redo it at the next bundle scheduling, when
the duplicate node is part of the tree. Also clear and recompute the
direct dependencies of bundles whose user is a gather node referenced
through EdgeIdx == UINT_MAX in scheduleBlock, so combined gather
sub-entries get correct dependencies against the full tree.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/200564
Commit: 86805d7720f1190f6d6d3f925dce95e44122857f
https://github.com/llvm/llvm-project/commit/86805d7720f1190f6d6d3f925dce95e44122857f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-30 (Sat, 30 May 2026)
Changed paths:
M .github/workflows/build-ci-container-windows.yml
M .github/workflows/ci-post-commit-analyzer.yml
M .github/workflows/issue-write.yml
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-sources.yml
M .github/workflows/release-tasks.yml
M .github/workflows/upload-release-artifact/action.yml
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/assets/namespace-template.mustache
M clang-tools-extra/test/clang-doc/json/class-specialization.cpp
M clang/CMakeLists.txt
M clang/docs/ClangSYCLLinker.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/docs/ghlinks.py
M clang/include/clang/AST/Comment.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/BuiltinsAArch64.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Config/config.h.cmake
M clang/include/clang/DependencyScanning/DependencyScanningFilesystem.h
M clang/include/clang/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Options/Options.td
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/Function.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/InterpBuiltinBitCast.cpp
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/Comment.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/DependencyScanning/DependencyScanningService.cpp
M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Headers/arm64intr.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/intrin.h
M clang/lib/Index/CommentToXML.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
A clang/test/AST/ByteCode/blocks.cpp
M clang/test/AST/ByteCode/const-eval.c
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
M clang/test/Analysis/Checkers/WebKit/unchecked-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars-arc.mm
M clang/test/CIR/CodeGen/ctor-null-init.cpp
M clang/test/CIR/CodeGen/global-array-dtor.cpp
M clang/test/CIR/CodeGen/global-init.cpp
M clang/test/CIR/CodeGen/loop-cond-cleanup.cpp
M clang/test/CIR/CodeGen/multi-vtable.cpp
M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
M clang/test/CIR/CodeGen/static-members.cpp
M clang/test/CIR/CodeGen/thunks.cpp
M clang/test/CIR/CodeGen/vbase.cpp
M clang/test/CIR/CodeGen/virtual-function-calls.cpp
M clang/test/CIR/CodeGen/vla.c
M clang/test/CIR/CodeGen/vtable-emission.cpp
M clang/test/CIR/CodeGen/vtable-linkage-explicit-instantiation.cpp
M clang/test/CIR/CodeGen/vtt.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-sync_synchronize.c
M clang/test/CIR/CodeGenCXX/vtable-linkage.cpp
A clang/test/CIR/CodeGenHIP/device-var-registration.hip
A clang/test/CIR/CodeGenOpenCL/address-space-local-var.clcpp
A clang/test/CIR/Transforms/abi-lowering/extend-after-ignore.cir
A clang/test/CIR/Transforms/abi-lowering/extend-return.cir
A clang/test/CIR/Transforms/abi-lowering/extend-signed-arg.cir
A clang/test/CIR/Transforms/abi-lowering/extend-unsigned-arg.cir
A clang/test/CodeGen/SystemZ/stack-guard-global-option.c
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
M clang/test/CodeGen/construction-vtable-visibility.cpp
M clang/test/CodeGen/ms-intrinsics.c
M clang/test/CodeGen/push-hidden-visibility-subclass.cpp
M clang/test/CodeGen/split-lto-unit-input.cpp
A clang/test/CodeGen/wrapv.c
M clang/test/CodeGenCUDA/increment-index-for-thunks.cu
M clang/test/CodeGenCUDA/record-layout.cu
M clang/test/CodeGenCXX/OmitRTTIComponentABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/PR26569.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/available_externally-vtable.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/child-inheritted-from-parent-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/child-vtable-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-1.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-2.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inheritted-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inline-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/inlined-key-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/multiple-inheritance.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/no-alias-when-dso-local.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/overriden-virtual-function.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/parent-and-child-in-comdats.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/parent-vtable-in-comdat.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-flag.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-hwasan.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/simple-vtable-definition.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/vtable-hidden-when-in-comdat.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-call-2.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-call.cpp
M clang/test/CodeGenCXX/apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenCXX/attr-exclude_from_explicit_instantiation.exclude_from_dllexport.cpp
M clang/test/CodeGenCXX/attr-exclude_from_explicit_instantiation.exclude_from_dllimport.cpp
M clang/test/CodeGenCXX/cfi-cross-dso.cpp
M clang/test/CodeGenCXX/ctor-dtor-alias.cpp
M clang/test/CodeGenCXX/cxx11-vtable-key-function.cpp
M clang/test/CodeGenCXX/dllexport.cpp
M clang/test/CodeGenCXX/dllimport-rtti.cpp
M clang/test/CodeGenCXX/dllimport.cpp
M clang/test/CodeGenCXX/dso-local-executable.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/internal-linkage.cpp
M clang/test/CodeGenCXX/key-function-vtable.cpp
M clang/test/CodeGenCXX/mangle-ms-md5.cpp
M clang/test/CodeGenCXX/mangle-subst-std.cpp
M clang/test/CodeGenCXX/mdefault-visibility-export-mapping-rtti.cpp
M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-interface.cpp
M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/modules-vtable.cppm
M clang/test/CodeGenCXX/ms-local-vft-alias-comdat.cpp
M clang/test/CodeGenCXX/ms-thunks-unprototyped.cpp
M clang/test/CodeGenCXX/pr70585.cppm
M clang/test/CodeGenCXX/ps-dllstorage-vtable-rtti.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call-2.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-call.cpp
M clang/test/CodeGenCXX/ptrauth-apple-kext-indirect-virtual-dtor-call.cpp
M clang/test/CodeGenCXX/ptrauth-explicit-vtable-pointer-control.cpp
M clang/test/CodeGenCXX/ptrauth-global-constant-initializers.cpp
M clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp
M clang/test/CodeGenCXX/ptrauth-type-info-vtable.cpp
M clang/test/CodeGenCXX/ptrauth-virtual-function.cpp
M clang/test/CodeGenCXX/ptrauth-vtable-virtual-inheritance-thunk.cpp
M clang/test/CodeGenCXX/template-instantiation.cpp
M clang/test/CodeGenCXX/type-metadata.cpp
M clang/test/CodeGenCXX/type_visibility.cpp
M clang/test/CodeGenCXX/vcall-visibility-metadata.cpp
M clang/test/CodeGenCXX/virt-template-vtable.cpp
M clang/test/CodeGenCXX/visibility-dllstorageclass.cpp
M clang/test/CodeGenCXX/visibility.cpp
M clang/test/CodeGenCXX/vtable-align-address-space.cpp
M clang/test/CodeGenCXX/vtable-align.cpp
M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
M clang/test/CodeGenCXX/vtable-assume-load.cpp
M clang/test/CodeGenCXX/vtable-available-externally.cpp
M clang/test/CodeGenCXX/vtable-consteval.cpp
M clang/test/CodeGenCXX/vtable-constexpr-address-space.cpp
M clang/test/CodeGenCXX/vtable-constexpr.cpp
M clang/test/CodeGenCXX/vtable-key-function-address-space.cpp
M clang/test/CodeGenCXX/vtable-key-function-arm.cpp
M clang/test/CodeGenCXX/vtable-key-function-ios.cpp
M clang/test/CodeGenCXX/vtable-key-function-win-comdat.cpp
M clang/test/CodeGenCXX/vtable-key-function.cpp
M clang/test/CodeGenCXX/vtable-linkage-address-space.cpp
M clang/test/CodeGenCXX/vtable-linkage.cpp
M clang/test/CodeGenCXX/vtt-layout-address-space.cpp
M clang/test/CodeGenCXX/vtt-layout.cpp
M clang/test/CodeGenCXX/windows-itanium-type-info.cpp
A clang/test/CodeGenHLSL/builtins/splitdouble_mat.hlsl
M clang/test/DebugInfo/CXX/vtable-inheritance-diamond.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-multiple.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-simple-main.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-simple.cpp
M clang/test/DebugInfo/CXX/vtable-inheritance-virtual.cpp
M clang/test/DebugInfo/CXX/vtable-template-instantiation.cpp
R clang/test/Driver/Inputs/SYCL/bar.ll
R clang/test/Driver/Inputs/SYCL/baz.ll
R clang/test/Driver/Inputs/SYCL/foo.ll
R clang/test/Driver/Inputs/SYCL/libLLVMSYCL.ll
M clang/test/Driver/clang_wrapv_opts.c
M clang/test/Driver/freebsd.c
R clang/test/Driver/link-device-code.test
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/stack-protector-guard.c
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/test/Driver/sycl-offload-jit-unix.cpp
M clang/test/Driver/sycl-offload-jit.cpp
M clang/test/Driver/sycl-windows.cpp
M clang/test/Headers/hip-header.hip
M clang/test/Modules/vtable-windows.cppm
M clang/test/OffloadTools/clang-sycl-linker/basic.ll
A clang/test/OffloadTools/clang-sycl-linker/link.ll
A clang/test/OffloadTools/clang-sycl-linker/options.ll
M clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
M clang/test/OpenMP/nvptx_target_pure_deleted_codegen.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M clang/test/OpenMP/target_vtable_codegen_explicit.cpp
A clang/test/Sema/gh170072.c
M clang/test/Sema/warn-documentation.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
M clang/test/SemaCXX/init-priority-attr.cpp
A clang/test/SemaCXX/os_log.cpp
M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/asuint_mat-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/splitdouble-errors.hlsl
A clang/test/SemaHLSL/Language/ConstexprVectorCasts.hlsl
A clang/test/SemaHLSL/Types/BuiltinVector/VectorCastConstantExpr.hlsl
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
M clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
M clang/unittests/DependencyScanning/DependencyScanningFilesystemTest.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/lib/profile/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/ubsan/TestCases/Integer/shift.cpp
M compiler-rt/test/ubsan/TestCases/Misc/abs.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/docs/Extensions.md
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/MultiImageFortran.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Optimizer/Analysis/ArraySectionAnalyzer.cpp
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
M flang/lib/Parser/program-parsers.cpp
M flang/lib/Semantics/check-omp-atomic.cpp
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/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
A flang/test/HLFIR/order_assignments/where-allocatable-base.f90
A flang/test/Integration/OpenMP/atomic-capture-release.f90
M flang/test/Integration/OpenMP/atomic-compare.f90
M flang/test/Lower/MIF/coarray_allocation.f90
A flang/test/Lower/OpenMP/atomic-mem-order-transform.f90
M flang/test/Lower/OpenMP/atomic-requires-conflict-v50-3.f90
M flang/test/Lower/OpenMP/atomic-requires-conflict-v50-4.f90
M flang/test/Lower/OpenMP/requires-admo-acqrel.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
A flang/test/Parser/compiler-directive-in-interface.f90
M flang/test/Preprocessing/fixed-free.f
M flang/test/Preprocessing/no-pp-if.f90
A flang/test/Semantics/OpenMP/atomic-mem-order.f90
M flang/test/Semantics/OpenMP/atomic01.f90
A flang/test/Semantics/OpenMP/declare-reduction-use-assoc-named.f90
A flang/test/Semantics/OpenMP/linear-clause-array-section.f90
M flang/test/Semantics/bug163242.f90
M flang/test/Semantics/bug164303.f90
M flang/test/Semantics/bug2021.f90
M flang/test/Transforms/FIRToMemRef/slice-projected.mlir
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/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/headers.txt
M libc/src/__support/FPUtil/x86_64/sqrt.h
M libc/test/CMakeLists.txt
M libc/test/UnitTest/LibcTest.h
M libc/test/shared/CMakeLists.txt
A libclc/clc/include/clc/internal/math/clc_runtime_has_hw_fma32.h
M libclc/clc/include/clc/internal/math/clc_sw_fma.h
M libclc/clc/include/clc/math/clc_fma.h
M libclc/clc/lib/generic/math/clc_fma.cl
M libclc/clc/lib/spirv/CMakeLists.txt
A libclc/clc/lib/spirv/math/clc_fma.cl
A libclc/clc/lib/spirv/math/clc_fma.inc
A libclc/clc/lib/spirv/math/clc_runtime_has_hw_fma32.cl
A libclc/clc/lib/spirv/math/clc_sw_fma.cl
M libclc/clc/lib/spirv/vulkan/CMakeLists.txt
R libclc/clc/lib/spirv/vulkan/math/clc_sw_fma.cl
M libclc/opencl/lib/generic/math/fma.cl
M libclc/opencl/lib/spirv/CMakeLists.txt
A libclc/opencl/lib/spirv/math/fma.cl
M libclc/test/math/cos.cl
M libcxx/include/__bit/byteswap.h
M libcxx/include/__configuration/namespace.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/test/benchmarks/algorithms/min_max_element.bench.cpp
M libcxx/test/benchmarks/containers/deque_iterator.bench.cpp
M libcxx/test/benchmarks/containers/sequence/vector_bool.bench.cpp
M libcxx/test/benchmarks/join_view.bench.cpp
M libcxx/test/benchmarks/streams/copy.bench.cpp
M libcxx/test/benchmarks/streams/ofstream.bench.cpp
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/numerics/bit/byteswap.pass.cpp
A libcxx/test/std/numerics/bit/byteswap.verify.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/X86_64.cpp
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
A lld/test/ELF/loongarch-tls-dtprel.s
M lldb/docs/resources/lldbgdbremote.md
M lldb/include/lldb/Core/DemangledNameInfo.h
M lldb/include/lldb/Host/FileBase.h
M lldb/include/lldb/Host/PseudoTerminal.h
M lldb/include/lldb/Host/common/NativeProcessProtocol.h
M lldb/include/lldb/Host/windows/FileWindows.h
M lldb/include/lldb/Host/windows/PseudoConsole.h
A lldb/include/lldb/Utility/AcceleratorGDBRemotePackets.h
M lldb/include/lldb/Utility/GDBRemote.h
M lldb/include/lldb/Utility/StringExtractorGDBRemote.h
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectFrame.cpp
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/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
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/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.h
M lldb/source/Plugins/Process/gdb-remote/CMakeLists.txt
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
A lldb/source/Plugins/Process/gdb-remote/LLDBServerAcceleratorPlugin.cpp
A lldb/source/Plugins/Process/gdb-remote/LLDBServerAcceleratorPlugin.h
M lldb/source/Symbol/Symbol.cpp
A lldb/source/Utility/AcceleratorGDBRemotePackets.cpp
M lldb/source/Utility/CMakeLists.txt
M lldb/source/Utility/StringExtractorGDBRemote.cpp
A lldb/test/API/accelerator/mock/Makefile
A lldb/test/API/accelerator/mock/TestMockAcceleratorPlugin.py
A lldb/test/API/accelerator/mock/main.c
M lldb/test/API/assert_messages_test/TestAssertMessages.py
M lldb/test/API/commands/expression/expr_inside_lambda/TestExprInsideLambdas.py
M lldb/test/API/commands/frame/recognizer/TestFrameRecognizer.py
M lldb/test/API/lang/objc/foundation/TestObjCMethods.py
M lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py
M lldb/test/API/lang/objc/objc-optimized/TestObjcOptimized.py
M lldb/test/API/lang/objc/objc-po-hint/TestObjcPoHint.py
M lldb/test/API/lit.site.cfg.py.in
M lldb/test/API/python_api/debugger/TestDebuggerAPI.py
M lldb/test/API/python_api/file_handle/TestFileHandle.py
M lldb/test/API/python_api/sbmodule/TestSBModule.py
M lldb/test/API/windows/thread/main.c
M lldb/test/CMakeLists.txt
M lldb/tools/lldb-server/CMakeLists.txt
A lldb/tools/lldb-server/Plugins/Accelerator/CMakeLists.txt
A lldb/tools/lldb-server/Plugins/Accelerator/Mock/CMakeLists.txt
A lldb/tools/lldb-server/Plugins/Accelerator/Mock/LLDBServerMockAcceleratorPlugin.cpp
A lldb/tools/lldb-server/Plugins/Accelerator/Mock/LLDBServerMockAcceleratorPlugin.h
A lldb/tools/lldb-server/Plugins/CMakeLists.txt
M lldb/tools/lldb-server/lldb-gdbserver.cpp
M lldb/utils/lldb-dotest/CMakeLists.txt
M lldb/utils/lldb-dotest/lldb-dotest.in
M llvm/Maintainers.md
M llvm/docs/CommandGuide/llvm-objdump.rst
M llvm/docs/DeveloperPolicy.rst
M llvm/docs/LangRef.rst
M llvm/docs/TestingGuide.rst
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/Analysis/InstructionSimplify.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/CMakeLists.txt
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/ValueTypes.h
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
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/include/llvm/Frontend/Offloading/Utility.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/FixedMetadataKinds.def
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/IR/ValueMap.h
M llvm/include/llvm/Support/FileSystem.h
M llvm/include/llvm/Transforms/Coroutines/SuspendCrossingInfo.h
M llvm/include/llvm/Transforms/IPO/Instrumentor.h
A llvm/include/llvm/Transforms/IPO/InstrumentorRuntimeHelper.h
M llvm/include/llvm/Transforms/IPO/InstrumentorStubPrinter.h
M llvm/include/llvm/Transforms/IPO/InstrumentorUtils.h
A llvm/include/llvm/Transforms/IPO/InstrumentorVariables.inc.in
M llvm/include/llvm/Transforms/Utils/AssignGUID.h
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/ExpandIRInsts.cpp
M llvm/lib/CodeGen/ExpandReductions.cpp
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/DebugInfo/PDB/Native/PDBFile.cpp
M llvm/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Support/APInt.cpp
M llvm/lib/Support/Path.cpp
M llvm/lib/Support/Windows/Path.inc
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPUMIRFormatter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMIRFormatter.h
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
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/BPF/BPFISelLowering.cpp
M llvm/lib/Target/BPF/BPFSelectionDAGInfo.cpp
M llvm/lib/Target/BPF/BPFSelectionDAGInfo.h
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/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/CMakeLists.txt
M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.h
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
A llvm/lib/Target/LoongArch/LoongArchTargetObjectFile.cpp
A llvm/lib/Target/LoongArch/LoongArchTargetObjectFile.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCAsmInfo.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchTargetStreamer.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchTargetStreamer.h
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXDwarfDebug.cpp
M llvm/lib/Target/NVPTX/NVPTXDwarfDebug.h
M llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/lib/Target/RISCV/RISCVInstrInfoY.td
M llvm/lib/Target/RISCV/RISCVMoveMerger.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/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.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/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/SuspendCrossingInfo.cpp
M llvm/lib/Transforms/IPO/ConstantMerge.cpp
M llvm/lib/Transforms/IPO/Instrumentor.cpp
M llvm/lib/Transforms/IPO/InstrumentorStubPrinter.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/MergeICmps.cpp
M llvm/lib/Transforms/Utils/AssignGUID.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.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/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/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/runtimes/CMakeLists.txt
M llvm/test/Analysis/CostModel/SystemZ/cmp-ext-01.ll
M llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll
M llvm/test/Assembler/implicit-intrinsic-declaration-invalid.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
M llvm/test/CodeGen/AArch64/fcvt-i256.ll
A llvm/test/CodeGen/AArch64/read-fp-reg.ll
A llvm/test/CodeGen/AArch64/write-volatile-register.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-fmed3-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-minmax-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-fma-mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-sub-mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmed3-min-max-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-add.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.class.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.class.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w32.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w64.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-and.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-anyext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ashr.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-constant.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fabs.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fceil.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ffloor.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum-ieee.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmaxnum.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum-ieee.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fminnum.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fmul.v2s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fneg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-freeze.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fshr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-lshr.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-or.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-smed3.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-umed3.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-shl.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-xor.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/select-merge-values-build-vector-s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/true16-merge-values-s16.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/asyncmark-merge-empty-other.mir
M llvm/test/CodeGen/AMDGPU/expert_scheduling_gfx12.mir
M llvm/test/CodeGen/AMDGPU/expert_scheduling_gfx1250.mir
M llvm/test/CodeGen/AMDGPU/extend-phi-subrange-not-in-parent.mir
M llvm/test/CodeGen/AMDGPU/insert-skips-gfx12.mir
M llvm/test/CodeGen/AMDGPU/insert-waitcnts-gfx12-wbinv.mir
M llvm/test/CodeGen/AMDGPU/ipra-regmask.ll
M llvm/test/CodeGen/AMDGPU/itofp.i128.bf.ll
M llvm/test/CodeGen/AMDGPU/itofp.i128.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.signal.isfirst.mir
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/spill-wait.mir
M llvm/test/CodeGen/AMDGPU/split-liverange-overlapping-copies.mir
M llvm/test/CodeGen/AMDGPU/wait-xcnt-drain.mir
M llvm/test/CodeGen/AMDGPU/wait-xcnt.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-func-global-inv.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-gfx1250.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-kmcnt-scc-different-block.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-overflow.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-preexisting.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-vmcnt-loop.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-wcg-attributes.mir
A llvm/test/CodeGen/AMDGPU/wqm-debug-instr-terminator.mir
A llvm/test/CodeGen/BPF/libcall-memcpy-threshold.ll
A llvm/test/CodeGen/BPF/libcall-non-whitelisted.ll
R llvm/test/CodeGen/DirectX/Metadata/cbuffer-layouttype.ll
M llvm/test/CodeGen/DirectX/firstbitlow_error.ll
M llvm/test/CodeGen/DirectX/firstbitshigh_error.ll
M llvm/test/CodeGen/DirectX/firstbituhigh_error.ll
M llvm/test/CodeGen/DirectX/saturate_errors.ll
A llvm/test/CodeGen/DirectX/splitdouble_mat.ll
M llvm/test/CodeGen/LoongArch/lsx/vmskcond.ll
A llvm/test/CodeGen/MIR/AMDGPU/s_wait_loadcnt_dscnt-errors.mir
A llvm/test/CodeGen/MIR/AMDGPU/s_wait_loadcnt_dscnt.mir
A llvm/test/CodeGen/NVPTX/lower-aggr-copies-shared.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/bitint-fp-conv-200.ll
M llvm/test/CodeGen/RISCV/rv32-merge-non-arg-reg.mir
M llvm/test/CodeGen/RISCV/rvv/vp-combine-reverse-load.ll
M llvm/test/CodeGen/RISCV/rvv/vp-combine-store-reverse.ll
A llvm/test/CodeGen/RISCV/rvy/rvy-invalid-operands.mir
A llvm/test/CodeGen/RISCV/zilsd-csr-duplicate.mir
A llvm/test/CodeGen/SPIRV/declarations-only-module.ll
M llvm/test/CodeGen/SPIRV/transcoding/ReqdSubgroupSize.ll
A llvm/test/CodeGen/SystemZ/combine-ccmask-tm-full.ll
A llvm/test/CodeGen/SystemZ/stack-guard-global-nopic.ll
A llvm/test/CodeGen/SystemZ/stack-guard-global-pic.ll
A llvm/test/CodeGen/SystemZ/stack-guard-pseudos.ll
A llvm/test/CodeGen/SystemZ/stack-guard-tls.ll
R llvm/test/CodeGen/SystemZ/stack-guard.ll
M llvm/test/CodeGen/WebAssembly/exception.ll
M llvm/test/CodeGen/X86/apx/kmov-kk.ll
A llvm/test/CodeGen/X86/atomic-mmo-align.ll
M llvm/test/CodeGen/X86/avx512-mask-op.ll
M llvm/test/CodeGen/X86/fold-select.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi2.ll
A llvm/test/DebugInfo/LoongArch/tls.ll
A llvm/test/DebugInfo/NVPTX/language-dialect.ll
M llvm/test/Instrumentation/Instrumentor/default_config.json
R llvm/test/Instrumentation/Instrumentor/default_rt
A llvm/test/Instrumentation/Instrumentor/default_rt.c
A llvm/test/Instrumentation/Instrumentor/default_rt.h
M llvm/test/Instrumentation/Instrumentor/generate_rt.ll
A llvm/test/Instrumentation/Instrumentor/lit.local.cfg
M llvm/test/Instrumentation/Instrumentor/module_and_globals.ll
A llvm/test/Instrumentation/Instrumentor/operations.json
A llvm/test/Instrumentation/Instrumentor/operations.ll
M llvm/test/Instrumentation/Instrumentor/rt_config.json
A llvm/test/MC/AMDGPU/vcc_tuples.s
A llvm/test/MC/LoongArch/Directives/tls.s
A llvm/test/MC/Mips/j-alias-r6.s
A llvm/test/MC/RISCV/rvy/rvy-basic-invalid.s
A llvm/test/MC/RISCV/rvy/rvy-basic.s
A llvm/test/ThinLTO/X86/memprof-imported-alias-assert.ll
M llvm/test/Transforms/AggressiveInstCombine/popcount.ll
M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll
M llvm/test/Transforms/ConstantMerge/merge-dbg.ll
A llvm/test/Transforms/Coroutines/coro-frame-inramp.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-fp-convert-small.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-int-convert-small.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fpto-sat-vector.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
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-si129tofp.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-ui129tofp.ll
M llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-optnone.ll
M llvm/test/Transforms/GVN/metadata.ll
A llvm/test/Transforms/GlobalMerge/guid.ll
M llvm/test/Transforms/InstCombine/loadstore-metadata.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/sub-xor.ll
M llvm/test/Transforms/InstSimplify/sincos.ll
M llvm/test/Transforms/LICM/hoist-add-sub.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/AArch64/sve-vscale-based-trip-counts.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-loop-backedge-elimination-epilogue.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads-with-predicated-stores.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/induction-step.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/pr31190.ll
M llvm/test/Transforms/MergeICmps/X86/pair-int32-int32.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/recalc-copyable-node.ll
A llvm/test/Transforms/SLPVectorizer/X86/revec-fma-vectorize.ll
M llvm/test/Transforms/SimplifyCFG/hoist-with-metadata.ll
M llvm/test/Transforms/SimplifyCFG/merge-cond-stores.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
A llvm/test/Verifier/mem-cache-hint.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
A llvm/test/tools/dsymutil/X86/bundle-mtime.test
M llvm/test/tools/llvm-objdump/X86/disassemble-functions.test
A llvm/test/tools/llvm-offload-binary/llvm-offload-binary-malformed.ll
M llvm/test/tools/llvm-offload-binary/llvm-offload-binary.ll
A llvm/test/tools/llvm-pdbutil/dxcontainer.test
A llvm/test/tools/obj2yaml/DXContainer/ShaderFlagsSM68.yaml
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Context.h
M llvm/tools/llubi/lib/Interpreter.cpp
M llvm/tools/llubi/lib/Value.cpp
M llvm/tools/llubi/lib/Value.h
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.h
M llvm/tools/llvm-objdump/ObjdumpOpts.td
M llvm/tools/llvm-objdump/llvm-objdump.cpp
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
M llvm/unittests/ADT/APIntTest.cpp
M llvm/unittests/ADT/BitVectorTest.cpp
M llvm/unittests/Support/Path.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/utils/gn/secondary/llvm/lib/Target/LoongArch/BUILD.gn
M llvm/utils/lit/lit/ShellEnvironment.py
M llvm/utils/lit/lit/Test.py
M llvm/utils/lit/lit/TestingConfig.py
M llvm/utils/lit/lit/builtin_commands/diff.py
M llvm/utils/profcheck-xfail.txt
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaOps.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/test/Conversion/MathToSPIRV/math-to-fpclassify-spirv.mlir
M mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir
M mlir/test/Conversion/TosaToSPIRVTosa/tosa-to-spirv.mlir
M mlir/test/Dialect/LLVMIR/call-intrin.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/Vector/flatten-memref-and-emulate-narrow-types.mlir
A mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned-dynamic-store.mlir
M mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned.mlir
M mlir/test/Dialect/Vector/vector-emulate-narrow-type.mlir
A offload/ci/hip-tpl.py
M offload/include/Shared/APITypes.h
M offload/liboffload/API/Kernel.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/libomptarget/KernelLanguage/API.cpp
M offload/libomptarget/interface.cpp
M offload/libomptarget/omptarget.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/level_zero/dynamic_l0/L0DynWrapper.cpp
M offload/plugins-nextgen/level_zero/dynamic_l0/level_zero/ze_api.h
M offload/plugins-nextgen/level_zero/include/L0Kernel.h
M offload/plugins-nextgen/level_zero/src/L0Kernel.cpp
A offload/test/offloading/ompx_bare_gridsize.c
M offload/unittests/Conformance/include/mathtest/DeviceContext.hpp
M offload/unittests/Conformance/include/mathtest/Support.hpp
M offload/unittests/Conformance/lib/DeviceContext.cpp
M offload/unittests/OffloadAPI/device_code/CMakeLists.txt
A offload/unittests/OffloadAPI/device_code/composite.cpp
A offload/unittests/OffloadAPI/device_code/gridsize.cpp
M offload/unittests/OffloadAPI/device_code/multiargs.cpp
M offload/unittests/OffloadAPI/event/olGetEventElapsedTime.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernelCooperative.cpp
M offload/unittests/OffloadAPI/memory/olMemcpy.cpp
M offload/unittests/OffloadAPI/queue/olLaunchHostFunction.cpp
M offload/unittests/OffloadAPI/queue/olWaitEvents.cpp
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
A third-party/benchmark/.bazelversion
M third-party/benchmark/.clang-tidy
A third-party/benchmark/.clang-tidy.ignore
M third-party/benchmark/.pre-commit-config.yaml
R third-party/benchmark/.travis.yml
M third-party/benchmark/.ycm_extra_conf.py
M third-party/benchmark/AUTHORS
M third-party/benchmark/CMakeLists.txt
M third-party/benchmark/CONTRIBUTORS
M third-party/benchmark/MODULE.bazel
M third-party/benchmark/README.md
M third-party/benchmark/bazel/benchmark_deps.bzl
R third-party/benchmark/bindings/python/build_defs.bzl
M third-party/benchmark/bindings/python/google_benchmark/__init__.py
M third-party/benchmark/bindings/python/google_benchmark/benchmark.cc
M third-party/benchmark/bindings/python/google_benchmark/example.py
R third-party/benchmark/bindings/python/google_benchmark/version.py
R third-party/benchmark/bindings/python/nanobind.BUILD
R third-party/benchmark/bindings/python/python_headers.BUILD
M third-party/benchmark/cmake/CXXFeatureCheck.cmake
M third-party/benchmark/cmake/Config.cmake.in
M third-party/benchmark/cmake/GoogleTest.cmake.in
M third-party/benchmark/cmake/benchmark.pc.in
A third-party/benchmark/cmake/benchmark_main.pc.in
M third-party/benchmark/docs/dependencies.md
M third-party/benchmark/docs/platform_specific_build_instructions.md
M third-party/benchmark/docs/reducing_variance.md
M third-party/benchmark/docs/releasing.md
M third-party/benchmark/docs/user_guide.md
M third-party/benchmark/include/benchmark/benchmark.h
M third-party/benchmark/pyproject.toml
M third-party/benchmark/setup.py
M third-party/benchmark/src/CMakeLists.txt
M third-party/benchmark/src/benchmark.cc
M third-party/benchmark/src/benchmark_api_internal.cc
M third-party/benchmark/src/benchmark_api_internal.h
M third-party/benchmark/src/benchmark_main.cc
M third-party/benchmark/src/benchmark_name.cc
M third-party/benchmark/src/benchmark_register.cc
M third-party/benchmark/src/benchmark_register.h
M third-party/benchmark/src/benchmark_runner.cc
M third-party/benchmark/src/benchmark_runner.h
M third-party/benchmark/src/check.cc
M third-party/benchmark/src/check.h
M third-party/benchmark/src/colorprint.cc
M third-party/benchmark/src/colorprint.h
M third-party/benchmark/src/commandlineflags.cc
M third-party/benchmark/src/commandlineflags.h
M third-party/benchmark/src/complexity.cc
M third-party/benchmark/src/console_reporter.cc
M third-party/benchmark/src/counter.cc
M third-party/benchmark/src/csv_reporter.cc
M third-party/benchmark/src/cycleclock.h
M third-party/benchmark/src/internal_macros.h
M third-party/benchmark/src/json_reporter.cc
M third-party/benchmark/src/log.h
M third-party/benchmark/src/perf_counters.cc
M third-party/benchmark/src/re.h
M third-party/benchmark/src/reporter.cc
M third-party/benchmark/src/statistics.cc
M third-party/benchmark/src/string_util.cc
M third-party/benchmark/src/string_util.h
M third-party/benchmark/src/sysinfo.cc
M third-party/benchmark/src/thread_manager.h
M third-party/benchmark/src/timers.cc
M third-party/benchmark/src/timers.h
M third-party/benchmark/test/CMakeLists.txt
M third-party/benchmark/test/basic_test.cc
M third-party/benchmark/test/benchmark_gtest.cc
M third-party/benchmark/test/benchmark_min_time_flag_iters_test.cc
M third-party/benchmark/test/benchmark_min_time_flag_time_test.cc
M third-party/benchmark/test/benchmark_random_interleaving_gtest.cc
A third-party/benchmark/test/benchmark_setup_teardown_cb_types_gtest.cc
M third-party/benchmark/test/benchmark_setup_teardown_test.cc
M third-party/benchmark/test/benchmark_test.cc
M third-party/benchmark/test/complexity_test.cc
R third-party/benchmark/test/cxx03_test.cc
A third-party/benchmark/test/cxx11_test.cc
M third-party/benchmark/test/diagnostics_test.cc
M third-party/benchmark/test/display_aggregates_only_test.cc
M third-party/benchmark/test/donotoptimize_assembly_test.cc
M third-party/benchmark/test/donotoptimize_test.cc
M third-party/benchmark/test/filter_test.cc
M third-party/benchmark/test/internal_threading_test.cc
M third-party/benchmark/test/link_main_test.cc
A third-party/benchmark/test/locale_impermeability_test.cc
A third-party/benchmark/test/manual_threading_test.cc
M third-party/benchmark/test/map_test.cc
M third-party/benchmark/test/memory_manager_test.cc
A third-party/benchmark/test/memory_results_gtest.cc
M third-party/benchmark/test/multiple_ranges_test.cc
M third-party/benchmark/test/options_test.cc
M third-party/benchmark/test/output_test.h
M third-party/benchmark/test/output_test_helper.cc
A third-party/benchmark/test/overload_test.cc
M third-party/benchmark/test/perf_counters_gtest.cc
M third-party/benchmark/test/perf_counters_test.cc
A third-party/benchmark/test/profiler_manager_gtest.cc
A third-party/benchmark/test/profiler_manager_iterations_test.cc
A third-party/benchmark/test/profiler_manager_test.cc
M third-party/benchmark/test/register_benchmark_test.cc
M third-party/benchmark/test/repetitions_test.cc
M third-party/benchmark/test/report_aggregates_only_test.cc
M third-party/benchmark/test/reporter_output_test.cc
M third-party/benchmark/test/skip_with_error_test.cc
M third-party/benchmark/test/spec_arg_test.cc
M third-party/benchmark/test/spec_arg_verbosity_test.cc
M third-party/benchmark/test/state_assembly_test.cc
M third-party/benchmark/test/string_util_gtest.cc
A third-party/benchmark/test/templated_fixture_method_test.cc
M third-party/benchmark/test/time_unit_gtest.cc
M third-party/benchmark/test/user_counters_tabular_test.cc
M third-party/benchmark/test/user_counters_test.cc
M third-party/benchmark/test/user_counters_thousands_test.cc
A third-party/benchmark/test/user_counters_threads_test.cc
M third-party/benchmark/tools/compare.py
M third-party/benchmark/tools/gbench/report.py
M third-party/benchmark/tools/gbench/util.py
M third-party/benchmark/tools/libpfm.BUILD.bazel
M third-party/benchmark/tools/requirements.txt
M third-party/benchmark/tools/strip_asm.py
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/third_party_build/nanobind.BUILD
Log Message:
-----------
Rebase
Created using spr 1.3.7
Compare: https://github.com/llvm/llvm-project/compare/851ea9fd66cf...86805d7720f1
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