[all-commits] [llvm/llvm-project] 0107b9: [mlir][tosa][spirv] Add TOSA to SPIR-V TOSA pass p...
Harald van Dijk via All-commits
all-commits at lists.llvm.org
Thu May 28 12:21:39 PDT 2026
Branch: refs/heads/users/hvdijk/aaw-emitmdnodeannot
Home: https://github.com/llvm/llvm-project
Commit: 0107b929b2dad594a9868250878e1d891791dd62
https://github.com/llvm/llvm-project/commit/0107b929b2dad594a9868250878e1d891791dd62
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
A mlir/include/mlir/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosa.h
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/TosaToSPIRVTosa/CMakeLists.txt
A mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosa.cpp
A mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaPass.cpp
A mlir/test/Conversion/TosaToSPIRVTosa/descriptor-set-and-bindings.mlir
A mlir/test/Conversion/TosaToSPIRVTosa/op-nesting.mlir
A mlir/test/Conversion/TosaToSPIRVTosa/type-conversions.mlir
A mlir/test/Conversion/TosaToSPIRVTosa/unsupported-func-calls.mlir
Log Message:
-----------
[mlir][tosa][spirv] Add TOSA to SPIR-V TOSA pass plumbing (#196539)
Introduce the initial TosaToSPIRVTosa conversion pass and library
wiring. This slice converts func.func regions to spirv.ARM.Graph inside
spirv.module, rewrites graph input/result types to SPIR-V ARM tensor
types, maps func.return to spirv.ARM.GraphOutputs, and adds focused
tests for type conversion, descriptor bindings, and nested containers.
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 1da21d72f0e1e702f436a009640556b7f6633a9e
https://github.com/llvm/llvm-project/commit/1da21d72f0e1e702f436a009640556b7f6633a9e
Author: Alex Langford <alangford at apple.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M lldb/test/API/functionalities/unwind/libunwind_ret_injection/TestLibUnwindRetInjection.py
Log Message:
-----------
[lldb] Ensure libunwind architecture matches test for TestLibUnwindRetInjection.py (#198884)
If the test is run arm64e while the just-built libunwind is arm64 only,
the test will not function correctly.
Commit: c25924f92d69294002e40e80a01fb91ebc984dc0
https://github.com/llvm/llvm-project/commit/c25924f92d69294002e40e80a01fb91ebc984dc0
Author: Iñaki V Arrechea <inakiarrechea at google.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/include/llvm/Analysis/InstCount.h
M llvm/lib/Analysis/InstCount.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/Analysis/InstCount/instcount.ll
A llvm/test/Analysis/InstCount/pipeline.ll
Log Message:
-----------
Add InstCount Pass Before Optimization (#198874)
This way we can count instructions before the optimization pipeline for
analysis sake
Commit: 84de374722c74a058e4743f40f4dbdf44bf4ba73
https://github.com/llvm/llvm-project/commit/84de374722c74a058e4743f40f4dbdf44bf4ba73
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M .github/workflows/libc-freebsd-vm-tests.yml
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
M .github/workflows/libc-shared-tests.yml
Log Message:
-----------
[Github] Add timeouts to libc tests (#198934)
None of these jobs do not take anywhere close to the six hour timeout
that Github uses by default. Set timeouts that are 2-3x the typical job
runtime so that if there is a test/build step that hangs indefinitely,
the job times out in a reasonable amount of time and does not hold any
resources that could be used elsewhere.
This should not impact any jobs that do not hang, will not change the
result of jobs that do hang, and means we can more effectively deal with
cases like today where tests were hanging, from a resource perspective.
This is also standard in some other workflows like the main premerge
workflow definition.
Commit: 6799f694152c25762ca70e509a4f16ab06a6eb3a
https://github.com/llvm/llvm-project/commit/6799f694152c25762ca70e509a4f16ab06a6eb3a
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
Log Message:
-----------
Revert "[LLDB] Add a progress event to xcrun invocations (#198931)" (#198945)
This change requires Host link against Core, and it cannot do that; it
may only link in Utility. Reverting so Adrian can decide what to do.
This reverts commit 5c63509f4cc356639d9c4067e0812c2312689363.
Commit: 4cdb2bdc611cf5b30272284f80450cd3934caf7b
https://github.com/llvm/llvm-project/commit/4cdb2bdc611cf5b30272284f80450cd3934caf7b
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/test/Transforms/AggressiveInstCombine/popcount.ll
Log Message:
-----------
[AggressiveInstCombine] Recognizing tail truncation in the popcount pattern (#198658)
We're currently able to recognize the following popcount pattern
```
int popcnt(unsigned x) {
x = x - ((x >> 1) & 0x55555555);
x = x - 3*((x >> 2) & 0x33333333);
x = (x + (x >> 4)) & 0x0F0F0F0F;
x = x + (x >> 8);
x = x + (x >> 16);
return x & 0x0000003F;
}
```
but if a truncation follows right after the last AND instruction:
```
int16_t popcnt(unsigned x) {
x = x - ((x >> 1) & 0x55555555);
x = x - 3*((x >> 2) & 0x33333333);
x = (x + (x >> 4)) & 0x0F0F0F0F;
x = x + (x >> 8);
x = x + (x >> 16);
return int16_t(x & 0x0000003F);
}
```
since InstCombine canonicalizes `(trunc (and y, C))` into `(and
trunc(y), C')`, we might loose the opportunity to turn the above snippet
into `(trunc (popcount x))` as there is a `trunc` interrupting the
pattern matching.
This patch fixes this issue by considering this extra `trunc` during
pattern matching, and appending it in the final popcount result, if
there is any.
Commit: f4caa0a172d96597c375e6b6b2192c289723a6b9
https://github.com/llvm/llvm-project/commit/f4caa0a172d96597c375e6b6b2192c289723a6b9
Author: Shoreshen <372660931 at qq.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
A llvm/test/CodeGen/AMDGPU/gfx12-5-generic-no-xnack.ll
Log Message:
-----------
[AMDGPU] Remove unsupported feature by gfx12-5-generic target (#198437)
Co-authored-by: Shilei Tian <i at tianshilei.me>
Co-authored-by: Chinmay Deshpande <chdeshpa at amd.com>
Commit: 17e4140ece563837b8f5044aa88f2abd1ef031b6
https://github.com/llvm/llvm-project/commit/17e4140ece563837b8f5044aa88f2abd1ef031b6
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/include/lldb/Symbol/TypeSystem.h
Log Message:
-----------
[lldb] Make TypeSystem::m_sym_file atomic to fix data race (#198923)
SymbolFileCommon::GetTypeSystemForLanguage unconditionally writes this
pointer with `ts->SetSymbolFile(this)` on every lookup, which races with
concurrent reads from other threads.
The race is benign in practice: there is exactly one SymbolFile per
Module, so every writer stores the same pointer, but it is still
undefined behavior under the C++ memory model.
Make the field std::atomic<SymbolFile *> and turn SetSymbolFile into a
compare-exchange that asserts a TypeSystem is never rebound to a
different SymbolFile, documenting the invariant that lets us get away
with this.
The alternative is to have the SymbolFile pointer passed in through the
constructor, but that would require updating a bunch of call sites,
including various plugin interfaces.
Found by ThreadSanitizer as part of #197792.
Commit: a3da590a2320080e0346571e4c88a615e3e5a447
https://github.com/llvm/llvm-project/commit/a3da590a2320080e0346571e4c88a615e3e5a447
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M flang-rt/test/Driver/compare_iso_fortran_env_symbols.f90
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[flang-rt] Fix ISO test not respecting real kind flags (#198922)
Summary:
The test previously did not account for CMake overrides, so we just grab
the file that's actually generated. `sort -u` should handle the case
where there's both a .so and .a.
Commit: d2d8c53c8fe8bc63db10c69a2e73e39bc1436acd
https://github.com/llvm/llvm-project/commit/d2d8c53c8fe8bc63db10c69a2e73e39bc1436acd
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/Arch/AMDGPU.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
Log Message:
-----------
[AMDGPU] Rewrite `-march` to `-mcpu` in the AMDGPU Toolchain (#198877)
Summary:
Pretty much every target uses either `-mcpu` or `-march` consistently.
AMDGPU has been accidentally using both for a while, mostly from some
fallout with the OpenMP Toolchain. This is too deep to pull out without
potentially disrupting users, but I want to at least contain it by
canonicalizing `-march` to `-mcpu` in the driver. This means we don't
need to bother checking both like every other target does.
Commit: 239fe4447b8c6cfe6e8b1d09732d3d79df51494e
https://github.com/llvm/llvm-project/commit/239fe4447b8c6cfe6e8b1d09732d3d79df51494e
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 0107b92 (#198939)
This fixes 0107b929b2dad594a9868250878e1d891791dd62.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 35aeb28c8550b821ec28a5118454008a390faa5c
https://github.com/llvm/llvm-project/commit/35aeb28c8550b821ec28a5118454008a390faa5c
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M flang-rt/lib/runtime/exceptions.cpp
M flang-rt/unittests/Runtime/CMakeLists.txt
A flang-rt/unittests/Runtime/Exceptions.cpp
A flang/include/flang/Common/fp-control.h
Log Message:
-----------
[flang-rt] Silence -Wfenv-access in the runtime fenv wrappers (part 1) (#198692)
Upstream clang's commit 5f2bedca, PR #187860, enabled a warning that
fires whenever code calls a `<fenv.h>` / `<cfenv>` primitive without
enabling proper FP exception behavior. This caused warnings in compiling
flang-rt, which in turn caused certain buildsbots to fail with
`-Werror`.
This change enables FP trap behavior for parts of flang-rt that are
known to require it. The other parts will be addressed by a future
change.
Assisted-by: AI
Commit: 577c2b6ccb1f358ed2948b6ae4cf443c4a842e75
https://github.com/llvm/llvm-project/commit/577c2b6ccb1f358ed2948b6ae4cf443c4a842e75
Author: Anand Mistry (MSFT) <anandmistry at microsoft.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsMips.def
A clang/test/CodeGen/Mips/msa-const-ld.c
Log Message:
-----------
[Mips] Allow const pointers for the MSA load intrinsics (#193508)
This matches the prototypes of the GCC builtins.
Commit: b3c0661bf9f300c4e993646241bb95adf595cb9b
https://github.com/llvm/llvm-project/commit/b3c0661bf9f300c4e993646241bb95adf595cb9b
Author: Emil Tsalapatis <etsal at meta.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
[NFC][ASan] Factor out ASan call insertion behind a single call (#198650)
The ASan pass directly injects function calls into the IR using
getOrInsertFunction() on every call site. Refactor the disparate call
sites behind an AsanFunctionInserter class. This allows us to add pre-
and post-processing logic for all inserted functions at once.
Signed-off-by: Emil Tsalapatis <emil at etsalapatis.com>
Commit: cc382a62b2daf8527c4c78c70308f07ee28e3451
https://github.com/llvm/llvm-project/commit/cc382a62b2daf8527c4c78c70308f07ee28e3451
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Custom-lower SELECT for v4i16/v8i8 on RV32 (#198723)
SELECT was Expand for RV32 64-bit packed types, producing 40-80 lines of
stack-based per-element scalarization. Make it Custom for v4i16/v8i8 and
extend the existing isPExtPackedType branch in lowerSELECT to bitcast to
an integer of matching width: single-GPR types select on XLenVT
directly, while RV32 double-wide types select on i64 which
type-legalizes to two scalar selects on the i32 halves.
v2i32 is left to natural type-legalization since it splits cleanly into
two scalar i32 selects without a Custom hook.
Commit: 2306a984ef330970dc6a9c074539427fe4ca02e8
https://github.com/llvm/llvm-project/commit/2306a984ef330970dc6a9c074539427fe4ca02e8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Inline multiple small lambdas. NFC (#198878)
None of these lambdas are reused and they all seemed pretty simple to
inline.
Commit: 3cf43f6625ea3bb5e23ad7dafac23c862547dfd9
https://github.com/llvm/llvm-project/commit/3cf43f6625ea3bb5e23ad7dafac23c862547dfd9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Split v4i16/v8i8 AND/OR/XOR on RV32. (#198449)
v2i32 is already scalarized by LegalizeVectorOps.
Commit: 74e6127e93ab1a7559ad652b7f9410c41dd4efb6
https://github.com/llvm/llvm-project/commit/74e6127e93ab1a7559ad652b7f9410c41dd4efb6
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVSubtarget.h
A llvm/test/CodeGen/RISCV/jump-is-expensive.ll
Log Message:
-----------
[RISCV] Add TuneJumpIsExpensive (#191374)
We had `setJumpIsExpensive(true)` before 18.x but it was removed
in #74647. This feature allows users to tune the ISel behavior.
We have #80124 and #178394 landed, so it should be more flexible
to tune branches and selects now.
This is an alternative of #191158.
Commit: 1229385ace03c6120b2268a7a4bf80d3f56b2135
https://github.com/llvm/llvm-project/commit/1229385ace03c6120b2268a7a4bf80d3f56b2135
Author: Brad Smith <brad at comstyle.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
M compiler-rt/lib/builtins/cpu_model/cpu_model.h
M llvm/include/llvm/TargetParser/AArch64CPUFeatures.inc
Log Message:
-----------
[compiler-rt][builtins] A few fixes cpu_model files (#198957)
- Fix typo in include guard with the word features
- Correct header in cpu_model.h header file and include guard after
the file has been renamed
Commit: 1df5015582835a38f512100aa984ec55350a61b7
https://github.com/llvm/llvm-project/commit/1df5015582835a38f512100aa984ec55350a61b7
Author: David Green <david.green at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
A llvm/test/CodeGen/ARM/pr196779.ll
Log Message:
-----------
[ARM] Copy all flags when creating LDM (#197898)
This just adds the Operand instead of trying to handle flags
individually, similar to the AArch64LoadStoreOptimizer.
Fixes #196779
Commit: 8ac51bce5afbe6ce84167260be68f0c5ef346656
https://github.com/llvm/llvm-project/commit/8ac51bce5afbe6ce84167260be68f0c5ef346656
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M libc/include/arpa/inet.yaml
M libc/include/ctype.yaml
M libc/include/dlfcn.yaml
M libc/include/errno.yaml
M libc/include/fcntl.yaml
M libc/include/math.yaml
M libc/include/sched.yaml
M libc/include/signal.yaml
M libc/include/stdio.yaml
M libc/include/stdlib.yaml
M libc/include/string.yaml
M libc/include/sys/mman.yaml
M libc/include/sys/prctl.yaml
M libc/include/sys/resource.yaml
M libc/include/sys/select.yaml
M libc/include/sys/socket.yaml
M libc/include/sys/wait.yaml
M libc/include/termios.yaml
M libc/include/time.yaml
M libc/include/unistd.yaml
Log Message:
-----------
[libc][NFC] Lowercase standard identifiers in YAML files (#198854)
Update YAML files to use lowercase identifiers for standards.
In header.py, canonical identifiers for standards are explicitly defined
in lowercase and mapped to their pretty names for display. This change
ensures that all YAML files use the lowercase identifiers (posix, linux,
bsd, gnu) expected by the header generation tool.
Assisted-by: Automated tooling, human reviewed.
Commit: 10c0b42b5086e8d69dff8f3d46f5d28b374e50d8
https://github.com/llvm/llvm-project/commit/10c0b42b5086e8d69dff8f3d46f5d28b374e50d8
Author: Hocky Yudhiono <hocky.yudhiono at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
Log Message:
-----------
[mlir][linalg] Add splat broadcast canonicalization pattern (#195980)
Add `linalg.broadcast` splat constant to `linalg.fill` canonicalization.
Assisted-by: Cursor (GPT-5.5)
Commit: 5a51136ad0473760fd0ed78044ccc17e954ed113
https://github.com/llvm/llvm-project/commit/5a51136ad0473760fd0ed78044ccc17e954ed113
Author: Henrik G. Olsson <hnrklssn at gmail.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang-tools-extra/clang-tidy/llvm/RedundantCastingCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/llvm/redundant-casting.rst
M clang-tools-extra/test/clang-tidy/checkers/llvm/redundant-casting.cpp
A clang-tools-extra/test/clang-tidy/checkers/llvm/redundant-isa.cpp
Log Message:
-----------
[clang-tidy] detect uses of llvm::isa that are always true (#191081)
Warns when performing a dynamic type check that is always true, either
because the dynamic type is the same as the static type, or because the
static type derives the dynamic type.
Supported functions:
- isa
- isa_and_present
- isa_and_nonnull
Related PR: https://github.com/llvm/llvm-project/pull/189274
Commit: ac09b41daec4df16e26011abb021c17844db66c7
https://github.com/llvm/llvm-project/commit/ac09b41daec4df16e26011abb021c17844db66c7
Author: Henrik G. Olsson <hnrklssn at gmail.com>
Date: 2026-05-20 (Wed, 20 May 2026)
Changed paths:
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M llvm/lib/IR/IntrinsicInst.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
Log Message:
-----------
remove redundant uses of `isa` caught by clang-tidy (NFC) (#192813)
These calls to `isa` are always true. Also includes a drive-by cleanup
of a use of `isa_and_nonnull` where the value was already null-checked.
Caught by applying https://github.com/llvm/llvm-project/pull/191081
Commit: 55c514cb8499c435531cbacc91372718623d7165
https://github.com/llvm/llvm-project/commit/55c514cb8499c435531cbacc91372718623d7165
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
M llvm/test/CodeGen/AArch64/swap-compare-operands.ll
Log Message:
-----------
[AArch64] Select `CMP WZR, reg, shift #amount` (#197424)
Commit: a21e1cc1400e3c9284a9550ea1d2f6e754d8d678
https://github.com/llvm/llvm-project/commit/a21e1cc1400e3c9284a9550ea1d2f6e754d8d678
Author: Sam Parker <sam.parker at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/test/CodeGen/WebAssembly/memory-interleave.ll
M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
Log Message:
-----------
[WebAssembly] Cost model for F32 memory interleave (#198531)
Set them the same as their i32 counterparts, but don't cost 4x v4f32.
wasm-perf doesn't show any particular uplift and the tests show that,
when we're mixing integers and floats, we often interleaving anyway. But
this change should be good for arithmetic on structures of 2xf32.
Commit: e1cb899614d036550ab8c2505dfe2d5fcecbac08
https://github.com/llvm/llvm-project/commit/e1cb899614d036550ab8c2505dfe2d5fcecbac08
Author: Benjamin Maxwell <macdue at dueutil.tech>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
A llvm/test/CodeGen/AArch64/machine-sme-abi-skip-debug-inst.mir
Log Message:
-----------
[AArch64][SME] Don't pass debug instructions to LiveUnits.stepBackward() (#198010)
See https://github.com/llvm/llvm-project/pull/193104 (follow up to
#197989).
Commit: 8f2f0162a9362f9042d1200b3fbcc09d3fa38f8c
https://github.com/llvm/llvm-project/commit/8f2f0162a9362f9042d1200b3fbcc09d3fa38f8c
Author: Simi Pallipurath <simi.pallipurath at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M libc/src/__support/freelist_heap.h
Log Message:
-----------
[libc] Make FreeListHeap::free ignore null pointers. (#198834)
Update `FreeListHeap::free` to return immediately when passed `nullptr`.
This matches the expected `free(nullptr)` behaviour as per the C
standard and avoids running pointer validation on a null pointer
allowing the hermetic malloc test libc/test/src/stdlib/malloc_test.cpp
to pass.
As per standard:
The free function, paragraph:
```
The free function causes the space pointed to by
ptr to be deallocated, that is, made available for
further allocation. If ptr is a null pointer,
no action occurs.
```
Commit: 4eeee28f308a2ca87674d33b2842e217b1ccf686
https://github.com/llvm/llvm-project/commit/4eeee28f308a2ca87674d33b2842e217b1ccf686
Author: David Green <david.green at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
Log Message:
-----------
[AArch64][GlobalISel] Do not clamp s16 G_FCONSTANT. (#198983)
This should be an NFC as s16 FCONSTANT is already legal and handled
later
whether fp16 is available or not.
Commit: 835e014bc0a0672e71f296c83d6a8af6a080844b
https://github.com/llvm/llvm-project/commit/835e014bc0a0672e71f296c83d6a8af6a080844b
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M mlir/lib/Dialect/Transform/IR/Utils.cpp
Log Message:
-----------
[mlir] only verify moved symbols in transform (#197882)
When merging named sequences from an external module in the transform
interpreter, only run the inliner verification for operations that were
actually moved rather than all pre-existing operations. This avoids
verifying inlining conditions for operations that wouldn't be inlined by
this logic, and is also more parsimonious.
Reverts #195770 but keeps the test. This is a more generic fix.
Commit: 868aefd5ea47493e4a231b72875e6909f85334f6
https://github.com/llvm/llvm-project/commit/868aefd5ea47493e4a231b72875e6909f85334f6
Author: David Green <david.green at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/alias_mask.ll
M llvm/test/CodeGen/AArch64/dag-combine-setcc.ll
M llvm/test/CodeGen/AArch64/fixed_masked_deinterleaved_loads.ll
M llvm/test/CodeGen/AArch64/fixed_masked_interleaved_stores.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-expandloads.ll
M llvm/test/CodeGen/AArch64/sve-mask-partition.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-truncate-store.ll
Log Message:
-----------
Revert "[AArch64] Use ADDP tree for v16i8 to i16 bitmask extraction (#192974)" (#198985)
This reverts commit 42cc9b53bf83ebb778755fd51a9b277cb71740d5 as it is
tripping up on type legalization.
Commit: 9c826fef2d403baa2a4165e628aa6a27fa6d2b7a
https://github.com/llvm/llvm-project/commit/9c826fef2d403baa2a4165e628aa6a27fa6d2b7a
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M libcxx/include/__cxx03/limits
M libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp
Log Message:
-----------
[libc++][C++03] Cherry-pick #166724 (#198839)
Commit: 2a17897a10b0a596449e49f3d3b213c6daf892d3
https://github.com/llvm/llvm-project/commit/2a17897a10b0a596449e49f3d3b213c6daf892d3
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M libcxx/include/__cxx03/__functional/hash.h
M libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp
Log Message:
-----------
[libc++][C++03] Cherry-pick #166690 (#198977)
Commit: a13ad2170391b9bb61785f0bc50c11c6ea6fc1af
https://github.com/llvm/llvm-project/commit/a13ad2170391b9bb61785f0bc50c11c6ea6fc1af
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/test/CodeGen/X86/combine-reductions.ll
R llvm/test/CodeGen/X86/horizontal-reduce-smax.ll
R llvm/test/CodeGen/X86/horizontal-reduce-smin.ll
R llvm/test/CodeGen/X86/horizontal-reduce-umax.ll
R llvm/test/CodeGen/X86/horizontal-reduce-umin.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-expanded.ll
Log Message:
-----------
[X86] Replace custom minmax reduction pattern matching with ISD::VEC_REDUCE_*MIN/MAX support (#194473)
Support middle-end reduction integer min/max patterns instead of relying
on the ExpandReductions pass and then matching the expanded pattern in
DAG.
Middle-end reduction pattern recognition now matches
SelectionDAG::matchBinOpReduction (inc partial reduction), and its
better to improve future handling in InstCombine/VectorCombine wherever
possible.
Fixes #194624
Commit: 7d97d03fb04acd45fa21bc7159a4d8b4a35e2293
https://github.com/llvm/llvm-project/commit/7d97d03fb04acd45fa21bc7159a4d8b4a35e2293
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Use inferred type for VPReplicateRecipe void check (NFC) (#198560)
Commit: 22822658410722ca3520aedc2f4338ed9430ebc6
https://github.com/llvm/llvm-project/commit/22822658410722ca3520aedc2f4338ed9430ebc6
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/interchanged-loop-nest-3.ll
M llvm/test/Transforms/LoopInterchange/pr57148.ll
A llvm/test/Transforms/LoopInterchange/reduction-not-involve-innermost.ll
Log Message:
-----------
[LoopInterchange] Always create a new latch when interchanging (#194574)
In the transformation phase of loop-interchange, when the inner loop to
be interchanged is the innermost one, a new latch BB is created and
several instructions are moved from the original BB to the new one to
generate valid IR. I'm not sure why this process was performed only when
the target loop is the innermost loop, but as demonstrated in #163954,
this process is also necessary when interchanging non‑innermost loops,
e.g., when a reduction exists and the reduction operation is located in
the latch BB of the inner loop.
This patch removes the conditional branch and always creates a new latch
during the transformation.
Fix #163954
Commit: 955b34dd7b51482b8b90e5bb29be0977fc82c0b8
https://github.com/llvm/llvm-project/commit/955b34dd7b51482b8b90e5bb29be0977fc82c0b8
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/interchangeable-outerloop-multiple-indvars.ll
M llvm/test/Transforms/LoopInterchange/profitability-instorder.ll
Log Message:
-----------
[LoopInterchange] Make the instorder profitability check GEP-independent (#181991)
The heuristic function `instorder` assumes that the structure of GEPs
reflect the original memory access patterns, which is not always true.
Moreover, recent trends in LLVM are moving in a direction where such
patterns are no longer preserved. If the migration from GEP to ptrtoadd
is completed, this heuristic will no longer make sense.
To achieve what this heuristic is trying to do, we should examine the
SCEV of the pointer operands of loads/stores, rather than relying on
GEPs. This patch replaces the GEP‑dependent logic with an SCEV‑based
analysis. Instead of relying on the operand order in GEPs, the
SCEV‑based approach walks through the SCEV expression, identifies the
step recurrences of the relevant loops, and compares them. This allows
us to perform what `instorder` intends to do without relying on how
memory access patterns are represented in the IR.
Commit: 7050858970a6796dea9654758fb0286417d69454
https://github.com/llvm/llvm-project/commit/7050858970a6796dea9654758fb0286417d69454
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-reduce-smax.ll
Log Message:
-----------
[X86] LowerVECREDUCE - don't attempt to handle vectors with non-pow2 element counts (#198989)
32-bit targets will attempt to lower vXi64 reductions prior to argtype legalization
Crash fix - we can improve the handling in a future commit
Commit: c7b502803095b2c0f6a5a1f8e46ec8c5796e9e0a
https://github.com/llvm/llvm-project/commit/c7b502803095b2c0f6a5a1f8e46ec8c5796e9e0a
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-prune-vf.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/VPlan/dissolve-replicate-regions.ll
M llvm/test/Transforms/LoopVectorize/VPlan/interleave-conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-dot-printing.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/VPlan/widen-canonical-iv-register-pressure.ll
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/vplan.ll.expected
Log Message:
-----------
[LV] Convert gather loads with constant stride into strided loads (#147297)
This patch detects non-consecutive load accesses (i.e. gather) with a
constant stride, such as:
```
void stride(int* a, int *b, int n) {
for (int i = 0; i < n; i++)
a[i * 5] = b[i * 5] + i;
}
```
and converts them into strided loads when legal and profitable, using
experimental_vp_strided_load.
The new VPlan transformation, convertToStridedAccesses, hoists the
functionality of RISCVGatherScatterLowering into the vectorizer,
enabling a more precise cost estimation during vectorization.
Additionally, by leveraging SCEV for stride analysis, the vectorizer can
potentially detect more opportunities to optimize gathers into strided
loads.
This enables more efficient code generation for targets like RISC-V that
support strided loads natively.
Commit: 3b7140f2a10a90481ac1052e10007458f3865a53
https://github.com/llvm/llvm-project/commit/3b7140f2a10a90481ac1052e10007458f3865a53
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/test/CodeGen/X86/madd.ll
A llvm/test/Transforms/PhaseOrdering/X86/madd.ll
Log Message:
-----------
[X86] Update PMADDWD tests to more closely match middle-end vector.reduce.add codegen (#198993)
The middle-end will detect vector.reduce.add patterns - update the
Codegen tests to use the intrinsics directly and add PhaseOrdering tests
to ensure vector.reduce.add intrinsics are created
Commit: 7be306c647419be64350e28c4d040d9500e63723
https://github.com/llvm/llvm-project/commit/7be306c647419be64350e28c4d040d9500e63723
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
R llvm/test/Transforms/LoopInterchange/many-load-stores.ll
A llvm/test/Transforms/LoopInterchange/memory-instr-ratio.ll
Log Message:
-----------
[LoopInterchange] Bail out when memory instruction ratio is high (#192954)
Currently, to save compile-time, LoopInterchange limits the number of
memory instructions and bails out early if it exceeds a threshold.
However, the dependence analysis phase in LoopInterchange has `O(N^2)`
complexity, where `N` is the number of memory instructions. This means
that even a small number of memory instructions can have a
non‑negligible impact on compile-time. In fact, I found such a case
(about +5% compile‑time regression), which the most instructions in the
loop are stores.
This patch replaces the heuristic which determines whether we should
continue the analysis or bail out to save compile time. The idea is that
if the ratio of the squared number of memory instructions to the total
number of instructions is small, LoopInterchange is allowed to continue
its analysis. The existing option `-loop-interchange-max-meminstr-count`
is removed.
Compile-time improvement:
https://llvm-compile-time-tracker.com/compare.php?from=f344adcd2fb876d61f016fb92369a6530cc85a5b&to=6f7e5b0e4b35116728563913f2d98b7f9341409b&stat=instructions:u
Commit: d473e146ce9ebe22064b7d21722407245a3fae9b
https://github.com/llvm/llvm-project/commit/d473e146ce9ebe22064b7d21722407245a3fae9b
Author: Thrrreeee <shijinrui at bytedance.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M bolt/include/bolt/Core/DIEBuilder.h
Log Message:
-----------
[BOLT][DebugInfo] Speed up DIEBuilder with DenseMap (#197655)
We replaced `std::unordered_map` with LLVM's `DenseMap` for the DIE maps
in DIEBuilder. Since this map is accessed frequently during DWARF
rewriting, the improved data layout translates directly into reduced
cache misses. As shown in the benchmark results, this change yields
1.22x–1.27x speedup.
**Program from Bytedance**
| BatchSize | Baseline (s) | Optimized (s) | Speedup |
|---|---|---|---|
| 2 | 120.01 | 98.32 | 1.22x |
| 4 | 104.12 | 85.37 | 1.22x |
| 16 | 82.31 | 66.41 | 1.24x |
| 32 | 77.45 | 61.01 | 1.27x |
| 64 | 71.69 | 56.35 | 1.27x |
Commit: 607870acacbb8ebc6247e45e4004ee029b2ceb60
https://github.com/llvm/llvm-project/commit/607870acacbb8ebc6247e45e4004ee029b2ceb60
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/cxx20.cpp
Log Message:
-----------
[clang][bytecode] Use `Pointer::computeOffsetForComparison()` for non-eq comparisons as well (#198243)
Commit: 2c4065f671e08de65ae576c9a4a91daaed65d8cd
https://github.com/llvm/llvm-project/commit/2c4065f671e08de65ae576c9a4a91daaed65d8cd
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/test/CIR/CodeGen/atomic.c
Log Message:
-----------
[CIR] Atomic fetch-and-update operations on pointers (#195537)
Commit: 8b1c7ea6f6e91a9977177dd214aca0523f58064e
https://github.com/llvm/llvm-project/commit/8b1c7ea6f6e91a9977177dd214aca0523f58064e
Author: Jakob Linke <jakob at linke.cx>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang/include/clang/Sema/SemaCodeCompletion.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/test/CodeCompletion/desig-init.cpp
A clang/test/CodeCompletion/offsetof.cpp
Log Message:
-----------
[clang] Complete fields in __builtin_offsetof designators (#195126)
Code completion was a no-op inside `__builtin_offsetof`: a cursor at `
__builtin_offsetof(T, ^)` or `__builtin_offsetof(T, a.^)` fell through
to ordinary-name completion instead of suggesting fields. Route the
code_completion token to a new SemaCodeCompletion entry point that walks
the designator path so far, resolves the subobject's type, and
enumerates its members. Methods are filtered out, inherited fields are
included, indirect fields from anonymous unions and structs are peeled,
and `using Base::field` resolves through its UsingShadowDecl. A
code_completion token past a complete component (right after `]` or at
the end of the chain) is dropped rather than offering fields the user
can't paste without first typing `.`.
The offsetof and designated-initializer type walkers are folded into one
helper parameterized by a field-lookup callback, which incidentally
fixes reference-field and indirect-field traversal in
designated-initializer completion too.
Tests: lit cases in offsetof.cpp covering empty/dot/array/inheritance/
reference/anonymous/using-shadow/macro forms, extended desig-init.cpp
walker cases, and a clangd unit test exercising the IDE path.
Context: #195126 and #194407
This work was AI assisted but human-reviewed.
The followup for the added FIXME is at
https://github.com/llvm/llvm-project/compare/main...schuay:llvm-project:refactor-offsetof-component-to-designation
Commit: 1c305a3085f602f97f834ceae0474f3cb4b0b071
https://github.com/llvm/llvm-project/commit/1c305a3085f602f97f834ceae0474f3cb4b0b071
Author: Rafał Rudnicki <rafal.rudnicki at intel.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
Log Message:
-----------
[AMDGPU] Coverity fixes - check ret val and init class members (#198570)
Coverity fixes:
* calling getIntrinsicSignature without checking return value (as is
done elsewhere 4 out of 5 times) in
llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
* non-static class member MaxSGPRs, MaxVGPRs and MaxUnifiedVGPRs is not
initialized in this constructor nor in any functions that it calls in
llvm/lib/Target/AMDGPU/GCNRegPressure.h
Commit: e453259960d0723805cafebeaafb6866a77781de
https://github.com/llvm/llvm-project/commit/e453259960d0723805cafebeaafb6866a77781de
Author: Ebuka Ezike <e_ezike at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
Log Message:
-----------
[lldb] Add missing includes. (#198996)
Failed to build in CI because,
ScriptedPythonInterface::CreatePlugingObject is a template function and
the arguments are of incomplete types gotten from `lldb-forward.h`
(typedef of lldb_private::XXXX = XXXXSP).
Introduced in commit 1b4a578a9f7760a00bf26525a603be1ec6e7d862
Commit: 63b905cf47780d9e3a13d08b17e19748061a8dd7
https://github.com/llvm/llvm-project/commit/63b905cf47780d9e3a13d08b17e19748061a8dd7
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/OpIsFinite.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/OpIsNormal.ll
Log Message:
-----------
[SPIR-V] Add support for OpIsFinite and OpIsNormal intrinsics (#196961)
Commit: 93d8c2b6099e447e1487b39e80254f578cd49c97
https://github.com/llvm/llvm-project/commit/93d8c2b6099e447e1487b39e80254f578cd49c97
Author: Zaky Hermawan <44158147+ZakyHermawan at users.noreply.github.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-srem.mir
M llvm/test/CodeGen/Mips/GlobalISel/legalizer/rem_and_div.mir
M llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/rem_and_div.ll
Log Message:
-----------
[GlobalISel][KnownBits] Port SREM to GlobalISel (#198956)
This PR also move case statement for or `G_UREM `that is being
introduced by https://github.com/llvm/llvm-project/pull/193455 So that
`G_[U|S][DIV|REM] ` being grouped together, just like in
`SelectionDAG.cpp`
Related: https://github.com/llvm/llvm-project/issues/150515
---------
Signed-off-by: ZakyHermawan <zaky.hermawan9615 at gmail.com>
Commit: 385701ce90407e814b760ccd8324099a67e8107f
https://github.com/llvm/llvm-project/commit/385701ce90407e814b760ccd8324099a67e8107f
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/test/Transforms/LoopInterchange/profitability-instorder.ll
Log Message:
-----------
[LoopInterchange] Add test for multiple accesses to same base ptr (NFC) (#193476)
Currently `getInstrOrderCost` doesn't check the base pointers of the
accesses, which can lead to undesirable profitability decisions. This
patch adds a test that demonstrates such a case.
Commit: 6255ecd593f488bd99123771e9803ad2f1be49c5
https://github.com/llvm/llvm-project/commit/6255ecd593f488bd99123771e9803ad2f1be49c5
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-monitor.cl
M clang/test/SemaHIP/incorrect-atomic-scope.hip
Log Message:
-----------
[AMDGPU][Clang] use ScopeModel to translate integer scopes [NFC] (#198250)
The assumption here is that AMDGPU builtins (typically suffixed with
`__builtin_amdgcn`) use the `__MEMORY_SCOPE_*` enumeration, and not the
`__HIP_MEMORY_SCOPE_*` enumeration (which is how it should be).
Assisted-By: Claude Opus 4.6
Commit: 45f8bda33abe5182364a26038c7a12079ace4007
https://github.com/llvm/llvm-project/commit/45f8bda33abe5182364a26038c7a12079ace4007
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll
Log Message:
-----------
[SPIR-V] Fix failure-order register reuse in atomic cmpxchg lowering (#199000)
Fix copy-paste issue, extend tests for cmpxchg atomic
Commit: 371f57cd67a523d241678509f57d048d58417b87
https://github.com/llvm/llvm-project/commit/371f57cd67a523d241678509f57d048d58417b87
Author: Hussam Alhassan <hsm.link at proton.me>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
A llvm/test/CodeGen/AArch64/aarch64-condopt-cross-block-domtree.mir
Log Message:
-----------
[AArch64] ConditionOptimizer: replace per-block DenseMap with ScopedHashTable traversal (#196746)
The intra-block path used a DenseMap cleared at each block boundary, so
pairs from dominating blocks were never visible to descendants. Replace
it and the separate cross-block path with a unified recursive domtree
walk using a ScopedHashTable. Any dominating block's pair is now a
candidate, not just pairs within the same block.
Rename optimizeIntraBlock to optimizeBlock and remove dead code
Commit: e1570b88284fd48485fad0d5ae63f689e0caf6c9
https://github.com/llvm/llvm-project/commit/e1570b88284fd48485fad0d5ae63f689e0caf6c9
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
R llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs-in-fcmp.mir
Log Message:
-----------
[AArch64] Delete llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs-in-fcmp.mir (NFC) (#198974)
It's bit-identical to
llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs.mir. The
-in-fcmp test is older (0f0fd383b487), but 84a6a057e60b later expanded
op coverage and left both files with the exact same contents.
Commit: 3d126bd56808ba04afc3ed77ea951567ece1e861
https://github.com/llvm/llvm-project/commit/3d126bd56808ba04afc3ed77ea951567ece1e861
Author: John Brawn <john.brawn at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/masked_expand_load.ll
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
Log Message:
-----------
[CostModel] Move the arbitrary load latency into getMemoryOpCost (#198790)
Currently TargetTransformInfoImpl returns an arbitrary cost of 4 for the
latency of loads in getInstructionCost. This means even if a target
correctly reports the latency for loads in getMemoryOpCost we still get
this arbitrary cost in getInstructionCost. It also means the latency
cost is inconsistent depending on whether you go through
getInstructionCost or getMemoryOpCost.
Solve this by moving the current arbitrary cost into getMemoryOpCost.
This has the side-effect of affecting the cost of masked loads if they
aren't handled by the target, as in BasicTTIImpl the cost for these is
calculated using getMemoryOpCost. This should mean the cost is more
accurate though, and likely won't have any effect as in any
transformation that could introduce masked loads (e.g. vectorization)
the current cost is probably high enough that it's already not worth
using.
Commit: 26f5eb2b8f53bda6b4ae97f9757523bd157b9263
https://github.com/llvm/llvm-project/commit/26f5eb2b8f53bda6b4ae97f9757523bd157b9263
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
Log Message:
-----------
clang/AMDGPU: Stop adding -m32/-m64 for OpenCL (#199005)
The pointer size is not configurable; you get what you get
based on the triple. I don't know what the point of this was,
I don't even see the argument in the final cc1 invocation.
Commit: bf76ada7b3e9345ad4d93c44025719f12cec1bec
https://github.com/llvm/llvm-project/commit/bf76ada7b3e9345ad4d93c44025719f12cec1bec
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/profitability-instorder.ll
Log Message:
-----------
[LoopInterchange] Take base pointer into account in profitability check (#193477)
Currently `getInstrOrderCost` doesn't check the base pointers of the
accesses, which can lead to undesirable profitability decisions. This
patch makes the function take the base pointers into account. Fix the
test case added in #193476.
Commit: a3d2a6d77a26f6b4d90b833c8017e2d483e9027f
https://github.com/llvm/llvm-project/commit/a3d2a6d77a26f6b4d90b833c8017e2d483e9027f
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/VPlan/X86/scalarize-wide-load-for-address-use.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
Log Message:
-----------
[VPlan] Run replaceSymbolicStrides on VPlan0 (NFCI). (#196840)
Running replacceSymbolicStrides on VPlan0 means we only need to run it
once, and also enables simplifications earlier on. It is also needed to
be able to compute costs of the scalar VPlan0 early accurately, without
hacks manual folds like in the legacy cost model.
PR: https://github.com/llvm/llvm-project/pull/196840
Commit: 012abddca170c33425fef4dd9a26e77889a0dc91
https://github.com/llvm/llvm-project/commit/012abddca170c33425fef4dd9a26e77889a0dc91
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M offload/liboffload/CMakeLists.txt
M offload/libomptarget/CMakeLists.txt
M offload/plugins-nextgen/CMakeLists.txt
Log Message:
-----------
[Offload] Fix LLVM_LINK_LLVM_DYLIB linking liboffload (#198955)
Summary:
When this is set you can only link against `LLVM`. The previous patch
did not respect this because I did not realize that internally in the
add_llvm_library that this was required.
Commit: 4d7b7dff60c3c3c3858e91858d2f74a512d71538
https://github.com/llvm/llvm-project/commit/4d7b7dff60c3c3c3858e91858d2f74a512d71538
Author: Amelia Jochna <ameliajochna1 at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/lib/Lex/PPDirectives.cpp
A clang/test/Preprocessor/nonportable-trailing-whitespace-win.c
A clang/test/Preprocessor/nonportable-trailing-whitespace.c
Log Message:
-----------
[Clang] Add warning for non-portable include paths with trailing whitespace or dots (#190610)
This patch extends -Wnonportable-include-path to detect and warn about
trailing whitespace and dots in #include directives. Such paths are
non-portable and can lead to build failures on different operating
systems.
The warning is triggered when an include filename ends with a space or a
dot, which is common when copy-pasting paths or due to typos.
Fixes #96064
Commit: 542397ae3f9c61c159d7640023531c53b9fc7456
https://github.com/llvm/llvm-project/commit/542397ae3f9c61c159d7640023531c53b9fc7456
Author: Jakub Chlanda <jchlanda at accesssoftek.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lld/ELF/Driver.cpp
M lld/test/ELF/aarch64-feature-pauth.s
Log Message:
-----------
[lld][PAC] Print full version and platform values on core mismatch (#198758)
`toHex()` only prints a single byte of the integer value, which can hide
the actual mismatch in AArch64 PAuth ABI core info diagnostics.
Commit: 5c59784cf831dd456cf599a8d2358329351287ad
https://github.com/llvm/llvm-project/commit/5c59784cf831dd456cf599a8d2358329351287ad
Author: walkerkd <keith.walker at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
Log Message:
-----------
[AArch64] C1-Nano scheduling model refactor [NFC] (#198469)
Creates explicit definitions for each latency/throughput/resource
combination and use the definitions in the instruction rule definitions.
Alhough this change touches most lines in the model, there is no
functional change - all test cases are not affected by this change.
This makes the style of the C1-Nano scheduling model be similar to that
used in the C1-Ultra / C1-Premium and is being done in preparation to
including the work to support SME instructions that is currently being
implemented on the C1-Ultra scheduling model
Commit: dd0f9b7e7319deba00341026030353e70790d1a1
https://github.com/llvm/llvm-project/commit/dd0f9b7e7319deba00341026030353e70790d1a1
Author: Abu <49108786+user1342234 at users.noreply.github.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/or.ll
M llvm/test/Transforms/InstCombine/select-min-max.ll
M llvm/test/Transforms/InstCombine/sext-nonneg-sub.ll
Log Message:
-----------
[InstCombine] Fold `X s<= Y ? 0 : X -nsw Y -> X - smin(X, Y)` (#187898)
This is part of #146131 and #182597
`func3` and `func4` are
[equivalent](https://alive2.llvm.org/ce/z/NNMTDa) but `func3` produces a
`sext` instead of `zext` when `b - a` is known non-negative.
[Proof of correctness](https://alive2.llvm.org/ce/z/ZthC9m)
```c++
#include <stdint.h>
uint64_t func3(int32_t a, int32_t b) {
return (b < a ? 0 : (int32_t)(b - a));
}
uint64_t func4(int32_t a, int32_t b) {
return (b < a ? 0 : (uint32_t)(b - a));
}
```
In x86-64, it would make shorter code by zero-extending instead of
sign-extending b - a.
My PR fixes this by handling all patterns below:
`(X < Y) ? 0 : (X - Y)`
`(X > Y) ? 0 : (Y - X)`
`(X < Y) ? (Y - X) : 0`
`(X > Y) ? (X - Y) : 0`
Commit: 1b0b2e94110b9a01a2ee3a5b086dc1b4827c921d
https://github.com/llvm/llvm-project/commit/1b0b2e94110b9a01a2ee3a5b086dc1b4827c921d
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/delay-cachecost-calculation.ll
M llvm/test/Transforms/LoopInterchange/lcssa-phi-outer-latch.ll
M llvm/test/Transforms/LoopInterchange/loop-interchange-optimization-remarks.ll
M llvm/test/Transforms/LoopInterchange/perserve-lcssa.ll
M llvm/test/Transforms/LoopInterchange/pr57148.ll
M llvm/test/Transforms/LoopInterchange/profitability-vectorization.ll
Log Message:
-----------
[LoopInterchange] Disable LoopCacheAnalysis-based heuristic by default (#193478)
LoopInterchange has three types of heuristics for profitability
decisions: `cache`, `instorder`, and `vectorize`. Currently, the
profitability check invokes these heuristics in this order. The
heuristic corresponding to `cache` is based on LoopCacheAnalysis.
However, LoopCacheAnalysis applies several aggressive heuristics, which
can sometimes lead to undesirable decisions. In contrast, the heuristic
corresponding to `instorder` is relatively simpler than `cache`, but its
behavior is clear and it is likely sufficient for practical cases.
In light of the default enablement, I believe it is better to use a
simpler, easier‑to‑reason‑about, and more stable heuristic rather than
an aggressive but complex one. Therefore, this patch disables the
LoopCacheAnalysis‑based profitability check by default.
Commit: f5f96b80b4a490db865d054d05b62907f07692b7
https://github.com/llvm/llvm-project/commit/f5f96b80b4a490db865d054d05b62907f07692b7
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M .github/workflows/new-prs.yml
M llvm/utils/git/github-automation.py
Log Message:
-----------
[CI] Fix GH PR Greeter (#198160)
Add missing argument in the PR Greeter invocation. Follow-up for
#197140. Issue reported here:
* https://discourse.llvm.org/t/ci-failure-prgreeter-on-my-first-pr
Also, as per
* https://docs.github.com/en/actions/concepts/security/script-injections, and
* https://docs.github.com/en/actions/reference/security/secure-use#use-an-intermediate-environment-variable,
make sure that that greeter relies on ENV variables for input arguments.
Commit: 8bdc185b887bc0813f8dae203389e8c497ebf723
https://github.com/llvm/llvm-project/commit/8bdc185b887bc0813f8dae203389e8c497ebf723
Author: Jack Styles <jack.styles at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M flang/include/flang/Support/OpenMP-utils.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Support/OpenMP-utils.cpp
Log Message:
-----------
[Flang][OpenMP][NFC] Remove Fortran Evaluate Depedancy from Support (#198742)
Following #197442, FortranEvaluate was implicitly included in
OpenMP-utils.h which should be avoided to ensure front-end data
structures in the Optimizers can stop and restart pure MLIR source
without any side-data structures.
To ensure this is done, EntryBlockArgs has been stripped back to only
track vars, objects are now tracked within ObjectEntryBlockArgs in
Lowering as this is a more appropriate place for this information, and
the existing symbol tracking in EntryBlockArgsEntry was only used here.
This ensures FortranEvaluate is not needed within the Optimizers, and
objects can still be maintained when lowering. This enables better
referencing in Reduction Clauses, where previously context was being
lost for expressions such as ArrayElements.
See more: #197442
Assisted-by: Codex
Commit: f53a508c4af085b3aedd71724ea6fbdb7a6b3136
https://github.com/llvm/llvm-project/commit/f53a508c4af085b3aedd71724ea6fbdb7a6b3136
Author: David Spickett <david.spickett at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M .github/workflows/merged-prs.yml
Log Message:
-----------
[CI] Pass script args using env var in merged PRs workflow (#199022)
As was done in #198160, address the problem described in
https://docs.github.com/en/actions/concepts/security/script-injections
using the solution recommended by
https://docs.github.com/en/actions/reference/security/secure-use#use-an-intermediate-environment-variable.
Not all these inputs are untrusted, but I've applied it to all of them
just to be consistent.
Commit: c64b7083ce8c7e1b8de9581e3e0045197bfd50a1
https://github.com/llvm/llvm-project/commit/c64b7083ce8c7e1b8de9581e3e0045197bfd50a1
Author: Luke Lau <luke at igalia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/vmerge-peephole.mir
Log Message:
-----------
[RISCV] Ensure AVL dominates True in vmerge peephole (#199008)
When folding vmerge into its true operand, if vmerge has an AVL defined
by a register and true has VLMAX, then the minimum AVL will be the
register. In this case it's not guaranteed to dominate true, so we need
to potentially sink true so it does.
This teaches ensureDominates to check multiple definitions at the same
time, since we want the sinking to be atomic.
Fixes #198733
Commit: ad1311e967a5a8ea9a68200f766033d3b7a6753e
https://github.com/llvm/llvm-project/commit/ad1311e967a5a8ea9a68200f766033d3b7a6753e
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/source/Host/windows/HostProcessWindows.cpp
Log Message:
-----------
[lldb][windows] Fix HostProcessWindows::Terminate clobbering error (#199012)
Commit: 5b13f482c1d89fbf6449d75add61bfd6b4fd0f55
https://github.com/llvm/llvm-project/commit/5b13f482c1d89fbf6449d75add61bfd6b4fd0f55
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/source/Host/windows/HostThreadWindows.cpp
Log Message:
-----------
[lldb][windows] Fix HostThreadWindows::Cancel inverted error reporting (#199013)
Commit: 7f3e168f596c492504e55eecdc0aad53577f60c4
https://github.com/llvm/llvm-project/commit/7f3e168f596c492504e55eecdc0aad53577f60c4
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OpenMP][OMPIRBuilder] Refactor removeUnusedBlocksFromParent (#198938)
This is essentially post-commit review for #198690 which was landed
quickly to fix nondeterminism in tests introduced in #197637
Change-Id: Ib3603ef3c70dde5bb22d0fc04d9249e62ecccf0c
Co-authored-by: @Meinersbur
Co-authored-by: @chichunchen
Commit: df8819852edc1031b1cea4769bf47ecb338607b2
https://github.com/llvm/llvm-project/commit/df8819852edc1031b1cea4769bf47ecb338607b2
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Options/FlangOptions.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/FrontendOptions.h
M flang/include/flang/Parser/options.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
R flang/test/Driver/ffree-line-length.f90
Log Message:
-----------
Revert "[Flang] Adding -ffree-line-length-<value> flag" (#199018)
Reverts llvm/llvm-project#192941 due to various important apps failures.
Commit: ceee5d7d14268ecef997eaa7c05f21a2ea537d1c
https://github.com/llvm/llvm-project/commit/ceee5d7d14268ecef997eaa7c05f21a2ea537d1c
Author: David Spickett <david.spickett at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M .github/workflows/commit-access-greeter.yml
Log Message:
-----------
[CI] Remove unused env var from commit-access-greeter (#199024)
LABEL_NAME has been there since the workflow's introduction in
f8ef2699d860aea97750953f1b79db8ef7574e82, but has never been used.
Commit: 14745b3e09596b578c1ab377dec243fe799cd95e
https://github.com/llvm/llvm-project/commit/14745b3e09596b578c1ab377dec243fe799cd95e
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/source/Host/windows/HostThreadWindows.cpp
Log Message:
-----------
[lldb][windows] Fix HostThreadWindows::Join dead-code on GetExitCodeThread failure (#199014)
Commit: c76731e8a5ae7c354ab1c6fdf616de91e4307db5
https://github.com/llvm/llvm-project/commit/c76731e8a5ae7c354ab1c6fdf616de91e4307db5
Author: David Spickett <david.spickett at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M .github/workflows/pr-subscriber.yml
Log Message:
-----------
[CI] Pass label name to script using env var in pr-subscriber workflow (#199026)
As is done in issue-subscriber.yml already.
This addresses the problem described in
https://docs.github.com/en/actions/concepts/security/script-injections
using the solution recommended by
https://docs.github.com/en/actions/reference/security/secure-use#use-an-intermediate-environment-variable.
Commit: 5d9c2ed61ec2bce204c22e1b45bc7c2a7be01b0a
https://github.com/llvm/llvm-project/commit/5d9c2ed61ec2bce204c22e1b45bc7c2a7be01b0a
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
Log Message:
-----------
[lldb][windows] Null-check m_session_data in ProcessDebugger::HaltProcess (#199016)
Commit: 553b6099b20c9f4ebbb19197c5c8b7cfcda565c2
https://github.com/llvm/llvm-project/commit/553b6099b20c9f4ebbb19197c5c8b7cfcda565c2
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_mmsghdr.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_mmsghdr.h
M libc/include/sys/socket.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/sendmmsg.h
M libc/src/sys/socket/CMakeLists.txt
M libc/src/sys/socket/linux/CMakeLists.txt
A libc/src/sys/socket/linux/sendmmsg.cpp
A libc/src/sys/socket/sendmmsg.h
M libc/test/src/sys/socket/linux/CMakeLists.txt
A libc/test/src/sys/socket/linux/sendmmsg_test.cpp
M libc/utils/docgen/sys/socket.yaml
Log Message:
-----------
Implement linux-specific sendmmsg(2) (#198778)
Assisted by Gemini.
Co-authored-by: Jeff Bailey <jbailey at raspberryginger.com>
Commit: dd9086143ef7001ac6e3ce455a26db2c1e7c8efb
https://github.com/llvm/llvm-project/commit/dd9086143ef7001ac6e3ce455a26db2c1e7c8efb
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/MC/DXContainerInfo.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/lib/BinaryFormat/DXContainer.cpp
M llvm/lib/MC/DXContainerInfo.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
A llvm/test/tools/obj2yaml/DXContainer/VERSPart.yaml
M llvm/unittests/Object/DXContainerTest.cpp
M llvm/unittests/ObjectYAML/DXContainerYAMLTest.cpp
Log Message:
-----------
[DirectX][ObjectYAML] Add VERS part support (#198222)
Add support for DXContainer VERS part in the ObjectYAML pipeline so it
can be represented in structured YAML and round-tripped through
yaml2obj/obj2yaml.
VERS is emitted into DXContainers inside shader PDB files. It stores
information about the version of a compiler used to produce shader
binaries.
Commit: 79a05f624c430301477969c4011171da8fb16850
https://github.com/llvm/llvm-project/commit/79a05f624c430301477969c4011171da8fb16850
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
Log Message:
-----------
[lldb][windows] Null-check m_session_data in ProcessDebugger::OnDebuggerError (#199028)
Add a null check that logs and returns, matching the pattern in
OnExitProcess.
Commit: 0b469f9e625faa35f8ce6abe2db7ce94cf0e0567
https://github.com/llvm/llvm-project/commit/0b469f9e625faa35f8ce6abe2db7ce94cf0e0567
Author: Raul Tambre <raul at tambre.ee>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/test/API/lang/cpp/operator-overload/Makefile
Log Message:
-----------
[lldb][test] Use C++ frontend for building C++ test (#198855)
Commit: 20be2d6b6571b86af067e7f996f5b1c14e96a52f
https://github.com/llvm/llvm-project/commit/20be2d6b6571b86af067e7f996f5b1c14e96a52f
Author: Md Abdullah Shahneous Bari <md.abdullah.shahneous.bari at intel.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/GPU/Pipelines/Passes.h
M mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp
Log Message:
-----------
[MLIR][GPUToXeVMPipeline] Add unsupported data type emulation on `math`, `arith`, and `vector` ops. (#197779)
Add `math-extend-to-supported-types` and
`arith-emulate-unsupported-floats` pass to the pipeline.
These passes are used to emulate `math`, `arith` and `vector`
floating point operations that use float types which are
unspported on a target by inserting `extf/truncf` pairs around
all such operations.
Commit: 329972b3099f70fa7d0a92751888a7cfda4f4864
https://github.com/llvm/llvm-project/commit/329972b3099f70fa7d0a92751888a7cfda4f4864
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes dd90861 (#199033)
This fixes dd9086143ef7001ac6e3ce455a26db2c1e7c8efb.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 27249aa2d83dd16a6d4d5c71b2f7312dbbbd97de
https://github.com/llvm/llvm-project/commit/27249aa2d83dd16a6d4d5c71b2f7312dbbbd97de
Author: Matthias Wippich <mfwippich at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/Analysis/anonymous-decls.cpp
M clang/test/Analysis/live-bindings-test.cpp
M clang/test/CXX/dcl.decl/dcl.decomp/p3.cpp
M clang/test/CXX/drs/cwg31xx.cpp
M clang/test/CodeGenCXX/bad-codegen-for-constexpr-structured-bindings.cpp
M clang/test/CodeGenCXX/cxx1z-decomposition.cpp
M clang/test/DebugInfo/CXX/structured-binding.cpp
M clang/test/SemaCXX/cxx2c-decomposition.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Implement CWG3135 - constexpr structured bindings with prvalues from tuples (#191880)
This patch implements
[CWG3135](https://cplusplus.github.io/CWG/issues/3135.html). This has
been accepted into C++26 at the Croydon meeting through [CWG Motion
3](https://github.com/cplusplus/draft/issues/8824).
This change has not been designated a defect report. However, there was
recently some discussion about this designation and GCC implements it as
DR. Therefore, this is treated as DR regardless.
Commit: 9031580d5cc87963d82468ef7637f4a8f80b24b3
https://github.com/llvm/llvm-project/commit/9031580d5cc87963d82468ef7637f4a8f80b24b3
Author: Raul Tambre <raul at tambre.ee>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/test/API/lang/c/cpp_keyword_identifiers/Makefile
M lldb/test/API/lang/cpp/struct_with_keyword_name/Makefile
Log Message:
-----------
[lldb][test] Set explicit C standard for tests that require an older one (#198858)
These use identifiers which are keywords since C23.
Once the default standard is bumped this would require updating anyway.
Commit: 03fac96a663bd1250216d972402fcc58efb5441f
https://github.com/llvm/llvm-project/commit/03fac96a663bd1250216d972402fcc58efb5441f
Author: Raul Tambre <raul at tambre.ee>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M bolt/test/AArch64/validate-secondary-entry-point.s
M bolt/test/X86/Inputs/double_jump.cpp
M bolt/test/X86/Inputs/inlined.cpp
M bolt/test/X86/Inputs/linenumber.cpp
M bolt/test/runtime/bolt-reserved.cpp
Log Message:
-----------
[bolt][test] Use non-GNU assembly directive (#198857)
`asm()` is a GNU extension.
`__asm()` is supported in both standard-conforming and GNU mode.
Commit: 9c26d8c30c1971881d710cf62d0f50b8c640d02f
https://github.com/llvm/llvm-project/commit/9c26d8c30c1971881d710cf62d0f50b8c640d02f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/buildvector-all-external-scalars.ll
M llvm/test/Transforms/SLPVectorizer/X86/bad-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/copyable_reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
M llvm/test/Transforms/SLPVectorizer/X86/no_alternate_divrem.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-power-of-2-bswap.ll
M llvm/test/Transforms/SLPVectorizer/X86/opaque-ptr.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47642.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2_unord_geps.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-pair-path.ll
M llvm/test/Transforms/SLPVectorizer/alternate-non-profitable.ll
M llvm/test/Transforms/SLPVectorizer/crash_exceed_scheduling.ll
M llvm/test/Transforms/SLPVectorizer/insertelement-postpone.ll
Log Message:
-----------
[SLP] Unify IR flag and metadata propagation in vectorizeTree
Replace scattered propagateIRFlags/propagateMetadata calls with a single
PropagateIRFlags lambda. Excludes copyable scalars from the flag
intersection set and drops nnan/ninf when a copyable lane cannot prove
its operand is non-NaN/non-Inf.
Reviewers: hiraditya, RKSimon, bababuck
Pull Request: https://github.com/llvm/llvm-project/pull/198543
Commit: 97e0bd216367f7d645c72da509fab8732cec3498
https://github.com/llvm/llvm-project/commit/97e0bd216367f7d645c72da509fab8732cec3498
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV] P-ext support v8i8/v4i16/v2i32 setcc on RV32. (#198685)
Commit: 92799967d5b8c5a73161f4f0e4147e2065f431d7
https://github.com/llvm/llvm-project/commit/92799967d5b8c5a73161f4f0e4147e2065f431d7
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M flang/include/flang/Lower/ConvertType.h
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
A flang/test/Integration/OpenMP/atomic-compare.f90
M flang/test/Lower/OpenMP/Todo/atomic-compare-fail.f90
R flang/test/Lower/OpenMP/Todo/atomic-compare.f90
A flang/test/Lower/OpenMP/atomic-compare.f90
M flang/test/Semantics/OpenMP/atomic-compare.f90
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.h
M mlir/include/mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenACCMPCommon/Interfaces/CMakeLists.txt
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
revert/reapply "[Flang] [OpenMP] atomic compare (#184761)"" (#198978)
Reverts llvm/llvm-project#198848
Reverting the reverted PR
[https://github.com/llvm/llvm-project/pull/198848](https://github.com/llvm/llvm-project/pull/198848)
, since the actual issue was different and the original PR
[https://github.com/llvm/llvm-project/pull/184761](https://github.com/llvm/llvm-project/pull/184761)
was reverted incorrectly.
Ref :
https://github.com/llvm/llvm-project/pull/184761#issuecomment-4501760965
Commit: 2b460b36bdb4ab8f239f5efc38ad83ffde9b1b35
https://github.com/llvm/llvm-project/commit/2b460b36bdb4ab8f239f5efc38ad83ffde9b1b35
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV] Remove unnecessary HasStdExtZbbOrZbkb from some P extension patterns. NFC (#198970)
P implies Zbb so we don't need the extra Predicate.
Commit: 4d0100789dc9b4db7d77c033d8f53f8b7dc68437
https://github.com/llvm/llvm-project/commit/4d0100789dc9b4db7d77c033d8f53f8b7dc68437
Author: Erik Enikeev <evonatarius at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/test/CodeGen/PowerPC/fast-isel-cmp-imm.ll
M llvm/test/CodeGen/PowerPC/fp-strict-fcmp-spe.ll
M llvm/test/CodeGen/PowerPC/legalize-invert-br_cc.ll
M llvm/test/CodeGen/PowerPC/spe.ll
Log Message:
-----------
[PowerPC] set libcall lowering for fp setcc ops on SPE boards (#153238)
SPE fp comparison instructions don't comply with IEEE-754. They treat
special values like NaN and Inf as normalized numbers, which leads to
incorrect results. For example, when comparing NaN with a normal, the
result can be true, even though the standard requires comparisons with
NaN to be false.
This patch fixes the issue by lowering these operations to libcalls. SPE
comparison instructions can still be used when fast-math flag is
enabled.
Commit: 58ae6ac5d5d6a928b246eb2ef25e3bf493203791
https://github.com/llvm/llvm-project/commit/58ae6ac5d5d6a928b246eb2ef25e3bf493203791
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV][P-ext] Return SDValue() instead of calling DAG.UnrollVectorOp for non-splat shift amounts. NFCI (#198914)
The generic legalizer can call DAG.UnrollVectorOp itself.
Commit: 3c8670b4a90c64199e905be698077089b58622ca
https://github.com/llvm/llvm-project/commit/3c8670b4a90c64199e905be698077089b58622ca
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.h
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
M clang/lib/Driver/ToolChains/CrossWindows.cpp
M clang/lib/Driver/ToolChains/CrossWindows.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cuda.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/FreeBSD.h
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Fuchsia.h
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPAMD.h
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HIPSPV.h
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Haiku.h
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/Linux.h
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MSVC.h
M clang/lib/Driver/ToolChains/Managarm.cpp
M clang/lib/Driver/ToolChains/Managarm.h
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/MinGW.h
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/NetBSD.h
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/OHOS.h
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.h
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/PS4CPU.h
M clang/lib/Driver/ToolChains/Serenity.cpp
M clang/lib/Driver/ToolChains/Serenity.h
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Driver/ToolChains/Solaris.h
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Driver/ToolChains/WebAssembly.h
Log Message:
-----------
clang: Add BoundArch/OffloadKind argument to getSupportedSanitizers (#196503)
Currently the AMDGPU HIP and OpenMP toolchains falsely report
all host sanitizers are supported, and then go out of their way
to skip forwarding those to the device compiles. Add an offloading
kind argument so that in the future this can be handled in one
place in the base toolchain.
Co-authored-by: Claude Sonnet 4 <noreply at anthropic.com>
Commit: a77010fc490feb17e892b862bffdb7752c58a8a2
https://github.com/llvm/llvm-project/commit/a77010fc490feb17e892b862bffdb7752c58a8a2
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper-eh.cpp
M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper.cpp
Log Message:
-----------
[CIR] Fix problem with multiple references to an alloca in a cleanup (#198928)
A recent change to hoist allocas out of a deferred cleanup scope had a
bug wherein if multiple entries in the deferred cleanup stack referenced
the same alloca, the second attempt to see if it needed to be hoisted
would assert in the MLIR region code. This was happening because when we
hoist the alloca, we hoist it to a block that is still under
construction. On the second encounter when we're walking its parent
chain to see if it is contained within the cleanup scope we're
processing, our call to get the parent region of the block containing
the alloca would assert because the alloca is in an unlinked block (it
gets added to a region after we're done constructing it).
To fix this problem, I changed the way we're checking for the alloca
being nested within the cleanup scope, using a more robust
implementation that will tolerate encountering unlinked operations.
Assisted-by: Cursor / claude-opus-4.7-thinking-xhigh
Commit: 9b64970de9c2ecf5d19cf7e6c65b56bb9adf807e
https://github.com/llvm/llvm-project/commit/9b64970de9c2ecf5d19cf7e6c65b56bb9adf807e
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/source/Host/windows/PseudoConsole.cpp
M lldb/source/Plugins/Process/Windows/Common/ForwardDecl.h
M lldb/source/Plugins/Process/Windows/Common/LocalDebugDelegate.h
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h
Log Message:
-----------
[NFC][lldb][windows] Replace typedef with using (#199036)
Commit: a5bc2ad5ec7c72d8eb2c1bd1abb1652ab535e9fd
https://github.com/llvm/llvm-project/commit/a5bc2ad5ec7c72d8eb2c1bd1abb1652ab535e9fd
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/test/API/windows/launch/missing-dll/TestMissingDll.py
Log Message:
-----------
[lldb][windows] relax TestMissingDll.py assert (#199046)
Commit: 57011c962565846b7343915ff3489b91cd036da1
https://github.com/llvm/llvm-project/commit/57011c962565846b7343915ff3489b91cd036da1
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/include/lldb/Host/windows/MainLoopWindows.h
M lldb/source/Host/windows/ConnectionConPTYWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ExceptionRecord.h
M lldb/source/Plugins/Process/Windows/Common/IDebugDelegate.h
M lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.h
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.cpp
Log Message:
-----------
[NFC][lldb][windows] Default empty user-defined destructors (#199037)
Commit: 8ef4456ec5780db05c0143f7b3aac56799982cf7
https://github.com/llvm/llvm-project/commit/8ef4456ec5780db05c0143f7b3aac56799982cf7
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/include/lldb/Host/windows/ProcessLauncherWindows.h
M lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
M lldb/source/Host/windows/FileSystem.cpp
M lldb/source/Host/windows/Host.cpp
M lldb/source/Host/windows/HostInfoWindows.cpp
M lldb/source/Host/windows/MainLoopWindows.cpp
M lldb/source/Host/windows/PipeWindows.cpp
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Host/windows/PseudoConsole.cpp
M lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.cpp
M lldb/source/Plugins/Process/Windows/Common/arm64/RegisterContextWindows_arm64.cpp
M lldb/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.cpp
M lldb/source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.cpp
Log Message:
-----------
[NFC][lldb][windows] NULL to nullptr replacement (#199031)
Commit: 243cb25fc005f0bee07eddd60f6900d4ac0d1b3b
https://github.com/llvm/llvm-project/commit/243cb25fc005f0bee07eddd60f6900d4ac0d1b3b
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M flang/test/Integration/OpenMP/atomic-compare.f90
Log Message:
-----------
[flang][OpenMP] Make the atomic-compare test run on aarch64 too (#198849)
Commit: 58cc3da5dc171ad9c52249961a46373800776ce5
https://github.com/llvm/llvm-project/commit/58cc3da5dc171ad9c52249961a46373800776ce5
Author: Md Abdullah Shahneous Bari <md.abdullah.shahneous.bari at intel.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M mlir/lib/Dialect/GPU/Pipelines/CMakeLists.txt
Log Message:
-----------
[mlir][gpu][Pipeline] Fix a link issue introduced in PR#197779. (#199060)
Link MLIRArithTransforms and MLIRMathTransforms in GPU pipelines.
Commit: dc4296a58b48f33853849fc3d2fffee1eb739624
https://github.com/llvm/llvm-project/commit/dc4296a58b48f33853849fc3d2fffee1eb739624
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/include/clang/Driver/SanitizerArgs.h
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPU.h
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPAMD.h
M clang/test/Driver/amdgpu-openmp-sanitize-options.c
A clang/test/Driver/amdgpu-validate-sanitize.cl
M clang/test/Driver/hip-sanitize-options.hip
Log Message:
-----------
clang: Refactor handling of offload sanitizer arguments (#196737)
Previously the AMDGPU toolchains hackily handled -fsanitize arguments.
They would lie and report that all host side sanitizers are available,
then TranslateArgs would filter out the device side cases that do not
work, providing diagnostics for the skipped cases. Move that logic
into the base sanitizer argument parsing.
This makes the produced diagnostics more consistent. Previously we
would get repeated warnings when a sanitizer is fully unsupported
by amdgpu, which should now be once for the toolchain. These could
be further improved; we're printing the specific field of -fsanitize
in more cases where it could be skipped. In other cases we have the
opposite problem, where we aren't reporting the exact sanitizer
from the -f flag in the case that depends on a subtarget feature.
This will help fix other broken target specific flag forwarding bugs
in the future.
Co-authored-by: Claude Sonnet 4 <noreply at anthropic.com>
Commit: 3508db4feeade42b52cf6d0baff8a06d108b05d2
https://github.com/llvm/llvm-project/commit/3508db4feeade42b52cf6d0baff8a06d108b05d2
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseDeclCXX.cpp
A clang/test/Parser/cxx-attributes-missing-closing-in-switch.cpp
A clang/test/Parser/cxx-attributes-missing-closing.cpp
A clang/test/Parser/cxx-attributes-missing-second-closing-in-switch.cpp
A clang/test/Parser/cxx-attributes-missing-with-semi-before-closing.cpp
M clang/test/Parser/cxx-attributes.cpp
M clang/test/Parser/cxx0x-attributes.cpp
M clang/test/Parser/pragma-attribute.cpp
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-grammar.cpp
Log Message:
-----------
[Clang][Parser] Report error when attribute missing ]] followed by ;; (#187580)
Report error when attribute missing enclosing `]] `followed by `;;`
Fixes: #187223
Commit: fe74d124e43687b03017b301255f51de33cc8383
https://github.com/llvm/llvm-project/commit/fe74d124e43687b03017b301255f51de33cc8383
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
Log Message:
-----------
[DirectX][ObjectYAML] Fix name conflict in DXContainerYAML.h (#199062)
After https://github.com/llvm/llvm-project/pull/198222, GCC with
`-fpermissive` reports an error:
```
llvm/include/llvm/ObjectYAML/DXContainerYAML.h:328:34: error: declaration of ‘std::optional<llvm::DXContainerYAML::CompilerVersion> llvm::DXContainerYAML::Part::CompilerVersion’ changes meaning of ‘CompilerVersion’ [-Wchanges-meaning]
328 | std::optional<CompilerVersion> CompilerVersion;
```
Fix that.
Commit: 569857bd82bc9810cf194aef9ff17fafcb7293fa
https://github.com/llvm/llvm-project/commit/569857bd82bc9810cf194aef9ff17fafcb7293fa
Author: Alexis Perry-Holby <aperry at lanl.gov>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
A flang/docs/MeetingNotes/2026/2026-05-20.md
Log Message:
-----------
[flang] Add notes for Flang Community Call May 20th, 2026 (#198912)
Commit: a3158f4938ad3d7c7f5b43ae25d06b9d43703ffb
https://github.com/llvm/llvm-project/commit/a3158f4938ad3d7c7f5b43ae25d06b9d43703ffb
Author: Iñaki V Arrechea <inakiarrechea at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
Log Message:
-----------
Optimization on predecessor count checks for FunctionPropertiesAnalysis (#198940)
It used to need to get the whole bb predecessor count and then check
with the size of it. That needed to go through the whole list only to
check against 1, 2 or 3. By using its already existing basic block
predecessor count function, these attributes can be counted much faster.
Now it doesn't need to go through the whole list. The moment it gets to
the 3rd element, no matter how many predecessors there might be, we have
our answer for the metrics
Commit: 96406d44eef0c011d7da6fe8315dcf89e524e10d
https://github.com/llvm/llvm-project/commit/96406d44eef0c011d7da6fe8315dcf89e524e10d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/test/CodeGen/X86/min-legal-vector-width.ll
Log Message:
-----------
[X86] min-legal-vector-width.ll - update PMADDWD tests to more closely match middle-end vector.reduce.add codegen (#199061)
Matches what we've already done in madd.ll
Commit: 3fa922c82a5ac8ef46349e34d0c5bf067eb26811
https://github.com/llvm/llvm-project/commit/3fa922c82a5ac8ef46349e34d0c5bf067eb26811
Author: Henry Jiang <henry_jiang2 at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
A clang/test/Driver/darwin-ld-samplepgo.c
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
A llvm/test/tools/llvm-lto/Inputs/sample-profile-module.ll
A llvm/test/tools/llvm-lto/Inputs/sample-profile.proftext
A llvm/test/tools/llvm-lto/sample-profile-file-thinlto.ll
A llvm/test/tools/llvm-lto/sample-profile-file.ll
Log Message:
-----------
[Clang][Darwin] Forward profile-sample-file when constructing link job (#198714)
Commit: 35f263c7bb5b8a08ea9adcdfc71454097ef06bc5
https://github.com/llvm/llvm-project/commit/35f263c7bb5b8a08ea9adcdfc71454097ef06bc5
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/include/lldb/Host/windows/PseudoConsole.h
M lldb/source/Host/windows/PipeWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
Log Message:
-----------
[NFC][lldb][windows] Replace C-style casts with static_cast / reinterpret_cast (#199039)
Commit: 4f4ec3c07cfce3ba2112e354a85a0478061e15e4
https://github.com/llvm/llvm-project/commit/4f4ec3c07cfce3ba2112e354a85a0478061e15e4
Author: Steven Wu <stevenwu at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/FrontendActions.h
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendActions.cpp
Log Message:
-----------
[clang] Allow clang only write module/pch when output is different (#198881)
Add an parameter to the output file creation function in clang to allow
it to configure output backend to only write output if the file is
different from the file on the disk. This is useful in a legacy build
system where the incremental build state is tracked by timestamp. For
example, producing the same clang module in the build will not update
the timestamp, thus downstream jobs do not need to be re-run.
The default value is not change so NFI is expected. This is only to
allow clients need such behavior to enable when needed.
Patched-by: hjyamauchi
Co-authored-by: Hiroshi Yamauchi <56735936+hjyamauchi at users.noreply.github.com>
Commit: 92a37ea073b4e628239c3afd058880268dd8627c
https://github.com/llvm/llvm-project/commit/92a37ea073b4e628239c3afd058880268dd8627c
Author: AidinT <at.aidin at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M mlir/docs/Tutorials/DataFlowAnalysis.md
Log Message:
-----------
[mlir][docs] Fix bugs in data flow analysis code example (#198200)
Some minor changes to avoid compilation errors.
1. `MetadataLatticeValue` doesn't define an `insert` method.
2. `it` (the one that changed) and `rhsIt` are both iterators.
Commit: d348eb646d81eb2bf520bf3b6385f10bc3184d7c
https://github.com/llvm/llvm-project/commit/d348eb646d81eb2bf520bf3b6385f10bc3184d7c
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_copies.mir
Log Message:
-----------
[AMDGPU] Skip bridge copies for grouped MFMA instructions (#198555)
When the MFMA-form rewrite moves a chain of matrix ops from VGPR to AGPR
form, the bridges between ops in the chain don't exist post-rewrite,
instead they all live in AGPR-form together. The cost model was counting
those phantom bridges and rejecting rewrites that were actually
profitable.
Treat the candidate set as a group. Edges inside the group need no
bridge. Skip candidates whose results escape to non-matrix users.
Co-author: Vlad Romanov <Vladislav.Romanov at amd.com>
Commit: d7c8e716711c57dae3b09b8877c59dc456183f74
https://github.com/llvm/llvm-project/commit/d7c8e716711c57dae3b09b8877c59dc456183f74
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/test/CIR/CodeGen/atomic.c
Log Message:
-----------
[CIR] Fix atomic-fetch conflict: (#199066)
We had #195537 and #198871 both attempt to fix the same problem, in
mildly different ways. My patch (the latter) did so in a way that was
rendered 'moot' by the former patch.
After looking into it further, I believe that the former is the
'correct' patch.
THIS patch is a partial revert of my patch, leaving the lambda (as I
think it is a good 'readability' improvement), plus leaving/updating
the test.
Commit: 299d11f73b09953f2d913c0301c22db0075e76fb
https://github.com/llvm/llvm-project/commit/299d11f73b09953f2d913c0301c22db0075e76fb
Author: Luke Lau <luke at igalia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
Log Message:
-----------
[RISCV] Pass MachineOperand * to avoid copying. NFC (#199065)
MachineOperand is 32 bytes according to clangd so passing a pointer will
be cheaper
Commit: 1618a247e349a27944ce0da4180375de4f8d23f8
https://github.com/llvm/llvm-project/commit/1618a247e349a27944ce0da4180375de4f8d23f8
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
Log Message:
-----------
[clang-doc] Use distinct APIs for fixed arena allocation sites (#190426)
Typically, code either always emits data into the TransientArena or the
PersistentArena. Use more explicit APIs to convey the intent directly
instead of relying on parameters or defaults.
Commit: 140b4ec6f1184bae46154967fec4a4348c5fae83
https://github.com/llvm/llvm-project/commit/140b4ec6f1184bae46154967fec4a4348c5fae83
Author: Pablo Reble <pablo.reble at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-flat-scratch-init-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-min-agpr-alloc.ll
Log Message:
-----------
[AMDGPU] Use pessimistic fixpoint in AAAMDGPUMinAGPRAlloc for sanitized functions (#197795)
Adding pessimistic fixpoint when a function has any sanitizer attribute
(`sanitize_address`, `sanitize_memory`, `sanitize_thread`,
`sanitize_hwaddress`, `sanitize_mem_tag`). This prevents the Attributor
from inferring "amdgpu-agpr-alloc"="0" for sanitized functions or their
callers, letting the register allocator conservatively reserve AGPR
capacity.
This patch should prevent kernel to exceeds the hardware register budget
on gfx90a where VPGR and AGPR share the same physical register file.
---------
Co-authored-by: Brendon Cahoon <Brendon.Cahoon at amd.com>
Commit: 5cc0cc5dd3d11dfc43dedd188bf26584df35983d
https://github.com/llvm/llvm-project/commit/5cc0cc5dd3d11dfc43dedd188bf26584df35983d
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCInstrFormats.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCInstrMMA.td
M llvm/lib/Target/PowerPC/PPCInstrVSX.td
Log Message:
-----------
[PowerPC][NFC] Change arguments of PPCPostRAExpPseudo/PseudoXFormMemOp (#198861)
The assembler string of the pseudo is almost always a # followed by the
name of the pseudo. A good part of the pseudos does not have a pattern.
Changing the order of arguments asmstr and pattern in PPCPostRAExpPseudo
and PseudoXFormMemOp, and assigning default values, reduces repetitions.
Commit: 2c370e76b812a26b67d5d1944d2e7f4a9304e75d
https://github.com/llvm/llvm-project/commit/2c370e76b812a26b67d5d1944d2e7f4a9304e75d
Author: Ingo Müller <ingomueller at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Fixes 20be2d6b (#199054)
Commit: f1a27247c0defddd519531120fbc8f1694a098a6
https://github.com/llvm/llvm-project/commit/f1a27247c0defddd519531120fbc8f1694a098a6
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeReader.h
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-doc/Generators.h
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/MDMustacheGenerator.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/Serialize.h
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
Log Message:
-----------
[clang-doc] Removed OwnedPtr alias (#190427)
The alias served a purpose during migration, but now conveys the wrong
semantics, as the memory of these pointers is interned inside a local
arena.
Commit: f4076e1c18178ebfa7db07da955af5d8e416d8bd
https://github.com/llvm/llvm-project/commit/f4076e1c18178ebfa7db07da955af5d8e416d8bd
Author: lntue <lntue at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/NormalFloat.h
M libc/src/__support/FPUtil/bfloat16.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/except_value_utils.h
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/FPUtil/rounding_mode.h
M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
M libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
M libc/src/__support/big_int.h
M libc/src/__support/complex_basic_ops.h
M libc/src/__support/macros/attributes.h
M libc/src/__support/macros/optimization.h
M libc/src/__support/math/acos.h
M libc/src/__support/math/acosf.h
M libc/src/__support/math/acoshf.h
M libc/src/__support/math/asinf.h
M libc/src/__support/math/asinhf.h
M libc/src/__support/math/atan.h
M libc/src/__support/math/atan2.h
M libc/src/__support/math/atan2f.h
M libc/src/__support/math/atan2f128.h
M libc/src/__support/math/atanf.h
M libc/src/__support/math/atanhf.h
M libc/src/__support/math/cbrt.h
M libc/src/__support/math/cbrtf.h
M libc/src/__support/math/cos.h
M libc/src/__support/math/cosf.h
M libc/src/__support/math/coshf.h
M libc/src/__support/math/cospif.h
M libc/src/__support/math/dsqrtf128.h
M libc/src/__support/math/dsqrtl.h
M libc/src/__support/math/erff.h
M libc/src/__support/math/exp10.h
M libc/src/__support/math/exp10f.h
M libc/src/__support/math/exp10m1f.h
M libc/src/__support/math/exp2.h
M libc/src/__support/math/exp2f.h
M libc/src/__support/math/exp2m1f.h
M libc/src/__support/math/expf.h
M libc/src/__support/math/expm1.h
M libc/src/__support/math/expm1f.h
M libc/src/__support/math/fsqrt.h
M libc/src/__support/math/fsqrtf128.h
M libc/src/__support/math/fsqrtl.h
M libc/src/__support/math/log.h
M libc/src/__support/math/nextafterl.h
M libc/src/__support/math/nextdownl.h
M libc/src/__support/math/nextupl.h
M libc/src/__support/math/pow.h
M libc/src/__support/math/powf.h
M libc/src/__support/math/rsqrtf.h
M libc/src/__support/math/sin.h
M libc/src/__support/math/sinhf.h
M libc/src/__support/math/tan.h
M libc/src/string/memory_utils/utils.h
M libc/src/string/memory_utils/x86_64/inline_strlen.h
M libc/test/shared/shared_math_constexpr_test.cpp
Log Message:
-----------
[libc][math] Add gcc-7 to 9 compatibility for shared math. (#197868)
- Add more fine-grained constexpr annotations.
- Apply fine-grained constexpr annotations to `src/__support`,
`src/__support/FPUtil` folder.
- Remove or update constexpr annotations for functions in
`src/__support/math` folder.
- Fix or ignore old gcc's warnings.
Assisted-by: Gemini 3.1 Flash with step 3.
Commit: af103f5b32afc9335f5ae347fdda3787c35abc9a
https://github.com/llvm/llvm-project/commit/af103f5b32afc9335f5ae347fdda3787c35abc9a
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M flang/include/flang/Optimizer/Support/Utils.h
M flang/lib/Optimizer/Support/Utils.cpp
Log Message:
-----------
[flang] Add utility to obtain presentable function name (#199067)
This PR adds `getPresentableFunctionName` utility to enable obtaining
the demangled and no underscore function name that can be used for
presentation for a user and is consistent with the name used in source
code.
Commit: a5a3e137172cd7577722a84db76d8085d02959a5
https://github.com/llvm/llvm-project/commit/a5a3e137172cd7577722a84db76d8085d02959a5
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/test/tools/llubi/int_arith.ll
M llvm/tools/llubi/lib/Interpreter.cpp
Log Message:
-----------
[llubi] Fix poison handling of shr exact with zero LHS (#199070)
When the LHS is zero, and the exact flag is set on lshr/ashr, llubi
cannot yield poison as `LHS.countr_zero() + 1` is larger than the bit
width.
Closes https://github.com/llvm/llvm-project/issues/198870.
---------
Co-authored-by: John Regehr <regehr at cs.utah.edu>
Commit: 3a01ff6826ad0f6bd7377995e5587019078d77cb
https://github.com/llvm/llvm-project/commit/3a01ff6826ad0f6bd7377995e5587019078d77cb
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/MDMustacheGenerator.cpp
M clang-tools-extra/clang-doc/support/File.cpp
M clang-tools-extra/clang-doc/support/File.h
M clang-tools-extra/clang-doc/support/Utils.cpp
M clang-tools-extra/clang-doc/support/Utils.h
Log Message:
-----------
[clang-doc] Fix file header style (#190437)
Since we're fixing headers, we can also improve the file documentation
to follow the llvm coding standard.
Commit: 0e23a7cd8dedeb409ccaecf2237c9a0020b02c25
https://github.com/llvm/llvm-project/commit/0e23a7cd8dedeb409ccaecf2237c9a0020b02c25
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.h
Log Message:
-----------
[clang-doc] Use const and constexpr arrays in BitcodeWriter (#198066)
We have three static data structures in the BitcodeWriter implementation
that all use std::vector. Instead, we can make them constant arrays.
These data structures and their types are also not in the anonymous
namespace, so just move these helpers out of the clang::doc namespace
and improve the hygiene since we're changing the code anyway.
Commit: 81de6d0eb85f849080b856dd42acc1778bb8330f
https://github.com/llvm/llvm-project/commit/81de6d0eb85f849080b856dd42acc1778bb8330f
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/Representation.h
Log Message:
-----------
[clang-doc][nfc] Reformat and revise comment block (#190428)
Commit: 1bd4457660bd5499e3dc6f6007749f6f512b674d
https://github.com/llvm/llvm-project/commit/1bd4457660bd5499e3dc6f6007749f6f512b674d
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGenOpenCL/vector.cl
Log Message:
-----------
[CIR] Implement TernaryOp for Vec of float in OpenCL (#198846)
Implement support for TernaryOp for Vec float in OpenCL
Issue https://github.com/llvm/llvm-project/issues/192311
Commit: fde0ea05dab19678ee341c6d955cd89b7608c16b
https://github.com/llvm/llvm-project/commit/fde0ea05dab19678ee341c6d955cd89b7608c16b
Author: Kareem Ergawy <kergawy at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
A flang/test/Transforms/tbaa-type-converter-boxproc.fir
Log Message:
-----------
[flang][AddAliasTags] Fix segfault when type contains `fir.boxproc` (#198997)
`fir.boxproc` currently has no LLVM representation (its converter
returns `std::nullopt`). When `AddAliasTags` called
`getTypeSizeAndAlignment` on a type containing `fir.boxproc` (e.g. a
sequence of a derived type with procedure pointer components),
`convertRecordType` and `convertSequenceType` would crash trying to
mlir::cast a null type.
For any type that might recursively contain a non-convertible type
(`fir.boxproc` in this case), `TypeConverter` would now propagate an
empty optional `mlir::Type` and emit a debug warning that conversion
failed. This helps us avoid seg faulting expecting that the type or some
part of it were converted correctly.
Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: ba2c3b0c12e984eb77ef329b4c75e54b63513837
https://github.com/llvm/llvm-project/commit/ba2c3b0c12e984eb77ef329b4c75e54b63513837
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M libc/config/baremetal/config.json
Log Message:
-----------
[libc] Enable baremetal float printf using modular format (#198900)
The most best configuration for llvm-libc is for it to be used with a
recent clang. Accordingly, this patch enables floating point type
support in printf for baremetal without inflating code size by also
enabling modular printf support. This is safe for older clang and other
compilers, but it would increase code size for the default baremetal
configuration on such targets.
---------
Co-authored-by: Michael Jones <michaelrj at google.com>
Commit: cdc2749dffafaa1d43815d58303cc08516732f60
https://github.com/llvm/llvm-project/commit/cdc2749dffafaa1d43815d58303cc08516732f60
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/test/Driver/msvc-link.c
Log Message:
-----------
[Driver][MSVC] Use LLD if DWARF is requested (#198600)
Clang can emit DWARF on Windows if requested with `-gdwarf` (or
`-gdwarf-N`). The generated object files will then have the `.debug_*`
sections. These section names are all larger than eight bytes. This
creates an issue in the final executable. PE/COFF executables don't
allow section names longer than eight characters. From the
[docs](https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#section-table-section-headers):
> **Name**: An 8-byte, null-padded UTF-8 encoded string. If the string
is exactly 8 characters long, there is no terminating null. For longer
names, this field contains a slash (/) that is followed by an ASCII
representation of a decimal number that is an offset into the string
table. Executable images do not use a string table and do not support
section names longer than 8 characters.
MSVC's linker follows this and will truncate section names in
executables. So a `.debug_info` would become `.debug_i`. LLD on the
other hand does allow these long section names (with a warning). This
makes DWARF work on MinGW.
The MSVC toolchain will use the MSVC linker by default (unless
`CLANG_DEFAULT_LINKER` specifies a different one). This will truncate
the section names. So if one would want to use DWARF, they'd also need
to link with LLD.
This PR changes the default linker to LLD if DWARF is requested.
Otherwise, the old default will be used.
Commit: 5053b88b21a4079b16b1f4f1dad18fd771049f60
https://github.com/llvm/llvm-project/commit/5053b88b21a4079b16b1f4f1dad18fd771049f60
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M flang/include/flang/Semantics/openmp-utils.h
M flang/lib/Semantics/openmp-utils.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/OpenMP/affected-loops.f90
Log Message:
-----------
[flang][OpenMP] Limit scope creation to constructs with data environment (#198780)
Identify specific constructs that require data envorinments, and only
create scopes for them. This avoids scopes for loop-transformation
constructs, for example.
This isn't a correctness fix, but a clarification and a simplification
of the name-resolution code for OpenMP.
Commit: 7a83597cecf9d3364ecdd90cb2d443d8e22b4e04
https://github.com/llvm/llvm-project/commit/7a83597cecf9d3364ecdd90cb2d443d8e22b4e04
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
A flang/test/Transforms/FIRToMemRef/array-coor-rebox-slice-shape.mlir
M flang/test/Transforms/FIRToMemRef/array-coor-slice-shift.mlir
Log Message:
-----------
[flang][FIRToMemRef] Fixed array_coor with box/shape/slice. (#198933)
A `fir.array_coor` with box input, a slice and a shape without
a shift, should also be converted using dimensions information
stored in the input box (case (c) in the updated code).
Commit: 928541e2ae0ae3ee131eeba622654cf10c8787a6
https://github.com/llvm/llvm-project/commit/928541e2ae0ae3ee131eeba622654cf10c8787a6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/invoke-extract.ll
A llvm/test/Transforms/SLPVectorizer/X86/callbr-extract.ll
Log Message:
-----------
[SLP] Treat ExtractElement from terminator results as gather
When canReuseExtract sees an ExtractElement bundle whose source vector
is produced by a terminator instruction (invoke or callbr), the SLP
vectorizer used to mark the bundle as Vectorize and reuse the
terminator result as the bundle's vectorized value. For external uses
of the bundle, vectorizeTree later sets the IRBuilder insertion point
to next(VecI), which lands past the terminator and produces an invalid
CFG (a new extractelement is inserted after the terminator in the
predecessor block).
Fixes #199021
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/199089
Commit: 6768170423542b772f9dfbfd21b06eefd983e188
https://github.com/llvm/llvm-project/commit/6768170423542b772f9dfbfd21b06eefd983e188
Author: ykiko <ykiko at clice.io>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/AST/ast-print-explicit-instantiation.cpp
M clang/test/AST/explicit-instantiation-source-info.cpp
Log Message:
-----------
[Clang][AST] Fix ExplicitInstantiationDecl accessors for variable templates with tag types (#197856)
Several `ExplicitInstantiationDecl` accessors assumed that
`TypeSourceInfo` always encodes a class entity, but for variable
templates the `TypeSourceInfo` holds the *declared type* (e.g. `Plain`,
`Color`, `Wrap<int>`). When that declared type happened to be a
`TagType` or `TemplateSpecializationType`, the accessors would
misinterpret it:
- `getTypeAsWritten()` returned `nullptr` → crash in `DeclPrinter`
- `getQualifierLoc()` leaked the type's qualifier into the variable name
- `getTagKWLoc()` returned the type's elaborated keyword
- `getNumTemplateArgs` / angle-loc getters extracted from the type
instead of the variable's template arguments
Add a private `getClassTypeLoc()` helper that returns the entity
`TypeLoc` only for class-like instantiations
(`isa<RecordDecl>(getSpecialization())`), and guard all `TypeSourceInfo`
fallback paths with it. For non-class entities the accessors now
correctly skip the `TypeSourceInfo` and return defaults or read from
trailing objects.
Also fix stale template argument source locations for variable
templates: when an explicit instantiation definition follows a prior
declaration, `VarTemplateSpecializationDecl::getTemplateArgsAsWritten()`
returns the first declaration's locations. Construct fresh
`ASTTemplateArgumentListInfo` from the current declarator instead.
Fixes #197797
Fixes https://github.com/llvm/llvm-project/issues/191442#issuecomment-4457732314
Commit: e57ade6b092274d75aa9e4a725a1df0dbed8070b
https://github.com/llvm/llvm-project/commit/e57ade6b092274d75aa9e4a725a1df0dbed8070b
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/ContinuationIndenter.h
M clang/unittests/Format/AlignBracketsTest.cpp
Log Message:
-----------
[clang-format] Stop indenting the closing brace for the initializer (#197590)
new
```C++
SomeStruct //
s = {
"xxxxxxxxxxxxx",
};
```
old
```C++
SomeStruct //
s = {
"xxxxxxxxxxxxx",
};
```
See the comment. https://github.com/llvm/llvm-project/pull/192299#issuecomment-4414273071
Commit: 3b5bbe9a5cc68e6f1493dca6b0251f546ed95afe
https://github.com/llvm/llvm-project/commit/3b5bbe9a5cc68e6f1493dca6b0251f546ed95afe
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
M flang/test/Fir/array-coor-canonicalization.fir
M flang/test/Transforms/FIRToMemRef/array-coor-slice-shift.mlir
Log Message:
-----------
[flang] Canonicalize sliced array access by fir.array_coor. (#197845)
This patch adds a canonicalization pattern for pulling rank-reducing
slices into `fir.array_coor`. This is helpful to preserve the original
rank of the array in `fir.array_coor`, which then helps representing
slice accesses in memref dialect as accesses to the original array.
This way, further conversion to affine dialect has benefits of
exposing the math applied to indices of all array dimensions.
For example, if a non-scalar slice depends on a loop IV, pulling
this into the original array access allows building access maps
enabling affine dependency analysis.
I considered the following three models for the addressing used
in `fir.array_coor` with rank reducing slices:
1) Mixed model:
- Encoding
* Scalar-sliced dims: index is slice_lb
* Non-scalar dims: index is section-style (1-based)
- Pros
* Minimal canonicalization math
* Keeps scalar selection explicit in the index list
- Cons
* Semantics are mixed in one array_coor
* Harder to reason about/debug
* Requires special-case logic in later lowering (FIRToMemRef / CodeGen)
to interpret non-scalar dims differently from scalar dims
2) Uniform section-style model (all 1-based):
- Encoding
* Scalar-sliced dims: index is 1
* Non-scalar dims: index is section-style (1-based)
* Scalar selection recovered only from slice_lb
- Pros
* Conceptually clean and consistent (single index convention)
* Easier mental model
- Cons
* Needs coordinated changes in both lowerings
* Lowerings must always reconstruct scalar selected coordinates
from slice metadata
* Higher migration risk unless all paths are updated together
3) CodeGen-compatible coordinate-space model (the implemented one):
- Encoding
* Scalar-sliced dims: index is slice_lb
* Non-scalar dims: index converted to coordinate-space (lb + idx - 1)
- Pros
* No behavioral changes needed in CodeGen logic
* Aligns canonicalized IR with existing coordinate-space assumptions
* Avoids extra CodeGen compatibility branches
- Cons
* Canonicalization is more complex (must synthesize index transforms)
* FIRToMemRef still needs alignment for full-rank vs reduced-rank
index consumption
* Slightly less "visually uniform" than all-1-based
Assisted by Codex.
Commit: d5ba663c28ec6374f02e630f79459d4ef639f51c
https://github.com/llvm/llvm-project/commit/d5ba663c28ec6374f02e630f79459d4ef639f51c
Author: Alison Zhang <alisonzhang at ibm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/test/Driver/fprofile-update.c
M compiler-rt/lib/builtins/CMakeLists.txt
Log Message:
-----------
[AIX][clang][compiler_rt] rename libatomic archive to libclang_rt (#197485)
This PR implements the following on AIX to avoid conflicts between LLVM
libatomic and the GNU libatomic in the AIX toolbox as they share the
same library name:
- Updates the clang driver to use `-lcompiler_rt` instead of `-latomic`
- Renames the compiler-rt archive from `libatomic.a` to
`libcompiler_rt.a`
Only the archive and not the shared object (`libatomic.so.1`) is renamed
because renaming one component is enough to distinguish between the LLVM
and GNU libatomic libraries. This also allows us to add additional
shared objects to the `libcompiler_rt.a` archive in the future if
needed.
Commit: 6c296e4c25851868eba66131a4329f4e91c9fda7
https://github.com/llvm/llvm-project/commit/6c296e4c25851868eba66131a4329f4e91c9fda7
Author: Zaky Hermawan <44158147+ZakyHermawan at users.noreply.github.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/bitcast-cmp.ll
Log Message:
-----------
[RISCV] Fold Bitcast long bitwidth int to vector type (#194788)
Prevent bitcasts from `i256` to `<16 x i16>` or `<8 x i32>` from falling
back to scalar types.
Fixes: https://github.com/llvm/llvm-project/issues/180910
---------
Signed-off-by: ZakyHermawan <zaky.hermawan9615 at gmail.com>
Commit: 20cb1ccbb6b3ff23a69f66d02128ead2a4efa11e
https://github.com/llvm/llvm-project/commit/20cb1ccbb6b3ff23a69f66d02128ead2a4efa11e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/cmake/modules/AddLLDB.cmake
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/macosx/objcxx/CMakeLists.txt
M lldb/source/Utility/FileSpecList.cpp
Log Message:
-----------
[lldb][CMake] Enforce lldbUtility and lldbHost layering invariants (#198952)
lldbUtility cannot depend on any other lldb library, and lldbHost can
only depend on lldbUtility. Breaking those invariants is an easy mistake
to make and has happened repeatedly: most recently in #198931.
Because LLDB statically links its libraries on macOS, a stray LINK_LIBS
entry, or a stray cross-library #include without a matching CMake
dependency, both succeed at link time and only surface much later as a
layering bug.
Add two configure-time checks in `add_lldb_library` so the build fails
fast when these invariants are broken:
1. A new `ALLOWED_INTERNAL_DEPENDENCIES <list>` parameter allowlists
which `^lldb`-prefixed `LINK_LIBS` entries a target may depend on. The
existing `NO_INTERNAL_DEPENDENCIES` flag is the empty-allowlist case and
continues to work.
2. Whenever either of those is set, also scan the target's sources and
public headers for `#include "lldb/<Library>/..."` directives outside
the allowlist, and FATAL_ERROR with the offending file and line. This
catches the macOS static-linking case where a missing CMake dependency
silently resolves at link time.
Apply the new parameter to lldbHost (allowing only lldbUtility plus the
Darwin Objective-C++ shim lldbHostMacOSXObjCXX) and to that shim itself.
lldbUtility already used `NO_INTERNAL_DEPENDENCIES` and now picks up the
header scan automatically.
`lldb/Host/windows/windows.h` is special-cased in the scan: it is a
system-header wrapper used tree-wide and carries no real dependency.
Drop two unused `lldb/Target/*` includes from `Utility/FileSpecList.cpp`
that the scan would otherwise flag.
Assisted-by: Claude
---------
Co-authored-by: Charles Zablit <c_zablit at apple.com>
Commit: 5c5f736c661c97c4850cf8ea95dce9efb481a4ca
https://github.com/llvm/llvm-project/commit/5c5f736c661c97c4850cf8ea95dce9efb481a4ca
Author: joaosaffran <joaosaffranllvm at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reversebits.ll
Log Message:
-----------
[HLSL][SPIRV] Correct reversebit 64 split (#197849)
Replace the split-lanes + OpCompositeConstruct sequence in
selectBitreverse64 with a single OpVectorShuffle to swap the high/low
32-bit halves, simplifying both the selector logic, the emitted SPIR-V
and fixing the bug.
fix: #197810
Assisted by: Claude Opus 4.6
Commit: 0d55de9750152fe6ae4d7152df7a88c18fef2f6c
https://github.com/llvm/llvm-project/commit/0d55de9750152fe6ae4d7152df7a88c18fef2f6c
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
Log Message:
-----------
[Github] Use --require-hashes when installing python dependencies for tooling container (#198880)
https://github.com/llvm/llvm-project/security/code-scanning/1501
https://github.com/llvm/llvm-project/security/code-scanning/1502
Commit: 73f2dd8cf1325ed520d708d193c32a929664faa4
https://github.com/llvm/llvm-project/commit/73f2dd8cf1325ed520d708d193c32a929664faa4
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
Log Message:
-----------
[flang][OpenMP] Remove unnecessary code from OmpVisitor, NFC (#198865)
Commit: 8a7f785beccb8e71b739eacab0ff0b9803753638
https://github.com/llvm/llvm-project/commit/8a7f785beccb8e71b739eacab0ff0b9803753638
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M .ci/metrics/Dockerfile
Log Message:
-----------
[CI] Pin base container in metrics Dockerfile (#198879)
https://github.com/llvm/llvm-project/security/code-scanning/1309
Commit: c12d1131cd2cf1294a4f88fc565308b4c536a936
https://github.com/llvm/llvm-project/commit/c12d1131cd2cf1294a4f88fc565308b4c536a936
Author: Caroline Newcombe <caroline.newcombe at hpe.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/test/Lower/Intrinsics/bge.f90
M flang/test/Lower/Intrinsics/bgt.f90
M flang/test/Lower/Intrinsics/ble.f90
M flang/test/Lower/Intrinsics/blt.f90
Log Message:
-----------
[flang] Implement lowering for BOZ literal arguments in BGE, BLE, BGT, BLT (#191874)
BGE/BGT/BLE/BLT allow one or both arguments to be a BOZ literal
constant. Unlike other intrinsics that accept BOZ arguments, these do
not convert the BOZ to a typed value during semantic analysis.
When both arguments are constants, the comparison is folded at compile
time in `fold-logical.cpp`. However, when the non-BOZ argument is a
variable, folding is skipped and the BOZ literal constant persists in
the expression tree through to lowering.
The lowering implementation wraps the `BOZLiteralConstant]` in a
`Constant<LargestInt>` and feeds it through the existing
`convertConstant` infrastructure. Since BOZ is always a scalar, this
always produces a trivial SSA value. This follows the same pattern as
`gen(Constant<T>)` for the trivial scalar path. The `AddrOfOp` branch
from that template is intentionally omitted because a scalar i128
constant never produces a global reference. The
`outlineBigConstantInReadOnlyMemory` parameter is set to false to make
this intent explicit.
Tests:
- Added BOZ lowering tests to bge.f90, bgt.f90, ble.f90, blt.f90
covering BOZ in first position, second position
- Wider-than-companion BOZ (z'1FFFFFFFF' with i32 companion) lowering
test added to bge.f90
Issue #190818
Enable test in llvm-test-suite:
https://github.com/llvm/llvm-test-suite/pull/393https://github.com/llvm/llvm-test-suite/pull/393
Commit: 07177216baaedaeba52edd92e4514521d8d36807
https://github.com/llvm/llvm-project/commit/07177216baaedaeba52edd92e4514521d8d36807
Author: Conscat <omg.lily2000 at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format] Fix unrecognized qualifiers breaking east-const (#198656)
Long time reader, first time contributor. :3
I've been experimenting with `_Nullable` and `_Nonnull` qualifiers in my
project for which the `.clang-format` configures:
```
QualifierAlignment: Custom
QualifierOrder: [type, const, volatile]
```
This results in the following form:
```cpp
T const* _Nullable const identifier =
```
Formatting as:
```cpp
T const* _Nullable identifier const =
```
Which naturally doesn't compile. This is semi-blocking my project, so I
would like to contribute it reasonably quickly if possible. I'll try to
respond to feedback promptly.
This is possible to fix in a targeted way within the format rule, but I
believe the underlying issue is these qualifiers need to hold true under
`isQualifier`. That seems to fix my issue and may fix others I haven't
discovered. I've extended this to other qualifiers I know of, but not
`__ptrauth` family which seems to have its own special handling.
Assisted-by: Cursor/Claude Opus
Commit: e9d88ca08f711c8ace6787102ee537432e158867
https://github.com/llvm/llvm-project/commit/e9d88ca08f711c8ace6787102ee537432e158867
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M libcxx/include/__iterator/access.h
M libcxx/include/__iterator/back_insert_iterator.h
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/counted_iterator.h
M libcxx/include/__iterator/data.h
M libcxx/include/__iterator/distance.h
M libcxx/include/__iterator/front_insert_iterator.h
M libcxx/include/__iterator/insert_iterator.h
M libcxx/include/__iterator/istream_iterator.h
M libcxx/include/__iterator/istreambuf_iterator.h
M libcxx/include/__iterator/move_iterator.h
M libcxx/include/__iterator/move_sentinel.h
M libcxx/include/__iterator/ostream_iterator.h
M libcxx/include/__iterator/ostreambuf_iterator.h
M libcxx/include/__iterator/reverse_access.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__iterator/size.h
R libcxx/test/libcxx/diagnostics/iterator.nodiscard.verify.cpp
A libcxx/test/libcxx/iterators/nodiscard.verify.cpp
Log Message:
-----------
[libc++][iterator] Applied `[[nodiscard]]` (#172200)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.htm
- https://wg21.link/iterators
Also moves the test to the correct location:
`libcxx/test/libcxx/iterators/nodiscard.verify.cpp`
Towards #172124
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: a01dddd1e603dba3210c5279e9d32d97d2373b20
https://github.com/llvm/llvm-project/commit/a01dddd1e603dba3210c5279e9d32d97d2373b20
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper-eh.cpp
M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper.cpp
Log Message:
-----------
[CIR] Fix a problem with hoisting allocas out of nested cleanup scopes (#199093)
A recent change to the code that hoists allocas out of a cleanup scope
introduced an assertion that triggers when we're trying to hoist an
alloca that is in a cleanup scope that is nested within the cleanup
scope we're processing. I didn't think that could happen, but it turns
out the LLVM code itself triggers it.
This change removes the assertion and updates the check for the alloca
being contained within the cleanup scope we're processing so that it can
handle the case with nested scopes.
Assisted-by: Cursor / claude-opus-4.7-thinking-xhigh
Commit: 62da8f217b3e8b818f6a98805b8fef9a82cde4e4
https://github.com/llvm/llvm-project/commit/62da8f217b3e8b818f6a98805b8fef9a82cde4e4
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/ordered-reduction-replaced.ll
Log Message:
-----------
[SLP] Use TrackedVals for trailing scalars in tryToReduceOrdered
The trailing scalar fold passed the original candidate value to
createOp instead of its tracked form. When the same scalar also
appears inside the vectorized window, vectorizeTree replaces its
scalar uses with an extractelement (the scalar is added to the
externally-used values list), so the original instruction is gone
by the time the trailing fold runs. createOp then builds an fadd
that references the stale, replaced scalar, producing invalid IR
or a crash.
Look up the candidate in TrackedVals to retrieve the current
(extractelement when applicable) value, matching the leading
scalar fold loop above.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/199109
Commit: a9f18130ac69552523b4b081433b511945dd18a1
https://github.com/llvm/llvm-project/commit/a9f18130ac69552523b4b081433b511945dd18a1
Author: adams381 <adams at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/test/CIR/CodeGenBuiltins/builtin-bit.cpp
Log Message:
-----------
[CIR] Allow clz/ctz/popcount on u8 and u128 widths (#198911)
libcxx with `-fclangir` was rejecting `cir.clz`, `cir.ctz`, and
`cir.popcount` when the operand type is `!u8i` or `!u128i` — the
verifier only allowed 16/32/64-bit widths even though codegen already
emits the right `llvm.ctlz` / `llvm.cttz` / `llvm.ctpop` intrinsics for
those sizes. That shows up heavily in the May 20 upstream-main libcxx
baseline (`verifier-rejects-pre-pass-ir` bucket).
Widen the TableGen width lists on the three ops to match `bitreverse`
(8 through 128). `builtin-bit.cpp` gains `popcountg` on `unsigned char`,
and `popcountg` / `clzg` / `ctzg` on `unsigned __int128` when
`__SIZEOF_INT128__` is 16, each with CIR/LLVM/OGCG checks.
Commit: b6a56c4665936ea28c2d4739c92714a725c2c174
https://github.com/llvm/llvm-project/commit/b6a56c4665936ea28c2d4739c92714a725c2c174
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/source/ValueObject/ValueObject.cpp
A lldb/test/API/python_api/sbvalue_get_parent/MyContainer_synthetic.py
M lldb/test/API/python_api/sbvalue_get_parent/TestSBValueGetParent.py
M lldb/test/API/python_api/sbvalue_get_parent/main.cpp
Log Message:
-----------
[lldb] Call SetSyntheticChildrenGenerated on GetSyntheticChildAtOffset (#198859)
Follow up to #197311 and based on the feedback on that PR.
One way a Python synthetic formatter can construct a child is with
`SBValue::GetSyntheticChildAtOffset`. However those values were are not
marked as having been generated by `SyntheticChildren`. This means the
previous PR (#197311) did not apply to them as would be expected. The
fix is to call `SetSyntheticChildrenGenerated(true)` on the child values
created in `GetSyntheticChildAtOffset`.
Assisted-by: claude (tests and review)
Commit: 676ccb68cf9571ad2395e1658f5248a3b3d4304d
https://github.com/llvm/llvm-project/commit/676ccb68cf9571ad2395e1658f5248a3b3d4304d
Author: adams381 <adams at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGenBuiltins/builtin-call.cpp
A clang/test/CIR/IR/assume.cir
A clang/test/CIR/IR/invalid-assume.cir
Log Message:
-----------
[CIR] Lower __builtin_assume_dereferenceable (#197262)
`__builtin_assume_dereferenceable` was reported NYI by ClangIR. It's
heavily exercised by libcxx via `__memory/valid_range.h`, so most of
`<algorithm>` currently fails to compile under `-fclangir`.
Adds a `cir.assume_dereferenceable` op (pointer + pointer-sized
integer), emits it from CIRGenBuiltin, and lowers it to
```
call void @llvm.assume(i1 true) [ "dereferenceable"(ptr, i64) ]
```
which is what classic Clang's `Builder.CreateDereferenceableAssumption`
produces.
The size operand is widened/narrowed to `intptr_t` at the CIRGen layer
to match classic CodeGen's `IntPtrTy` conversion.
Tests cover the dynamic-size, constant-size, and narrow-integer-size
cases against CIR, CIR->LLVM, and OGCG.
Commit: 1be3309a1987a57d1eaebe39ba3d69014304387a
https://github.com/llvm/llvm-project/commit/1be3309a1987a57d1eaebe39ba3d69014304387a
Author: adams381 <adams at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-undef-rvalue.cpp
Log Message:
-----------
[CIR] Implement getUndefRValue for scalar, complex, and aggregate (#198921)
NYI builtin and call paths in CIR were calling getUndefRValue but the
helper only reported "unsupported type for undef rvalue" and returned
null. libcxx then hit follow-on failures (including scalar-conversion
crashes) on the same translation units that already had other NYI
diagnostics.
Implement the same three cases as classic CodeGen: #cir.undef for
scalar and complex, and an undef.agg.tmp stack slot for aggregates.
Lower cir.const #cir.undef to llvm.undef in DirectToLLVM so emit-llvm
does not assert in the constant op lowering. builtin-undef-rvalue.cpp
covers the __builtin_reduce_or NYI stub path with CIR/LLVM/OGCG checks.
Commit: 0f679999aae135b388c25fb1acbb030109c6418f
https://github.com/llvm/llvm-project/commit/0f679999aae135b388c25fb1acbb030109c6418f
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M libc/config/baremetal/config.json
Log Message:
-----------
Revert "[libc] Enable baremetal float printf using modular format" (#199114)
Reverts llvm/llvm-project#198900
This can cause build failures due to an error in the handling of
argument indices for `va_list` `printf` variants.
Commit: 90cd93540256012e4d652fed0ed53be77f44aca8
https://github.com/llvm/llvm-project/commit/90cd93540256012e4d652fed0ed53be77f44aca8
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/VPlan/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/VPlan/X86/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
M llvm/test/Transforms/LoopVectorize/VPlan/interleave-conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/tail-folding.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/LoopVectorize/VPlan/widen-canonical-iv-register-pressure.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/fold-tail-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/widen-canonical-iv-register-pressure.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
M llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
M llvm/test/Transforms/LoopVectorize/predicated-inductions-vs-first-order-recurrences.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-masked-mem-opts.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/Oz-and-forced-vectorize.ll
Log Message:
-----------
[VPlan] Transfer nuw from CanIV -> WideCanIV (#198802)
An nuw on a CanonicalIV recipe should transfer to a WideCanonicalIV
recipe directly.
Commit: db614d99eea9ce78c4b1a44a6e01eb1a4ee8d5b2
https://github.com/llvm/llvm-project/commit/db614d99eea9ce78c4b1a44a6e01eb1a4ee8d5b2
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M polly/lib/CodeGen/IslNodeBuilder.cpp
A polly/test/CodeGen/issue192208.ll
Log Message:
-----------
[Polly] Do not invalidate SCEV before codegen (#194677)
ScopInfo expects the state of the IR to reflect the state before
codegen. Invalidating ScalarEvolution/SCEVs has the effect that values
need to be reanalyzed, but this is not possible during codegen where the
CFG and SSA is not yet in a consistent state. That is, we rely on
ScalarEvolution to cache SCEVs from before the codegen phase. If
ScalarEvolution did not already do this, Polly would need to more
aggressively store SCEVs itself (in this case: `canSyntheziseInStmt`)
instead of asking ScalarEvolution.
The SCEV invalidation was introduced in
a61eda769890900903ee65278bf1ee07dfbd4ca5 which unfortunately does not
explain the issue it intends to fix. The added test case passes even
without the invalidation. In any case, SCEVs should represent the state
before codegen.
Fixes #192208
Commit: 77e43ec11cd8fbe1de491118b54de9bba94510a8
https://github.com/llvm/llvm-project/commit/77e43ec11cd8fbe1de491118b54de9bba94510a8
Author: Doug Gregor <dgregor at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-move/Move.cpp
M clang-tools-extra/clangd/refactor/InsertionPoint.cpp
M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
A clang/include/clang/Lex/MacroBase.h
M clang/include/clang/Lex/MacroInfo.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/Tooling/Transformer/SourceCode.cpp
A clang/test/ExtractAPI/macro_doc_comments.c
A clang/test/Index/annotate-comments-macros.c
M clang/test/Index/annotate-comments.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
Associate documentation comments with macro definitions (#198452)
Commit: cae36e381a788432977dfbc4759dc23759e62f7c
https://github.com/llvm/llvm-project/commit/cae36e381a788432977dfbc4759dc23759e62f7c
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.h
Log Message:
-----------
[clang-doc] Clean up inconsistent namespace usage in BitcodeWriter (#198067)
Typically we forgo prefixing things with clang::doc or llvm:: unless
they overlap with something in std::, like `to_underlying()`. We also
group things to avoid non-internal symbols by placing types in the
anonymous namespace, and more logically grouping things that don't need
to be in the clang::doc namespace.
Commit: d7ff015ec6563eef1fafa8df86d1a49dee0b8a7a
https://github.com/llvm/llvm-project/commit/d7ff015ec6563eef1fafa8df86d1a49dee0b8a7a
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/examples/python/formatter_bytecode.py
M lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/RigidArrayLLDBFormatterSwift.txt
Log Message:
-----------
[lldb][bytecode] Disable formatters for Wasm object format (#199124)
Identified as an issue in
https://github.com/apple/swift-collections/issues/648
Commit: 9955c424bb2ba8aaef1b3dcf0409f7b573be9954
https://github.com/llvm/llvm-project/commit/9955c424bb2ba8aaef1b3dcf0409f7b573be9954
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Instrumentor.h
M llvm/lib/Transforms/IPO/InstrumentorConfigFile.cpp
M llvm/test/Instrumentation/Instrumentor/default_config.json
Log Message:
-----------
[llvm][Instrumentor] Fix non-determinism in Instrumentor (#198833)
In InstrumentorStubPrinter the StringMap was being iterated over, which
broke the Instrumentation/Instrumentor/write_config.ll test under
LLVM_REVERSE_ITERATION builds. We can use a MapVector to ensure the
order is stable. We only need to update the test json ordering to match
the stable order for with and without LLVM_REVERSE_ITERATION.
Commit: c6cb310e75b8ba32eb0cc454fde0d85ec1e8f8ee
https://github.com/llvm/llvm-project/commit/c6cb310e75b8ba32eb0cc454fde0d85ec1e8f8ee
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/test/CodeGen/AMDGPU/coexec-scheduler.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
A llvm/test/CodeGen/AMDGPU/insert-delay-alu-attr.ll
Log Message:
-----------
[AMDGPU] Don't insert delay_alu for 1 waves-per-eu (#198638)
These instructions are used to improve hardware utilization rates in the
multi-wave case. In the 1 wave per eu case these do not help and just
add extra instructions.
Commit: 9694b198082c9723551357652e390bb09f25f3b7
https://github.com/llvm/llvm-project/commit/9694b198082c9723551357652e390bb09f25f3b7
Author: David Blaikie <dblaikie at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFDebugAbbrev.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
Log Message:
-----------
DebugInfo: Shrink-to-fit some containers to reduce peak memory usage (#198935)
Changes originally by Tipp Moseley (tipp at google.com)
Commit: c0da1855e07e4a53253e5290803c144158b6587f
https://github.com/llvm/llvm-project/commit/c0da1855e07e4a53253e5290803c144158b6587f
Author: AnkitDubeycs25 <cs25mtech12001 at iith.ac.in>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
Log Message:
-----------
[CIR][CIRGen][Builtin][X86] Compress Store Intrinsics (#169648)
This implements CIR handling for the x86-specific compressed store builtins.
Commit: cfc03d62b4f8d6ef32a9b0c33429ac2eba76b85f
https://github.com/llvm/llvm-project/commit/cfc03d62b4f8d6ef32a9b0c33429ac2eba76b85f
Author: adams381 <adams at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/docs/CIR/ABILowering.rst
M clang/include/clang/CIR/Dialect/Passes.h
M clang/include/clang/CIR/Dialect/Passes.td
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
A clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
A clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
A clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CMakeLists.txt
A clang/test/CIR/Transforms/abi-lowering/Inputs/test-datalayout.cir
A clang/test/CIR/Transforms/abi-lowering/datalayout-missing-error.cir
A clang/test/CIR/Transforms/abi-lowering/declaration-rewrite.cir
A clang/test/CIR/Transforms/abi-lowering/direct-passthrough-injection.cir
A clang/test/CIR/Transforms/abi-lowering/direct-passthrough-test-target.cir
A clang/test/CIR/Transforms/abi-lowering/ignore-arg.cir
A clang/test/CIR/Transforms/abi-lowering/ignore-return.cir
A clang/test/CIR/Transforms/abi-lowering/indirect-call-nyi.cir
A clang/test/CIR/Transforms/abi-lowering/try-call-nyi.cir
A clang/test/CIR/Transforms/abi-lowering/variadic-call-nyi.cir
M clang/tools/cir-opt/cir-opt.cpp
M mlir/include/mlir/ABI/ABIRewriteContext.h
Log Message:
-----------
[CIR] Add CallConvLowering pass + Direct/Ignore ABI rewriting (#195737)
Depends on #195725 (merged).
Stacked on #195725 (PR A1). The diff in this PR is the CIR side; A1 has
the dialect-agnostic infrastructure.
Adds the `cir-call-conv-lowering` pass plus the `CIRABIRewriteContext`
skeleton with handlers for Direct (true pass-through) and Ignore (drop
empty-record args/returns). Subsequent PRs in the split add Extend,
Direct-with-coercion + a new reinterpret op, Indirect/sret,
Indirect/byval, and Expand — each is purely additive because the
rewriter dispatches on `argClass.kind` via a switch with explicit "not
yet implemented" diagnostics for every other kind.
The pass takes one of two driver options: `target=test` uses the test
target from PR A1, and `classification-attr=<name>` reads a pre-built
`DictionaryAttr` from each `cir.func` (also via the helper from PR A1).
It also requires `dlti.dl_spec` on the module and emits a clear
diagnostic otherwise, since classification can't run without
sizes/alignments.
Six `.cir` tests covering the Direct/Ignore behavior via both drivers,
plus the missing-DataLayout error case. `check-clang-cir` and
`check-clang-cir-codegen` both pass with no regressions.
`clang/docs/CIR/ABILowering.rst` gets a short pipeline-position section
(where this pass runs vs CXXABILowering and HoistAllocas, the DataLayout
requirement, the alloca-placement invariant).
The 11 C++ unit tests in #192119 each map onto a `.cir` test in this
series — 6 ported here (Direct passthrough, Ignore arg, Ignore return,
declaration rewrite, plus their call-site variants), 3 deferred to PR B
(Extend), 2 deferred to PR C (Direct-with-coercion). The 5 from #192124
split between PRs D and E. None get dropped, and the original C++ test
file lives only on the closed branches.
---------
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 7b429c95712d9dae7616eaad8841721d9f774eb5
https://github.com/llvm/llvm-project/commit/7b429c95712d9dae7616eaad8841721d9f774eb5
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/ClangDoc.cpp
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
Log Message:
-----------
[clang-doc] Use explicit for single param constructors (#198068)
This trips up some clang-tidy checks, so add the explicit keyword as
needed to satisfy the lints.
Commit: 2cbcd18f342f57804920829c5522a31b1129f402
https://github.com/llvm/llvm-project/commit/2cbcd18f342f57804920829c5522a31b1129f402
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenAtomic.cpp
M clang/test/CIR/CodeGen/atomic.c
Log Message:
-----------
[CIR] Fix Cmp-Xchg generation when casting to int (#198924)
We have logic in CIRGenAtomic to handle 'cast float to an int', which
works for most of our atomics. However, compare-exchange uses a second
'val' value, which was not getting cast, which caused a verification
error.
This patch ensures that the correct cast is generated for 'val2' as
well.
Commit: 6149387b2ed28ba6875bdce24e5c774bace764d6
https://github.com/llvm/llvm-project/commit/6149387b2ed28ba6875bdce24e5c774bace764d6
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/test/CIR/CodeGen/call.c
Log Message:
-----------
[CIR] Implement lowering of atomic-func ptrs (#199045)
This actually is a near-zero effort implementation, since other than an
assertion, we had everything correct. It isn't clear where that
assertion came from (other than an over abundance of caution?). It
doesn't exist in classic codegen, which always counts on the
fallthrough.
However, we ARE missing some ptr-auth work in that area, so a
MissingFeatures is added to be a placeholder for it.
Commit: 5ab329724bdec2d2a84c15975171eaa9f27ea480
https://github.com/llvm/llvm-project/commit/5ab329724bdec2d2a84c15975171eaa9f27ea480
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/test/CIR/CodeGenBuiltins/builtins-overflow.cpp
Log Message:
-----------
[CIR] Fix cast kind to support bool in builtin_*_overflow (#198958)
'bool' is an acceptable type to the __builtin_*_overflow functions, but
we were unconditionally doing an integral cast. This adds some logic to
do a bool-to-int cast if necessary.
Commit: b687efb8d15dda73cbd0e3eba145287a135ad868
https://github.com/llvm/llvm-project/commit/b687efb8d15dda73cbd0e3eba145287a135ad868
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/test/CIR/CodeGen/string-literals.cpp
M clang/test/CIR/CodeGen/wide-string.cpp
Log Message:
-----------
[CIR] Wide String literals in a larger variable lowering (#198966)
This showed up in a test suite: If the size of the variable is larger
than the literal, we were asserting since we were only accounting for a
single null terminator. The FE will ensure that we have enough room for
the variable + a null terminator, but the size must be larger!
This patch counds on 'trailing-zeroes' to make sure the null terminator
is in place.
Commit: 85c3be1d72f0e36e7ecbdb4b1e2abf61b1733216
https://github.com/llvm/llvm-project/commit/85c3be1d72f0e36e7ecbdb4b1e2abf61b1733216
Author: Johannes Doerfert <jdoerfert.llvm at gmail.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Instrumentor.h
M llvm/include/llvm/Transforms/IPO/InstrumentorUtils.h
M llvm/lib/Transforms/IPO/Instrumentor.cpp
M llvm/lib/Transforms/IPO/InstrumentorUtils.cpp
Log Message:
-----------
[Instrumentor][FIX] Ensure we indicate changes properly. (#199106)
We now indicate changes whenever we might have changed things even if
the filter will rule out instrumentation. The issue was that we need to
get the argument to check the filter and that process might create new
IR, e.g., a global variable containing the function name.
Commit: 691d54094802522b0f65fa021dd799744dd6c5c8
https://github.com/llvm/llvm-project/commit/691d54094802522b0f65fa021dd799744dd6c5c8
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/include/lldb/Interpreter/Interfaces/ScriptedHookInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedStopHookInterface.h
M lldb/include/lldb/Target/Target.h
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.h
M lldb/source/Target/Target.cpp
Log Message:
-----------
[lldb] Consolidate Target Hook/StopHook scripted state into ScriptedMetadata (#199088)
This is a follow-up to 1b4a578a9f77.
Replace `Target::HookScripted`'s and `Target::StopHookScripted`'s
separate `m_class_name` and `m_extra_args` members with a single
`m_scripted_metadata`, and update `SetScriptCallback to take a `const
ScriptedMetadata &` directly. Drop the now-redundant `args_sp` parameter
from ScriptedHookInterface::CreatePluginObject and
ScriptedStopHookInterface::CreatePluginObject; the Python overrides
construct a StructuredDataImpl from the metadata's args dict for the
dispatched call.
Each hook subclass keeps its own `m_scripted_metadata` member because
the interface's metadata is only set when SetScriptCallback runs the
Python override of CreatePluginObject; the hook needs to hold the
metadata between construction and that callback. Read-side description
printing goes through the new GetScriptClassName() helper which
delegates to m_interface_sp->GetScriptedMetadata(). The two
s.Printf("%s\n", class_name.data()) sites are also converted to
s.Format("{0}\n", class_name).
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: b75f5d71138f3ff8274a861dc16e60ad4252632e
https://github.com/llvm/llvm-project/commit/b75f5d71138f3ff8274a861dc16e60ad4252632e
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadPlanInterface.h
M lldb/include/lldb/Target/ScriptedThreadPlan.h
M lldb/include/lldb/Target/Thread.h
M lldb/source/API/SBThread.cpp
M lldb/source/API/SBThreadPlan.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
M lldb/source/Target/ScriptedThreadPlan.cpp
M lldb/source/Target/Thread.cpp
Log Message:
-----------
[lldb] Consolidate ScriptedThreadPlan state into ScriptedMetadata (#199064)
This is a follow-up to 1b4a578a9f77.
Replace ScriptedThreadPlan's separate `m_class_name` and `m_args_data`
members with a single `m_scripted_metadata`, and update its constructor,
Thread::QueueThreadPlanForStepScripted and the SB/CLI callers to take a
`const ScriptedMetadata &` directly. Drop the now-redundant `args_sp`
parameter from ScriptedThreadPlanInterface::CreatePluginObject; the
Python override constructs a StructuredDataImpl from the metadata's args
dict for the dispatched call.
ScriptedThreadPlan keeps its own `m_scripted_metadata` member because
the interface's metadata is only set when `DidPush()` calls
`CreatePluginObject`, so the plan needs to hold the metadata between
construction and `DidPush()`.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: e099bfb90f61c003b3f7b1d522c4d1229b21b06b
https://github.com/llvm/llvm-project/commit/e099bfb90f61c003b3f7b1d522c4d1229b21b06b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
A lldb/include/lldb/Utility/Locked.h
M lldb/unittests/Utility/CMakeLists.txt
A lldb/unittests/Utility/LockedTest.cpp
Log Message:
-----------
[lldb] Add Locked<T> and SharedLocked<T> RAII handles in Utility (NFC) (#198941)
Introduce two RAII handles that pair a pointer-like value with a lock on
a caller-supplied mutex.
- Locked<PtrT, Mutex>: holds std::unique_lock<Mutex>. Move-only;
enforces exclusive access. Defaults to std::recursive_mutex to match
LLDB's existing synchronization style.
- SharedLocked<PtrT, Mutex>: holds a reference-counted
std::shared_lock<Mutex>. Copyable — copies share the same reader lock
and the lock releases when the last copy goes away. Defaults to
llvm::sys::RWMutex, the LLDB convention.
PtrT may be a raw pointer, std::shared_ptr, or std::unique_ptr;
convenience aliases LockedPtr/LockedSP/LockedUP and
SharedLockedPtr/SharedLockedSP/SharedLockedUP cover the common
combinations. SharedLocked's borrowed pointer is const-qualified so
readers can't mutate the pointee.
Commit: 38045dd89590f88c6724ff838ded6b9a6e56e713
https://github.com/llvm/llvm-project/commit/38045dd89590f88c6724ff838ded6b9a6e56e713
Author: Akimasa Watanuki <mencotton0410 at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/test/CIR/CodeGenBuiltins/X86/ssse3-builtins.c
Log Message:
-----------
[CIR][X86][NFC] Add _mm_alignr_epi8 edge immediate tests (#198522)
Cover the 16-byte boundary and all-zero result cases in
`ssse3-builtins.c`. These cases mirror the coverage in
`clang/test/CodeGen/palignr.c`.
Rename the existing `_mm_alignr_epi8` cases consistently with the new
tests.
Partially addresses https://github.com/llvm/llvm-project/issues/156747.
Commit: 3873d151c9248fed3da049d793208296413bbcc8
https://github.com/llvm/llvm-project/commit/3873d151c9248fed3da049d793208296413bbcc8
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M lldb/source/Core/Module.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
M lldb/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
Log Message:
-----------
[LLDB] Add a progress event to xcrun invocations (#198953)
LLDB invokes xcrun to find SDKs on disk. This is usually very fast, but
sometimes (after an Xcode update, or when the searched SDK does not
exist) it can take very long (10s or more). The progress event provides
user feedback to explain the hang.
Previously this functionality was in HostInfo, but it may not depend on
Core, so this patch is instrumenting the call sites instead.
cf: https://github.com/llvm/llvm-project/pull/198931
Commit: a800c33674e41af6dc1a8e9264609857bd555aca
https://github.com/llvm/llvm-project/commit/a800c33674e41af6dc1a8e9264609857bd555aca
Author: Peter Collingbourne <pcc at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/include/llvm/IR/Use.h
M llvm/include/llvm/IR/User.h
Log Message:
-----------
IR: Move `simplify_type<(const) Use *>` to Use.h and fix a bug.
These overloads live in User.h because the type of
`User::(const_)op_iterator` is `(const) Use *`, but they do not
necessarily need to be used together with `User`, so let's move them to
Use.h with the canonical type used in the overload for clarity.
There's also a bug where `dyn_cast_or_null` with a `Use *` argument
crashes if the argument is null. Fix it by adding a null check to
these overloads. The null check is expected to be optimized out of the
implementation of `isa`/`cast`/`dyn_cast` because these functions will
unconditionally load from the result of `getSimplifiedValue`.
Reviewers: nikic, efriedma-quic
Pull Request: https://github.com/llvm/llvm-project/pull/198917
Commit: c24ab4c814f680c5ac71600bf80d551123abd84d
https://github.com/llvm/llvm-project/commit/c24ab4c814f680c5ac71600bf80d551123abd84d
Author: Eli Friedman <efriedma at qti.qualcomm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/test/CodeGen/PowerPC/fast-isel-cmp-imm.ll
M llvm/test/CodeGen/PowerPC/fp-strict-fcmp-spe.ll
M llvm/test/CodeGen/PowerPC/legalize-invert-br_cc.ll
M llvm/test/CodeGen/PowerPC/spe.ll
Log Message:
-----------
Revert "[PowerPC] set libcall lowering for fp setcc ops on SPE boards" (#199140)
Reverts llvm/llvm-project#153238
Breaking premerge buildbots. (It looks like there's an alternative fix
open #199105, but it's still under review.)
Commit: 42cfcaf651b5f6fe2117dcd29b33c25409f3541e
https://github.com/llvm/llvm-project/commit/42cfcaf651b5f6fe2117dcd29b33c25409f3541e
Author: Jiahao Guo <eoonguo at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
Log Message:
-----------
[CIR][NFC] Remove unused functions in MissingFeatures.h (#197631)
### Summary
This NFC change removes 33 entries from MissingFeatures.h that have no
callers in tree as of <b4f7c93e7d1325f1c1f00b47c10d2923e8259369>
- `switchOp`
- `opUnaryPromotionType`
- `supportVisibility`
- `atomicInitTailPadding`
- `atomicMapTargetSyncScope`
- `atomicScope`
- `bitfields`
- `builtinCallMathErrno`
- `cleanupWithPreservedValues`
- `constEmitterAggILE`
- `dataLayoutTypeIsSized`
- `dataLayoutTypeStoreSize`
- `deferredFuncDecls`
- `ehScopeFilter`
- `functionArgumentAttrs`
- `globalViewIndices`
- `intrinsics`
- `loweringPrepareAArch64XXABI`
- `loweringPrepareX86CXXABI`
- `nrvo`
- `opAllocaReference`
- `opCallABIExtendArg`
- `opCallABIIndirectArg`
- `opCallAggregateArgs`
- `opCallASTAttr`
- `opCallExceptionAttr`
- `opCallSideEffect`
- `opCallWidenArg`
- `opFuncOpenCLKernelMetadata`
- `opGlobalUsedOrCompilerUsed`
- `opLoadStoreThreadLocal`
- `opUnaryPromotionType`
- `pointerOverflowSanitizer`
Commit: dac33e3d006e9ca4c20b74b2b0d9baa126e728a7
https://github.com/llvm/llvm-project/commit/dac33e3d006e9ca4c20b74b2b0d9baa126e728a7
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/Serialize.cpp
Log Message:
-----------
[clang-doc][nfc] Declare pointer with auto explicitly (#198069)
This silences some errors from clang-tidy.
Commit: 625e277979356e8fc51a4a75667a331c5ceffccd
https://github.com/llvm/llvm-project/commit/625e277979356e8fc51a4a75667a331c5ceffccd
Author: Adam Paszke <apaszke at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M mlir/lib/IR/Builders.cpp
M mlir/unittests/IR/AttributeTest.cpp
Log Message:
-----------
[mlir] Specify isSigned when creating APInt for I16 attributes (#198687)
8- and 32-bit attribute constructors already do this. Debug builds
trigger an assertion unless isSigned is specified.
Commit: 25f90289bb0e137d500827486ac19e8e0be781e1
https://github.com/llvm/llvm-project/commit/25f90289bb0e137d500827486ac19e8e0be781e1
Author: Eli Friedman <efriedma at qti.qualcomm.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFDebugAbbrev.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
Log Message:
-----------
Revert "DebugInfo: Shrink-to-fit some containers to reduce peak memory usage" (#199145)
Reverts llvm/llvm-project#198935
I think this broke llvm/test/tools/llvm-gsymutil/X86/elf-dwo.yaml .
Commit: 07843996b9110398e4cf5b96cea0fabb7654f274
https://github.com/llvm/llvm-project/commit/07843996b9110398e4cf5b96cea0fabb7654f274
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/CodeGen/TargetInfo.h
A clang/lib/CIR/CodeGen/Targets/SPIRV.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/TargetLoweringInfo.h
A clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/SPIRV.cpp
A clang/test/CIR/CodeGenOpenCL/spirv-kernel.cl
Log Message:
-----------
[CIR][SPIR-V] Add initial SPIR-V target CodeGen support (#196920)
Commit: dc6c7ee102b51d76ecf4a39f0ebb794d8b74267c
https://github.com/llvm/llvm-project/commit/dc6c7ee102b51d76ecf4a39f0ebb794d8b74267c
Author: Weibo He <NewSigma at 163.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/Coroutines/SuspendCrossingInfo.h
M llvm/lib/Transforms/Coroutines/SuspendCrossingInfo.cpp
Log Message:
-----------
[CoroSplit] Rename Suspend/End to AlwaysKill/NeverKill (NFC) (#199150)
Rename them so that we can generalize to more intrinsics, for example,
`llvm.coro.is_in_ramp` in #198226
Commit: 6b1f976858eea5a64f058ca48873be834bd79569
https://github.com/llvm/llvm-project/commit/6b1f976858eea5a64f058ca48873be834bd79569
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/frame-pointer-elim.c
Log Message:
-----------
[Mips] Omit the frame pointer when optimizations are enabled (#198737)
Enable frame pointer optimization to match GCC behavior
Fix #48326.
Commit: 0e9af2567341a1cfa2ff02f33a43320c01324a50
https://github.com/llvm/llvm-project/commit/0e9af2567341a1cfa2ff02f33a43320c01324a50
Author: Schrodinger ZHU Yifan <yfzhu at google.com>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M .github/workflows/libc-freebsd-vm-tests.yml
Log Message:
-----------
[libc][freebsd] skip exhaustive math tests in FreeBSD CI (#199143)
Remove expensive tests to mitigate the long running time.
Commit: 50744ea335e4c54a555c7f38d0c3f982d3441845
https://github.com/llvm/llvm-project/commit/50744ea335e4c54a555c7f38d0c3f982d3441845
Author: David Tenty <daltenty at ibm.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/test/CodeGen/PowerPC/aix-alias.ll
M llvm/test/CodeGen/PowerPC/aix-alloca-r31.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval-mem.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval.ll
M llvm/test/CodeGen/PowerPC/aix-cc-ext-vec-abi.ll
M llvm/test/CodeGen/PowerPC/aix-complex.ll
M llvm/test/CodeGen/PowerPC/aix-emit-tracebacktable-ssp.ll
M llvm/test/CodeGen/PowerPC/aix-exception.ll
M llvm/test/CodeGen/PowerPC/aix-extern-weak.ll
M llvm/test/CodeGen/PowerPC/aix-extern.ll
M llvm/test/CodeGen/PowerPC/aix-ifunc-obj.ll
M llvm/test/CodeGen/PowerPC/aix-ifunc.ll
M llvm/test/CodeGen/PowerPC/aix-llvm-intrinsic.ll
M llvm/test/CodeGen/PowerPC/aix-no-inline-glue.ll
M llvm/test/CodeGen/PowerPC/aix-p9-insert-extract.ll
M llvm/test/CodeGen/PowerPC/aix-p9-xxinsertw-xxextractuw.ll
M llvm/test/CodeGen/PowerPC/aix-reloc-sorting.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-types.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-char.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-double.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-float.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-int.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess2.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-short.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-funcattr.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-loadaddr.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-targetattr.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-double.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-int.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-target-flags.ll
M llvm/test/CodeGen/PowerPC/aix-tls-ie-xcoff-reloc.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-O0.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-double.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-float.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-int.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-xcoff-reloc.ll
M llvm/test/CodeGen/PowerPC/aix-trampoline.ll
M llvm/test/CodeGen/PowerPC/aix-vec-arg-spills-mir.ll
M llvm/test/CodeGen/PowerPC/aix-vec-arg-spills.ll
M llvm/test/CodeGen/PowerPC/aix-vector-stack-caller.ll
M llvm/test/CodeGen/PowerPC/aix-vector-vararg-caller.ll
M llvm/test/CodeGen/PowerPC/aix-vector-vararg-fixed-caller.ll
M llvm/test/CodeGen/PowerPC/aix-weak.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-data-sections.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-explicit-section.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-reloc.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-toc.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-visibility.ll
M llvm/test/CodeGen/PowerPC/aix64-cc-byval.ll
M llvm/test/CodeGen/PowerPC/basic-toc-data-extern.ll
M llvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-mfspr-mtspr-64bit-only.ll
M llvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-prefetch.ll
M llvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
M llvm/test/CodeGen/PowerPC/const-nonsplat-array-init.ll
M llvm/test/CodeGen/PowerPC/const-splat-array-init.ll
M llvm/test/CodeGen/PowerPC/ctrloops-pseudo.ll
M llvm/test/CodeGen/PowerPC/fast-isel-branch.ll
M llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
M llvm/test/CodeGen/PowerPC/global-merge-aix-sections.ll
M llvm/test/CodeGen/PowerPC/huge-frame-call.ll
M llvm/test/CodeGen/PowerPC/licm-tocReg.ll
M llvm/test/CodeGen/PowerPC/lower-globaladdr64-aix.ll
M llvm/test/CodeGen/PowerPC/memset-tail.ll
M llvm/test/CodeGen/PowerPC/merge-private.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool-large.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool-tls.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool.ll
M llvm/test/CodeGen/PowerPC/p10-handle-split-promote-vec.ll
M llvm/test/CodeGen/PowerPC/p8-scalar_vector_conversions.ll
M llvm/test/CodeGen/PowerPC/ppc-float-spill.ll
M llvm/test/CodeGen/PowerPC/ppc-shufflevector-combine.ll
M llvm/test/CodeGen/PowerPC/pr74951.ll
M llvm/test/CodeGen/PowerPC/pre-inc-disable.ll
M llvm/test/CodeGen/PowerPC/reduce_scalarization.ll
M llvm/test/CodeGen/PowerPC/scalar_vector_test_4.ll
M llvm/test/CodeGen/PowerPC/splat-after-xxsldwi.ll
M llvm/test/CodeGen/PowerPC/stack-guard-oob.ll
M llvm/test/CodeGen/PowerPC/stack-protector-target.ll
M llvm/test/CodeGen/PowerPC/stack-protector.ll
M llvm/test/CodeGen/PowerPC/toc-data-common.ll
M llvm/test/CodeGen/PowerPC/toc-data-const.ll
M llvm/test/CodeGen/PowerPC/toc-data-struct-array.ll
M llvm/test/CodeGen/PowerPC/toc-data.ll
M llvm/test/CodeGen/PowerPC/v16i8_scalar_to_vector_shuffle.ll
M llvm/test/CodeGen/PowerPC/v4i32_scalar_to_vector_shuffle.ll
M llvm/test/CodeGen/PowerPC/v8i16_scalar_to_vector_shuffle.ll
M llvm/test/CodeGen/PowerPC/vec_insert_elt.ll
M llvm/test/CodeGen/PowerPC/vec_shuffle_p8vector.ll
M llvm/test/CodeGen/PowerPC/xxinsertw.ll
M llvm/test/CodeGen/PowerPC/xxperm-swap.ll
Log Message:
-----------
[NFC][PowerPC][AIX] add explicit code model to 64-bit AIX tests (#199159)
A later PR will propose updating the default code model, so this PR sets
an explicit code model on tests that don't have it. This is strictly
NFC, as we are just setting the existing code model.
Commit: 010895249f480b9a875ade15a1c8b7d306654636
https://github.com/llvm/llvm-project/commit/010895249f480b9a875ade15a1c8b7d306654636
Author: Dark Steve <Prasoon.Mishra at amd.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
A llvm/test/CodeGen/AMDGPU/wait-xcnt-drain.mir
Log Message:
-----------
[AMDGPU] Pre-commit test for redundant s_wait_xcnt after implicit XCN… (#198772)
…T drain
Demonstrates that `SIInsertWaitcnts` currently emits `s_wait_xcnt 0x0`
after instructions that already drain XCNT in hardware on gfx1250:
`s_barrier_wait`, `s_barrier_signal`, `s_barrier_signal_isfirst`,
`s_sendmsg`, PC-changing terminators etc.
Commit: 836fcaa4235c1145627558f5414f31e5d23cc328
https://github.com/llvm/llvm-project/commit/836fcaa4235c1145627558f5414f31e5d23cc328
Author: Jinjie Huang <huangjinjie at bytedance.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/tools/llvm-profgen/PerfReader.cpp
Log Message:
-----------
[llvm-profgen] Speed up parsing of MMap events (#197871)
During the mmap extraction, `extractMMapEventForBinary()` is invoked
line by line to parse the perf script(usually 100K to 1M+ lines). This
patch tries to early quit when the current line does not contain the
Binary name, and this will help to avoid subsequent parsing
overhead(baseline behavior uses regex to extract the name, returning
false if it doesn't match the current binary).
With this minor change, the execution time of
extractMMapEventForBinary() dropped from 13,600ms to 32ms(-99%) in an
internal workload test(827K lines).
Commit: 4210f1a52f48cf48f0de53bf7fdcc791a8fc0925
https://github.com/llvm/llvm-project/commit/4210f1a52f48cf48f0de53bf7fdcc791a8fc0925
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M libcxx/include/functional
Log Message:
-----------
[libc++][NFC] Remove incorrect TODO about deprecating mem_fn (#199172)
Commit: 7e8de3bbf2e1b9255a243d4f768ed042dee8c328
https://github.com/llvm/llvm-project/commit/7e8de3bbf2e1b9255a243d4f768ed042dee8c328
Author: David Green <david.green at arm.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-mul.ll
Log Message:
-----------
[AArch64] Combine A + zext(B) * C -> A - zext(B) * -C (#198488)
This converts `A + zext(B) * C` -> `A - zext(B) * -C` if C can be
negated in order to use umsubl.
Commit: 6d155b31f4eb49f66aa1b138e7fa65bc4d34e528
https://github.com/llvm/llvm-project/commit/6d155b31f4eb49f66aa1b138e7fa65bc4d34e528
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
Log Message:
-----------
[alpha.webkit.UncountedLocalVarsChecker] Some forms of mutating a guardian variable is ignored (#198950)
This PR fixes a bug in UncountedLocalVarsChecker that it was allowing
mutations to guardian variables within the same scope of a guarded raw
pointer/reference. Since mutating a guardian can affect the lifetime of
a guarded object, we must not consider it as a guardian variable for the
scope.
VisitCXXConstructExpr was just looking for smart pointer's move
constructor but any constructor which takes a guardian smart pointer
using a non-const function argument is problematic so detect all those
cases. Also add VisitCallExpr to detect all forms of function calls to
which a guardian variable is passed via a non-const argument. For
VisitCXXMemberCallExpr, we consider calling any non-const member
function on a guardian variable to be dangerous except conversion
operators (e.g. operator T()).
Commit: 72be00bae2d4024fcf818f5a0e59784adc9d4f31
https://github.com/llvm/llvm-project/commit/72be00bae2d4024fcf818f5a0e59784adc9d4f31
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Check every lambdas passed to makeVisitor (#198713)
This PR fixes the bug in UncountedLambdaCapturesChecker that we were
failing to check variable captures of a non-first lambdas passed to
WTF::makeVisitor. To support this, we store a SmallVector of
LambdaExpr's instead of a single LambdaExpr in LambdaOwnerMap.
Commit: e90ae13b657960edb3a4d0be22bfd89d6d783b19
https://github.com/llvm/llvm-project/commit/e90ae13b657960edb3a4d0be22bfd89d6d783b19
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Check lambdas in constructors and destructors (#198709)
This PR fixes the bug that lambda captures checkers don't check for
"this" pointer captured in a lambda inside C++ constructors and
destructors.
Commit: 9353d0d55bddcc2065745f44bd3ac1b870098f75
https://github.com/llvm/llvm-project/commit/9353d0d55bddcc2065745f44bd3ac1b870098f75
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-05-21 (Thu, 21 May 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Check CXXOperatorCallExpr's this argument (#198688)
This PR fixes the bug that we were not checking "this" parameter of
CXXOperatorCallExpr.
Commit: 7d65f8e1bb3327dbd4b0d6cdbf155e26739786a2
https://github.com/llvm/llvm-project/commit/7d65f8e1bb3327dbd4b0d6cdbf155e26739786a2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-single-src.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/handle-iptr-with-data-layout-to-not-assert.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2-indices-0u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-01u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-0uu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-01uu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-0uuu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i32.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i64.ll
M llvm/test/Transforms/LoopVectorize/X86/cast-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/user-with-multi-copyable-ops.ll
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected
Log Message:
-----------
[CostModel][X86] Make avx512 inlane 2src shuffles cheaper that crosslane 2src shuffles (#199074)
256/512 variable mask shuffles are not going to sustain tp = 1 on all
avx512 targets - unlike immediate mask inlane shuffles
1src shuffles aren't much better, but there's additional special cases
that need handling for these
Noticed while triaging failed vectorcombine reduction folds due to weird
costs
Commit: c20020ea73aa13094800aeac09944c6f81cb0ea6
https://github.com/llvm/llvm-project/commit/c20020ea73aa13094800aeac09944c6f81cb0ea6
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M libc/include/math.yaml
M libc/include/pthread.yaml
M libc/include/search.yaml
M libc/include/stdfix.yaml
M libc/include/sys/mman.yaml
M libc/include/sys/syscall.yaml
M libc/utils/hdrgen/hdrgen/header.py
M libc/utils/hdrgen/hdrgen/main.py
M libc/utils/hdrgen/hdrgen/symbol.py
M libc/utils/hdrgen/hdrgen/yaml_to_classes.py
Log Message:
-----------
[libc] Enforce standard identifier validation in hdrgen (#198971)
Implemented validation for standard identifiers in the hdrgen tool to
catch typos and unknown standards. Aggregated standards from all entity
types (macros, types, etc.) for validation, addressing a TODO in
header.py.
Added llvm_libc_ext, stdc_ext, and llvm_libc_stdfix_ext to the canonical
identifiers. Standardised invalid or inconsistently formatted standards
in several YAML files.
This enforces the correctness of any provided standards field but does
not yet require that every entity has one (many entities still inherit
standards from the header level).
Assisted-by: Automated tooling, human reviewed.
Commit: 5ee840cbe1464c8e2b3128328de322f3e568991a
https://github.com/llvm/llvm-project/commit/5ee840cbe1464c8e2b3128328de322f3e568991a
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M offload/plugins-nextgen/level_zero/include/L0Device.h
M offload/plugins-nextgen/level_zero/include/L0Interop.h
M offload/plugins-nextgen/level_zero/src/L0Device.cpp
M offload/plugins-nextgen/level_zero/src/L0Kernel.cpp
M offload/plugins-nextgen/level_zero/src/L0Plugin.cpp
Log Message:
-----------
[OFFLOAD][L0] Remove support for non-immediate command lists (#198894)
The code was in a dead path as immediate command lists are always used.
Commit: 0f12556a2b328473bb8569503cd44924578b3eb6
https://github.com/llvm/llvm-project/commit/0f12556a2b328473bb8569503cd44924578b3eb6
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/IR/Verifier.cpp
M llvm/test/Verifier/value-profile.ll
Log Message:
-----------
[Verifier] Add missing null-check. (#199170)
[Verifier] Add missing null-check.
visitProfMetadata's was using the result of dyn_extract without first
checkout that it's non-null. Thus one could crash the verifier by
providing invalid IR.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: d50dd107c7c955ff932ae5e0f716edb73c55f43f
https://github.com/llvm/llvm-project/commit/d50dd107c7c955ff932ae5e0f716edb73c55f43f
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVArithmeticOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGroupOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
M mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp
M mlir/test/Dialect/SPIRV/IR/arithmetic-ops.mlir
M mlir/test/Dialect/SPIRV/IR/atomic-ops.mlir
M mlir/test/Dialect/SPIRV/IR/composite-ops.mlir
M mlir/test/Dialect/SPIRV/IR/group-ops.mlir
M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
Log Message:
-----------
[mlir][spirv] Fix `fp8` and `bf16` leaking into unsupported ops (#199102)
Including `SPIRV_AnyFloat` in the majority of types caused fp8 and bf16
to be allowed in ops that are not allowed by float8 and bfloat16
extensions. This patch tries to rectify to only allow fp8 and bf16 in
ops allowed by the respective specs. Additional tests have been also
added to increase the coverage with respect to those types.
Assisted-by: Codex + Claude Code
Commit: 352fb9a2dfc275a90c5cd5f387de187f0554881c
https://github.com/llvm/llvm-project/commit/352fb9a2dfc275a90c5cd5f387de187f0554881c
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/ICF.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/MarkLive.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/SymbolTable.cpp
M lld/ELF/Symbols.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/ELF/Writer.h
R lld/docs/Partitions.rst
M lld/docs/ReleaseNotes.rst
M lld/docs/index.rst
R lld/docs/partitions.dot
R lld/docs/partitions.svg
R lld/test/ELF/partition-exidx.s
M lld/test/ELF/partition-icf.s
M lld/test/ELF/partition-move-to-main-startstop.s
R lld/test/ELF/partition-notes.s
M lld/test/ELF/partition-pack-dyn-relocs.s
R lld/test/ELF/partition-synthetic-sections.s
R lld/test/ELF/partition-thunk-reuse.s
M lld/test/ELF/partitions.s
Log Message:
-----------
[ELF] Reduce symbol partitions to shim binaries (#198718)
The experimental symbol partition feature can move arbitrary symbols and
input sections out of the main partition into named loadable partitions
that consumers extract with `llvm-objcopy --extract-partition`. It is
incompatible with many features, has seen no adoption beyond Chromium's
`build/extract_partition.py`. Chrome hasn't needed this feature for many
years.
The partitioning machinery (per-partition `MarkLive` runs, `moveToMain`,
cross-partition pull in `InputSection::replace`, per-symbol
dynsym/gnuhash/thunk-compat filters, `PartitionIndexSection`,
`copySectionsIntoPartitions`, etc.) does not pull its weight for that.
Remove the partitioning brain and keep a minimal shim shell.
`Symbol::partition` is deleted; every dynsym add goes to
`ctx.mainPart`. `ctx.partitions` wraps a `std::vector<Partition>`
whose iterator yields only the main partition; shim partitions live
in `storage[1..]` and are reached via `shims()`. The two paths that
actually emit shim binaries (`createPhdrs` and `pageAlign` in
Writer.cpp) name `shims()` directly.
Shim partitions carry no per-partition synthetic content; the
extracted shim is just an ELF header plus PT_PHDR/PT_LOAD.
`llvm-objcopy --extract-partition` keeps working but
`--dump-section .note.gnu.build-id` on a shim no longer finds
anything. Features that previously used `dlopen()` to lazy-load a
feature partition now live in main and are always loaded.
Aided by Claude Opus 4.7
Commit: 5162d2a47c65dd0f98155e3cf63e68e27eefb7f9
https://github.com/llvm/llvm-project/commit/5162d2a47c65dd0f98155e3cf63e68e27eefb7f9
Author: Petr Hosek <phosek at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/MSVC.cpp
Log Message:
-----------
[Driver][MSVC] Correctly handle the -fuse-ld=(empty) case (#199167)
We need to distinguish the case where `-fuse-ld` is unspecified and when
`-fuse-ld=(empty)` as is already done in the generic `ToolChain`
implementation but wasn't done in the MSVC driver to correctly handle
the `CLANG_DEFAULT_LINKER` CMake option.
Commit: 08124b704f9412c1be116d791eefdf01f4c588e1
https://github.com/llvm/llvm-project/commit/08124b704f9412c1be116d791eefdf01f4c588e1
Author: mzukovec <113346157+mzukovec at users.noreply.github.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
A clang/test/PCH/ftime-trace-specialization-lookup.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
Log Message:
-----------
[clang] Avoid invalidating specialization lookup (#196533)
Fixes a use-after-free in `ASTReader::LoadExternalSpecializationsImpl`
when loading external specializations with `-ftime-trace` enabled.
This resolves the https://github.com/llvm/llvm-project/issues/196482 and
builds upon the https://github.com/llvm/llvm-project/pull/172658
The function kept a pointer into `SpecLookups`:
```cpp
LookupTable = &It->getSecond();
```
Then it constructed a `TimeTraceScope` whose name callback calls
`getNameForDiagnostic`. That call may deserialize additional AST state
and mutate `SpecLookups`, invalidating the saved pointer before it is
later used for:
```cpp
LookupTable->Table.find(HashValue);
```
This is observed as an ASAN `heap-use-after-free` in:
```text
MultiOnDiskHashTable<LazySpecializationInfoLookupTrait>::find
ASTReader::LoadExternalSpecializationsImpl
```
The fix computes the template-argument hash and copies the lazy
specialization lookup result before constructing the time-trace scope.
This avoids retaining a `DenseMap` iterator or pointer into
`SpecLookups` across code that may trigger deserialization.
Validation from a local reproducer:
- Unpatched Clang + PCH + `-ftime-trace`: ASAN heap-use-after-free.
- Unpatched Clang + same PCH without `-ftime-trace`: passes.
- Patched Clang + PCH + `-ftime-trace`: full downstream wasm build
passes.
I cannot attach the original PCH-based reproducer publicly because the
PCH contains private project paths and serialized private headers, but
the reduced failing source no longer contains project logic and the ASAN
trace points directly at invalidation inside
`LoadExternalSpecializationsImpl`.
Commit: 5eefd3d04daa4abaa105a8ffe3dbe3c7ba75baa1
https://github.com/llvm/llvm-project/commit/5eefd3d04daa4abaa105a8ffe3dbe3c7ba75baa1
Author: Julian Oppermann <julian.oppermann at intel.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
M mlir/test/Dialect/Linalg/linalg-morph-multi-step.mlir
M mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-category-ops.mlir
M mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-named-ops.mlir
M mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
M mlir/test/Dialect/Linalg/transform-op-specialize-elemwise-binary.mlir
Log Message:
-----------
[MLIR][Linalg] Specialize more binary elementwise ops (#192290)
Extends the matching logic for `linalg.generic` ops that can be
represented as named op or `linalg.elementwise` to cover all variants
currently supported by `RegionBuilderHelper::buildBinaryFn`. We
previously detected only `add`, `sub`, `mul` and `div` for floating
point types.
I combined the detection for unary and binary functions to make it
tractable to morph operations such as
```mlir
#map = affine_map<(d0) -> (d0)>
// ...
%c123_i32 = arith.constant 123 : i32
%0 = linalg.generic
{indexing_maps = [#map, #map], iterator_types = ["parallel"]}
ins(%A : tensor<?xi32>) outs(%Out : tensor<?xi32>) {
^bb0(%in: i32, %out: i32):
%v = arith.addi %c123_i32 , %in : i32
linalg.yield %v : i32
} -> tensor<?xi32>
```
to
```mlir
#map = affine_map<(d0) -> ()>
#map1 = affine_map<(d0) -> (d0)>
// ...
%0 = linalg.elementwise kind=#linalg.elementwise_kind<add>
indexing_maps = [#map, #map1, #map1]
ins(%c123_i32, %A: i32, tensor<?xi32>)
outs(%Out: tensor<?xi32>) -> tensor<?xi32>
```
Commit: 081d6881d5dafd4bfc7450f94d0dd65e72dcd360
https://github.com/llvm/llvm-project/commit/081d6881d5dafd4bfc7450f94d0dd65e72dcd360
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 08124b7 (#199180)
This fixes 08124b704f9412c1be116d791eefdf01f4c588e1.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 5fb0fe4a107cb1da959a48ebff84545d80328dba
https://github.com/llvm/llvm-project/commit/5fb0fe4a107cb1da959a48ebff84545d80328dba
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M lld/ELF/Arch/PPC.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Arch/SystemZ.cpp
M lld/ELF/Arch/X86.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/ICF.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputSection.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Thunks.cpp
M lld/ELF/Writer.cpp
M lld/docs/ReleaseNotes.rst
R lld/test/ELF/partition-dynamic-linker.s
R lld/test/ELF/partition-errors.s
R lld/test/ELF/partition-icf.s
R lld/test/ELF/partition-move-to-main-startstop.s
R lld/test/ELF/partition-move-to-main.s
R lld/test/ELF/partition-pack-dyn-relocs.s
M lld/test/ELF/partitions.s
Log Message:
-----------
[ELF] Remove the symbol partition feature (#199186)
Follow-up to #198718: SHT_LLVM_SYMPART sections are no longer recognized
and are treated as ordinary sections.
The sole user has been retired (crbug.com/401249151).
The per-partition synthetic sections (.dynamic, .dynsym, .gnu.hash,
.eh_frame, .ARM.exidx, ...) move into `ctx.in`; the program headers move
into `ctx.phdrs`. Delete the `Partition` struct, `ctx.mainPart`,
`ctx.partitions`, the
PartitionElfHeaderSection/PartitionProgramHeadersSection shim sections,
and the `.part.end` marker.
Commit: 4ee12ee5d75f04a653229bb692c5e264dbc0c7b8
https://github.com/llvm/llvm-project/commit/4ee12ee5d75f04a653229bb692c5e264dbc0c7b8
Author: Igor Gorban <igor.gorban at intel.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/Sema/OpenCLBuiltins.td
A clang/test/SemaOpenCL/intel-subgroups-builtins.cl
A clang/test/SemaOpenCL/intel-subgroups-char-builtins.cl
A clang/test/SemaOpenCL/intel-subgroups-long-builtins.cl
A clang/test/SemaOpenCL/intel-subgroups-short-builtins.cl
Log Message:
-----------
[OpenCL] Add subgroup UI image overloads builtin functions (#198904)
Add subgroup UI image overloads builtin functions from the OpenCL
extensions available at
https://github.com/KhronosGroup/OpenCL-Docs/blob/main/extensions/cl_intel_subgroups.asciidoc
https://github.com/KhronosGroup/OpenCL-Docs/blob/main/extensions/cl_intel_subgroups_short.asciidoc
https://github.com/KhronosGroup/OpenCL-Docs/blob/main/extensions/cl_intel_subgroups_char.asciidoc
https://github.com/KhronosGroup/OpenCL-Docs/blob/main/extensions/cl_intel_subgroups_long.asciidoc
Commit: c53f299dce981cebc6222689dac1b4b8f1b627e7
https://github.com/llvm/llvm-project/commit/c53f299dce981cebc6222689dac1b4b8f1b627e7
Author: idubinov <igor.dubinov at amd.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
Log Message:
-----------
[SPIRV][NFC] Pass function-pointer operand explicitly to visitFunPtrUse (#197667)
Take the function-pointer placeholder operand as a parameter rather
than reading MI.getOperand(2) directly, so visitFunPtrUse can be
reused from instructions with a different operand layout. Pure
refactor.
---------
Co-authored-by: Marcos Maronas <mmaronas at amd.com>
Commit: 593eb2066293c8636786c98cb696c533da9b97ca
https://github.com/llvm/llvm-project/commit/593eb2066293c8636786c98cb696c533da9b97ca
Author: Himadhith <79003240+Himadhith at users.noreply.github.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/utils/lit/tests/unit/Util.py
Log Message:
-----------
[AIX] Remove unsupported AIX native echo option -n (#199079)
AIX native echo doesn't support the `-n` flag.
Use the POSIX-standard `\c` escape sequence instead to suppress the
trailing newline, ensuring the test works across all systems and make it
portable.
The current test fails as follows:
```
FAIL: lit :: unit/Util.py (1 of 1)
******************** TEST 'lit :: unit/Util.py' FAILED ********************
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
"/opt/freeware/bin/python3.12" /home/himadhit/llvm/community/build/utils/lit/tests/unit/Util.py
# executed command: /opt/freeware/bin/python3.12 /home/himadhit/llvm/community/build/utils/lit/tests/unit/Util.py
# .---command stderr------------
# | F..
# | ======================================================================
# | FAIL: test_basic (__main__.TestCommandCache.test_basic)
# | ----------------------------------------------------------------------
# | Traceback (most recent call last):
# | File "/home/himadhit/llvm/community/build/utils/lit/tests/unit/Util.py", line 32, in test_basic
# | self.assertEqual(lit_config.run_command_cached(["echo", "hi"]), b"hi")
# | AssertionError: b'hi\n' != b'hi'
# |
# | ----------------------------------------------------------------------
# | Ran 3 tests in 2.050s
# |
# | FAILED (failures=1)
# `-----------------------------
# error: command failed with exit status: 1
```
---------
Co-authored-by: himadhith <himadhith.v at ibm.com>
Commit: 866e9e03fe86eab363cc70526a59c8e48067a576
https://github.com/llvm/llvm-project/commit/866e9e03fe86eab363cc70526a59c8e48067a576
Author: Luke Lau <luke at igalia.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
Log Message:
-----------
[RISCV] Fix RISCVVectorPeephole::ensureDominates doc comment. NFC (#199196)
Commit: 1f5b5a2aca31f84acf93c811f0d93eb46fe33e73
https://github.com/llvm/llvm-project/commit/1f5b5a2aca31f84acf93c811f0d93eb46fe33e73
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
A llvm/test/Analysis/CostModel/RISCV/shuffle-load.ll
Log Message:
-----------
[RISCV][TTI] Model broadcast loads as zero-stride loads (#198446)
We have done this optimization in ISel and this PR just models it
in TTI.
---------
Co-authored-by: Luke Lau <luke_lau at icloud.com>
Commit: b26a70c7ecf98d27bb29eaa7d3baf685a60e8262
https://github.com/llvm/llvm-project/commit/b26a70c7ecf98d27bb29eaa7d3baf685a60e8262
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[NFC][X86] Add peekThroughDemandedElts helper for future use (#199195)
Make it easier to bypass unnecessary ops based of DemandedElts
Commit: 5c853423f4f9e7296b7596b7f3ccade481686bfd
https://github.com/llvm/llvm-project/commit/5c853423f4f9e7296b7596b7f3ccade481686bfd
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics.ll
Log Message:
-----------
[VPlan] Assert that replacement types match in VPUser::setOperand (NFC). (#195891)
Add assertion to VPValue::setOperand to check if types of the new
operand matches the old operand.
This makes it easier to catch replacements with incorrect types at the
source, instead only later during verification.
A few places currently preform replacements with mis-matching types,
which only get fixed up later. Update those to avoid type-violation.
Depends on https://github.com/llvm/llvm-project/pull/195485
PR: https://github.com/llvm/llvm-project/pull/195891
Commit: 8cc944cb29cec7974509a34ae8ad85c483cbd120
https://github.com/llvm/llvm-project/commit/8cc944cb29cec7974509a34ae8ad85c483cbd120
Author: eiytoq <eiytoq at outlook.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__mdspan/mdspan.h
M libcxx/include/mdspan
A libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.at.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/nodiscard.verify.cpp
A libcxx/test/std/containers/views/mdspan/mdspan/at.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][mdspan] P3383R3: `mdspan.at()` (#175213)
Implements https://wg21.link/P3383R3
Closes #148149
---------
Co-authored-by: A. Jiang <de34 at live.cn>
Commit: b4d42cf8e22126c2985e177bfe6130bfbfedb72a
https://github.com/llvm/llvm-project/commit/b4d42cf8e22126c2985e177bfe6130bfbfedb72a
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
A clang/test/OpenMP/unimplemented_clause_messages.cpp
Log Message:
-----------
[OpenMP] Prevent parser infinite loop on unimplemented clauses (#198796)
This is to fix an infinite loop in the parser when using un-implemented
clauses. See https://godbolt.org/z/f775asrea .
This patch also fixes this crash: https://godbolt.org/z/WKrsbTGGe .
Commit: eb775bec0a6b4676bf3c6d070232247058b91b2f
https://github.com/llvm/llvm-project/commit/eb775bec0a6b4676bf3c6d070232247058b91b2f
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[NFC] Remove unused LAA include (#199202)
Commit: a79158d2d6ec84c2e282fccb0e9dbf1f16db8108
https://github.com/llvm/llvm-project/commit/a79158d2d6ec84c2e282fccb0e9dbf1f16db8108
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/io-api-gpu.h
M flang-rt/lib/runtime/io-api-server.cpp
M flang-rt/lib/runtime/main.cpp
M flang/include/flang/Runtime/io-api.h
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/common/src/RPC.cpp
Log Message:
-----------
[flang-rt] Remove library dependency from flang-rt to offload (#198793)
Summary:
We need the offload project's RPC thread to handle the IO requests
originating from the GPU. Previously we did the 'easy' solution and just
linked this handler directly into the offload proejct. This is not ideal
because it prevents people's ability to build and configure libraries
separately.
This PR inverts the dependency, flang-rt now conditionally enables
support using the existing RPC callback mechanism. The cost is that
every flang-rt program now pays the cost of a boolean compare, the
benefit is the libraries are now independent of each-other.
Commit: a6fe3806f2c355a5fcb44867993749a8cb0a1a2f
https://github.com/llvm/llvm-project/commit/a6fe3806f2c355a5fcb44867993749a8cb0a1a2f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/commute.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
M llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss.ll
M llvm/test/Transforms/SLPVectorizer/extracts-with-undefs.ll
Log Message:
-----------
[SLP] Retry vectorization of FMA candidates after block processing
fadd/fsub instructions that canConvertToFMA returns valid for were
unconditionally skipped in tryToVectorize, causing regressions
where SLP failed to vectorize loops containing such patterns even when
FMA formation never fires.
Collect skipped FMA candidates during vectorizeChainsInBlock and retry
them with AllowFMACandidates=true after all other instructions in the
block have been processed. The cost model still rejects the retry when
actual FMA formation is more profitable (e.g. FMA4 on bdver2), so
existing FMA-profitable cases are unaffected.
Fixes #198040
Reviewers: davemgreen, bababuck, RKSimon, hiraditya
Pull Request: https://github.com/llvm/llvm-project/pull/198174
Commit: d7d60e1d69c0bf7850f52babdb22ba031aed0f87
https://github.com/llvm/llvm-project/commit/d7d60e1d69c0bf7850f52babdb22ba031aed0f87
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.h
M lldb/test/Shell/SymbolFile/NativePDB/ast-methods.cpp
M lldb/test/Shell/SymbolFile/PDB/ast-restore.test
Log Message:
-----------
[lldb][NativePDB] Use CV qualifiers from `this` type for methods (#199214)
When we create the Clang types for methods, we ignored the qualifiers.
So `const` methods would become non-const.
With this PR, we use the qualifiers from `*this` for the function type.
Commit: 1af6ed08a15b2dcffe1c608a43cf24554e215523
https://github.com/llvm/llvm-project/commit/1af6ed08a15b2dcffe1c608a43cf24554e215523
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M .github/workflows/release-binaries.yml
M .github/workflows/release-doxygen.yml
R .github/workflows/require-release-manager/action.yml
A .github/workflows/require-team-membership/action.yml
Log Message:
-----------
workflows/require-release-manager: Refactor to check an arbitrary team (#199083)
This will allow it to be used for checking that users are members of the
llvm-committer team or possibly others.
Commit: 0c315580e51c2eb901f57f04bf3a9a3aebf0906c
https://github.com/llvm/llvm-project/commit/0c315580e51c2eb901f57f04bf3a9a3aebf0906c
Author: Ingo Müller <ingomueller at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M lldb/unittests/Utility/LockedTest.cpp
Log Message:
-----------
[lldb][test] Fix thread safety analysis warning in LockedTest (#199218)
Guard `mutex.unlock()` with `if (mutex.try_lock())` to satisfy thread
safety analysis. Statically, the compiler cannot verify that
`mutex.try_lock()` succeeded when it is only asserted by `EXPECT_TRUE`,
leading to a "releasing mutex 'mutex' that was not held" compilation
error.
This fixes a regression introduced in #198941.
Commit: 78792f8576335770926f5e4b003bc5371d87c875
https://github.com/llvm/llvm-project/commit/78792f8576335770926f5e4b003bc5371d87c875
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/TextNodeDumper.cpp
M clang/test/AST/ast-dump-decl.cpp
Log Message:
-----------
[clang] ast-text-dump: fix printing of declref to decomposition with no bindings (#199215)
Clang supports empty structured binding groups as an extension, and the
text node dumper has some special handling for giving a name to
anonymous declarations, which assumed a decomposition would have at
least one binding.
Fixes #198842
Commit: 3298a0c7e38f92a7a6d7422dca3994b0c1e38609
https://github.com/llvm/llvm-project/commit/3298a0c7e38f92a7a6d7422dca3994b0c1e38609
Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M lldb/source/Interpreter/CommandInterpreter.cpp
A lldb/test/Shell/Commands/process-attach-dummy.test
Log Message:
-----------
[lldb] Fix dummy target filtering regression in CommandInterpreter (#198949)
In #198429 (reland), CommandObject::GetTarget() was tightened to return
nullptr instead of the dummy target when no real target exists, unless
the command explicitly opts in via eCommandAllowsDummyTarget or standard
target requirements
However in CommandInterpreter::GetExecutionContext(bool
adopt_dummy_target) :
```
ExecutionContext
CommandInterpreter::GetExecutionContext(bool adopt_dummy_target) const {
return !m_overriden_exe_contexts.empty()
? m_overriden_exe_contexts.top()
: m_debugger.GetSelectedExecutionContext(adopt_dummy_target);
}
```
If m_overriden_exe_contexts is not empty, the method returned the top
context immediately—completely ignoring the adopt_dummy_target argument
requested by the command object.
Because of this:
1. During sourced script runs, process attach received the dummy target
as its execution target (since adopt_dummy_target = false was ignored).
2. It bypassed the target == nullptr check and proceeded to attach
directly to the dummy target.
3. As the dummy target was never registered in m_target_list , the main
target list remained empty ( No targets. ), causing all subsequent
commands (e.g., setting breakpoints or continuing) to fail with invalid
target errors.
### The Fix:
lldb/source/Interpreter/CommandInterpreter.cpp :
Respect adopt_dummy_target = false in GetExecutionContext when a dummy
target is present in the overridden execution context stackm so that if
adopt_dummy_target is false and the overridden context on the stack
contains the dummy target, we clear the context before returning it.
This forces GetTarget() to return nullptr as originally intended.
### Test:
• lldb/test/Shell/Commands/process-attach-dummy.test :
Add a new standalone Lit shell test to replicate this scenario. The test
sources a command sequence executing process attach when no target
exists, and verifies that target list successfully registers the newly
created real
target ( target #0: <none> ) instead of leaving the list empty.
Commit: 71772bcbc48e95f05740b765a49eaf630b75f79b
https://github.com/llvm/llvm-project/commit/71772bcbc48e95f05740b765a49eaf630b75f79b
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M lldb/test/Shell/Settings/TestCxxFrameFormatPartialFailure.test
Log Message:
-----------
[lldb] Remove XFAIL from TestCxxFrameFormatPartialFailure (#199229)
This is fixed on Windows after #198600 as it now uses LLD.
Commit: 86475ffaf08578f45cfde0fa109396ed81eab9f0
https://github.com/llvm/llvm-project/commit/86475ffaf08578f45cfde0fa109396ed81eab9f0
Author: Mel Chen <mel.chen at sifive.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
Log Message:
-----------
[LV] Avoid stale VPTypeAnalysis cache in convertToStridedAccesses (#199222)
VPlanTransforms::convertToStridedAccesses calls
VPWidenMemoryRecipe::computeCost, which uses VPTypeAnalysis in
VPCostContext to infer the pointer type of the load address. However,
CachedTypes in VPTypeAnalysis may be invalidated since earlier
transformations in tryToBuildVPlan could erase recipes from the plan.
This pollutes the cache with stale types.
Fix this by creating a new VPCostContext locally scoped to
convertToStridedAccesses, ensuring VPTypeAnalysis reflects the current
plan state. This serves as a quick fix to prevent accidental reuse by
future transformations.
Commit: d2e9300b72637f92aa0ebf4aa5b82f84e4023640
https://github.com/llvm/llvm-project/commit/d2e9300b72637f92aa0ebf4aa5b82f84e4023640
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M lldb/include/lldb/Core/Module.h
M lldb/source/Core/Module.cpp
Log Message:
-----------
[lldb] Adopt LockedPtr in Module (NFC) (#199160)
Follow-up to #198941, which introduced Locked<T> and SharedLocked<T>.
Add GetObjectFileLocked, GetSymbolFileLocked, GetSymtabLocked, and
GetSectionListLocked alongside the existing accessors.
The locked variants cover two things:
1. They prevent the pointer from being swapped out from under the
caller. The old getters take m_mutex only during lazy initialization and
release it before returning. The unique_ptr or shared_ptr that owns the
pointee can therefore be reassigned by another thread while the caller
still holds the raw value. LockedPtr keeps the Module mutex held
alongside the borrowed pointer, pinning the binding for the lifetime of
the handle.
2. They serialize access to the pointee itself. This is not new, the
classes in question were already relying on the Module mutex for
synchronization.
Migrate the four call sites in Module where the existing patter maps to
a single LockedPtr.
The legacy raw-pointer getters remain so call sites can migrate
incrementally.
Commit: b081351c7e20a26a6e67b3e82c065f02e4cce8d8
https://github.com/llvm/llvm-project/commit/b081351c7e20a26a6e67b3e82c065f02e4cce8d8
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/Basic/FileManager.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/unittests/Basic/FileManagerTest.cpp
Log Message:
-----------
[clang] Use FileError in FileManager::getFileRef, getDirectoryRef (#199126)
Most callers are unchanged, since they either ignore the specific error
or have their own formatting of the error that includes both the path
and the errorToErrorCode-unwrapped value. However, for clients that just
forward the error it's helpful to ensure we do not lose track of the
filename that the error is associated with, so use FileError.
Incidentally remove two uses of errorToErrorCode that were being used
instead of consumeError; in both cases getOptionalFileRef was more
appropriate.
Commit: 1586b249954ebc0a09e15dc0f2a28fd7b3de3d6e
https://github.com/llvm/llvm-project/commit/1586b249954ebc0a09e15dc0f2a28fd7b3de3d6e
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
Log Message:
-----------
[mlir][xegpu] Allow layout mismatch between region yields and region results (#199119)
With layout conflict handling this case is no longer an issue.
Commit: b4b2dbf46f25cb688a049bea0495446791c208c9
https://github.com/llvm/llvm-project/commit/b4b2dbf46f25cb688a049bea0495446791c208c9
Author: Aegislin <voyager7 at sjtu.edu.cn>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-using.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using-ignore-extern-c.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
Log Message:
-----------
[clang-tidy] Change IgnoreExternC default to true in modernize-use-using (#199189)
This prevents generating invalid C code in mixed-language headers by
leaving `typedef` declarations inside `extern "C"` blocks intact by
default.
Fixes #141394
Commit: 49e67cb500e0ae1dc5466735f581f72c5cd9a82d
https://github.com/llvm/llvm-project/commit/49e67cb500e0ae1dc5466735f581f72c5cd9a82d
Author: Luke Lau <luke at igalia.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll
Log Message:
-----------
[LV] Regenerate a test with UTC. NFC (#199231)
Commit: 4ad14a07f5704b950131f361edf05b96a871dfa2
https://github.com/llvm/llvm-project/commit/4ad14a07f5704b950131f361edf05b96a871dfa2
Author: Alexander Kornienko <alexfh at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaTemplate/concepts-lambda.cpp
M clang/test/SemaTemplate/concepts.cpp
Log Message:
-----------
Revert "[Clang] Transform lambda's constraints when instantiating parameter mapping (#195995)" (#199228)
This reverts commit 7e2821e025f8ee4add31693ddf462947d7618016, which
causes a crash-on-valid in clang:
https://github.com/llvm/llvm-project/issues/199209
Commit: b153bed8fae4db1a8df3c52ca5b6e3e8f88113bd
https://github.com/llvm/llvm-project/commit/b153bed8fae4db1a8df3c52ca5b6e3e8f88113bd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldShuffleChainsToReduce - add dbg cost comparison message (#199233)
Help track whether a fold was attempted or not
Commit: ec4681df3d6bd1aeb9d00ee93c54eb7d4001cdff
https://github.com/llvm/llvm-project/commit/ec4681df3d6bd1aeb9d00ee93c54eb7d4001cdff
Author: Zhen Wang <zhenw at nvidia.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
Log Message:
-----------
[flang][FIR] Make fir.type a valid memref element type (#199236)
Implement `MemRefElementTypeInterface` on `fir::RecordType` so that
`memref<!fir.type<…>>` verifies, enabling downstream passes to use
memrefs of Fortran derived types.
Commit: 5899ecd0d2420318d935948cd5b25ea56c2538fb
https://github.com/llvm/llvm-project/commit/5899ecd0d2420318d935948cd5b25ea56c2538fb
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
M llvm/test/CodeGen/NVPTX/vaargs.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
M llvm/test/CodeGen/NVPTX/variadics-lowering.ll
Log Message:
-----------
Revert "[NVPTX] Fixup and test ExpandVariadics (#195709)" (#199235)
This reverts commit a5077468984ac3c47e6a3ca779c6f0ba680706c0.
Commit: 170d37d861b036c5d645472dcc53a5d48e39e848
https://github.com/llvm/llvm-project/commit/170d37d861b036c5d645472dcc53a5d48e39e848
Author: David Rivera <davidriverg at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/include/clang/CIR/FrontendAction/CIRGenAction.h
M clang/include/clang/CodeGen/CodeGenAction.h
A clang/include/clang/CodeGen/ModuleLinker.h
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/FrontendAction/CMakeLists.txt
M clang/lib/CodeGen/BackendConsumer.h
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenAction.cpp
A clang/lib/CodeGen/ModuleLinker.cpp
A clang/test/CIR/CodeGen/link-bitcode-file.c
Log Message:
-----------
[CIR] Add Support for linking bitcode modules on cc1 (#196245)
Co-authored-by: <konstantinos.parasyris at intel.com>
Commit: 1126c3f5b3d8f3fba55b372e64002d9561e14644
https://github.com/llvm/llvm-project/commit/1126c3f5b3d8f3fba55b372e64002d9561e14644
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
Log Message:
-----------
[clang-doc][nfc] Prefer range based APIs (#198070)
Commit: 33f8e83a173aec33d3073b9e13a203c0b1147595
https://github.com/llvm/llvm-project/commit/33f8e83a173aec33d3073b9e13a203c0b1147595
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/fmuladd_width_prop.ll
Log Message:
-----------
[SLP] Add test for fmuladd bit width propogation (#199128)
Not profitable with VF=4, but we only we try smaller VFs if the load can
fit in a single vector register found by BoUpSLP::getVectorElementSize().
Requires proprogation of bit widths through the fmuladd intrinsic to vectorize
at VF=2. This is from the hot block in `538.imagick_r` which fails to vectorize
when vectorization is removed from pre-LTO, see
https://github.com/llvm/llvm-project/pull/195886#issuecomment-4486422243.
Commit: cde86c021761e76a20c3387a031363c6797c63bf
https://github.com/llvm/llvm-project/commit/cde86c021761e76a20c3387a031363c6797c63bf
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/modular-format.ll
M llvm/test/Verifier/modular-format.ll
Log Message:
-----------
[LLVM] Handle zero first-arg-index in modular-format (#199118)
Relax modular-format attribute validation in the Verifier to allow a
first-arg-index of 0 (meaning no variadic arguments, e.g. for v-family
functions like vsnprintf).
Guard InstCombine's optimizeModularFormat against zero index.
Generated by Gemini, reviewed by dthorn
Commit: 29b141740d263f11c8e1d8490522ed7674096faa
https://github.com/llvm/llvm-project/commit/29b141740d263f11c8e1d8490522ed7674096faa
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
A clang/test/Driver/print-enabled-extensions/riscv-sifive-p870-d.c
R clang/test/Driver/print-enabled-extensions/riscv-sifive-p870.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/test/Transforms/LoopUnroll/RISCV/vector.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-load.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-store.ll
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/atomic.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/floating-point.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/integer.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/mul-div.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/arithmetic.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/bitwise.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/comparison.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/conversion.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/fma.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/fp.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/mask.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/minmax.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/mul-div.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/permutation.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/reduction.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/vle-vse-vlm.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/vlse-vsse.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/vlseg-vsseg.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/vlxe-vsxe.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvbb.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvbc.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvbc.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvkg.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvkned.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvknhb.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvksed.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/rvv/zvksh.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zba.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zbb.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zbs.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zfa.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zfh.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zfhmin.test
M llvm/test/tools/llvm-mca/RISCV/SiFiveP800/zicond.test
Log Message:
-----------
[RISCV] Rename sifive-p870 -> sifive-p870-d (#199077)
This matches the name on SiFive's website.
Commit: 031a54fd30a7799df18d016c8b23a6b5ce6e6db9
https://github.com/llvm/llvm-project/commit/031a54fd30a7799df18d016c8b23a6b5ce6e6db9
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M flang-rt/cmake/modules/AddFlangRT.cmake
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/main.cpp
Log Message:
-----------
[flang-rt] Remove fallback if RPC headers not found (#199211)
Summary:
These are stored in the libc/shared and have a unified CMake helper to
find them. Likely these will be a more core dependency as LLVM uses them
for constexpr math, libcxx uses it, and compiler-rt will probably use
bits of it.
The original intention was to allow building flang-rt with a partial
checkout, but i don't think this is a reasonable use-case and I do not
think this exists in practice.
Commit: df7948e445b5e9446053491a75980cc187316a09
https://github.com/llvm/llvm-project/commit/df7948e445b5e9446053491a75980cc187316a09
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
M lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
Log Message:
-----------
[LLDB] Refactor SDK-related functions in Platform (#199141)
There are a lot of similar and repetetive variants of SDK lookups in the
Apple platform plugins. This commit unifies the implementations, error
handling and progress reporting.
Assisted-by: claude
Commit: 287bc01277f5d77668563ab69fce64e286dfd79f
https://github.com/llvm/llvm-project/commit/287bc01277f5d77668563ab69fce64e286dfd79f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
M llvm/test/Transforms/VectorCombine/AArch64/partial-reduce-crash.ll
M llvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll
Log Message:
-----------
[VectorCombine] foldShuffleChainsToReduce - fold at equal costs (#199242)
Similar to other VectorCombine folds, in case of OldCost == NewCost, use
the reduction if at least the root BinOp is removed as well as the
ExtractElement.
Noticed while triaging codegen for #199208
Commit: d2b4dacba3d25ede39e997e77249f7c606444dea
https://github.com/llvm/llvm-project/commit/d2b4dacba3d25ede39e997e77249f7c606444dea
Author: Augusto Noronha <anoronha at apple.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
A llvm/test/tools/llvm-dwarfdump/X86/debug-names-verify-completeness-llvm-annotation.ll
Log Message:
-----------
[DWARFVerifier] Skip DW_TAG_LLVM_annotation in DWARFVerifier (#198867)
Annotations are not indexed, so we need to skip them on the verifier.
Assisted by: claude
Commit: b9eb0ba06d267a9296659c4955fec5a38e09118e
https://github.com/llvm/llvm-project/commit/b9eb0ba06d267a9296659c4955fec5a38e09118e
Author: Augusto Noronha <anoronha at apple.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/include/llvm/IR/DIBuilder.h
M llvm/lib/IR/DIBuilder.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
Log Message:
-----------
[NFC][DebugInfo] Add Annotations parameter to DIBuilder::createStructType (#197331)
DICompositeType already has an "Annotations" ivar. This simply adds a
way to set it from the "createStructType" function.
Commit: c35107863b7834a51bfd1844ea640a1d29f0a20d
https://github.com/llvm/llvm-project/commit/c35107863b7834a51bfd1844ea640a1d29f0a20d
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
A llvm/test/FileCheck/match-time-error-propagation/invalid-excluded-pattern.txt
A llvm/test/FileCheck/match-time-error-propagation/invalid-expected-pattern.txt
A llvm/test/FileCheck/match-time-error-propagation/matched-excluded-pattern.txt
A llvm/test/FileCheck/match-time-error-propagation/matched-expected-pattern.txt
Log Message:
-----------
[FileCheck] Resurrect overflow tests (#198136)
D150880 (landed as 0726cb004718) uses `APInt` to eliminate most integer
overflow issues from FileCheck numeric variables. It also removes the 4
tests in `llvm/test/FileCheck/match-time-error-propagation`.
While the elimination of overflow issues reduces the importance of those
tests, the tests still seem worthwhile. Without them, I see no test that
exercises the "unable to substitute variable or numeric expression:
overflow error" diagnostic in FileCheck input dumps.
This patch resurrects those tests and updates them to exercise the
remaining unsigned underflow case.
Commit: 8d506871687ce758fc788f957dc18ab181b801ae
https://github.com/llvm/llvm-project/commit/8d506871687ce758fc788f957dc18ab181b801ae
Author: Zaky Hermawan <44158147+ZakyHermawan at users.noreply.github.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
M clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
M clang/lib/CIR/CodeGen/CIRGenCUDARuntime.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGenCUDA/address-spaces.cu
A clang/test/CIR/IR/var-registration.cir
Log Message:
-----------
[CIR][CUDA] Introduce cu.var_registration for shadow and attach device-side var metadata, internalize device side variables, and lower poison attribute (#190087)
Signed-off-by: ZakyHermawan <zaky.hermawan9615 at gmail.com>
Commit: 1e14fd023023b6b4f94b455d0ba5aec85e69fa06
https://github.com/llvm/llvm-project/commit/1e14fd023023b6b4f94b455d0ba5aec85e69fa06
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M flang-rt/lib/runtime/transformational.cpp
Log Message:
-----------
[flang-rt] Added missing RT_API_ATTRS for CheckBoundaryType(). (#199244)
Commit: 1a264a9c0e628caf65b28fd4ba66af11fb6c6f1b
https://github.com/llvm/llvm-project/commit/1a264a9c0e628caf65b28fd4ba66af11fb6c6f1b
Author: Henrik G. Olsson <hnrklssn at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/docs/LifetimeSafety.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[docs] update noescape semantics to disallow free (#195973)
This changes the documented semantics of the `noescape` attribute to
disallow freeing the pointer, and allow escapes of the integer value of
the memory address, as discussed in
https://discourse.llvm.org/t/rfc-updating-the-semantics-of-the-noescape-attribute/90326.
It also clarifies that the attribute may only be used to annotate the
outermost pointer level of nested pointer parameters.
Commit: 939d325dba604a55bc075b46f9ffeda48ab46c0b
https://github.com/llvm/llvm-project/commit/939d325dba604a55bc075b46f9ffeda48ab46c0b
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/test/FileCheck/dump-input/annotations.txt
M llvm/utils/FileCheck/FileCheck.cpp
Log Message:
-----------
[FileCheck] Refactor -dump-input test (#198137)
This PR is stacked on PR #198136.
This patch refactors `llvm/test/FileCheck/dump-input/annotations.txt` to
improve maintainability and coverage and to prepare for the upcoming
implementation of search range annotations.
Lit substitutions
=================
The test repeats the same basic set of RUN lines *many* times. This
patch encapsulates those in lit substitutions to improve
maintainability. By doing so, it also helps to ensure more consistent
coverage of all cases and thus slightly expands coverage.
-strict-whitespace
==================
Via those substitutions, this patch adds `-strict-whitespace` throughout
the test, and it drops the initial `-strict-whitespace` case because it
is then redundant. That causes many whitespace changes throughout the
test, so this patch is easier to read with `git diff -w`.
When I originally wrote the test, I thought maintaining it would be too
painful with `-strict-whitespace`. However, I now think it is important
for usability to thoroughly check that annotations are correctly aligned
with the input, especially given the upcoming search range annotations.
-dump-input-label-width
=======================
To address that anticipated maintenance pain, and to make the above
change easier to implement, this patch also implements a new hidden
FileCheck option, `-dump-input-label-width`. It enables tests like this
one not to have to fuss with fluctuations in the label column width that
are caused when varying the verbosity options. I do not anticipate this
option will be used outside FileCheck's own test suite.
Splitting directive blocks
==========================
To improve readability, this patch splits apart directive blocks where
the same annotations appear multiple times with small differences at
different verbosity levels. See new header comments for details.
Commit: ef4e882c25a149041da5221ea765c0f3a2a7adb3
https://github.com/llvm/llvm-project/commit/ef4e882c25a149041da5221ea765c0f3a2a7adb3
Author: Sean Perry <perry at ca.ibm.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/tools/dsymutil/DebugMap.cpp
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
Log Message:
-----------
Open yaml, etc as text files (#199253)
These tests were failing on z/OS because the text input files were being
opened as binary.
```
FAIL: LLVM :: tools/dsymutil/AArch64/typedef-different-types.test
FAIL: LLVM :: tools/dsymutil/X86/mismatch.m
FAIL: LLVM :: tools/dsymutil/embed-resource.test
FAIL: LLVM :: tools/llvm-gsymutil/X86/elf-symtab-file.yaml
```
Open the files as text to solve the problems.
Commit: 6a8467648c8f01584ccf9b7835c641f6b65abdac
https://github.com/llvm/llvm-project/commit/6a8467648c8f01584ccf9b7835c641f6b65abdac
Author: Dickson Chau <61763724+dicksonchau at users.noreply.github.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
Log Message:
-----------
[NFC] Remove fractional part of Estimated cost per lane in memory-interleave.ll (#198666)
On the memory-interleave.ll test, some of the CHECK lines are failing on
z/OS, due to difference in rounding behaviour when printing the
Estimated cost per lane. Resolve this by removing the fractional part,
similar to what done in the past with
https://github.com/llvm/llvm-project/commit/e8556ff6b664df6e595f8aed175eff3a27a4a020
and
https://github.com/llvm/llvm-project/commit/aeb88f6778756ea889918308241a2b34bd7f64e2
.
Commit: e47f8de5a2da5df2da84b804b2bdac5b54bfdbc5
https://github.com/llvm/llvm-project/commit/e47f8de5a2da5df2da84b804b2bdac5b54bfdbc5
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/test/Analysis/AliasAnalysis/alias-analysis-acc.mlir
Log Message:
-----------
[flang] Fixed FIR AA's getSource() for box loads inside acc.compute_region. (#199157)
This patch fixes a regression caused by #198635: when we call getSource()
for a `fir.load` of a box we have to handle the input value that might be
a `BlockArgument` and pass-through it.
Commit: 39d3090d005c5dd697c9b33ae5e43a200a2ccc48
https://github.com/llvm/llvm-project/commit/39d3090d005c5dd697c9b33ae5e43a200a2ccc48
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/test/CodeGenObjC/exceptions.m
M clang/test/Headers/__clang_hip_math.hip
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/CodeGen/AArch64/avoid-free-ext-promotion.ll
A llvm/test/CodeGen/AMDGPU/sroa-phi-nodes.ll
A llvm/test/Transforms/SimplifyCFG/jump-threading-live-on-exit.ll
A llvm/test/Transforms/SimplifyCFG/jump-threading-max-jump-threading-live-blocks.ll
Log Message:
-----------
Reapply [SimplifyCFG] Extend jump-threading to allow live local defs (#197850)
Restore "Extend jump-threading to allow live local defs" #135079. Long
compilation time with reduce.cu in hipcub/warp was partially addressed
in #195744. Compilation time for reduce.cu with this PR (after #195744)
is 6 minutes 40 seconds. Without (#195744) compilation time was several
hours.
Long compilation time in reduce.cu was only exposed by jump-threading.
In my view the primary causes were due to inlining, SROA tripling the IR
code size, and SSA updating 26K phi-nodes resulting in an O(N^2) search
for duplicates. #195744 limits phi search times.
This reverts commit a76750e6de6aba2223097dc505578556ec245d50.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: f8392616fafe26a6132645d0474253afe0549f32
https://github.com/llvm/llvm-project/commit/f8392616fafe26a6132645d0474253afe0549f32
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/NVGPU/IR/CMakeLists.txt
Log Message:
-----------
[MLIR] Fix mlir-doc build, add missing "-dialect nvgpu" (#199279)
Was broken with
> when more than 1 dialect is present, one must be selected via
'-dialect'
Commit: c61c8808b4aa1cbcde195859ddb5dd1402cb5914
https://github.com/llvm/llvm-project/commit/c61c8808b4aa1cbcde195859ddb5dd1402cb5914
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/Serialize.cpp
Log Message:
-----------
[clang-doc][nfc] Silence tidy warning about anonymous namespace (#198071)
clang-tidy complains that we should prefer static over the anonymous
namespace, despite the API being static in addition to being in the
anonymous namespace. We can silence the diagnostic by simply removing
the namespace declaration.
Commit: 90d4ed570dbc685120fb5824efd8eb9b568ac5ff
https://github.com/llvm/llvm-project/commit/90d4ed570dbc685120fb5824efd8eb9b568ac5ff
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
Log Message:
-----------
[clang-doc][nfc] Use static declarations to enforce internal linkage (#198072)
Commit: d755b04e38363e02fc64578654705d52a321b739
https://github.com/llvm/llvm-project/commit/d755b04e38363e02fc64578654705d52a321b739
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
M llvm/test/Analysis/ScalarEvolution/zext-add-nsw-fold.ll
M llvm/test/Analysis/ScalarEvolution/zext-add.ll
M llvm/test/Transforms/LoopUnroll/peel-last-iteration-with-guards.ll
M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
Log Message:
-----------
[SCEV] Fold zext(C+A)<nsw> -> (sext(C) + zext(A))<nsw> if possible. (#142599)
Simplify zext(C+A)<nsw> -> (sext(C) + zext(A))<nsw> if
* zext (C + A)<nsw> >=s 0 and
* A >=s V.
For now this is limited to cases where the first operand is a constant,
so the SExt can be folded to a new constant. This can be relaxed in the
future.
The initial version checks for non-negative manually to limit compile-time,
supporting only A = smax(C2, ..) where C2 >= abs(C)
Alive2 proof of the general pattern and the test changes in zext-nuw.ll
(times out in the online instance but verifies locally)
https://alive2.llvm.org/ce/z/_BtyGy
PR: github.com/llvm/llvm-project/pull/142599
Commit: cc926938e05be54018d1bfd72144d07ad7599a8a
https://github.com/llvm/llvm-project/commit/cc926938e05be54018d1bfd72144d07ad7599a8a
Author: Kevin Sala Penades <salapenades1 at llnl.gov>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
Log Message:
-----------
[offload] Use device memory for the multithreaded kernel lanuch test (#199132)
This commit modifies the multithreaded kernel launch test to use device
memory instead of managed memory. The test is reported to be failing
intermittently in systems where concurrent managed memory access is
not supported. This is the case for NVIDIA devices that do not support
CU_DEVICE_ATTRIBUTE_CONCURRENT_MANAGED_ACCESS.
The concept of concurrent and coherent managed memory access should
be exposed to liboffload users somehow, e.g., adding it as device property,
so it is clear what execution patterns are allowed with managed memory.
However, this test is just testing concurrent kernel launches. This commit
fixes it until we decide how to proceed with the guarantees on that type of
allocations.
Commit: 83c752f7b12705f65a4ed1575c071140830cab52
https://github.com/llvm/llvm-project/commit/83c752f7b12705f65a4ed1575c071140830cab52
Author: Igor Gorban <igor.gorban at intel.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/Headers/opencl-c.h
M clang/lib/Sema/OpenCLBuiltins.td
M clang/test/SemaOpenCL/intel-subgroups-builtins.cl
Log Message:
-----------
[OpenCL] Fix image2d_t qualifier for intel_sub_group_block_write_ui (#199232)
The intel_sub_group_block_write_ui[2,4,8] overloads for image2d_t were
declared with a read_only qualifier, both in opencl-c.h and in
OpenCLBuiltins.td. A write operation cannot target a read_only image,
and
the base intel_sub_group_block_write together with the analogous _us,
_uc
and _ul aliases all correctly use write_only image2d_t.
Per the cl_intel_subgroups_short [1], cl_intel_subgroups_char [2] and
cl_intel_subgroups_long [3] specifications, the _ui aliases are added
"for
naming consistency [...] There is no change to the description or
behavior
of these functions" relative to the cl_intel_subgroups base, which uses
write_only image2d_t for writes.
The typo was introduced in b833bf6ae14f and preserved across all
later edits to this area.
Switch the qualifier from read_only to write_only in both opencl-c.h and
OpenCLBuiltins.td, and update intel-subgroups-builtins.cl to match the
corrected signature (the existing test was exercising the buggy
overload).
[1]
https://registry.khronos.org/OpenCL/extensions/intel/cl_intel_subgroups_short.html
[2]
https://registry.khronos.org/OpenCL/extensions/intel/cl_intel_subgroups_char.html
[3]
https://registry.khronos.org/OpenCL/extensions/intel/cl_intel_subgroups_long.html
Co-Authored-By: Claude Opus
---------
Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply at anthropic.com>
Commit: 65e49a6c075236d7dff70750cf1aae3042a974e8
https://github.com/llvm/llvm-project/commit/65e49a6c075236d7dff70750cf1aae3042a974e8
Author: Igor Gorban <igor.gorban at intel.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/Sema/OpenCLBuiltins.td
A clang/test/SemaOpenCL/intel-subgroup-buffer-prefetch-builtins.cl
A clang/test/SemaOpenCL/intel-subgroup-local-block-io-builtins.cl
A clang/test/SemaOpenCL/intel-subgroup-local-block-io-ui-without-char-short-long.cl
Log Message:
-----------
[OpenCL] Add Intel subgroup buffer prefetch and local block I/O builtins (#199258)
Add cl_intel_subgroup_buffer_prefetch and
cl_intel_subgroup_local_block_io
declarations to OpenCLBuiltins.td and cover them with header-free SPIR
tests.
This keeps the generated OpenCL builtins in sync with opencl-c.h for the
Intel subgroup buffer prefetch and local block I/O extensions.
Per the cl_intel_subgroup_local_block_io specification, the _ui local
aliases (intel_sub_group_block_read_ui*, intel_sub_group_block_write_ui*
with __local pointer) are declared under
FuncExtIntelSubgroupLocalBlockIO
alone, without a char/short/long prerequisite. A dedicated test
(intel-subgroup-local-block-io-ui-without-char-short-long.cl) verifies
that
they resolve when only cl_intel_subgroup_local_block_io is active.
Specification:
https://registry.khronos.org/OpenCL/extensions/intel/cl_intel_subgroup_buffer_prefetch.html
https://registry.khronos.org/OpenCL/extensions/intel/cl_intel_subgroup_local_block_io.html
Co-authored-by: Copilot
Commit: 56bf9850bbb6442b7ff5bc17a7f5dc0bab7d83b5
https://github.com/llvm/llvm-project/commit/56bf9850bbb6442b7ff5bc17a7f5dc0bab7d83b5
Author: adams381 <adams at nvidia.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
A clang/test/CIR/CodeGen/record-with-padded-union.cpp
Log Message:
-----------
[CIR] Include union tail pad in getTypeSizeInBits (#198361)
Padded CIR unions (e.g. libstdc++ `std::string` SSO layout) carry a
trailing byte-array member so the record matches the AST layout size.
`RecordType::getTypeSizeInBits` was returning only the largest-aligned
member and ignored that tail, so the CIR view of the union was 8 bytes
smaller than what `LowerToLLVM` emits. Parent structs then picked up
a spurious trailing pad via `insertPadding`, arrays of those structs
used the wrong stride, and heap allocations could be overrun (Eigen's
`array_of_string` hits this directly).
The fix adds the padding member's size when the union is marked
`padded`, so struct size, GEP strides, and `new T[n]` allocation sizes
match OGCG. Regression test models the SSO-shaped record and checks
the 96-byte `new` for three elements.
Commit: ff83218ec11bafbcc1e0e788917765e681cec809
https://github.com/llvm/llvm-project/commit/ff83218ec11bafbcc1e0e788917765e681cec809
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/cmake/caches/HLSL.cmake
Log Message:
-----------
[HLSL] Fix improper parsing of IN_LIST within if condition (#199276)
Cmake does not properly parse IN_LIST within the if condition, and
treats it as a token.
This is not desired behavior.
The CMP0057 policy supports the new [if() IN_LIST
](https://cmake.org/cmake/help/latest/command/if.html#command:if)
operator.
Enable this policy and resolve the build error.
Fixes https://github.com/llvm/llvm-project/issues/199282
Assisted by: Github Copilot
Commit: 38489af2c601b28689db8533f841eb995afcab99
https://github.com/llvm/llvm-project/commit/38489af2c601b28689db8533f841eb995afcab99
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M .github/workflows/libcxx-run-benchmarks.yml
Log Message:
-----------
workflows/libcxx-run-benchmarks: Only run job for people with commit access (#199087)
This job checks out untrusted code from a PR in a trusted context
(issue_comment trigger), so we need to limit it to people with commit
access to avoid possible privilege escalation.
Commit: c32de3e3759c3368978535e4ff4fb83323219fb0
https://github.com/llvm/llvm-project/commit/c32de3e3759c3368978535e4ff4fb83323219fb0
Author: lntue <lntue at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M .github/workflows/libc-shared-tests.yml
Log Message:
-----------
[libc] Switch libc-shared-tests precommit CI to use docker image. (#197962)
Commit: 0de4a8cd41efaac4d63ce056e8d4177397fdc1a7
https://github.com/llvm/llvm-project/commit/0de4a8cd41efaac4d63ce056e8d4177397fdc1a7
Author: Wenju He <wenju.he at intel.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M libclc/test/conversion/convert.cl
M libclc/test/geometric/cross.cl
M libclc/test/integer/add_sat.cl
M libclc/test/integer/sub_sat.cl
M libclc/test/lit.cfg.py
M libclc/test/lit.site.cfg.py.in
M libclc/test/math/cos.cl
M libclc/test/math/fabs.cl
M libclc/test/math/rsqrt.cl
M libclc/test/misc/as_type.cl
M libclc/test/update_libclc_tests.py
M libclc/test/work-item/get_group_id.cl
Log Message:
-----------
[libclc] Fix .cl tests in standalone build (#199164)
libclc standalone build puts libclc.bc in ${CMAKE_CURRENT_BINARY_DIR}/
${TARGET_TRIPLE} dir. check-libclc fails because .cl test is looking for
libclc in clang resource dir.
Fix them by adding `--libclc-lib=:{path}` flag for standalone build,
where `path` is path to libclc.bc.
Note: this flag is not used in in-tree build.
Commit: 2b08313726f4c8118d8b66cef1e030a64332eeed
https://github.com/llvm/llvm-project/commit/2b08313726f4c8118d8b66cef1e030a64332eeed
Author: Hussam Alhassan <hsm.link at proton.me>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
R llvm/test/CodeGen/AArch64/aarch64-condopt-cross-block-domtree.mir
Log Message:
-----------
Revert "[AArch64] ConditionOptimizer: replace per-block DenseMap with ScopedHashTable traversal (#196746)" (#199288)
This reverts commit 371f57cd67a523d241678509f57d048d58417b87 due to
failing tests
Commit: d5915e2911eeca5b9c97a670489bcd6bb3ccee2f
https://github.com/llvm/llvm-project/commit/d5915e2911eeca5b9c97a670489bcd6bb3ccee2f
Author: Alex Langford <alangford at apple.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M lldb/test/API/lang/c/function_types/TestFunctionTypes.py
Log Message:
-----------
[lldb] Adjust TestFunctionTypes.py for arm64e (#199295)
Normally the open parens happen right before a.out, but on arm64e the
load address is placed there instead. So instead of:
$0 = 0x0000d00d (a.out...)
we instead have:
$0 = 0xcafed00d (actual=0x0000d00d a.out ...)
Commit: e11ffb21df47d5d221e00f13086ee5a70056e128
https://github.com/llvm/llvm-project/commit/e11ffb21df47d5d221e00f13086ee5a70056e128
Author: owenca <owenpiano at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/test/CMakeLists.txt
Log Message:
-----------
[clang-format] Add a dependent build target to check-clang-format (#199169)
This makes check-clang-format automatically builds
clang-format-check-format, which checks that the new clang-format
doesn't break the existing format of the clang-format source.
Commit: e3fab4ff9468dac2d968fde68f34959fc5e18835
https://github.com/llvm/llvm-project/commit/e3fab4ff9468dac2d968fde68f34959fc5e18835
Author: lntue <lntue at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M .github/workflows/libc-shared-tests.yml
Log Message:
-----------
[libc] Build and test libc-shared-tests with gcc versions in precommit CIs. (#199300)
Commit: cd1baf3cdc013d5ec68684a68d6a4376ed4027e0
https://github.com/llvm/llvm-project/commit/cd1baf3cdc013d5ec68684a68d6a4376ed4027e0
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M libc/test/src/__support/wctype/CMakeLists.txt
Log Message:
-----------
[libc][NFC][wctype] Fix test ci for old drivers (#199307)
Commit: 387a7385ce5e5d5e141359b2106e0759c7b4a000
https://github.com/llvm/llvm-project/commit/387a7385ce5e5d5e141359b2106e0759c7b4a000
Author: lntue <lntue at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M libc/test/src/math/AddTest.h
M libc/test/src/math/CeilTest.h
M libc/test/src/math/CopySignTest.h
M libc/test/src/math/DivTest.h
M libc/test/src/math/FAbsTest.h
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FloorTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/FrexpTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LogbTest.h
M libc/test/src/math/ModfTest.h
M libc/test/src/math/MulTest.h
M libc/test/src/math/NearbyIntTest.h
M libc/test/src/math/RIntTest.h
M libc/test/src/math/RemQuoTest.h
M libc/test/src/math/RoundEvenTest.h
M libc/test/src/math/RoundTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/RsqrtTest.h
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/SubTest.h
M libc/test/src/math/TruncTest.h
M libc/test/src/math/acos_test.cpp
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/acospif_test.cpp
M libc/test/src/math/asin_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf_test.cpp
M libc/test/src/math/asinpi_test.cpp
M libc/test/src/math/asinpif_test.cpp
M libc/test/src/math/atan_test.cpp
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/cbrt_test.cpp
M libc/test/src/math/cbrtf_test.cpp
M libc/test/src/math/cos_test.cpp
M libc/test/src/math/cosf_float_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/erff_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp10m1f_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/exp2m1f_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log10f_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/logf_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincos_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_float_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/smoke/CopySignTest.h
M libc/test/src/math/smoke/FDimTest.h
M libc/test/src/math/smoke/FMaxTest.h
M libc/test/src/math/smoke/FMaximumMagNumTest.h
M libc/test/src/math/smoke/FMaximumMagTest.h
M libc/test/src/math/smoke/FMaximumNumTest.h
M libc/test/src/math/smoke/FMaximumTest.h
M libc/test/src/math/smoke/FMinTest.h
M libc/test/src/math/smoke/FMinimumMagNumTest.h
M libc/test/src/math/smoke/FMinimumMagTest.h
M libc/test/src/math/smoke/FMinimumNumTest.h
M libc/test/src/math/smoke/FMinimumTest.h
M libc/test/src/math/smoke/ILogbTest.h
M libc/test/src/math/smoke/LogbTest.h
M libc/test/src/math/smoke/ModfTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/tan_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/src/mathvec/expf_test.cpp
M libc/test/utils/FPUtil/x86_long_double_test.cpp
Log Message:
-----------
[libc][NFC] Reduce the test size for math functions by default. (#199308)
Commit: 65b58800c50af89c79d7ef7100f555f188f0c979
https://github.com/llvm/llvm-project/commit/65b58800c50af89c79d7ef7100f555f188f0c979
Author: Thurston Dang <thurston at google.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan][test] Fix use-after-free in dumpRecipeInPlan/dumpRecipeUnnamedVPValuesInPlan tests (#199275)
https://github.com/llvm/llvm-project/pull/195891 exposed a
use-after-free in the tests: `BinaryOperator *AI` [*] is deleted prior
to VPlan's destructor, which expects all the operands to still be alive.
This patch fixes the test (suggested by a Florian in
https://github.com/llvm/llvm-project/pull/199252#pullrequestreview-4348337988),
by preemptively detaching AI from the VPlan.
[*] No AI was harmed or used during the creation of this patch.
Commit: 456906f06d4f3f4107ece2b9c522cc6f855c7dd1
https://github.com/llvm/llvm-project/commit/456906f06d4f3f4107ece2b9c522cc6f855c7dd1
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
A mlir/test/Integration/Dialect/XeGPU/WG/load_store_matrix.mlir
Log Message:
-----------
[MLIR][XeGPU]Extend load_matrix/store_matrix to support 1D SLM access (#198652)
This PR extended xegpu.load_matrix and xegpu.store_matrix to support 1D
mem_desc for contiguous SLM access
- Added unit tests for 1D load/store (valid ops and invalid cases)
- Added integration test verifying both 1D (<4096xbf16>) and 2D
(<64x128xbf16>), correctly lower through the full WG→SG→WI→XeVM pipeline
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
Commit: d6be71fd1f10ad5220b69a3a09a942faabbd1a05
https://github.com/llvm/llvm-project/commit/d6be71fd1f10ad5220b69a3a09a942faabbd1a05
Author: Henrik G. Olsson <hnrklssn at gmail.com>
Date: 2026-05-22 (Fri, 22 May 2026)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/test/CodeGenCXX/noescape.cpp
M clang/test/CodeGenObjC/noescape.m
Log Message:
-----------
[Clang][CodeGen] map `noescape` to capture(address) (was capture(none)) (#199281)
`capture(none)` has very restrictive semantics and an easy footgun to
accidentally fire some UB into your code with. Most significantly it
does not allow any visible side-effects of whether a pointer was null or
not to escape the function. This means that the function cannot perform
different side effects depending on whether a pointer marked `noescape`
is null. Relax this to `captures(address)`, which allows information
about the numerical address to escape the function, but no provenance
(i.e. nothing that could be dereferenced) may escape.
As discussed in
https://discourse.llvm.org/t/rfc-updating-the-semantics-of-the-noescape-attribute/90326.
Commit: a8e55950fdc19c23ad78c8aeeea5a907690c4b6d
https://github.com/llvm/llvm-project/commit/a8e55950fdc19c23ad78c8aeeea5a907690c4b6d
Author: Alex Bradbury <asb at igalia.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/shuffle-load.ll
Log Message:
-----------
[RISCV][TTI] Make getShuffleCost check we have a vector before querying getVectorElementCount (#199286)
Fixes the assert reported here:
<https://github.com/llvm/llvm-project/pull/198446#issuecomment-4522589671>
I believe this happens when the element type isn't a legal RVV element
type and so has been scalarised by type legalisation.
Adding this guard also matches the AArch64 implementation.
The test change is LLM generated.
Commit: fc082e1a6ddd77dddc79c49285356fd9dfed7731
https://github.com/llvm/llvm-project/commit/fc082e1a6ddd77dddc79c49285356fd9dfed7731
Author: Gábor Spaits <gaborspaits1 at gmail.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/fixed-vectors-calling-conv.ll
Log Message:
-----------
[RISCV][GlobalISel]Implement support for vector calling convention with fixed length vectors (#199227)
Implementing IRTranslator support for fixed length vectors when the V
extension is used. This implementation works similar to SelecionDAGs. We
use insert and extract subvector OPs to get the fixed length vectors out
of the scalable length vectors.
Commit: 7bcc8e6f74bb8b38af3d539dc2cc36f8a16cc526
https://github.com/llvm/llvm-project/commit/7bcc8e6f74bb8b38af3d539dc2cc36f8a16cc526
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/reduce-smax.ll
M llvm/test/Analysis/CostModel/X86/reduce-smin.ll
M llvm/test/Analysis/CostModel/X86/reduce-umax.ll
M llvm/test/Analysis/CostModel/X86/reduce-umin.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-smax.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-smin.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-umax.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-umin.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-smax.ll
M llvm/test/Transforms/SLPVectorizer/X86/used-reduced-op.ll
M llvm/test/Transforms/VectorCombine/X86/fold-equivalent-reduction-cmp.ll
M llvm/test/Transforms/VectorCombine/X86/fold-signbit-reduction-cmp.ll
M llvm/test/Transforms/VectorCombine/X86/icmp-vector-reduce.ll
Log Message:
-----------
[CostModel][X86] Update VECREDUCE MINMAX costs based off llvm-mca analysis (#199208)
Add full CostKinds, to improve a lot of reduction matching in
vectorcombine/slp passes
These are based off SMIN/UMIN numbers, and a few SMAX/UMAX numbers don't
always match, but are typically within +/-1
Commit: 85c3fd048d7df66d093bfaf45e7c3c3ec44122bf
https://github.com/llvm/llvm-project/commit/85c3fd048d7df66d093bfaf45e7c3c3ec44122bf
Author: lntue <lntue at google.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M libc/test/shared/shared_math_test.cpp
Log Message:
-----------
[libc] Fix shared math tests for gcc-13. (#199318)
Commit: 23c92de8e4252ddadd2dcc4a80c5d8b6a620e9c6
https://github.com/llvm/llvm-project/commit/23c92de8e4252ddadd2dcc4a80c5d8b6a620e9c6
Author: A. Jiang <de34 at live.cn>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
A libcxx/test/std/utilities/memory/specialized.algorithms/destroy.h
Log Message:
-----------
[libc++][test] Add backported `destroy({_at,_n})` for tests (#199185)
It would be convenient to use `destroy_at`, `destroy`, and `destroy_n`
in tests for pre-C++17 uninitialized memory algorithms. So this PR add
backported versions of them for tests.
Commit: 38e0a91f244fb0789c3d90d444bd07972f1051cb
https://github.com/llvm/llvm-project/commit/38e0a91f244fb0789c3d90d444bd07972f1051cb
Author: Jiahao Guo <eoonguo at gmail.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
M clang/test/CIR/CodeGen/abi-lower-after-unreachable.cpp
M clang/test/CIR/CodeGen/dynamic-cast-exact.cpp
M clang/test/CIR/CodeGen/dynamic-cast.cpp
Log Message:
-----------
[CIR] Attach noreturn attribute to __cxa_bad_cast (#198727)
## Summary
- Mark `__cxa_bad_cast` as `noreturn` in CIR, mirroring the existing
`__cxa_bad_typeid` handling. The attribute is now set on every `CallOp`
that targets it,
covering both the CodeGen direct path (`emitCallToBadCast`) and the
target-lowering path (`buildBadCastCall`).
- Drop the now-fulfilled `MissingFeatures::opFuncNoReturn` entry and
the corresponding TODO/assert at the lone caller in
`LowerItaniumCXXABI.cpp`.
- Update FileCheck expectations in `dynamic-cast.cpp`,
`dynamic-cast-exact.cpp`, and `abi-lower-after-unreachable.cpp` to
require the `{noreturn}` attribute on the lowered
`cir.call @__cxa_bad_cast()`.
Commit: ec771f7fcb307ed9cf8f4ec355d3d2b898b20d39
https://github.com/llvm/llvm-project/commit/ec771f7fcb307ed9cf8f4ec355d3d2b898b20d39
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-metadata.ll
Log Message:
-----------
[LV] Add narrowing interleave group test with preservable metadata (NFC) (#199335)
Drop stale fixme and add test showing missed metadata preservation.
Commit: 9863053dd5b75e2e025eb7e4674752b7ba198d2c
https://github.com/llvm/llvm-project/commit/9863053dd5b75e2e025eb7e4674752b7ba198d2c
Author: aryanmagoon <70676027+aryanmagoon at users.noreply.github.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
A llvm/test/CodeGen/NVPTX/nvvm-abs.ll
Log Message:
-----------
[NVPTX] Auto-upgrade llvm.nvvm.abs with int-min poison (#198646)
Update the auto-upgrade for llvm.nvvm.abs.i and llvm.nvvm.abs.ll to use
the generic llvm.abs intrinsic with is_int_min_poison=true. The previous
expansion used neg/icmp/select which gives defined INT_MIN -> INT_MIN
behavior, but loses the poison/undefined signed-min semantics needed for
NVPTX to select PTX abs.s32 and abs.s64 instrucitons when the source
operation permits signed-min overflow to be undefined. This is a
followup to #183851 . Using llvm.abs(..., true) preserves intended IR
semantics and lowers through the new ABS_MIN_POISON. We also update the
tests and add NVPTX CodeGen coverage for the legacy nvvm abs intrinsics.
Commit: ad72dfb7c0d59838b87cc1910278a5ee1fdb0e19
https://github.com/llvm/llvm-project/commit/ad72dfb7c0d59838b87cc1910278a5ee1fdb0e19
Author: A. Jiang <de34 at live.cn>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M libcxx/test/support/copy_move_types.h
Log Message:
-----------
[libc++][test] Make `copy_move_types.h` usable in old modes (#199183)
This PR makes types in `copy_move_types.h` usable in C++03/11 modes.
Because it is discovered that some types in `copy_move_types.h` are
useful for testing uninitialized memory algorithms in pre-C++20 modes.
Commit: 5e8be92dc40e54bfc7b6a211fd2b094073c07ea4
https://github.com/llvm/llvm-project/commit/5e8be92dc40e54bfc7b6a211fd2b094073c07ea4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineVectorInsert - use generic zext/shift/or pattern for constant concatenation (#199344)
Generalised the code added in #198273 to make it easier to support other
combos in future patches.
Hopefully we can get load combining to work here soon.
Commit: 3106698fcd17513bc05ecc93a173f43bb71666f3
https://github.com/llvm/llvm-project/commit/3106698fcd17513bc05ecc93a173f43bb71666f3
Author: Wolfgang Pieb <55721109+wolfy1961 at users.noreply.github.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
Log Message:
-----------
[clang-doc][nfc] Avoid combining constexpr with std::initializer_list as this seems to give MSVC trouble. (#199311)
Some Windows bots using MSVC 2019 and 2022 get assertion errors in the
clang-doc lit tests (see
[here](https://github.com/llvm/llvm-project/pull/198066). This seems to
be due to MSVC having trouble with a correctly initializing structures
using std::initializer_list when embedded in a struct declared with
constexpr.
This workaround changes constexpr to const in a struct definition to
avoid this issue.
Commit: 017f3525e8c4241701576ecc5083291eddaea63a
https://github.com/llvm/llvm-project/commit/017f3525e8c4241701576ecc5083291eddaea63a
Author: michael1017 <40065278+michael1017 at users.noreply.github.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
Log Message:
-----------
[X86] Lower vector 8-bit rotr(x, 1) to pavgb pattern (#198980)
Fixes #198060
Commit: 12e366ae301a426e403d9cc29e41e1e2141987ff
https://github.com/llvm/llvm-project/commit/12e366ae301a426e403d9cc29e41e1e2141987ff
Author: lbzzz1016 <92416701+lbzzz1016 at users.noreply.github.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/known-never-zero.ll
Log Message:
-----------
[DAG] UDIV/SDIV exact nodes support DemandedElts + add test (#198715)
Resolves #183047
This patch updates isKnownNeverZero to handle DemandedElts for UDIV and SDIV exact nodes.
Commit: 4f828412ee1821a937913019df40bb1e6f22b3dd
https://github.com/llvm/llvm-project/commit/4f828412ee1821a937913019df40bb1e6f22b3dd
Author: A. Jiang <de34 at live.cn>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
R libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.at.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/at.pass.cpp
Log Message:
-----------
[libc++][test] Merge test files for `mdspan::at` (#199330)
`libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.at.pass.cpp`
caused build bot failures for
- sanitizer-aarch64-linux-bootstrap-asan
- sanitizer-aarch64-linux-bootstrap-hwasan
- sanitizer-aarch64-linux-bootstrap-msan
It's not yet clear why current mechanisms don't work for these builds.
`TEST_HAS_NO_EXCEPTIONS` should have been working.
Also remove one unnecessary `static` and use `std::string_view(e.what())
== "mdspan"`.
Commit: 37a220561b154a19f6f77bc5d4758a56cd0f9378
https://github.com/llvm/llvm-project/commit/37a220561b154a19f6f77bc5d4758a56cd0f9378
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-store-i16.ll
Log Message:
-----------
[LV] Determine NumPredStores before computing widening costs. (#199341)
Determine NumPredStores before computing widening costs, so we
consistently apply large predicated store cost to all stores, matching
the VPlan cost model. In practice that should not impact vectorization
decisions, as the huge cost for any predicated store other than the
first already effectively disables vectorization.
Commit: 9d533e977eea1e1c0ee94515bc5dd0bd70d15d95
https://github.com/llvm/llvm-project/commit/9d533e977eea1e1c0ee94515bc5dd0bd70d15d95
Author: Ingo Müller <ingomueller at google.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[clang] Fix crash in getCursorRawComments. (#199328)
Fix a regression introduced in PR #198452 where querying raw comments on
invalid cursors caused a segmentation fault due to unconditional
ASTContext lookup. Adding an early exit for unsupported cursor kinds at
the top of getCursorRawComment safely avoids resolving the context on
invalid cursors with null translation units.
Commit: 6d3bc00024049776364e94941b0ba705f1549de4
https://github.com/llvm/llvm-project/commit/6d3bc00024049776364e94941b0ba705f1549de4
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/fdim.ll
Log Message:
-----------
[SimplifyLibCalls] Fix optimizeFdim for Inf-Inf cases (#199306)
fdim(x,y) is defined as
NaN if x or y is NaN, otherwise
(x > y) ? x - y : +0
optimizeFdim computed fdim(x,y) as max(x-y, +0). This is not correct
when x == y == +/-Inf; the result should be 0, but this optimization
returns NaN.
I was surprised by this bug because there's even a testcase checking the
incorrect behavior. But returning 0 matches the description in C99 and
POSIX, where, just to be extra clear, the spelling of the piecewise
function is
NaN if either input is NaN
x - y if x > y
+0 if x <= y
Returning +0 also matches the behavior of libc on my machine
gcc.godbolt.org.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 47e6290a34507ba1b3f4e0a49bad28982ff3e3ef
https://github.com/llvm/llvm-project/commit/47e6290a34507ba1b3f4e0a49bad28982ff3e3ef
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/fmod.ll
Log Message:
-----------
[SimplifyLibCalls] Don't set nnan on synthesized frem in optimizeFMod (#199284)
LibCallSimplifier can fold a libcall to fmod to an frem instruction if
the fmod call doesn't set errno.
fmod(x, y) sets errno if x == +/-Inf or y == 0. The old code assumed
that this was also a sufficient condition to prove that the result is
not NaN, and so unconditionally set the nnan fmf on the new frem
instruction. That's not sound; e.g. fmod(x, NaN) == frem(x, NaN) ==
NaN.
We don't actually have to worry about propagating the `nnan` flag;
B.CreateFRemFMF does it for us automagically.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 0344e9f8ac91ef73eb68be465dcb97ee8cdc64c7
https://github.com/llvm/llvm-project/commit/0344e9f8ac91ef73eb68be465dcb97ee8cdc64c7
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
Log Message:
-----------
[VPlan] Thread types through VPHeaderPHIRecipe and VPDerivedIVRecipe (NFC) (#195894)
Update VPHeaderPHIRecipe and VPDerivedIVRecipe to set the scalar types
for their defined values.
This requires updating addReductionResultComputation to construct the
new chain for AnyOf reductions up-front.
Depends on https://github.com/llvm/llvm-project/pull/195891
PR: https://github.com/llvm/llvm-project/pull/195894
Commit: 5c6af8396ee8d8e0fb05b3548fc57c0fc0fbe8b5
https://github.com/llvm/llvm-project/commit/5c6af8396ee8d8e0fb05b3548fc57c0fc0fbe8b5
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/test/Transforms/LoopVectorize/optsize.ll
Log Message:
-----------
[LV] Don't add stride SCEV predicates when runtime checks are disabled. (#199370)
Don't pass symbolic strides to getPtrStride if SCEV runtime checks are
not allowed (e.g. because optimizing for size). This prevents
getPtrStride from adding additional SCEV checks for symbolic strides.
Commit: 5ccea57a1a3a665e07a358c812d80a63811aa126
https://github.com/llvm/llvm-project/commit/5ccea57a1a3a665e07a358c812d80a63811aa126
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Utility/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/TargetParser/BUILD.gn
Log Message:
-----------
[gn build] Port commits (#199375)
170d37d861b0
1b0e603087b6
9997b11c6469
Commit: 8b56d41fda9a2151a5886d4790da9edf5ac05362
https://github.com/llvm/llvm-project/commit/8b56d41fda9a2151a5886d4790da9edf5ac05362
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Create casts before ComputeReductionResult (NFC). (#199372)
This ensures ComputeReductionResult is created with operands that have
their correct types set at construction.
Commit: f95ccbae8bd70e56e31fc04d6307d317212b7fbc
https://github.com/llvm/llvm-project/commit/f95ccbae8bd70e56e31fc04d6307d317212b7fbc
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
A llvm/test/CodeGen/RISCV/fixed-x27-crash.ll
Log Message:
-----------
[RISCV] Reserve all sub-registers of user reserved GPRs (#199302)
When a GPR is reserved by the user (e.g., via `-mattr=+reserve-x27`)
or marked as constant, only the top-level register was being marked
reserved in `RISCVRegisterInfo::getReservedRegs`. Its sub-registers
(`X27_W` and `X27_H`) remained unreserved.
This broke `LiveIntervals` when register pressure tracking was enabled
by #115445. Because the sub-registers were not reserved, the register
unit was considered non-reserved, causing `LiveIntervals` to track its
liveness and crash in the Machine Verifier due to the reserved
register missing from basic block live-in lists.
Instead, we should ensure that reserving a register also reserves all
of its sub-registers, so that the register unit is correctly
identified as reserved and ignored by `LiveIntervals`.
Fixes #176227
Commit: fd45c0bf9f7ac6f2d370f9da959c4b93281285a0
https://github.com/llvm/llvm-project/commit/fd45c0bf9f7ac6f2d370f9da959c4b93281285a0
Author: Himadhith <79003240+Himadhith at users.noreply.github.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/utils/lit/tests/unit/Util.py
Log Message:
-----------
Revert "[AIX] Remove unsupported AIX native echo option -n (llvm#199079)" (#199277)
This reverts commit 593eb2066293c8636786c98cb696c533da9b97ca.
The patch is being reverted as the code changes and the commit message
and description do not match and point to a previous implementation
Co-authored-by: himadhith <himadhith.v at ibm.com>
Commit: 02f736922cc852840941d6734df37ca47c2c41e4
https://github.com/llvm/llvm-project/commit/02f736922cc852840941d6734df37ca47c2c41e4
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M libcxx/include/__verbose_trap
Log Message:
-----------
[libc++] Remove AppleClang woraround for __builtin_verbose_trap (#199171)
We've dropped support for AppleClang versions with a different
`__builtin_verbose_trap`, so we can remove the workaround.
Commit: 78cbf39d3bc990e4562c98dbddd26cd3de4eca96
https://github.com/llvm/llvm-project/commit/78cbf39d3bc990e4562c98dbddd26cd3de4eca96
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M compiler-rt/lib/builtins/atomic.c
M compiler-rt/test/builtins/Unit/atomic_test.c
Log Message:
-----------
[compiler-rt] Use `size_t` rather than `int` for first argument to `__atomic_load_c` et al. (#197519)
I noticed this discrepancy in emscripten when trying to test 128 bit
atomics under wasm64:
https://github.com/emscripten-core/emscripten/pull/26937
The LLVM CodeGen appears to use `size_t` in this position when it
generates calls to these functions.
This doesn't effect other platforms I imagine because they don't require
signature checking at the linker level.
This doesn't effect wasm32 where size_t and int are the same size.
Commit: 0ee8a371b673bd864804fd5c0125fbd46dcee31a
https://github.com/llvm/llvm-project/commit/0ee8a371b673bd864804fd5c0125fbd46dcee31a
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-23 (Sat, 23 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/X86/ldexp-avx512.ll
Log Message:
-----------
[X86] LowerFLDEXP: convert widened int exponent to FP before SCALEF (#199263)
For vector ldexp cases that LowerFLDEXP implements by widening to a
512-bit SCALEF operation, the code widened both X and Exp but passed
the widened integer exponent directly to SCALEF, which interprets
its inputs as IEEE-754 floats.
Convert the widened integer exponent to FP and pass that to SCALEF.
Reproducer (clang -O2 -mavx512f repro.c -o repro && ./repro):
```
#include <stdio.h>
typedef float v4f __attribute__((vector_size(16)));
typedef int v4i __attribute__((vector_size(16)));
__attribute__((noinline))
v4f ldexp_v4(v4f x, v4i e) {
return __builtin_elementwise_ldexp(x, e);
}
int main(void) {
v4f x = {1, 2, 4, 8};
v4i e = {1, 2, 3, 4};
v4f r = ldexp_v4(x, e);
printf("got %g %g %g %g\n", r[0], r[1], r[2], r[3]);
printf("expected 2 8 32 128\n");
}
```
Before this patch, ldexp_v4 lowered to the following (note no
vcvtdq2ps):
```
vmovaps %xmm1, %xmm1
vmovaps %xmm0, %xmm0
vscalefps %zmm1, %zmm0, %zmm0 ; xmm1 still holds integer bits
```
so the program printed "got 1 2 4 8".
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: dd1649b020081263b3d2a08e3b254d7b4280222f
https://github.com/llvm/llvm-project/commit/dd1649b020081263b3d2a08e3b254d7b4280222f
Author: lntue <lntue at google.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/src/__support/macros/optimization.h
M libc/src/__support/math/cbrt.h
M libc/src/__support/math/expm1.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/DivTest.h
M libc/test/src/math/smoke/MulTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/SubTest.h
Log Message:
-----------
[libc][NFC] Make LIBC_MATH safer and some minor improvements for floating point exception tests. (#199392)
- Wrap LIBC_MATH usages inside parentheses
- Skip clearing exceptions when not needed.
- Skip FE_INEXACT when testing FE_UNDERFLOW / FE_OVERFLOW for basic ops.
Commit: 118bcb3c00c18701a74bb12ecefc9353d12f6352
https://github.com/llvm/llvm-project/commit/118bcb3c00c18701a74bb12ecefc9353d12f6352
Author: Nishant Sachdeva <32475507+nishant-sachdeva at users.noreply.github.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
Log Message:
-----------
[NFC] Reland "[llvm-ir2vec] Place IR2Vec Python bindings in the tools/llvm-ir2vec/Bindings build directory (#194301)" (#198752)
Commit: c0539034f37048dd534eff70486a86998f6cfb18
https://github.com/llvm/llvm-project/commit/c0539034f37048dd534eff70486a86998f6cfb18
Author: Berkay Sahin <berkaysahindev at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-non-const-global-variables.rst
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-non-const-global-variables-macros.cpp
Log Message:
-----------
[clang-tidy] Adds `IgnoreMacros` option to cppcoreguidelines-avoid-non-const-global-variables (#198183)
Adds `IgnoreMacros` option to
[cppcoreguidelines-avoid-non-const-global-variables](https://clang.llvm.org/extra/clang-tidy/checks/cppcoreguidelines/avoid-non-const-global-variables.html)
Commit: c697c1eba8bfea0d62e58ffbac5e2f5b6d7919f6
https://github.com/llvm/llvm-project/commit/c697c1eba8bfea0d62e58ffbac5e2f5b6d7919f6
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Remove special cost logic for loads predicated by header mask. (#196630)
Remove the special cost logic for loads predicated by the header mask,
as it does not accurately reflect the cost of the generated VPlan.
Unmasking the load can only be done in general if we don't unroll or if
the address is actually uniform-across-vf-and-uf. The former we cannot
really determine before selecting the VF as UF is picked after VF. The
latter is not really useful in practice.
PR: https://github.com/llvm/llvm-project/pull/196630
Commit: e4716e0c1155fc945c02fa81a1c1aa2f72dc4c6f
https://github.com/llvm/llvm-project/commit/e4716e0c1155fc945c02fa81a1c1aa2f72dc4c6f
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstCombine/ldexp.ll
Log Message:
-----------
[ConstantFolding] Handle large exponents in ldexp (#199309)
Previously if you passed a constant exponent to llvm.ldexp greater than
the width of `int`, we would silently truncate it to `int` before
using it in scalbn. We'd thus generate the incorrect result.
We now clamp it to fit within int.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 46666d99e03552df59046827d86482a021c723de
https://github.com/llvm/llvm-project/commit/46666d99e03552df59046827d86482a021c723de
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/reduction-mul-sext-zext-i1.ll
Log Message:
-----------
[InstCombine] Fix vector_reduce_mul(sext <n x i1>) for odd n. (#199401)
Before this patch, instcombine folded
vector_reduce_mul(sext (<n x i1> val))
to
zext(vector_reduce_and(<n x i1> val)).
But this is incorrect when n is odd: The result of the reduction is -1,
not 1.
After this patch we only do this fold when n is even.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: dc9d515cf21ceddff345bbe4fa2ed8c29cefc867
https://github.com/llvm/llvm-project/commit/dc9d515cf21ceddff345bbe4fa2ed8c29cefc867
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/include/llvm/MC/MCSchedule.h
M llvm/lib/MC/MCSchedule.cpp
A llvm/test/tools/llvm-mca/mc-schedule-options-help.test
M llvm/tools/llvm-mca/llvm-mca.cpp
Log Message:
-----------
[MC] Create new MCScheduleOptions cl::opt category (#198746)
This patch creates a new cl::opt category for MCSchedule options. It
enables tools to filter MCSchedule options based on category.
Specifically, llvm-mca now filters them in, and displays them under
`--help-hidden`, which wasnt the case before.
Commit: 5be8bbaa6b424198b83cc77e260daba77d40f62b
https://github.com/llvm/llvm-project/commit/5be8bbaa6b424198b83cc77e260daba77d40f62b
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
A llvm/test/CodeGen/AMDGPU/coexec-rewrite-mfma.ll
Log Message:
-----------
[AMDGPU] Add to RewriteMFMAForm coexec scheduler pipeline (#199050)
Commit: 5cf392cd1335709a196d69dc5c4f3946aa718ba6
https://github.com/llvm/llvm-project/commit/5cf392cd1335709a196d69dc5c4f3946aa718ba6
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Processors.td
Log Message:
-----------
[AArch64] Remove stale comment about Cyclone being a default(NFC) (#199409)
Default on macOS is already apple-m5.
Commit: 797dc311a352017b81af81945b35772f608dcfc3
https://github.com/llvm/llvm-project/commit/797dc311a352017b81af81945b35772f608dcfc3
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M offload/test/lit.cfg
Log Message:
-----------
[offload] Fix --libomptarget-nvptx-bc-path in tests (#199382)
PR #198622, which landed as 3383f0d6fe01, causes 272 `libomptarget ::
nvptx64-nvidia-cuda` test fails on my system with:
```
clang: error: bitcode library '/home/jdenny/llvm/build/\./lib/x86_64-unknown-linux-gnu/nvptx64-nvidia-cuda' does not exist
```
This patch fixes that.
Commit: 93bca34673694ae917af72e665f7626d5aef2f0e
https://github.com/llvm/llvm-project/commit/93bca34673694ae917af72e665f7626d5aef2f0e
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M libcxx/include/__cxx03/istream
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.char_type.pass.cpp
Log Message:
-----------
[libc++][C++03] Cherry-pick #147007 (#198991)
Commit: 21df17aaaec2dd9dafd641c5dbfd96446c27921b
https://github.com/llvm/llvm-project/commit/21df17aaaec2dd9dafd641c5dbfd96446c27921b
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M .github/workflows/issue-release-workflow.yml
Log Message:
-----------
workflows/issue-release-workflow: Validate user input in /cherry-pick commands (#199249)
This protects against mailicious inputs embedded in comments with
/cherry-pick commands.
Commit: db7f01dc3b3395aebd0565172107ba8045a0da05
https://github.com/llvm/llvm-project/commit/db7f01dc3b3395aebd0565172107ba8045a0da05
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Simplify block deletion in VPlan dtor (NFC) (#199421)
Split deletion loop into 2 simpler loops: first replace all operands of
each recipe with a dummy value. Then delete blocks in second pass.
This avoids RAUW unnecessarily and also removes the need to handle
region values explicitly.
Commit: 852a20e6d1caf3cb54ce31956aa947bcf3f1a77b
https://github.com/llvm/llvm-project/commit/852a20e6d1caf3cb54ce31956aa947bcf3f1a77b
Author: Aayush Shrivastava <79578660+iamaayushrivastava at users.noreply.github.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/math.yaml
M libc/shared/math.h
A libc/shared/math/isnanf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/isnanf16.h
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/isnanf16.cpp
A libc/src/math/isnanf16.h
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_constexpr_test.cpp
M libc/test/shared/shared_math_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/IsNanTest.h
A libc/test/src/math/smoke/isnanf16_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Implement isnanf16 header-only function (#198115)
Adds `isnanf16` the float16 variant of isnan as part of issue
[#195400](https://github.com/llvm/llvm-project/issues/195400), which
tracks adding missing isnan variants for extended floating-point types.
The implementation follows the same pattern as the existing `isnanf`,
`isnan`, and `isnanl` functions.
---------
Co-authored-by: Victor Campos <github at victorcampos.me>
Commit: c0c56f419590bb4219f9f198c33cb6c7ee6555cf
https://github.com/llvm/llvm-project/commit/c0c56f419590bb4219f9f198c33cb6c7ee6555cf
Author: Kavin Gnanapandithan <kavin.balag at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/ordered-reduction.ll
Log Message:
-----------
[SLP][NFC] Add precommit test for unprofitable ordered fadd reductions (#199428)
Adds a test case reproducing a scenario where the cost model incorrectly
evaluates an unprofitable ordered fadd reduction chain as profitable.
Further details can be found on this issue:
https://github.com/llvm/llvm-project/issues/199267
Commit: fb9c9eb9d2d97cff5f19fbb0f9a7828afb4c4271
https://github.com/llvm/llvm-project/commit/fb9c9eb9d2d97cff5f19fbb0f9a7828afb4c4271
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/test/CodeGen/X86/GlobalISel/add-scalar.ll
M llvm/test/CodeGen/X86/GlobalISel/select-add-x32.mir
M llvm/test/CodeGen/X86/GlobalISel/sub-scalar.ll
Log Message:
-----------
[X86][GISel] Fix carry-in for selectUAddSub. (#199261)
When G_UADDE/G_USUBE was chained off a previous G_UADDE/G_UADDO/
G_USUBE/G_USUBO, selectUAddSub re-materialized EFLAGS.CF from the
previous SETB byte using CMP r, 1. That computes (r - 1) and sets
CF iff r < 1 unsigned, i.e. CF = (r == 0) -- the inverse of the
desired carry. The following ADC/SBB then consumed the wrong CF and
produced an off-by-one upper word; e.g. `add i128 0xFF..FF, 1` under
-global-isel returned hi=0 lo=0 instead of hi=1 lo=0.
Emit NEG r instead: NEG sets CF iff its operand is non-zero, matching
the SETB byte. NEG is a two-address (tied) instruction, so emit it
into a fresh virtual register rather than redefining the carry-in
vreg.
C reproducer (compile on x86_64-linux-gnu and run):
```
// clang -O2 -fglobal-isel repro.c -o repro && ./repro
#include <stdio.h>
__attribute__((noinline))
__int128 add128(__int128 a, __int128 b) { return a + b; }
int main(void) {
__int128 a = (__int128)0xFFFFFFFFFFFFFFFFULL;
__int128 r = add128(a, 1);
unsigned long long lo = r, hi = r >> 64;
printf("hi=0x%llx lo=0x%llx\n", hi, lo);
return (hi == 1 && lo == 0) ? 0 : 1;
}
```
Without -fglobal-isel: prints "hi=0x1 lo=0x0", exits 0.
With -fglobal-isel: prints "hi=0x0 lo=0x0", exits 1.
The buggy code-gen emits the inverted-carry sequence (clang trunk,
pre-fix):
```
add128:
movq %rdx, %rax
addq %rdi, %rax
setb %dl
cmpb $1, %dl # CF = (dl == 0), inverse of intended
adcq %rsi, %rcx
movq %rcx, %rdx
retq
```
This bug was found by a large run of Opus 4.7 looking for bugs in
LLVM.
Commit: 074b6beca94bceec0e75945085d65e9bfdd4e563
https://github.com/llvm/llvm-project/commit/074b6beca94bceec0e75945085d65e9bfdd4e563
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/scalable-type-revec.ll
A llvm/test/Transforms/SLPVectorizer/AMDGPU/transform-node-gather-struct.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/complex-nonvect-struct-returned.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-add-saddo.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-add-uaddo.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-mul-smulo.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-mul-umulo.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-ssubo.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-usubo.ll
M llvm/test/Transforms/SLPVectorizer/X86/revec-non-power-2-to-power-2-large-vect.ll
A llvm/test/Transforms/SLPVectorizer/X86/struct-return-extract-dominance.ll
A llvm/test/Transforms/SLPVectorizer/X86/struct-return-ordering-stress.ll
A llvm/test/Transforms/SLPVectorizer/non-vect-loads.ll
Log Message:
-----------
[SLP] Vectorize struct-returning intrinsics
Allow SLP to combine across lanes calls that return a literal struct
(llvm.sincos, llvm.*.with.overflow, llvm.frexp, ...) into a single
call returning a struct of vectors, by widening {T, T, ...} to
{<VF x T>, ...} via VectorTypeUtils and emitting extractvalue +
extractelement for external uses.
Original Pull Request: https://github.com/llvm/llvm-project/pull/195521
Original Pull Request2: https://github.com/llvm/llvm-project/pull/196756
Recommit after revert https://github.com/llvm/llvm-project/pull/198265#event-25652008254
Added check for valid vectorizable type, small corner cases fixes
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/199433
Commit: 69a5cf515fd317bcf918e48de9137dd8549870c5
https://github.com/llvm/llvm-project/commit/69a5cf515fd317bcf918e48de9137dd8549870c5
Author: NeKon69 <nobodqwe at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/test/Sema/warn-lifetime-safety-fixits.cpp
M clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-cross-tu.cpp
M clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-intra-tu.cpp
M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
Log Message:
-----------
[LifetimeSafety] Extend suggestions for `lifetimebound` to also warn on canonical declarations (#198784)
With this patch, we suggest adding the `clang::lifetimebound` attribute
on the canonical declaration and on the earliest redeclaration in each
other file, preserving diagnostics for declarations visible from other
translation units while avoiding duplicate suggestions within the same
file.
Fixes #198624
Fixes #198628
Commit: 6302439f5aaea6cb776d8ceb5c2ef9108fccf702
https://github.com/llvm/llvm-project/commit/6302439f5aaea6cb776d8ceb5c2ef9108fccf702
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/DenseSet.h
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/CodeGen/RemoveRedundantDebugValues.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/unittests/ADT/DenseMapTest.cpp
M llvm/unittests/ADT/DenseSetTest.cpp
M llvm/unittests/Support/JSONTest.cpp
Log Message:
-----------
[llvm,clang] Don't assume non-erased DenseMap entries remain valid after erase. NFC (#198982)
In preparation for switching DenseMap from tombstone deletion to
backward-shift deletion, update call sites that reuse an iterator or a
bucket reference after erasing another entry from the same map.
These work under tombstone deletion because unrelated buckets stay put,
but backward-shift deletion relocates entries to close the gap.
Add DenseMap::remove_if, similar to SmallPtrSet::remove_if, as
replacement for erase-while-iterating, and use it where applicable.
Aided by Claude Opus 4.7
Commit: eceae62c84049e07b945d4912654c04c33d2c5ae
https://github.com/llvm/llvm-project/commit/eceae62c84049e07b945d4912654c04c33d2c5ae
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/neon/getset.c
Log Message:
-----------
[clang][CIR][nfc] Remove redundant code + update run lines (#199049)
This is just a minor clean-up post #186119.
Commit: 133ad80cd864b546ee6d73f10b8ac36a9c982fed
https://github.com/llvm/llvm-project/commit/133ad80cd864b546ee6d73f10b8ac36a9c982fed
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
A llvm/test/Transforms/CodeGenPrepare/X86/null-psi-no-crash.ll
Log Message:
-----------
[CodeGenPrepare] Report an error if ProfileSummaryAnalysis is not available (#199268)
CodeGenPreparePass can't declare ProfileSummaryAnalysis as required,
because PSA is a module-level analysis, but CFP is a function-level pass.
Therefore it accesses PSA using getCachedResult, and PSA might be null.
In practice this doesn't happen, because the CGP pass pipeline
preparation code ensures that PSA is present. But if you invoke
CGP via opt -passes=codegenprepare, then it's not
there, and we segfault.
Fix for https://github.com/llvm/llvm-project/issues/173360.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: bb02cabc1dc448c805d1bf7d4036a1dabf1b744e
https://github.com/llvm/llvm-project/commit/bb02cabc1dc448c805d1bf7d4036a1dabf1b744e
Author: Kavin Gnanapandithan <kavin.balag at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/ordered-reduction.ll
Log Message:
-----------
[SLP] Ensure TreeCost is scaled for ordered fadd reductions (#199388)
Resolves #199267
Addresses an issue where `getScaleToLoopIterations()` can return 1 on
isolated SLP trees because `UserTreeIndex` is invalid. This prevents
`TreeCost` from scaling alongside `ReductionCost`, causing the cost
model to incorrectly treat an unprofitable vector reduction as
profitable.
This patch passes the reduction root instruction down into
`calculateTreeCostAndTrimNonProfitable` and the underlying scale
calculation so `getScaleToLoopIterations` can get the correct block
context.
Commit: 0068f46436ba971e936ef15e401a47adaa0b81fd
https://github.com/llvm/llvm-project/commit/0068f46436ba971e936ef15e401a47adaa0b81fd
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
Log Message:
-----------
[VPlan] Simplify VPSCEVExpander, clarify naming/comments (NFC). (#199423)
Address post-commit comments from
https://github.com/llvm/llvm-project/pull/189455,
removing unneeded member, and clarify naming/comments to stress the
current logic tries to expand a SCEV to VPInstructions, with only a small
sub-set of SCEV expression supported.
Commit: 1503b86870993f9ad76d79ebd38cb989669c991e
https://github.com/llvm/llvm-project/commit/1503b86870993f9ad76d79ebd38cb989669c991e
Author: Jonathan Cohen <joncoh at apple.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedCyclone.td
Log Message:
-----------
[NFC][AArch64][Cyclone] Model WriteSTP with a local SchedWriteRes (#198844)
Cyclone scheduling model uses SchedAlias between 2 SchedWriteRes
definitions from AArch64Schedule.td.
This prevents other scheduling models from aliasing WriteSTP. This patch
address the issue by defining a new CyWriteSTP and using that instead.
Commit: aa8641584ad990f2a9f9c09e442439d672a2ef15
https://github.com/llvm/llvm-project/commit/aa8641584ad990f2a9f9c09e442439d672a2ef15
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M .github/workflows/unprivileged-download-artifact/action.yml
Log Message:
-----------
workflows/unprivileged-download-artifact: Remove template expansion (#199107)
https://github.com/llvm/llvm-project/security/code-scanning/1749
https://github.com/llvm/llvm-project/security/code-scanning/1752
https://github.com/llvm/llvm-project/security/code-scanning/1753
https://github.com/llvm/llvm-project/security/code-scanning/1879
https://github.com/llvm/llvm-project/security/code-scanning/1880
Commit: 3f561eab147abf17c1838b4e3dc19837837a9740
https://github.com/llvm/llvm-project/commit/3f561eab147abf17c1838b4e3dc19837837a9740
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/select-cmp-blend-chain.ll
Log Message:
-----------
[LV] Handle chained selects/blends when creating new rdx chain. (#199443)
Make sure we recursively clone chains of selects/blends when re-creating
a reduction chain with new types.
Fixes https://github.com/llvm/llvm-project/issues/199406.
Commit: 25db538883c4eeeb85889b01eaba3e7f433a0531
https://github.com/llvm/llvm-project/commit/25db538883c4eeeb85889b01eaba3e7f433a0531
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M .github/workflows/docs.yml
M .github/workflows/release-documentation.yml
M .github/workflows/release-doxygen.yml
R llvm/docs/requirements-hashed.txt
M llvm/docs/requirements.txt
A llvm/docs/requirements.txt.in
Log Message:
-----------
workflows: Require hashed dependencies when installing docs dependencies (#197306)
Commit: 45fa0a1deb722d52425fbca5cb56020e540cea63
https://github.com/llvm/llvm-project/commit/45fa0a1deb722d52425fbca5cb56020e540cea63
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M clang/test/Driver/crash-ir-repro.cpp
Log Message:
-----------
[Clang][Driver] Reenable test on UBSan/HWAsan (#199448)
It passes locally, presumably due to
15488a7f78ce7b9ae3c06b031134e5cb339b335c fixing the behavior here.
Commit: 3ad076ecc8121c44fb5c36b21c3e8acbeb4292ab
https://github.com/llvm/llvm-project/commit/3ad076ecc8121c44fb5c36b21c3e8acbeb4292ab
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M .github/workflows/release-sources.yml
Log Message:
-----------
workflows/release-sources: Validate input and remove template expansion (#199426)
https://github.com/llvm/llvm-project/security/code-scanning/1730
https://github.com/llvm/llvm-project/security/code-scanning/1731
https://github.com/llvm/llvm-project/security/code-scanning/1732
https://github.com/llvm/llvm-project/security/code-scanning/1733
Commit: 38a8cd7cf6a1c45919a8c272c151de0dcc32571c
https://github.com/llvm/llvm-project/commit/38a8cd7cf6a1c45919a8c272c151de0dcc32571c
Author: Thurston Dang <thurston at google.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
Log Message:
-----------
[LifetimeSafety] Fix use-after-scope from #198784 (#199455)
This fixes a use-after-scope introduced by #198784 (reported in
https://github.com/llvm/llvm-project/pull/198784#issuecomment-4530043621),
by manually extending the lifetime.
AFAIK clang is built using C++17 [*], hence C++23 P2718R0's lifetime
extension in range-based for loops does not apply.
[*] "Unless otherwise documented, LLVM subprojects are written using
standard C++17 code"
(https://llvm.org/docs/CodingStandards.html#c-standard-versions)
Commit: 72d747d9576cfd13039cb5f7ed7f8fb69f85daec
https://github.com/llvm/llvm-project/commit/72d747d9576cfd13039cb5f7ed7f8fb69f85daec
Author: A. Jiang <de34 at live.cn>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
R libcxx/test/std/utilities/memory/specialized.algorithms/destroy.h
A libcxx/test/support/algorithms.h
Log Message:
-----------
[libc++][test] Move backported algorithms to `libcxx/test/support` (#199431)
And namespace `util`. This will make helpers provided more consistently,
and potentially allow us to unify test helper namespaces in the future.
Commit: 25294a2fffcf40cbd8b6743d78524badeded7446
https://github.com/llvm/llvm-project/commit/25294a2fffcf40cbd8b6743d78524badeded7446
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M .github/workflows/release-binaries.yml
Log Message:
-----------
workflows/release-binaries: Validate input and remove template expansion (#199434)
https://github.com/llvm/llvm-project/security/code-scanning/1699
https://github.com/llvm/llvm-project/security/code-scanning/1700
https://github.com/llvm/llvm-project/security/code-scanning/1701
https://github.com/llvm/llvm-project/security/code-scanning/1702
https://github.com/llvm/llvm-project/security/code-scanning/1703
https://github.com/llvm/llvm-project/security/code-scanning/1704
https://github.com/llvm/llvm-project/security/code-scanning/1705
https://github.com/llvm/llvm-project/security/code-scanning/1706
https://github.com/llvm/llvm-project/security/code-scanning/1707
https://github.com/llvm/llvm-project/security/code-scanning/1708
https://github.com/llvm/llvm-project/security/code-scanning/1709
https://github.com/llvm/llvm-project/security/code-scanning/1710
https://github.com/llvm/llvm-project/security/code-scanning/1711
Commit: e8bd5dc7f424fcb22c6db20ef98f069f2635244f
https://github.com/llvm/llvm-project/commit/e8bd5dc7f424fcb22c6db20ef98f069f2635244f
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M llvm/utils/gn/secondary/clang/tools/clang-sycl-linker/BUILD.gn
Log Message:
-----------
[gn build] Add missing clang-sycl-linker dependency (#199464)
Commit: ab1745439c7019d0753afc616c5fc5aef7b82fb6
https://github.com/llvm/llvm-project/commit/ab1745439c7019d0753afc616c5fc5aef7b82fb6
Author: Thurston Dang <thurston at google.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
R llvm/test/Transforms/LoopVectorize/select-cmp-blend-chain.ll
Log Message:
-----------
Revert "[LV] Handle chained selects/blends when creating new rdx chain. (#199443)" (#199461)
This reverts commit 3f561eab147abf17c1838b4e3dc19837837a9740 due to
buildbot breakage
((https://lab.llvm.org/staging/#/builders/7/builds/1736/steps/9/logs/stdio).
Commit: 11f0e7768bcd7c1c5081395f46391aacf37f9ac4
https://github.com/llvm/llvm-project/commit/11f0e7768bcd7c1c5081395f46391aacf37f9ac4
Author: isuckatcs <65320245+isuckatcs at users.noreply.github.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/CodeGen/GCRootLowering.cpp
M llvm/test/CodeGen/Generic/gc-lowering.ll
Log Message:
-----------
[CodeGen][GC] Initialize roots with `Constant::getNullValue()` instead of `ConstantPointerNull::get()` (#199367)
Fixes #199219
Commit: a029fb9dda06a08c1f37037d03dda3ec053bc139
https://github.com/llvm/llvm-project/commit/a029fb9dda06a08c1f37037d03dda3ec053bc139
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M clang/test/CodeGenCXX/visibility.cpp
A clang/test/Modules/template-default-args-2.cpp
A clang/test/Modules/template-default-args-3.cpp
M clang/test/SemaTemplate/generic-lambda.cpp
M clang/test/SemaTemplate/partial-spec-instantiate.cpp
Log Message:
-----------
[clang] NFC: add some new test cases (#199467)
These are extracted from my current and future PRs.
They don't have much to do with the PRs themselves except that they were
regressions our test suite missed catching.
Commit: 8811c2b3586831761807b683382d50ee185f3d7a
https://github.com/llvm/llvm-project/commit/8811c2b3586831761807b683382d50ee185f3d7a
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
Log Message:
-----------
[ConstantHoisting] Avoid DenseMap reference invalidated by insertion (#199468)
Fix https://reviews.llvm.org/D28962 : DenseMap does not promise to keep
references stable across insertion. This happens to work today because
we don't do bucket eviction.
Pre-populate every node up front.
Commit: 4aac0c636a437e727f4ecc691c4f964cccee0e4d
https://github.com/llvm/llvm-project/commit/4aac0c636a437e727f4ecc691c4f964cccee0e4d
Author: Himadhith <79003240+Himadhith at users.noreply.github.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/utils/lit/tests/unit/Util.py
Log Message:
-----------
[AIX] Re-apply: Remove unsupported AIX native echo option -n by using printf (#199395)
AIX native echo doesn't support the `-n` flag.
Use `printf` instead to ensure the test works across all systems and
making it portable.
The current test fails as follows:
```
FAIL: lit :: unit/Util.py (1 of 1)
******************** TEST 'lit :: unit/Util.py' FAILED ********************
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
"/opt/freeware/bin/python3.12" /home/himadhit/llvm/community/build/utils/lit/tests/unit/Util.py
# executed command: /opt/freeware/bin/python3.12 /home/himadhit/llvm/community/build/utils/lit/tests/unit/Util.py
# .---command stderr------------
# | F..
# | ======================================================================
# | FAIL: test_basic (__main__.TestCommandCache.test_basic)
# | ----------------------------------------------------------------------
# | Traceback (most recent call last):
# | File "/home/himadhit/llvm/community/build/utils/lit/tests/unit/Util.py", line 32, in test_basic
# | self.assertEqual(lit_config.run_command_cached(["echo", "-n", "hi"]), b"hi")
# | AssertionError: b'-n hi\n' != b'hi'
# |
# | ----------------------------------------------------------------------
# | Ran 3 tests in 2.092s
# |
# | FAILED (failures=1)
# `-----------------------------
# error: command failed with exit status: 1
```
Co-authored-by: himadhith <himadhith.v at ibm.com>
Commit: e77ae26ca8ead5ca47dd6ed909031fb3c539a488
https://github.com/llvm/llvm-project/commit/e77ae26ca8ead5ca47dd6ed909031fb3c539a488
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/test/tools/llubi/alloca_large_count.ll
M llvm/test/tools/llubi/alloca_large_size.ll
M llvm/test/tools/llubi/alloca_poison_count.ll
M llvm/test/tools/llubi/alloca_size_overflow.ll
M llvm/test/tools/llubi/assume_false.ll
M llvm/test/tools/llubi/assume_invalid_align.ll
M llvm/test/tools/llubi/assume_misalign.ll
M llvm/test/tools/llubi/assume_misalign_all_ones.ll
M llvm/test/tools/llubi/assume_nondereferenceable.ll
M llvm/test/tools/llubi/assume_null.ll
M llvm/test/tools/llubi/assume_null_all_ones.ll
M llvm/test/tools/llubi/assume_poison.ll
M llvm/test/tools/llubi/assume_poison_align.ll
M llvm/test/tools/llubi/attribute_dereferenceable_ub_nullary_provenance.ll
M llvm/test/tools/llubi/attribute_dereferenceable_ub_oob1.ll
M llvm/test/tools/llubi/attribute_dereferenceable_ub_oob2.ll
M llvm/test/tools/llubi/attribute_dereferenceable_ub_oob3.ll
M llvm/test/tools/llubi/attribute_dereferenceable_ub_poison.ll
M llvm/test/tools/llubi/attribute_noundef_agg_ub.ll
M llvm/test/tools/llubi/attribute_noundef_ub.ll
M llvm/test/tools/llubi/br_poison.ll
M llvm/test/tools/llubi/call_mismatched_signature.ll
M llvm/test/tools/llubi/call_poison.ll
M llvm/test/tools/llubi/divrem_ub1.ll
M llvm/test/tools/llubi/divrem_ub2.ll
M llvm/test/tools/llubi/divrem_ub3.ll
M llvm/test/tools/llubi/divrem_ub4.ll
M llvm/test/tools/llubi/indirectbr_invalid.ll
M llvm/test/tools/llubi/indirectbr_poison.ll
M llvm/test/tools/llubi/infinite_loop.ll
M llvm/test/tools/llubi/invoke_poison.ll
M llvm/test/tools/llubi/lib_cxx_memory_large_size.ll
M llvm/test/tools/llubi/lib_double_free.ll
M llvm/test/tools/llubi/lib_free_nullary_pointer.ll
M llvm/test/tools/llubi/lib_free_out_of_bound.ll
M llvm/test/tools/llubi/lib_free_stack.ll
M llvm/test/tools/llubi/lib_poison_argument.ll
M llvm/test/tools/llubi/lib_printf_not_enough_argument.ll
M llvm/test/tools/llubi/lib_printf_unknown_specifier.ll
M llvm/test/tools/llubi/lib_read_nullary_string.ll
M llvm/test/tools/llubi/lib_uninit_string.ll
M llvm/test/tools/llubi/load_noundef_ub_poison.ll
M llvm/test/tools/llubi/load_noundef_ub_poison_padding.ll
M llvm/test/tools/llubi/load_noundef_ub_undef.ll
M llvm/test/tools/llubi/loadstore_misaligned.ll
M llvm/test/tools/llubi/loadstore_null.ll
M llvm/test/tools/llubi/loadstore_oob1.ll
M llvm/test/tools/llubi/loadstore_poison.ll
M llvm/test/tools/llubi/loadstore_uaf.ll
M llvm/test/tools/llubi/metadata_noundef_ub.ll
M llvm/test/tools/llubi/stack_overflow.ll
M llvm/test/tools/llubi/store_dead.ll
M llvm/test/tools/llubi/switch_poison.ll
M llvm/test/tools/llubi/unreachable.ll
M llvm/tools/llubi/lib/CMakeLists.txt
M llvm/tools/llubi/lib/Context.cpp
M llvm/tools/llubi/lib/Context.h
M llvm/tools/llubi/lib/ExecutorBase.cpp
M llvm/tools/llubi/llubi.cpp
Log Message:
-----------
[llubi] Print out inst location in stack trace (#199430)
This patch appends `file:line number` to each frame in the stack trace.
It would improve the debugging experience.
In all test files, the inputs are supplied via stdin. I think it should
be okay, as I don't need to add wildcards for filenames.
Commit: 63bb8dc70a1786165ae5bf472cadb1a90f91fa2f
https://github.com/llvm/llvm-project/commit/63bb8dc70a1786165ae5bf472cadb1a90f91fa2f
Author: Brad Smith <brad at comstyle.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
Log Message:
-----------
[Mips] Remove mips from omitting the frame pointer for Linux (#199381)
6b1f976858eea5a64f058ca48873be834bd79569 enabled omitting
the frame pointer no matter what OS so remove the now redundancy
with having this on the Linux path.
Commit: d06febc3a5fef5d87200a8af76c1efe811ba4dc0
https://github.com/llvm/llvm-project/commit/d06febc3a5fef5d87200a8af76c1efe811ba4dc0
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M libcxx/include/__memory/shared_ptr.h
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_Y.pass.cpp
Log Message:
-----------
[libc++] Fix shared_ptr(Y*) constraint check on GCC (#199429)
GCC has fixed SFINAEing on `delete` since at least GCC 11, so we can
properly constrain the constructor.
Commit: 9bd8bbb2b76c55ca83ddb6e0aa8a3a79b65706d4
https://github.com/llvm/llvm-project/commit/9bd8bbb2b76c55ca83ddb6e0aa8a3a79b65706d4
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-24 (Sun, 24 May 2026)
Changed paths:
M .github/workflows/llvm-abi-tests.yml
Log Message:
-----------
workflows/llvm-abi-tests: Remove template expansions (#199436)
https://github.com/llvm/llvm-project/security/code-scanning/1655
https://github.com/llvm/llvm-project/security/code-scanning/1656
https://github.com/llvm/llvm-project/security/code-scanning/1657
https://github.com/llvm/llvm-project/security/code-scanning/1658
https://github.com/llvm/llvm-project/security/code-scanning/1659
https://github.com/llvm/llvm-project/security/code-scanning/1660
https://github.com/llvm/llvm-project/security/code-scanning/1661
https://github.com/llvm/llvm-project/security/code-scanning/1662
https://github.com/llvm/llvm-project/security/code-scanning/1663
https://github.com/llvm/llvm-project/security/code-scanning/1664
Commit: aac212f0bc9acbc40a8a2e9638f4b7496c25d0b2
https://github.com/llvm/llvm-project/commit/aac212f0bc9acbc40a8a2e9638f4b7496c25d0b2
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes e77ae26 (#199476)
This fixes e77ae26ca8ead5ca47dd6ed909031fb3c539a488.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 0285f1c6b791fb974a71a236e329848cf2d2fbe9
https://github.com/llvm/llvm-project/commit/0285f1c6b791fb974a71a236e329848cf2d2fbe9
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M mlir/include/mlir/Support/ThreadLocalCache.h
M mlir/lib/Conversion/PDLToPDLInterp/RootOrdering.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
Log Message:
-----------
[mlir] Don't assume non-erased DenseMap entries remain valid after erase. NFC (#199365)
Like the preceding llvm/ change, fix MLIR sites that reuse an iterator
or bucket reference after erasing from the same map, in preparation for
backward-shift DenseMap deletion which relocates surviving entries.
Use DenseMap::remove_if in ThreadLocalCache::clearExpiredEntries and the
RootOrdering cycle contraction (deferring the in-cycle graph erases
until
after iteration). ThreadLocalCache::get reads the value into a local and
bufferizeOp snapshots the worklist before folding, since those erases
re-enter via a rewriter listener.
Aided by Claude Opus 4.7
Commit: 8446759ee610fe5ad1c5ab9cb2239ef3ad2e4c30
https://github.com/llvm/llvm-project/commit/8446759ee610fe5ad1c5ab9cb2239ef3ad2e4c30
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.h
Log Message:
-----------
[lldb] Don't assume non-erased DenseMap entries remain valid after erase. NFC (#199499)
Similar to #198982
Commit: 4e4095bb9ffbf46217a0574b3258b1a5d6edf737
https://github.com/llvm/llvm-project/commit/4e4095bb9ffbf46217a0574b3258b1a5d6edf737
Author: Boyao Wang <wangboyao at bytedance.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZvzip.td
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
Log Message:
-----------
[RISCV][CodeGen] Add initial CodeGen support of vunzip{e,o} (#196024)
Add initial support for vunzip{e,o} instructions, which are included in
zvzip extension.
Commit: 48cec8344ab4edf284c80909fa00aff06fc8c806
https://github.com/llvm/llvm-project/commit/48cec8344ab4edf284c80909fa00aff06fc8c806
Author: Mark Zhuang <mark.zhuang at spacemit.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M compiler-rt/lib/builtins/clear_cache.c
Log Message:
-----------
[compiler-rt] Inline __NR_riscv_flush_icache instead of including linux/unistd.h (#193645)
Avoid the dependency on kernel headers to get __NR_riscv_flush_icache,
mirroring the existing approach used for __ARM_NR_cacheflush.
Assisted-by: Claude Sonnet 4.6
Commit: 5f6a7f6af28ea3d8283538625f08d949cde2ba7b
https://github.com/llvm/llvm-project/commit/5f6a7f6af28ea3d8283538625f08d949cde2ba7b
Author: Rohit Garg <rohgarg at qti.qualcomm.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
Log Message:
-----------
[LoopInterchange] drop duplicate Instruction type check in populateDependencyMatrix (#199498)
Remove a duplicate isa<Instruction> check in populateDependencyMatrix.
Commit: af92edf8b3aa4104992de9fe08ce2170d14bc28d
https://github.com/llvm/llvm-project/commit/af92edf8b3aa4104992de9fe08ce2170d14bc28d
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/auxv.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/mprotect.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/munmap.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/thread.cpp
M libc/startup/linux/aarch64/CMakeLists.txt
M libc/startup/linux/aarch64/tls.cpp
M libc/startup/linux/riscv/CMakeLists.txt
M libc/startup/linux/riscv/tls.cpp
M libc/startup/linux/x86_64/CMakeLists.txt
M libc/startup/linux/x86_64/tls.cpp
Log Message:
-----------
[libc] Port munmap and mprotect to the new syscall interface (#199199)
Assisted by Gemini.
Commit: c59178d6037f582c7e8fb0141c7a16cd8d5d8d5e
https://github.com/llvm/llvm-project/commit/c59178d6037f582c7e8fb0141c7a16cd8d5d8d5e
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M libc/src/__support/CMakeLists.txt
A libc/src/__support/net/CMakeLists.txt
A libc/src/__support/net/address.cpp
A libc/src/__support/net/address.h
M libc/src/arpa/inet/CMakeLists.txt
M libc/src/arpa/inet/inet_addr.cpp
M libc/src/arpa/inet/inet_aton.cpp
M libc/test/src/arpa/inet/inet_aton_test.cpp
Log Message:
-----------
[libc] Fix inet_aton (#198791)
The main (in terms of LOC) change is moving the implementation to an
internal function in order to avoid the inet_addr->inet_aton dependency.
I also fix a bug where we (mistakenly) accepted whitespace and signs
inside the address. I also match the glibc implementation in ignoring
the data after the first whitespace.
Commit: 25bb6a9775ebff46512df133788d266228f90c66
https://github.com/llvm/llvm-project/commit/25bb6a9775ebff46512df133788d266228f90c66
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
A llvm/test/Transforms/InstCombine/trunc-minmax-intrinsics.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/trunc-intrinsics.ll
Log Message:
-----------
[InstCombine] Narrow umin/umax/smin/smax through trunc. (#199213)
Update EvaluateInDifferentType / canEvaluateTruncated to support
narrowing umin/umax/smin/smax intrinsics, when their result fits in the
narrow type: zero high bits for umin/umax, or enough sign
bits for smin/smax.
Alive2 Proofs:
* umin/umax with high bits zero: https://alive2.llvm.org/ce/z/dJC_Fj
* smin/smax with sign-bits set: https://alive2.llvm.org/ce/z/z7vM8Z
End-to-end examples from C workloads performing pixel math:
https://llvm.godbolt.org/z/jK3bd3GfY
PR: https://github.com/llvm/llvm-project/pull/199213
Commit: 59681c65c71c4f89bf86e010291ac6f5d7cd5003
https://github.com/llvm/llvm-project/commit/59681c65c71c4f89bf86e010291ac6f5d7cd5003
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M libcxx/include/any
A libcxx/test/std/utilities/any/any.nonmembers/any.cast/const_reference_types.verify.cpp
M libcxx/test/std/utilities/any/any.nonmembers/any.cast/reference_types.verify.cpp
A libcxx/test/std/utilities/any/any.nonmembers/any.cast/void.const.verify.cpp
M libcxx/test/std/utilities/any/any.nonmembers/any.cast/void.verify.cpp
Log Message:
-----------
[libc++] remove duplicate assertions for void/reference const any_cast (#199425)
For test cases of the const overload of any_cast, such as:
```C++
void test() {
std::any a = 0;
const std::any& a2 = a;
(void)std::any_cast<int&>(&a2);
}
```
(And similarly for void).
The problem is that the assertions are implemented both in the const and
non-const any_cast overloads, but since the const overload delegates to
the non-const overload, that ends up producing the same assertion twice.
This separates those test cases, because those assertions are
implemented in the function body, and that's only instantiated once per
specialization, not once per use.
Commit: 3056add6389b58656092edf9fed75ca6d55a9d9d
https://github.com/llvm/llvm-project/commit/3056add6389b58656092edf9fed75ca6d55a9d9d
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
Log Message:
-----------
[VPlan] Rename Expression::isSingleScalar (NFC) (#199041)
The single-scalar terminology, as it is used in other places indicates
that all operands are scalars and that the result is a scalar.
VPExpressionRecipe::isSingleScalar is a misnomer, and is actually a
vector-to-scalar, using the existing terminology. Rename it for clarity.
Commit: 84f95300d0f9efb45d5f1b76eb806c4772b16569
https://github.com/llvm/llvm-project/commit/84f95300d0f9efb45d5f1b76eb806c4772b16569
Author: Santanu Das <santdas at qti.qualcomm.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/test/Driver/hexagon-toolchain-elf.c
M llvm/lib/Target/Hexagon/Hexagon.td
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/lib/Target/Hexagon/HexagonSubtarget.h
A llvm/test/CodeGen/Hexagon/reserved-regs.ll
Log Message:
-----------
[Hexagon] Support reserving R16-R28 registers via -ffixed-rN (#197208)
Extend register reservation from R19-only to R16-R28. This allows users
to reserve callee-saved registers (R16-R27) and R28 via command-line
flags -ffixed-r16 through -ffixed-r28. The single bool ReservedR19 is
replaced with an array-based approach (ReservedR[32]) to scale cleanly
across all supported registers.
---------
Co-authored-by: quic-santdas <quic_santdas at quicinc.com>
Commit: e1a9576a9049a8c5fdf249e22ecc68dbc8d9d910
https://github.com/llvm/llvm-project/commit/e1a9576a9049a8c5fdf249e22ecc68dbc8d9d910
Author: Jiahao Guo <eoonguo at gmail.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
Log Message:
-----------
[CIR][AArch64] Lower NEON vsli/vsliq intrinsics (#198309)
### summary
part of: https://github.com/llvm/llvm-project/issues/185382
Lower the AArch64 NEON shift-left-and-insert intrinsics (`vsli_n_v` /
`vsliq_n_v`) in the CIR codegen path. The lowering mirrors classic
CodeGen (`clang/lib/CodeGen/TargetBuiltins/ARM.cpp`): bitcast both
vector operands to the target element type and emit a direct
`llvm.aarch64.neon.vsli` intrinsic call.
Commit: 2894d7502f0b9ee8a3fc26867f180838c3aca3a1
https://github.com/llvm/llvm-project/commit/2894d7502f0b9ee8a3fc26867f180838c3aca3a1
Author: Sergio Afonso <safonsof at amd.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Semantics/OpenMP/workdistribute05.f90
Log Message:
-----------
[Flang][OpenMP] Allow workdistribute inside 'target teams' (#199006)
Currently, a `workdistribute` construct nested inside of a combined
`target teams` is incorrectly reported as an error. This patch fixes
that.
Commit: 72b1c13378f6236956df37f9f8f621c7e60d32a6
https://github.com/llvm/llvm-project/commit/72b1c13378f6236956df37f9f8f621c7e60d32a6
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILParser.cpp
A lldb/test/API/commands/frame/var-dil/expr/EnumValueLookup/Makefile
A lldb/test/API/commands/frame/var-dil/expr/EnumValueLookup/TestEnumValueLookup.py
A lldb/test/API/commands/frame/var-dil/expr/EnumValueLookup/main.cpp
Log Message:
-----------
[lldb] Add enum lookup to DIL (#192065)
Commit: c52c3d203ded16ad88c8cf00e039fd2e45784e94
https://github.com/llvm/llvm-project/commit/c52c3d203ded16ad88c8cf00e039fd2e45784e94
Author: Jonathan L'Work <113400649+Jonathan03ant at users.noreply.github.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3p_alias.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_aliases.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p.txt
Log Message:
-----------
[AMDGPU] Fix v_dot4_i32_i8 alias to set neg_lo modifiers (#197998)
Fixes issue here https://github.com/ROCm/ROCm/issues/6126
The `v_dot4_i32_i8` assembly alias was not setting the `neg_lo` modifier
bits when converted to `v_dot4_i32_iu8`, which causes signed int8
operands to be treated as unsigned.
For example: `q=[1,-1,1,-1], k=[1,1,1,1]`: expected 0, returned 512. The
instruction is computing `1*1 + 255*1 + 1*1 + 255*1 = 512` ; treating
`-1 (0xFF)` as `255`.
On AMD GFX11+, the native `v_dot4_i32_i8` instruction doesn't exist. The
hardware provides `v_dot4_i32_iu8` with `neg_lo` modifier bits to
control signedness of each operand. The compiler correctly lowers
`v_dot4_i32_i8` intrinsics by setting `neg_lo:[1,1,0]`, but inline
assembly using the `v_dot4_i32_i8` mnemonic bypasses this lowering and
goes directly to the assembler.
The assembler accepted `v_dot4_i32_i8` as a simple mnemonic alias but
didn't set the neg_lo modifiers, this results in all-unsigned behavior
which is wrong.
This patch adds assembly parser logic to detect when `v_dot4_i32_i8` is
used and automatically inject `neg_lo=0x3` *(src0 and src1 signed, src2
unsigned)* during operand conversion.
---------
Co-authored-by: Shilei Tian <i at tianshilei.me>
Commit: 3e6582fba63f1b2cade4eb3222736d50e1121b7b
https://github.com/llvm/llvm-project/commit/3e6582fba63f1b2cade4eb3222736d50e1121b7b
Author: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/test/Sema/warn-lifetime-safety-invalidations.cpp
Log Message:
-----------
Reland "[LifetimeSafety] Detect iterator invalidation through container aliases" (#197873)
This relands #195231, which was reverted in commit
7c9717848851f3a71908becab4312ddc2d8482b8.
The original crash from the reproducer no longer reproduces after
#196680, #197220, and #197604. I verified the original `repro.cpp`: it
no longer hits the lifetime-safety assertion now.
Also added regression tests for the crash:
```cpp
struct SinkInteriorBorrow {
const char *dest_; // expected-note {{this field dangles}}
SinkInteriorBorrow(std::string *dest, int n) : dest_(dest->data()) { // expected-warning {{parameter which escapes to a field is later invalidated}}
if (n > 0)
dest->clear(); // expected-note {{invalidated here}}
}
};
```
Closes https://github.com/llvm/llvm-project/issues/193044
Commit: e9132e96ee84c15c16e4f482701756192c7b1c9a
https://github.com/llvm/llvm-project/commit/e9132e96ee84c15c16e4f482701756192c7b1c9a
Author: Jan Schultke <me at eisenwave.net>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/Sema/builtins-elementwise-math.c
Log Message:
-----------
[clang] Implement `__builtin_elementwise_clmul` (#196633)
Follow-up to:
- https://github.com/llvm/llvm-project/pull/140301
- https://github.com/llvm/llvm-project/pull/168731
I'm mostly just following the steps of
https://github.com/llvm/llvm-project/pull/153113/ and other prior PRs
here. I don't have any idea how testing works yet.
CC @artagnon @oscardssmith
Commit: 78f660cca04448cde10dad5e04f1bc09927dd965
https://github.com/llvm/llvm-project/commit/78f660cca04448cde10dad5e04f1bc09927dd965
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll
Log Message:
-----------
[AtomicExpand] Support non-integer atomic loads. (#199310)
This is arguably an enhancement rather than a bugfix. But
AtomicExpandPass already tries to support some non-integer atomic ops
using cmpxchg by bitcasting to/from an integer type. We're just missing
this one path used by atomic load. Seems easy enough to support it.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 76c26357e9431086ae8821a8deefc22654822ba8
https://github.com/llvm/llvm-project/commit/76c26357e9431086ae8821a8deefc22654822ba8
Author: Domenic Nutile <domenic.nutile at gmail.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
A llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-s16-true16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/load-d16.ll
Log Message:
-----------
[AMDGPU][True16] Create tests that will demonstrate true16 G_SEXTLOAD/G_ZEXTLOAD legalization changes (#198669)
<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>
Stack PRs:
https://github.com/llvm/llvm-project/pull/198670
https://github.com/llvm/llvm-project/pull/198671
See https://github.com/llvm/llvm-project/pull/195289 for previous
discussion
Commit: 79f19001448d88fe5e5d77719013932becfd0f7d
https://github.com/llvm/llvm-project/commit/79f19001448d88fe5e5d77719013932becfd0f7d
Author: RolandF77 <froese at ca.ibm.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstrAltivec.td
A llvm/test/CodeGen/PowerPC/partial-red.ll
Log Message:
-----------
[PowerPC] Add PPC BE support for partial reductions (#195927)
Add PPC BE support for partial reduction ISD opcodes
PARTIAL_REDUCE_UMLA/SMLA/SUMLA.
Commit: c1c4c8e23d099c199ea90b050742c3d6c5efcfaf
https://github.com/llvm/llvm-project/commit/c1c4c8e23d099c199ea90b050742c3d6c5efcfaf
Author: Omair Javaid <omair.javaid at linaro.org>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/Dialect/Vector/drop-unit-dims-with-shape-cast.mlir
M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir
M mlir/test/Dialect/Vector/vector-transforms.mlir
Log Message:
-----------
Revert "[mlir][vector] Migrate drop-lead-unit-dim to shape_cast #196206" (#199546)
This reverts commit 24b8bb18f3417419cbd16fcd31f4e2842df952a1 from
#196206
This broke AArch64 SVE Linux buildbots, however it was not reported due
a glitch in the buildbot infrastructure. Following bots are failing:
https://lab.llvm.org/buildbot/#/builders/121
https://lab.llvm.org/buildbot/#/builders/41
https://lab.llvm.org/buildbot/#/builders/4
https://lab.llvm.org/buildbot/#/builders/199
https://lab.llvm.org/buildbot/#/builders/17
https://lab.llvm.org/buildbot/#/builders/198
https://lab.llvm.org/buildbot/#/builders/143
Commit: 7ba877e9ce07572a2f6e0857e9083889d77a91fa
https://github.com/llvm/llvm-project/commit/7ba877e9ce07572a2f6e0857e9083889d77a91fa
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
Log Message:
-----------
[VPlan] Add matcher for canonical VPWidenIntOrFpInductionRecipe (NFC). (#199539)
Add matcher for canonical VPWidenIntOrFpInductionRecipe to simplify some
matching.
Commit: c10922a6ca6a2de54653cceafcd4fb276039ae26
https://github.com/llvm/llvm-project/commit/c10922a6ca6a2de54653cceafcd4fb276039ae26
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes af92edf (#199515)
This fixes af92edf8b3aa4104992de9fe08ce2170d14bc28d.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 5b93aeb21818cfdb142b14e70ef4eb0363ca9d88
https://github.com/llvm/llvm-project/commit/5b93aeb21818cfdb142b14e70ef4eb0363ca9d88
Author: David Salinas <dsalinas at amd.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M clang/lib/Driver/OffloadBundler.cpp
A clang/test/Driver/clang-offload-bundler-multi-compress.c
Log Message:
-----------
clang-offload-bundler incorrectly errors on multi-CCOB binaries (#182579)
Issue: https://github.com/ROCm/llvm-project/issues/448
Objects can have multiple Clang Compressed Offload Bundles (CCOB) in the
.hip_fatbin section. This happens when there are multiple
translation/compilation units built and then linked together into an
Archive or Shared Object. The resulting .hip_fatbin section will have
multiple offload bundles delimited by the magic string "CCOB" (on a 4k
alignment boundary). The Clang Offload bundler API, when a List of
bundle entries is requested, was not properly iterating (looping) over
each separate bundle.
REPRODUCTION
Test File: librocblas.so.5 from ROCm 6.x distribution
.hip_fatbin section: 8,163,887 bytes containing 64 concatenated CCOBs
Extract the .hip_fatbin section with:
objcopy --dump-section .hip_fatbin=fatbin.bin binary
Structure:
Offset 0x0: CCOB header + 1.16 MB compressed (→ 12.41 MB uncompressed)
Offset 0x129000: CCOB header + 1.01 MB compressed (→ 13.14 MB
uncompressed)
Offset 0x227000: CCOB header + 36.5 KB compressed (→ 1.21 MB
uncompressed)
... (61 more bundles)
Command:
$ clang-offload-bundler --type=o --input=librocblas.so.5 --list
Error:
clang-offload-bundler: error: Failed to decompress input: Could not
decompress embedded file contents: Src size is incorrect
Expected:
Should list all target triples in the bundle, or at minimum process
the first bundle without error.
Commit: d5f223da95da701f03cab10626d2a6d518e03737
https://github.com/llvm/llvm-project/commit/d5f223da95da701f03cab10626d2a6d518e03737
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-store.ll
Log Message:
-----------
[SLP] Enable widening strided revectorization of vector stores (#198920)
This commit adds support for re-vectorization of vector stores into
widened strided stores. That is:
```
%p1 = getelementptr i16, ptr %p0, i64 16
store <4 x i16> zeroinitializer, ptr %p1, align 2
store <4 x i16> zeroinitializer, ptr %p0, align 2
```
can be further vectorized to:
```
call void @llvm.experimental.vp.strided.store.v2i64.p0.i64(<2 x i64> zeroinitializer, ptr align 2 %p0, i64 32, <2 x i1> splat (i1 true), i32 2)
```
Commit: f6e4e71fcdbff98cb060f87695c75f00b43bf918
https://github.com/llvm/llvm-project/commit/f6e4e71fcdbff98cb060f87695c75f00b43bf918
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
A llvm/test/Transforms/LoopVectorize/select-cmp-blend-chain.ll
Log Message:
-----------
Reapply "[LV] Handle chained selects/blends when creating new rdx cha… (#199559)
This reverts commit ab1745439c7019d0753afc616c5fc5aef7b82fb6 & reapplies
#199443.
Recommit with additional additional fix to handle other select-like
recipes including VPWidenRecipe and VPReplicateRecipe.
Original message:
Make sure we recursively clone chains of selects/blends when re-creating
a reduction chain with new types.
Fixes https://github.com/llvm/llvm-project/issues/199406.
Commit: 192ea327028d1e8ad37413ebf26ee0da40a4b0fc
https://github.com/llvm/llvm-project/commit/192ea327028d1e8ad37413ebf26ee0da40a4b0fc
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
Log Message:
-----------
[ObjectYAML] Fix `DXContainerYAML::fromDXContainer` return value (#199534)
Commit: 9b4f7d1ae62db9c828ea6b676a295b1e70abed9c
https://github.com/llvm/llvm-project/commit/9b4f7d1ae62db9c828ea6b676a295b1e70abed9c
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
Log Message:
-----------
[VPlan] Collect unit-stride predicates for making vector decisions. (#199568)
Split-off from approved https://github.com/llvm/llvm-project/pull/197276
to land separately.
Collect all unit-stride predicates once, up-front, ensuring that cost
decisions have predicates available, independent of processing order.
Commit: 3c6fdba85b4f21b30b9cd9196b0e858204b3dff2
https://github.com/llvm/llvm-project/commit/3c6fdba85b4f21b30b9cd9196b0e858204b3dff2
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/VPlan/constant-fold.ll
R llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
Log Message:
-----------
[LV] Move constant folding test to VPlan (NFC). (#198407)
Check VPlan print for constant folding test. This makes it more robust
w.r.t. to future cost-modeling changes.
Commit: 3aa9ae2da352db6f5822fdc91a170db5e496be32
https://github.com/llvm/llvm-project/commit/3aa9ae2da352db6f5822fdc91a170db5e496be32
Author: Elio <xiongzile at bytedance.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
A llvm/test/Transforms/LoopVectorize/VPlan/for-phi-ordering.ll
Log Message:
-----------
[VPlan] Collect FOR PHIs before sinking/hoisting recurrence users (#194671)
Avoid iterating over HeaderVPBB->phis() while potentially mutating the
underlying VPBasicBlock. Collect all VPFirstOrderRecurrencePHIRecipe
instances first, then process them in a separate loop.
This prevents iterator invalidation when sinking or hoisting recurrence
users, and makes the transformation more robust.
Fixes: https://github.com/llvm/llvm-project/issues/194618
Fixes https://github.com/llvm/llvm-project/issues/198589
---------
Co-authored-by: Zile Xiong <xiongzile99 at gmail.com>
Commit: d0646cbe307dd2bd10686f923061a7d981263e40
https://github.com/llvm/llvm-project/commit/d0646cbe307dd2bd10686f923061a7d981263e40
Author: Zhijie Wang <yesterda9 at gmail.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
Log Message:
-----------
[LifetimeSafety] Fix false negative for GSL Owner methods inherited from a non-Owner base (#197864)
- Take the implicit object's actual type (e.g., the type before any
`DerivedToBase` cast) into account when checking for GSL Owner. Other
`isGslOwnerType` call sites with the same pattern (e.g.,
`isGslOwnerType(MCE->getImplicitObjectArgument()->getType())` in
`VisitCXXMemberCallExpr`) lack a real-world trigger today and are
deferred to a follow-up.
- Unify the GSL Owner checks inside `shouldTrackImplicitObjectArg` so
they share a single source of truth.
Fixes: #188832
Commit: 2cad228d3863f6a70b33625a1c967066207e34ab
https://github.com/llvm/llvm-project/commit/2cad228d3863f6a70b33625a1c967066207e34ab
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M polly/lib/CodeGen/BlockGenerators.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
Log Message:
-----------
[polly] Simplify with DenseMap::remove_if. NFC (#199577)
In preparation for DenseMap change that relocates surviving entries on
erase.
Commit: a725adb96bf75764ad9043099935d1b5d16ef152
https://github.com/llvm/llvm-project/commit/a725adb96bf75764ad9043099935d1b5d16ef152
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/docs/CMake.rst
Log Message:
-----------
[Docs] Update LLVM_USE_SANITIZER list (#199580)
HWAddress and Leaks are valid options that were not present in the
documentation.
Commit: 1ed7260974d49760ec96ff224d2ff710764af8bf
https://github.com/llvm/llvm-project/commit/1ed7260974d49760ec96ff224d2ff710764af8bf
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
Log Message:
-----------
[NVPTX] Don't assume non-erased DenseMap entries remain valid after erase. NFC (#199575)
GenericToNVVM erases entries from GVMap while iterating it. In
preparation for DenseMap change that relocates surviving entries on
erase, snapshot the map and erase by key.
Commit: ff2eac10dbc1c1d888ac2dee4798bc54db672417
https://github.com/llvm/llvm-project/commit/ff2eac10dbc1c1d888ac2dee4798bc54db672417
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
Log Message:
-----------
[Hexagon] Simplify with DenseMap::remove_if. NFC (#199576)
Commit: 884e828617bf512a992723bd70dc108deb775753
https://github.com/llvm/llvm-project/commit/884e828617bf512a992723bd70dc108deb775753
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerExecSync.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
Log Message:
-----------
[AMDGPU] Don't assume non-erased DenseMap entries remain valid after erase. NFC (#199578)
In preparation for DenseMap change that relocates surviving entries on
erase, replace erase-while-iterating with remove_if.
Commit: 01ce8d6763712261b9333855f10e9d2fe3342d86
https://github.com/llvm/llvm-project/commit/01ce8d6763712261b9333855f10e9d2fe3342d86
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/test/tools/llvm-profdata/sample-nametable.test
Log Message:
-----------
[ProfData] Remove HWAsan exclusion (#199582)
This passes locally for me with HWAsan enabled on a AArch64 machine, so
it seems like this might have been fixed since adding the opt-out.
Commit: 0b6a1ef4297bb839fe26041602d32411358e0032
https://github.com/llvm/llvm-project/commit/0b6a1ef4297bb839fe26041602d32411358e0032
Author: Miro Hrončok <miro at hroncok.cz>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/utils/lit/tests/Inputs/shtest-ulimit/print_limits.py
M llvm/utils/lit/tests/shtest-ulimit-nondarwin.py
Log Message:
-----------
[lit] Normalize RLIM_INFINITY to "infinity" in print_limits.py for Python 3.15+ (#190953)
Python 3.15 changed resource.getrlimit() to return the platform's
maximum value (e.g., 18446744073709551615 on 64-bit systems) instead of
-1 for RLIM_INFINITY. This breaks lit tests that expect -1 for unlimited
resource limits.
This patch normalizes the return value to "infinity" when it equals
RLIM_INFINITY to maintain compatibility with existing tests across all
Python versions.
Fixes test failure: shtest-ulimit-nondarwin.py
Expected: RLIMIT_FSIZE=-1
Got: RLIMIT_FSIZE=18446744073709551615
Reference:
https://github.com/python/cpython/commit/0324c726dea702282a0300225e989b19ae23b759
Reference: https://bugzilla.redhat.com/show_bug.cgi?id=2448969
Analysis and testing assisted by AI.
Assisted-by: Claude Sonnet 4.5
---------
Co-authored-by: Alexander Richardson <mail at alexrichardson.me>
Co-authored-by: Tulio Magno Quites Machado Filho <tuliom at quites.com.br>
Commit: 269719b1f63c68fffbca43f54cebaad23cf0246a
https://github.com/llvm/llvm-project/commit/269719b1f63c68fffbca43f54cebaad23cf0246a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M compiler-rt/include/sanitizer/common_interface_defs.h
M compiler-rt/lib/asan/asan_errors.cpp
M compiler-rt/lib/asan/asan_errors.h
M compiler-rt/lib/asan/asan_poisoning.cpp
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/asan/asan_report.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
M compiler-rt/lib/sanitizer_common/sanitizer_interface_internal.h
R compiler-rt/test/asan/TestCases/copy_container_annotations.cpp
Log Message:
-----------
Revert "[compiler-rt][ASan] Add function copying annotations (#91702)" (#194204)
This reverts commit c76045d9bf3bd1c7a381dc85d1db63a38fd69aa4.
It does not look like this has been used anywhere since it was
implemented. I see no uses of it in LLVM, anywhere in our internal
monorepo, or across the entirety of Github outside of other copies of
LLVM tests. Given that, remove it. The intended use case around SSO ASan
string annotations is also likely to be significantly reworked soon.
Commit: 97e7ee26b2b3ea695c1966498ee572acd1e40418
https://github.com/llvm/llvm-project/commit/97e7ee26b2b3ea695c1966498ee572acd1e40418
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/ProfileData/InstrProf.cpp
A llvm/test/Transforms/PGOProfile/Inputs/indirect-call-vp-zeros.ll
A llvm/test/Transforms/PGOProfile/indirect-call-vp-zeros.ll
Log Message:
-----------
[InstrProf] Do not emit metadata for zero values with zero counts (#199380)
If we have a indirect call site with a profile that has VP information
for said callsite that only contains zero values with zero counts, we
would start to emit invalid profile information after
1d146967d51ba76b8379d9e12961aa23e5745701. VP metadata in this case is at
best redundant with BFI. So we restrict metadata emission to only if we
have a sufficient number of values for the VP metadata to be valid.
Commit: b938d8b562d6ebbb72ceafaf57cead215fef86da
https://github.com/llvm/llvm-project/commit/b938d8b562d6ebbb72ceafaf57cead215fef86da
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/lib/Analysis/DependenceAnalysis.cpp
Log Message:
-----------
[DA] Consolidate accumulating GCD functions (NFCI) (#197936)
This patch consolidates two functions `accumulateCoefficientsGCD` and
`analyzeCoefficientsForGCD` by merging the latter into the former. These
two functions are very similar, and keeping both of them does not make
much sense.
Commit: 7dabf946d908858beb94c7c718a09bedc6eb4407
https://github.com/llvm/llvm-project/commit/7dabf946d908858beb94c7c718a09bedc6eb4407
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
A llvm/test/CodeGen/RISCV/rvv/pr199509.ll
Log Message:
-----------
[SelectionDAG] Handle CSE in PromoteIntOp_VP_STRIDED. (#199562)
If the UpdateNodeOperands triggers CSE, we need to handle result
replacement ourselves because strided load has 2 results.
Commit: b929dbabe54b0974cce73f70c6d3831bd7e1ddfe
https://github.com/llvm/llvm-project/commit/b929dbabe54b0974cce73f70c6d3831bd7e1ddfe
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
Log Message:
-----------
[X86] FixupInstTuning: ProcessShiftLeftToAdd should return true after mutating. (#199589)
I think this is almost NFC, though it should affect some of the
compilation statistics like "number of instrs changed by X pass".
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply at anthropic.com>
Commit: 5723dd03231f963037b63d34e54902bb9e173b74
https://github.com/llvm/llvm-project/commit/5723dd03231f963037b63d34e54902bb9e173b74
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Split v4i16/v8i8 MUL on RV32. (#199504)
Commit: d1902d34606e070df3ffb1cadbd3aac0f1165484
https://github.com/llvm/llvm-project/commit/d1902d34606e070df3ffb1cadbd3aac0f1165484
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvp-bitcast-const-fold.ll
Log Message:
-----------
[RISCV][P-ext] Fold bitcast of v4i8/v2i16 const splat to scalar on RV64 (#199513)
clang lowers `int8x4_t f(int8x4_t a) { return ~a; }` to a
bitcast-wrapped vector xor with splat(-1). v4i8/v2i16 aren't legal on
RV64, so the xor gets scalarized to i64 with the constant still wrapped
in BITCAST:
`i64 = xor X, (bitcast (v8i8 splat -1))`
The scalar `not` PatFrag (xor X, -1) requires a literal constant and
can't see through BITCAST, so XORI -1 (= `not`) misses and we emit `li
-1; xor` (2 insns). The v8i8/v4i16/v2i32 paths stay at vector level and
match the bitcast-aware vector `vnot` td-pat, so they're fine; only the
widened-from-v4i8/v2i16 path falls through to scalar `not`.
Fix it by folding the bitcast of a v4i8/v2i16 constant splat to a scalar
i32 constant pre-legalization. Type promotion sign-extends to i64 -1 and
XORI matches.
Commit: 50a110ace7559f0655cf74cf2080b108c5bc2cda
https://github.com/llvm/llvm-project/commit/50a110ace7559f0655cf74cf2080b108c5bc2cda
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/test/Transforms/CodeGenPrepare/X86/split-store-alignment.ll
Log Message:
-----------
[CodeGenPrepare] splitMergedValStore: don't split atomic stores. (#199592)
splitMergedValStore notices when you do e.g.
z = x | (y << 32)
store z
and may split this up into 32-bit two stores, of x and y, depending
e.g. on the type of x and y.
It skips this optimization for volatile stores, but currently does NOT
skip it for atomics (!!). So an atomic store can be split up into two
(non-atomic!) stores.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply at anthropic.com>
Commit: 03c8a834d6a963b7e252c4d2915c419da0a2ee93
https://github.com/llvm/llvm-project/commit/03c8a834d6a963b7e252c4d2915c419da0a2ee93
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M libcxx/include/__configuration/hardening.h
M libcxx/include/string
M libcxx/include/tuple
Log Message:
-----------
[libc++] Address most LLVM23 TODOs (#199397)
There is still one LLVM23 TODO left that can only be resolved once we
update GCC.
Commit: 386e356b5f0a3e49e42b80c350a6847c1d3bc661
https://github.com/llvm/llvm-project/commit/386e356b5f0a3e49e42b80c350a6847c1d3bc661
Author: Edward Nathan Varghese <cs22btech11020 at iith.ac.in>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/MicrosoftMangle.cpp
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors-msvc.cpp
Log Message:
-----------
[AArch64] Add support for MSVC-style mangling for SVE (#196738)
Fixes #196170
Recent MSVC toolchains added support for AArch64 SVE types and use
dedicated builtin manglings such as `$_CD` instead of the older
artificial `__clang` struct manglings.
Update Clang's Microsoft mangling implementation to match MSVC for
supported SVE builtin types.
Unsupported SVE types continue using the existing artificial tag
mangling until MSVC gains support for them.
Adds representative coverage for:
* scalar SVE types
* tuple/vector SVE types
* fallback manglings for unsupported types
Commit: d7856fed0268ae8c903a6928610122647a44d2fa
https://github.com/llvm/llvm-project/commit/d7856fed0268ae8c903a6928610122647a44d2fa
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-extract-subvector.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-insert-subvector.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv64.mir
Log Message:
-----------
[RISCV][GISel] Add exact flag to G_LSHR in RISCVLegalizerInfo::legalizeVScale (#199595)
This matches what is in SelectionDAG.
Commit: 23b754f5745a51f5f1ff2d9c65f539b54c913589
https://github.com/llvm/llvm-project/commit/23b754f5745a51f5f1ff2d9c65f539b54c913589
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
Log Message:
-----------
[RISCV] Use the new "let append" TableGen feature to reduce duplication. NFC (#199596)
Similar to #198761, use this to add [IsRV64] where needed.
Commit: d4550cc82efa06745192f78120e1acfc7892b35d
https://github.com/llvm/llvm-project/commit/d4550cc82efa06745192f78120e1acfc7892b35d
Author: Igor Gorban <igor.gorban at intel.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M clang/lib/Sema/OpenCLBuiltins.td
A clang/test/SemaOpenCL/intel-bfloat16-conversions-builtins.cl
Log Message:
-----------
[OpenCL] Add cl_intel_bfloat16_conversions builtins (#199422)
Add cl_intel_bfloat16_conversions declarations to OpenCLBuiltins.td
and cover the extension with a dedicated header-free SPIR test.
Specification:
https://registry.khronos.org/OpenCL/extensions/intel/cl_intel_bfloat16_conversions.html
Co-authored-by: Copilot
Commit: 44d60bad70c7832c2917724d183aa6c208fe589b
https://github.com/llvm/llvm-project/commit/44d60bad70c7832c2917724d183aa6c208fe589b
Author: YunQiang Su <syq at debian.org>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
sanitizer_common: Fix build on MIPS with _TIME_BITS=64 (#199590)
When we build sanitizer_common with -D_TIME_BITS=64, the assert of
struct_kernel_stat_sz fails due to the size of struct stat get different
size.
Commit: fe3d6b051b31f5794cd29818acb9203dbb7dd6f4
https://github.com/llvm/llvm-project/commit/fe3d6b051b31f5794cd29818acb9203dbb7dd6f4
Author: Li-Zheng-Rong <2508120225 at hhu.edu.cn>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang-tools-extra/clangd/ProjectModules.cpp
Log Message:
-----------
[NFC] [clangd] [C++20] [Modules] Fix false duplicate module warning for equivalent paths (#199343)
When checking for multiple source files declaring the same module, the
comparison used raw string equality on file paths. This causes false
positives when the same file is represented by different but equivalent
path strings.
Use pathEqual(normalizePath(...), normalizePath(...)) instead to compare
canonical paths, consistent with how clangd handles path comparisons
elsewhere.
Commit: 44583eca36b6e4e11cc171bc05d9eb0c5b716e1d
https://github.com/llvm/llvm-project/commit/44583eca36b6e4e11cc171bc05d9eb0c5b716e1d
Author: Arun Thangamani <arun.thangamani at intel.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M mlir/lib/Dialect/X86/Transforms/VectorContractToAMXDotProduct.cpp
M mlir/lib/Dialect/X86/Utils/X86Utils.cpp
M mlir/test/Dialect/X86/AMX/vector-contract-to-tiled-dp.mlir
Log Message:
-----------
[mlir][x86] Fix - multiple issues / F8 support for AMX dot-product lowering (#196984)
This patch fixes issues or support additional patterns for AMX
`dot-product` lowering.
1. Fix issue related to write-back to `C` matrix,
2. Supports additional lowering pattern where the cache tile sizes are:
32,32,32,
3. Online packing - loop peeling is now based on `step` size,
4. Extends support for `f8` lowering (`mx-fp8` lowering will be
supported after vector.contract has `mx` support).
Commit: de188bbad3df25ccc85a853328c98a45b9df7db3
https://github.com/llvm/llvm-project/commit/de188bbad3df25ccc85a853328c98a45b9df7db3
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/MC/CMakeLists.txt
Log Message:
-----------
[DirectX][ObjectYAML] Fix CI build issue in DXContainerInfo.cpp (#199605)
After https://github.com/llvm/llvm-project/pull/198222, the following
error was reported in CI bots:
```
[1546/5356] Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/DXContainerInfo.cpp.o
FAILED: [code=1] lib/MC/CMakeFiles/LLVMMC.dir/DXContainerInfo.cpp.o
sccache /usr/bin/g++ -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/runner/work/circt/circt/build/lib/MC -I/home/runner/work/circt/circt/llvm/llvm/lib/MC -I/home/runner/work/circt/circt/build/include -I/home/runner/work/circt/circt/llvm/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-dangling-reference -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-dangling-pointer -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17 -fPIC -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/MC/CMakeFiles/LLVMMC.dir/DXContainerInfo.cpp.o -MF lib/MC/CMakeFiles/LLVMMC.dir/DXContainerInfo.cpp.o.d -o lib/MC/CMakeFiles/LLVMMC.dir/DXContainerInfo.cpp.o -c /home/runner/work/circt/circt/llvm/llvm/lib/MC/DXContainerInfo.cpp
/home/runner/work/circt/circt/llvm/llvm/lib/MC/DXContainerInfo.cpp:14:10: fatal error: llvm/Support/VCSRevision.h: No such file or directory
14 | #include "llvm/Support/VCSRevision.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[1547/5356] Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/ConstantPools.cpp.o
[1548/5356] Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/DXContainerRootSignature.cpp.o
[1549/5356] Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/DXContainerPSVInfo.cpp.o
[1550/5356] Building CXX object lib/Bitcode/Reader/CMakeFiles/LLVMBitReader.dir/MetadataLoader.cpp.o
[1551/5356] Building CXX object lib/Bitcode/Reader/CMakeFiles/LLVMBitReader.dir/BitcodeReader.cpp.o
ninja: build stopped: subcommand failed.
```
This adds llvm_vcsrevision_h dependency to MC to fix that.
Commit: fb8243f32c955690ebdfdd32eb9aaaf0c391b648
https://github.com/llvm/llvm-project/commit/fb8243f32c955690ebdfdd32eb9aaaf0c391b648
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
Log Message:
-----------
[RISCV] Use append TableGen feature in RISCVInstrInfoXqci.td (#199603)
This improves the readability of the file.
An AI came up with the patch which I reviewed and ensured that the tests
pass.
Commit: c618e112145fbbbe7ab14ab202f8626703920b96
https://github.com/llvm/llvm-project/commit/c618e112145fbbbe7ab14ab202f8626703920b96
Author: Varad Rahul Kamthe <133588066+varadk27 at users.noreply.github.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
A mlir/test/Target/LLVMIR/nvvm/divf/divf.mlir
A mlir/test/Target/LLVMIR/nvvm/divf/divf_invalid.mlir
Log Message:
-----------
[MLIR][NVVM] Add `nvvm.divf` Op (#198744)
Adds the `nvvm.divf` NVVM dialect op covering all 16 PTX `div` forms via attribute-driven selection:
- Default (`approx = false, full = false`): IEEE-compliant rounded divide (`div.<RM>[.ftz].{f32,f64}`), 12 forms -- requires `rnd` ∈ `{rn, rm, rp, rz}`; supports f32 and f64 (f64 does not accept `ftz`).
- `approx = true`: fast hardware approximation (`div.approx[.ftz].f32`), 2 forms -- f32 only.
- `full = true`: full-range approximation (`div.full[.ftz].f32`), 2 forms -- f32 only.
Commit: b86512ce648f4a31ba5110dc0e0f84b63f5be785
https://github.com/llvm/llvm-project/commit/b86512ce648f4a31ba5110dc0e0f84b63f5be785
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-25 (Mon, 25 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Split v4i16/v8i8 vselect on RV32. (#198898)
We don't have a 64-bit merge instruction on RV32.
Assisted-by: Claude Sonnet 4.5
Commit: 377af85dad4e71b928a493464af5cf2f32e7e192
https://github.com/llvm/llvm-project/commit/377af85dad4e71b928a493464af5cf2f32e7e192
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/Transforms/LICM/strlen.ll
M llvm/test/Transforms/MergeICmps/X86/alias-merge-blocks.ll
M llvm/test/Transforms/MergeICmps/X86/entry-block-shuffled.ll
M llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-pattern.ll
Log Message:
-----------
[InferAttrs] Annotate math and basic string libcalls with `nosync` (#197761)
Math libcalls as well as some simple string ones do not create
synchronizes-with edges, thus `nosync` may be derived.
Co-authored-by: Johannes Doerfert <jdoerfert.llvm at gmail.com>
Commit: be39e065d325ad52628c23eb01d999656e30a22f
https://github.com/llvm/llvm-project/commit/be39e065d325ad52628c23eb01d999656e30a22f
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/IR/LegacyPassManager.cpp
Log Message:
-----------
[IR] Inline remove_if in PMDataManager::removeNotPreservedAnalysis (#199571)
PR #198982 rewrote removeNotPreservedAnalysis to use DenseMap::remove_if
with one predicate shared across two call sites. The predicate is always
inlined; the cost is that two call sites make
DenseMapBase::remove_if<...>
itself emit out of line instead of inlining into the caller. As this
runs
after every modifying codegen pass (legacy PM), it shows up as a small
instructions:u regression, most visibly at -O0 where the legacy codegen
PM
is a large fraction of compile time:
https://llvm-compile-time-tracker.com/compare.php?from=69a5cf515fd317bcf918e48de9137dd8549870c5&to=6302439f5aaea6cb776d8ceb5c2ef9108fccf702&stat=instructions%3Au
Collect the maps into a SmallVector and prune them from a single
remove_if
call site, so the instantiation is inlined again.
Commit: a225aafbd1a40be0dd9c31e2d0b0b7c42b9d36e3
https://github.com/llvm/llvm-project/commit/a225aafbd1a40be0dd9c31e2d0b0b7c42b9d36e3
Author: Fangrui Song <i at maskray.me>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/docs/ProgrammersManual.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/ADT/DenseMap.h
M llvm/unittests/ADT/DenseMapTest.cpp
M llvm/unittests/ADT/DenseSetTest.cpp
Log Message:
-----------
[DenseMap] Invalidate iterators on erase (#199369)
Tighten DenseMap's `erase` contract so that, like `insert` and `grow`,
it invalidates iterators and references obtained before the call.
Under the current tombstone-based deletion this is purely an
LLVM_ENABLE_ABI_BREAKING_CHECKS check — the bucket array is not actually
mutated for other entries — but it surfaces stale-iterator-after-erase
patterns now rather than when DenseMap's deletion scheme changes.
Mirrors the SmallPtrSet change in #96762, which dropped tombstones in
small mode and likewise had `erase` invalidate iterators.
Depends on #198982 and #199365
Commit: 49e2295cf52cac72cc3d3bcb4738582bc0c6bde1
https://github.com/llvm/llvm-project/commit/49e2295cf52cac72cc3d3bcb4738582bc0c6bde1
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
A llvm/test/Transforms/GVN/PRE/pre-load-combine-metadata.ll
Log Message:
-----------
[GVN] Properly combine AA metadata if available load is hoisted (#197948)
Ensure the AA metadata are properly merged between the new load and the
old one during PRE. Actually set `DoesKMove` in `combineMetadataForCSE`,
otherwise the new load is assumed not to move, which is not correct if
the new load has happened to be hoisted.
Fixes: https://github.com/llvm/llvm-project/issues/196787.
Commit: a69ce910db2d33ae6203aed998feba3136d68e0b
https://github.com/llvm/llvm-project/commit/a69ce910db2d33ae6203aed998feba3136d68e0b
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/test/CodeGenCXX/builtin-amdgcn-fence.cpp
Log Message:
-----------
[Clang][AMDGPU] clean up auto-generated CHECK lines in a test (NFC) (#199614)
Commit: d06d3a7bdca153c3130704ef115c72095488e1f7
https://github.com/llvm/llvm-project/commit/d06d3a7bdca153c3130704ef115c72095488e1f7
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
A clang/test/Analysis/ctu/constraintsatisfaction.cpp
Log Message:
-----------
[clang][ASTImporter] Fix of crash at ConstraintSatisfaction import (#197407)
Null pointer dereference could happen during `ASTImporter` import of a
`ConstraintSatisfaction` object.
Commit: fda6309919a0c391ed224c0da214ba89ecff5478
https://github.com/llvm/llvm-project/commit/fda6309919a0c391ed224c0da214ba89ecff5478
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
Log Message:
-----------
[AArch64][GlobalISel] Add tablegen pattern for uaddo combine (#198724)
Related to #197693 which filters the worklist to only include opcodes
for which there are combines. It's mostly handled by canMatchOpcode
which is tablgen'ed but some old combines like this one are missing a
tablegen pattern and require extra handling. This adds a simple wrapper
so it gets picked up by canMatchOpcode and we can delete the C++
handling.
Assisted-by: codex
Commit: 4ab4d2d9bb4a1d87b36bb4703d3b95138129c051
https://github.com/llvm/llvm-project/commit/4ab4d2d9bb4a1d87b36bb4703d3b95138129c051
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
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/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
M llvm/test/Transforms/LoopVectorize/RISCV/sink-to-early-exit.ll
M llvm/test/Transforms/LoopVectorize/VPlan/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
M llvm/test/Transforms/LoopVectorize/early-exit-calls.ll
M llvm/test/Transforms/LoopVectorize/early-exit-load-live-out.ll
M llvm/test/Transforms/LoopVectorize/early-exit-unary-ops.ll
M llvm/test/Transforms/LoopVectorize/multi_early_exit.ll
M llvm/test/Transforms/LoopVectorize/multiple-early-exits.ll
M llvm/test/Transforms/LoopVectorize/predicated-early-exits-interleave.ll
M llvm/test/Transforms/LoopVectorize/predicated-multiple-exits.ll
M llvm/test/Transforms/LoopVectorize/predicated-single-exit.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave-hint.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/sink-to-early-exit.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
M llvm/unittests/Transforms/Vectorize/VPlanUncountableExitTest.cpp
Log Message:
-----------
[VPlan] Fold canonical IV recipe creation into createLoopRegion. (#198383)
Remove the separate addCanonicalIVRecipes transform and create the
canonical IV's increment and the latch's exiting branch directly in
createLoopRegion, using the loop region's VPRegionValue for the
canonical IV. The temporary VPPhi placeholder previously inserted in the
header is no longer needed.
PR: https://github.com/llvm/llvm-project/pull/198383
Commit: 970ecaef1db3701f04e63223ce9188a748be6083
https://github.com/llvm/llvm-project/commit/970ecaef1db3701f04e63223ce9188a748be6083
Author: Vladislav Semykin <34096407+ViNN280801 at users.noreply.github.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
Log Message:
-----------
[Clang][Sema] Fix crash in __builtin_dump_struct with immediate callables (#192880)
## Motivation
`ComplexRemove` (used by `Sema::PopExpressionEvaluationContext` to strip
nested `ConstantExpr` wrappers) inherits the default
`TreeTransform::TransformOpaqueValueExpr`, which asserts on any
`OpaqueValueExpr` with a non-null `SourceExpr` unless a binding has
already been set up.
`__builtin_dump_struct` binds the record pointer to an `OpaqueValueExpr`
inside a `PseudoObjectExpr`. When the callable argument is
immediate-escalated (e.g. via `__builtin_is_within_lifetime`),
`RemoveNestedImmediateInvocation` roots `ComplexRemove` inside the PSE's
semantic form, reaching that OVE without the binding the assert expects
- triggering a crash.
## Closing Issues
Closes #192846
---------
Signed-off-by: ViNN280801 <vladislav.semykin at gmail.com>
Co-authored-by: Corentin Jabot <corentinjabot at gmail.com>
Co-authored-by: Younan Zhang <zyn7109 at gmail.com>
Commit: a975b7cd3538cfba015c7a49e2e86be58aa546c3
https://github.com/llvm/llvm-project/commit/a975b7cd3538cfba015c7a49e2e86be58aa546c3
Author: Luke Lau <luke at igalia.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/masked-udiv.ll
Log Message:
-----------
[RISCV] Fix fixed-length masked.{u,s}{div,rem} lowering not converting operands (#197913)
Similar to #197724, but this time I also somehow forgot to convert the
operands to scalable vectors. I'm surprised that nothing asserted here,
since SDT_RISCVIntBinOp_VL has a type profile constraint that the
operands and result types need to be the same.
Commit: 4448a1a7c095dc781495d631b73dcdff652436ba
https://github.com/llvm/llvm-project/commit/4448a1a7c095dc781495d631b73dcdff652436ba
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512-ext.ll
M llvm/test/CodeGen/X86/avx512-insert-extract.ll
M llvm/test/CodeGen/X86/avx512-mask-op.ll
Log Message:
-----------
[X86] LowerBUILD_VECTORvXi1 - scalarize the bool masks if we insert a single non-const value (#199523)
Minor generalization of the existing fold for splat bool masks - if only
a single value is used in insertion(s) (as well as any immediate/undefs
values), then fold to a scalar select (val, insert|immediate, immediate)
Yak shaving for #198162
Commit: 19e915fc5c91645ccc4050180e9daabec30358c4
https://github.com/llvm/llvm-project/commit/19e915fc5c91645ccc4050180e9daabec30358c4
Author: hev <wangrui at loongson.cn>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchMachineFunctionInfo.h
A llvm/test/CodeGen/LoongArch/musttail-call.ll
A llvm/test/CodeGen/LoongArch/musttail-indirect-args.ll
Log Message:
-----------
[LoongArch] Fix musttail with indirect arguments by forwarding incoming pointers (#198965)
When a `musttail` call passes arguments indirectly (fp128 on LA32, i128
on LA32), the backend allocates a stack temporary and hands the callee a
pointer. The tail call deallocates the caller's frame, and the pointer
dangles.
Fix by forwarding the incoming indirect pointers instead. They point to
the caller's caller's frame, which stays valid after the tail call.
Forwarded formal parameters reuse the pointer directly; computed values
get stored into the incoming buffer first.
The pointers are saved in virtual registers (`CopyToReg`/`CopyFromReg`)
rather than SDValues. The SelectionDAG is cleared between basic blocks
and musttail calls can appear in non-entry blocks, so storing raw
SDValues across BBs is unsound (this was the bug that led to the revert
in 501417baa60f). The vreg save only fires when the function has
musttail calls; other functions see no codegen change.
Non-musttail tail calls with indirect args are still rejected.
This uses the same strategy as the corresponding RISC-V fix (#185094).
Commit: 73f141f75caf842e289a9d8166365b702adfeb3b
https://github.com/llvm/llvm-project/commit/73f141f75caf842e289a9d8166365b702adfeb3b
Author: Hans Wennborg <hans at hanshq.net>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/DebugInfo/CodeView/CodeViewRecordIO.cpp
Log Message:
-----------
[NFC] Add null terminator assert to CodeViewRecordIO::mapStringZ (#199624)
mapStringZ assumes that there's a null terminator past the end of Value
(I suppose the name hints at this too). This doesn't seem very nice to
me, but at least we can add an assert to check that the assumption
holds.
Commit: 322ff9f317bbefd52751028dc358524797e18045
https://github.com/llvm/llvm-project/commit/322ff9f317bbefd52751028dc358524797e18045
Author: Luke Lau <luke at igalia.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Remove TargetLowering arg from getContainerForFixedLengthVector. NFC (#199629)
Unless I'm missing something we can just fetch the TLI from
RISCVSubtarget
Commit: 5ab7435196ce395fc0713f4034e65fcaee67e63e
https://github.com/llvm/llvm-project/commit/5ab7435196ce395fc0713f4034e65fcaee67e63e
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fdot-product.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fsub-chained.ll
Log Message:
-----------
[LV] Add support for partial reduction chains with fsubs. (#197114)
The cost-model prevented this from happening, but the LV would otherwise
generate incorrect code (i.e. without the fneg).
Commit: 3398f4e66558c67f7a8db70982d8bdbd8ed9a52d
https://github.com/llvm/llvm-project/commit/3398f4e66558c67f7a8db70982d8bdbd8ed9a52d
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M mlir/lib/Transforms/Mem2Reg.cpp
M mlir/test/Dialect/LLVMIR/mem2reg.mlir
Log Message:
-----------
[mlir][mem2reg] fix assert for indirect blocking uses inside regions (#199193)
When adding new blocking uses created by the interface of a previous
blocking uses (typically forwarding the blocking uses to the op result
users), the mem2reg framework was assuming that the new blocking uses
are in the same region as the original blocking use, which is not true
in general and lead to the assert:
`Transforms/Mem2Reg.cpp:743: void
{anonymous}::MemorySlotPromoter::removeBlockingUses(mlir::Region*):
Assertion `op->getParentRegion() == region && "all operations must still
be in the same region"' failed.`
This patch fixes this by adding the new uses into the userToBlockingUses
for the region of the new blocking uses.
Commit: b2634fc4f8b1b1702a970812d534d3a888788b3e
https://github.com/llvm/llvm-project/commit/b2634fc4f8b1b1702a970812d534d3a888788b3e
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Fix a crash in __builtin_subcb (#199400)
Don't try to initialize pointers that can't be initialized
Commit: 495e6c54420fb06664d0dfaeee1926eade10f114
https://github.com/llvm/llvm-project/commit/495e6c54420fb06664d0dfaeee1926eade10f114
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Transforms/Coroutines/MaterializationUtils.cpp
A llvm/test/Transforms/Coroutines/coro-materialize-intrinsics.ll
M llvm/test/Transforms/Coroutines/coro-materialize.ll
Log Message:
-----------
[Coroutines] Allow rematerialization of unary operators and selected intrinsics (#197698)
All of those can be cheaply recomputed when the coroutine has resumed.
Before this change, results of unary operators and intrinsics were
spilled into the coroutine frame and reloaded on resume:
```
%neg = fneg float %n
store float %neg, ptr %neg.spill.addr
; In resume:
%neg.reload = load float, ptr %neg.reload.addr
; ... use %neg.reload
```
After this change, only the operand is spilled and the operation is
rematerialized on each resume, avoiding the frame store:
```
store float %n, ptr %n.spill.addr
; In resume:
%n.reload = load float, ptr %n.reload.addr
%neg = fneg float %n.reload
; ... use %neg
```
Assisted-by: Claude Code
Commit: adcad45cbdf804c18ba691d879df98a9e3e22fc2
https://github.com/llvm/llvm-project/commit/adcad45cbdf804c18ba691d879df98a9e3e22fc2
Author: Kartik Ohlan <kartik7ohlan at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
Log Message:
-----------
[CIR] Vector saturating rounding shift right and narrow intrinsics (#198947)
This PR ignores all SISD variants that we had in #198216
Part of https://github.com/llvm/llvm-project/issues/185382
Move the test cases to
[intrinsics.c](https://github.com/llvm/llvmproject/pull/clang/test/CodeGen/AArch64/neon/intrinsics.c)
Removed the test cases from
[neon-intrinsics.c](https://github.com/llvm/llvmproject/pull/clang/test/CodeGen/AArch64/neon/intrinsics.c)
variants that are skipped/ not covered in this PR (SISD)
```
1. vqrshrunh_n_s16 (uint8_t, _h scalar)
2. vqrshruns_n_s32 (uint16_t, _s scalar)
3. vqrshrnh_n_s16 (int8_t, _h scalar)
4. vqrshrns_n_s32 (int16_t, _s scalar)
5. vqrshrnh_n_u16 (uint8_t, _h scalar)
6. vqrshrns_n_u32 (uint16_t, _s scalar)
```
Commit: 0f1d083eff4bb5d409093a0c2b5ce32f070f8af7
https://github.com/llvm/llvm-project/commit/0f1d083eff4bb5d409093a0c2b5ce32f070f8af7
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/test/CMakeLists.txt
Log Message:
-----------
[Clang][test] check-clang-format not created with LLVM_ENABLE_IDE (#199638)
add_lit_testsuites skips creating targets for each subdirectory when
LLVM_ENABLE_IDE. Only create the dependency (introduced in #199169) when
the check-clang-format target actually exists.
Fixes the LLVM build when using an IDE.
Commit: c437052c0a473ebf4880947b1c70e0745acd1ee6
https://github.com/llvm/llvm-project/commit/c437052c0a473ebf4880947b1c70e0745acd1ee6
Author: lntue <lntue at google.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/CMakeLists.txt
M llvm/include/llvm/ADT/APFloat.h
M llvm/lib/Support/APFloat.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/unittests/ADT/APFloatTest.cpp
Log Message:
-----------
Reland "[APFloat] Add exp functions for single and double using exp/expf implementations from LLVM libc." (#197440) (#199570)
This reverts commit 1565f096d868f479f075fce3792db7b908cab9aa.
**Fixes applied on LLVM libc side:**
- gcc 7, 8, 9 compatibility:
- https://github.com/llvm/llvm-project/pull/197476
- https://github.com/llvm/llvm-project/pull/197868
- Add gcc's versions to LLVM libc-shared-tests precommit CI:
https://github.com/llvm/llvm-project/pull/199300
**Original commits messages:**
Discourse RFC:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
- The implementation in LLVM libc is free-standing header-only:
https://github.com/llvm/llvm-project/issues/147386
- expf / exp implementation in LLVM libc is correctly rounded for all
rounding modes.
- Only support default rounding modes for now. Other rounding modes will
wait for proper static rounding implementations in LLVM libc.
- No cmake build dependency between LLVM and LLVM libc, only requires
LLVM libc source presents in llvm-project/libc folder.
Commit: 10c0de887256f33427353a1f8988842b98a340c9
https://github.com/llvm/llvm-project/commit/10c0de887256f33427353a1f8988842b98a340c9
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[LinkerWrapper] Fix temps being dumped to CWD instead of output path (#198679)
Summary:
Offloading save temps is a complex dance where we have clang,
linker-wrapper, and lld all making their own temp files. The ones in the
linker wrapper were not respecting the output directory because we
stripped everything with filename. Just get rid of this so it uses the
output file's directory properly in this mode.
Commit: 79337832f7a35c1ae5326a80c37a6459dd752048
https://github.com/llvm/llvm-project/commit/79337832f7a35c1ae5326a80c37a6459dd752048
Author: Igor Gorban <igor.gorban at intel.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/lib/Sema/OpenCLBuiltins.td
A clang/test/SemaOpenCL/intel-split-work-group-barrier-builtins.cl
Log Message:
-----------
[OpenCL] Add cl_intel_split_work_group_barrier builtins (#199424)
Add cl_intel_split_work_group_barrier declarations to OpenCLBuiltins.td
and cover the extension with a dedicated header-free SPIR test.
Specification:
https://registry.khronos.org/OpenCL/extensions/intel/cl_intel_split_work_group_barrier.html
Co-authored-by: Copilot
Commit: 028153a165d6c161f0a7eb045840f5e2b70f6088
https://github.com/llvm/llvm-project/commit/028153a165d6c161f0a7eb045840f5e2b70f6088
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
Log Message:
-----------
[VPlan] Make TransformState::get BCast-logic robust (#197589)
The logic for inserting Broadcasts in a more optimal location in
VPTransformState::get is quite fragile, especially around scalable VFs.
Fix it, resulting in minor improvements.
Commit: a903b9512750cf1c5cd6c6f233f74257bae5d4bf
https://github.com/llvm/llvm-project/commit/a903b9512750cf1c5cd6c6f233f74257bae5d4bf
Author: MaoJiaping <maojiaping1 at huawei.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
A llvm/test/tools/llvm-split/alias-to-ifunc.ll
A llvm/test/tools/llvm-split/ifunc.ll
Log Message:
-----------
[CloneModule] Clone undefined ifuncs (#197353)
To satisfy the verifier rule "IFunc resolver must be a definition". We
fix iFunc handling when cloning modules.
When cloning a module, if an IFunc has no definition
(ShouldCloneDefinition returns false), directly create an external
GlobalValue (Function or GlobalVariable) instead of trying to clone the
ifunc.
Add a test case for llvm-split to verify the ifunc cloning/splitting
behavior works correctly.
Commit: 05a237293730ce2e83718037d7addabd6c15b238
https://github.com/llvm/llvm-project/commit/05a237293730ce2e83718037d7addabd6c15b238
Author: Bogdan Vetrenko <b.vetrenko at yandex.ru>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrGISel.td
A llvm/test/CodeGen/RISCV/GlobalISel/bitreverse-zbkb.ll
Log Message:
-----------
[RISCV][GlobalISel] Lower i8 bitreverse using brev8 with Zbkb (#199469)
This teaches RISC-V GlobalISel to custom-lower scalar i8 G_BITREVERSE
using brev8 when Zbkb is available.
The i8 source is zero-extended to XLEN before applying the riscv_brev8
intrinsic. Since brev8 reverses bits independently within each byte, the
high zero bytes remain zero, so the result can be truncated back to i8.
Commit: ded7aa0dcf4965aec5a1d036524cbc0fb14ad5e1
https://github.com/llvm/llvm-project/commit/ded7aa0dcf4965aec5a1d036524cbc0fb14ad5e1
Author: sujianIBM <Jian.Su at ibm.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/test/tools/llvm-objcopy/DXContainer/dump-section.yaml
Log Message:
-----------
[z/OS] Add --ignore-case to FileCheck on output from od. (#196396)
This test fails on z/OS because `od` outputs upper case letters on z/OS.
Commit: 70321b9c3b2674d7613193e54dec5abf6b831bf7
https://github.com/llvm/llvm-project/commit/70321b9c3b2674d7613193e54dec5abf6b831bf7
Author: Junji Watanabe <jwata at google.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Support/Path.cpp
M llvm/unittests/Support/CommandLineTest.cpp
M llvm/unittests/Support/Path.cpp
Log Message:
-----------
[Support] Support runtime override for LLVM_WINDOWS_PREFER_FORWARD_SLASH (#199210)
Allow overriding the compile-time LLVM_WINDOWS_PREFER_FORWARD_SLASH
setting at runtime using an environment variable of the same name.
This enables testing both path separator behaviors (forward slash vs.
backslash on Windows) using a single build, which is useful for
CI/Buildbots.
The environment variable is checked once and cached in a static variable
for performance.
Also updated relevant tests in SupportTests (Path.cpp and
CommandLineTest.cpp) to dynamically detect the preferred separator style
at runtime instead of relying on the compile-time macro, making them
compatible with the override.
Commit: f72be679b604cb7d2f8aa1db4fd5e6428150fd39
https://github.com/llvm/llvm-project/commit/f72be679b604cb7d2f8aa1db4fd5e6428150fd39
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck] Add test from #197698 to xfail list (#199650)
All other coroutines tests are already on the list, but the new test has
not been added.
Commit: 573138d541279fbe19ff3a85820fd99f422e00a1
https://github.com/llvm/llvm-project/commit/573138d541279fbe19ff3a85820fd99f422e00a1
Author: Tom Tromey <tromey at adacore.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/include/llvm/IR/DebugInfo.h
M llvm/lib/IR/DebugInfo.cpp
A llvm/test/DebugInfo/Generic/debuginfofinder-composite-type.ll
Log Message:
-----------
Handle more cases in DebugInfoFinder (#194684)
In #181028 we discovered that DebugInfoFinder is missing some cases.
This corrects several of these. It is hard to know if I found them all.
Commit: f2ce225f0f778838e755c306be26adc823282146
https://github.com/llvm/llvm-project/commit/f2ce225f0f778838e755c306be26adc823282146
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/docs/CodingStandards.rst
Log Message:
-----------
Exclude documentation files from 80 columns rule in Coding Standard (#197666)
This implements the accepted
[RFC](https://discourse.llvm.org/t/rfc-remove-80-column-limit-in-documentation-files/89678)
"Remove 80 column limit in documentation files."
Commit: 3eb9aacb7c47ac15085c4bfced48de9bcee912a3
https://github.com/llvm/llvm-project/commit/3eb9aacb7c47ac15085c4bfced48de9bcee912a3
Author: David Pagan <dave.pagan at amd.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
Log Message:
-----------
[clang][CodeGen][NFC] Fixed typos in comments. (#197052)
Commit: 095faea999a2adaff9c54a5d7b7b1ef431db92ff
https://github.com/llvm/llvm-project/commit/095faea999a2adaff9c54a5d7b7b1ef431db92ff
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/slp-extval-struct-operand-no-scalar-reuse.ll
Log Message:
-----------
[SLP] Fix assertion "Deleting out-of-tree value" for struct-typed vectorized operands
When an external-use scalar had a struct-typed vectorized operand, OperandIsScalar
incorrectly returned true (because the struct scalar was in ValueToExtUses), causing
the scalar to be cloned into ExternalUsesAsOriginalScalar. The clone used the struct
scalar directly, but struct-typed vectorized scalars are deleted after vectorization
- their external-use handling erases the extractvalue user rather than replacing the
struct value via replaceAllUsesWith.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/199679
Commit: e5f4f31b3508dd06598051039268c27498472218
https://github.com/llvm/llvm-project/commit/e5f4f31b3508dd06598051039268c27498472218
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/test/Transforms/JumpThreading/branch-debug-info2.ll
M llvm/test/Transforms/JumpThreading/select.ll
M llvm/test/Transforms/JumpThreading/stale-loop-info-after-unfold-select.ll
Log Message:
-----------
[JumpThreading] Freeze undef/poison select condition in unfoldSelectInstr (#199408)
When unfoldSelectInstr rewrites a select as a conditional branch, it
used SI->getCondition() directly, without freezing it first. A select
with an undef or poison condition does not immediately cause UB,
but branching on undef or poison does, so we need to freeze it.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 471244d790755842e1262b9c6a889186e0a6e078
https://github.com/llvm/llvm-project/commit/471244d790755842e1262b9c6a889186e0a6e078
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/InferAlignment.cpp
A llvm/test/Transforms/InferAlignment/propagate-across-blocks.ll
Log Message:
-----------
[InferAlignment] Propagate alignment information across blocks (#198114)
This patch implements DT-based cross-block alignment propagation. The
algorithm processes the basic blocks in a depth-first traversal of DT.
The stack is emulated to avoid recursive visiting.
IR diff: https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/321.
Most of the improvement is useless, as it makes load/store instructions
overaligned. But several alignment checks are eliminated:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/321/commits/2ac31cb4f44261fa256d23061346af3aac73a41d.
Compile-time impact: +0.03%
https://llvm-compile-time-tracker.com/compare.php?from=f45f3ce5da9e35f819db9b8ed2775dac8c2b1171&to=93d511bc2a64792fcdb8d84b0b696a7c8d61ef40&stat=instructions%3Au
Commit: 8b2751198db37809936c4675bc45a96b4c6d41cb
https://github.com/llvm/llvm-project/commit/8b2751198db37809936c4675bc45a96b4c6d41cb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
A llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi2.ll
Log Message:
-----------
[X86] Add test coverage showing failure to recognise VPSHLD/VPSHRD nodes as potential faux shuffles (#199673)
Commit: cb96a3edf7a81e75169fdcc057f3e19a1d09f73b
https://github.com/llvm/llvm-project/commit/cb96a3edf7a81e75169fdcc057f3e19a1d09f73b
Author: Yury Plyakhin <yury.plyakhin at intel.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
R clang/test/Driver/clang-offload-bundler-asserts-on.c
R clang/test/Driver/clang-offload-bundler-standardize.c
R clang/test/Driver/clang-offload-bundler-zlib.c
R clang/test/Driver/clang-offload-bundler-zstd.c
R clang/test/Driver/clang-offload-bundler.c
R clang/test/Driver/fat-archive-unbundle-ext.c
R clang/test/Driver/linker-wrapper-canonical-prefixes.c
R clang/test/Driver/linker-wrapper-hip-amdgcnspirv.c
R clang/test/Driver/linker-wrapper-hip-no-rdc.c
R clang/test/Driver/linker-wrapper-image.c
R clang/test/Driver/linker-wrapper-llvm-help.c
R clang/test/Driver/linker-wrapper.c
R clang/test/Driver/nvlink-wrapper.c
A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-canonical-prefixes.c
A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-amdgcnspirv.c
A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-no-rdc.c
A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-image.c
A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-llvm-help.c
A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper.c
A clang/test/OffloadTools/clang-linker-wrapper/lit.local.cfg
A clang/test/OffloadTools/clang-linker-wrapper/openmp-spirv.cpp
A clang/test/OffloadTools/clang-nvlink-wrapper/nvlink-wrapper.c
A clang/test/OffloadTools/clang-offload-bundler/asserts-on.c
A clang/test/OffloadTools/clang-offload-bundler/basic.c
A clang/test/OffloadTools/clang-offload-bundler/fat-archive-unbundle-ext.c
A clang/test/OffloadTools/clang-offload-bundler/standardize.c
A clang/test/OffloadTools/clang-offload-bundler/zlib.c
A clang/test/OffloadTools/clang-offload-bundler/zstd.c
A clang/test/OffloadTools/clang-sycl-linker/basic.ll
A clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
A clang/test/OffloadTools/clang-sycl-linker/triple.ll
R clang/test/Tooling/clang-linker-wrapper-spirv.cpp
R clang/test/Tooling/clang-sycl-linker-split-mode.ll
R clang/test/Tooling/clang-sycl-linker-triple.ll
R clang/test/Tooling/clang-sycl-linker.ll
M clang/test/Tooling/lit.local.cfg
Log Message:
-----------
[clang][test] Move offload tools tests to clang/test/OffloadTools (#198434)
Tests for clang-offload-bundler, clang-linker-wrapper,
clang-nvlink-wrapper, and clang-sycl-linker were scattered across
clang/test/Driver/ and clang/test/Tooling/. Neither location was
appropriate: Driver/ is for testing the compiler driver, and Tooling/ is
for testing the LibTooling infrastructure.
Move them to clang/test/OffloadTools/ with one subdirectory per tool,
following the convention used by llvm/test/tools/. The tool-name prefix
is dropped from filenames since the containing directory already
identifies the tool.
The spirv-tools feature/substitution setup is carried over from
Tooling's lit.local.cfg into a new lit.local.cfg in
clang-linker-wrapper/, since the parent clang/test/lit.cfg.py does not
set up that feature. The dead spirv-tools block is removed from
Tooling/lit.local.cfg now that no tests there depend on it.
`clang-linker-wrapper-spirv.cpp` was relying on libomp in the
environment. It is now rewritten to run the `clang-linker-wrapper`
directly rather than going through the driver and added stub symbols
allow avoiding linking against OpenMP runtime libraries.
Commit: ca9884dd065961cb112f4940b3f80339765a0104
https://github.com/llvm/llvm-project/commit/ca9884dd065961cb112f4940b3f80339765a0104
Author: Yanzuo Liu <zwuis at outlook.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang-tools-extra/clangd/Selection.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclarationName.h
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/AST/ast-dump-expr-json.cpp
M clang/test/AST/ast-dump-expr.cpp
M clang/unittests/Tooling/Syntax/BuildTreeTest.cpp
Log Message:
-----------
[clang] Add missing type source info of `decltype` specifier in destructor call to AST (#197680)
The type source info will be stored in `MemberExpr::MemberDNLoc`.
This patch fixes the underlying issue of #195788.
Commit: fbbaa545ce1a8faebd453f9918513b7ec804671d
https://github.com/llvm/llvm-project/commit/fbbaa545ce1a8faebd453f9918513b7ec804671d
Author: Matthias Springer <me at m-sp.org>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
M mlir/test/Dialect/Async/async-to-async-runtime.mlir
Log Message:
-----------
[mlir][async] Lazily create the coroutine destroy-cleanup block (#199583)
`setupCoroMachinery` previously emitted a `cleanupForDestroy` block
unconditionally, alongside the normal `cleanup` block. That block is
only ever used as the "destroy" successor of an `async.coro.suspend`, so
for coroutines that never suspend (e.g. an `async.func` whose body
contains no `async.await`) it ended up unreachable in the lowered CFG.
Make `cleanupForDestroy` mirror the existing `setError` (and
`setupSetErrorBlock`) pattern and materialize it lazily via a new
`setupCleanupForDestroyBlock` helper, called only from the two places
(`outlineExecuteOp` and the `async.await` lowering) that actually wire
it up. Store the coroutine id on `CoroMachinery` so the helper can
rebuild the block contents without keeping the original `async.coro.id`
op around.
This change is in preparation of adding a new builtin token type. Dead
`async.coro.free` ops are inefficient and cause problems in the lowering
to LLVM.
Assisted-by: Opus 4.7
Commit: 3a25f7b645fa68343d548eb116d884fd1ebb3edb
https://github.com/llvm/llvm-project/commit/3a25f7b645fa68343d548eb116d884fd1ebb3edb
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-linkage-internal.cpp
M clang/test/AST/ast-dump-linkage.cpp
M clang/test/AST/ast-dump-templates-pattern.cpp
Log Message:
-----------
[clang] preserve exact redeclaration for getTemplateInstantiationPattern (#199473)
This makes these functions not always return the definition if any. The
few users which depend on this are updated to fetch the definition
themselves.
Also fixes the VarDecl variant returning the queried declaration itself.
Commit: e8d5037b400dbe2afd4554ed1e1f38a697c62c36
https://github.com/llvm/llvm-project/commit/e8d5037b400dbe2afd4554ed1e1f38a697c62c36
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
A clang/test/ASTMerge/class-template-spec/Inputs/class-template-spec.cpp
A clang/test/ASTMerge/class-template-spec/test.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
Log Message:
-----------
[clang] NFC: readd test cases reverted in 79f4d8f014 (#199676)
This adds back the test cases reverted in 79f4d8f014
We need some sort of process to stop losing regression tests due to
reverts...
Commit: 721cddfd8f06dccae71196de7f0ae49ff54fe254
https://github.com/llvm/llvm-project/commit/721cddfd8f06dccae71196de7f0ae49ff54fe254
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AMDGPU/inst-count-heuristic.ll
Log Message:
-----------
[SLP][NFC]Add a test with inst count heuristic for AMDHSA, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/199693
Commit: bd9ce0ab1edd3c1e5557af8df883bac9b4c99150
https://github.com/llvm/llvm-project/commit/bd9ce0ab1edd3c1e5557af8df883bac9b4c99150
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
Log Message:
-----------
[clang][analyzer] Make CallAndMessage:ArgPointeeInitializedness released (NFC) (#199184)
The option was in `InAlpha` state but should be `Released` instead. It
was improved in changes #164600 and #173854.
Commit: 52aac75c005446e988f8dfe27edd41bd70e3ce68
https://github.com/llvm/llvm-project/commit/52aac75c005446e988f8dfe27edd41bd70e3ce68
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
Log Message:
-----------
[RISCV][GISel] Use sXLen member variable instead of creating it locally. NFC (#199594)
Commit: 6b17cf8d11ce2d8b37b5770a0b9f6082a3fc63e2
https://github.com/llvm/llvm-project/commit/6b17cf8d11ce2d8b37b5770a0b9f6082a3fc63e2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
Log Message:
-----------
[RISCV][P-ext] Support packed SSHLSAT with non-constant splat shift amount. (#198937)
We can use the pssha instructions. These instructions look at the lower
8-bits of the shift amount and treat positive values as a left shift and
a negative value as a right shift.
Since out of bound shift amounts for SSHLSAT are poison, we can directly
pass the shift amount to the instruction.
Commit: fe4c2bb1b3d5626d7de8112e815b8548b20a81fe
https://github.com/llvm/llvm-project/commit/fe4c2bb1b3d5626d7de8112e815b8548b20a81fe
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/XeGPU/Transforms/Transforms.h
M mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp
M mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
A mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
R mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToWiDistributeExperimental.cpp
R mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
R mlir/test/Dialect/XeGPU/move-gpu-func-to-warp-op.mlir
A mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
A mlir/test/Dialect/XeGPU/sg-to-lane-distribute.mlir
R mlir/test/Dialect/XeGPU/sg-to-wi-experimental-unit.mlir
R mlir/test/Dialect/XeGPU/sg-to-wi-experimental.mlir
R mlir/test/Dialect/XeGPU/subgroup-distribute-unit.mlir
R mlir/test/Dialect/XeGPU/subgroup-distribute.mlir
R mlir/test/Dialect/XeGPU/xegpu-subgroup-distribute-no-arch.mlir
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
Log Message:
-----------
[mlir][xegpu] Deprecate XeGPUSubgroupDistribute and rename XeGPUSgToWiDistributeExperimental to XeGPUSgToLaneDistribute (#198027)
The XeGPUSubgroupDistribute pass is now fully superseded by the newer
subgroup-to-lane distribution flow, so this PR removes its
implementation & all associated tests.
The replacement pass XeGPUSgToWiDistributeExperimental is renamed to
XeGPUSgToLaneDistribute.
Commit: c927d44cb119a290b4946ebbd5547ca4f3f872a7
https://github.com/llvm/llvm-project/commit/c927d44cb119a290b4946ebbd5547ca4f3f872a7
Author: DeanSturtevant1 <dsturtevant at google.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Revert "Revert "[libc] Port 2b2a63819f9f26d661bad5c269a03077d22ff6b4"" (#199681)
Reverts llvm/llvm-project#197857.
Original change relanded as #199570
Commit: 3718ab29aa885036143a630ecd53dea52c41b57c
https://github.com/llvm/llvm-project/commit/3718ab29aa885036143a630ecd53dea52c41b57c
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
Log Message:
-----------
[gn build] Port c437052c (#199709)
Commit: d1b31664ea1c8caeefc24c289bcc2617ae81a40b
https://github.com/llvm/llvm-project/commit/d1b31664ea1c8caeefc24c289bcc2617ae81a40b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi2.ll
Log Message:
-----------
[X86] getFauxShuffleMask - add handling for X86ISD::VSHLD/VSHRD funnel shifts (#199707)
Another step towards #145276
Commit: 4acfc32f007528dbe5de20a163ccadfd4668a849
https://github.com/llvm/llvm-project/commit/4acfc32f007528dbe5de20a163ccadfd4668a849
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/test/Transforms/JumpThreading/branch-debug-info2.ll
M llvm/test/Transforms/JumpThreading/select.ll
M llvm/test/Transforms/JumpThreading/stale-loop-info-after-unfold-select.ll
Log Message:
-----------
Revert "[JumpThreading] Freeze undef/poison select condition in unfoldSelectInstr" (#199713)
Reverts llvm/llvm-project#199408
Causes many crashes, e.g.
https://github.com/llvm/llvm-project/pull/199408#issuecomment-4545738591
Fixes https://github.com/llvm/llvm-project/issues/199702
Commit: 6fdfe1ead81f20ad5365de3f9313b9d658e40153
https://github.com/llvm/llvm-project/commit/6fdfe1ead81f20ad5365de3f9313b9d658e40153
Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/AggressiveInstCombine/AggressiveInstCombine.h
M llvm/include/llvm/Transforms/Coroutines/CoroAnnotationElide.h
M llvm/include/llvm/Transforms/Coroutines/CoroCleanup.h
M llvm/include/llvm/Transforms/Coroutines/CoroConditionalWrapper.h
M llvm/include/llvm/Transforms/Coroutines/CoroEarly.h
M llvm/include/llvm/Transforms/Coroutines/CoroElide.h
M llvm/include/llvm/Transforms/Coroutines/SpillUtils.h
M llvm/include/llvm/Transforms/IPO/Annotation2Metadata.h
M llvm/include/llvm/Transforms/IPO/ArgumentPromotion.h
M llvm/include/llvm/Transforms/IPO/CalledValuePropagation.h
M llvm/include/llvm/Transforms/IPO/ConstantMerge.h
M llvm/include/llvm/Transforms/IPO/CrossDSOCFI.h
M llvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h
M llvm/include/llvm/Transforms/IPO/ElimAvailExtern.h
M llvm/include/llvm/Transforms/IPO/ExpandVariadics.h
M llvm/include/llvm/Transforms/IPO/FatLTOCleanup.h
M llvm/include/llvm/Transforms/IPO/ForceFunctionAttrs.h
M llvm/include/llvm/Transforms/IPO/GlobalOpt.h
M llvm/include/llvm/Transforms/IPO/GlobalSplit.h
M llvm/include/llvm/Transforms/IPO/HotColdSplitting.h
M llvm/include/llvm/Transforms/IPO/IROutliner.h
M llvm/include/llvm/Transforms/IPO/LoopExtractor.h
M llvm/include/llvm/Transforms/IPO/MemProfContextDisambiguation.h
M llvm/include/llvm/Transforms/IPO/OpenMPOpt.h
M llvm/include/llvm/Transforms/IPO/PartialInlining.h
M llvm/include/llvm/Transforms/IPO/SCCP.h
M llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h
M llvm/include/llvm/Transforms/Instrumentation/BlockCoverageInference.h
M llvm/include/llvm/Transforms/Instrumentation/CGProfile.h
M llvm/include/llvm/Transforms/Instrumentation/ControlHeightReduction.h
M llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfFlattening.h
M llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfLowering.h
M llvm/include/llvm/Transforms/Instrumentation/PGOForceFunctionAttrs.h
M llvm/include/llvm/Transforms/Scalar/ADCE.h
M llvm/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h
M llvm/include/llvm/Transforms/Scalar/AnnotationRemarks.h
M llvm/include/llvm/Transforms/Scalar/BDCE.h
M llvm/include/llvm/Transforms/Scalar/CallSiteSplitting.h
M llvm/include/llvm/Transforms/Scalar/ConstantHoisting.h
M llvm/include/llvm/Transforms/Scalar/ConstraintElimination.h
M llvm/include/llvm/Transforms/Scalar/CorrelatedValuePropagation.h
M llvm/include/llvm/Transforms/Scalar/DCE.h
M llvm/include/llvm/Transforms/Scalar/DFAJumpThreading.h
M llvm/include/llvm/Transforms/Scalar/DeadStoreElimination.h
M llvm/include/llvm/Transforms/Scalar/DivRemPairs.h
M llvm/include/llvm/Transforms/Scalar/DropUnnecessaryAssumes.h
M llvm/include/llvm/Transforms/Scalar/ExpandMemCmp.h
M llvm/include/llvm/Transforms/Scalar/FlattenCFG.h
M llvm/include/llvm/Transforms/Scalar/Float2Int.h
M llvm/include/llvm/Transforms/Scalar/GVNExpression.h
M llvm/include/llvm/Transforms/Scalar/GuardWidening.h
M llvm/include/llvm/Transforms/Scalar/IVUsersPrinter.h
M llvm/include/llvm/Transforms/Scalar/IndVarSimplify.h
M llvm/include/llvm/Transforms/Scalar/InductiveRangeCheckElimination.h
M llvm/include/llvm/Transforms/Scalar/InferAddressSpaces.h
M llvm/include/llvm/Transforms/Scalar/InferAlignment.h
M llvm/include/llvm/Transforms/Scalar/InstSimplifyPass.h
M llvm/include/llvm/Transforms/Scalar/JumpTableToSwitch.h
M llvm/include/llvm/Transforms/Scalar/LICM.h
M llvm/include/llvm/Transforms/Scalar/LoopAccessAnalysisPrinter.h
M llvm/include/llvm/Transforms/Scalar/LoopBoundSplit.h
M llvm/include/llvm/Transforms/Scalar/LoopDataPrefetch.h
M llvm/include/llvm/Transforms/Scalar/LoopDeletion.h
M llvm/include/llvm/Transforms/Scalar/LoopDistribute.h
M llvm/include/llvm/Transforms/Scalar/LoopFlatten.h
M llvm/include/llvm/Transforms/Scalar/LoopFuse.h
M llvm/include/llvm/Transforms/Scalar/LoopIdiomRecognize.h
M llvm/include/llvm/Transforms/Scalar/LoopInstSimplify.h
M llvm/include/llvm/Transforms/Scalar/LoopInterchange.h
M llvm/include/llvm/Transforms/Scalar/LoopLoadElimination.h
M llvm/include/llvm/Transforms/Scalar/LoopPredication.h
M llvm/include/llvm/Transforms/Scalar/LoopRotation.h
M llvm/include/llvm/Transforms/Scalar/LoopSimplifyCFG.h
M llvm/include/llvm/Transforms/Scalar/LoopSink.h
M llvm/include/llvm/Transforms/Scalar/LoopStrengthReduce.h
M llvm/include/llvm/Transforms/Scalar/LoopTermFold.h
M llvm/include/llvm/Transforms/Scalar/LoopUnrollAndJamPass.h
M llvm/include/llvm/Transforms/Scalar/LoopUnrollPass.h
M llvm/include/llvm/Transforms/Scalar/LoopVersioningLICM.h
M llvm/include/llvm/Transforms/Scalar/LowerAtomicPass.h
M llvm/include/llvm/Transforms/Scalar/LowerConstantIntrinsics.h
M llvm/include/llvm/Transforms/Scalar/LowerGuardIntrinsic.h
M llvm/include/llvm/Transforms/Scalar/LowerMatrixIntrinsics.h
M llvm/include/llvm/Transforms/Scalar/LowerWidenableCondition.h
M llvm/include/llvm/Transforms/Scalar/MakeGuardsExplicit.h
M llvm/include/llvm/Transforms/Scalar/MergeICmps.h
M llvm/include/llvm/Transforms/Scalar/MergedLoadStoreMotion.h
M llvm/include/llvm/Transforms/Scalar/NaryReassociate.h
M llvm/include/llvm/Transforms/Scalar/NewGVN.h
M llvm/include/llvm/Transforms/Scalar/PartiallyInlineLibCalls.h
M llvm/include/llvm/Transforms/Scalar/PlaceSafepoints.h
M llvm/include/llvm/Transforms/Scalar/Reg2Mem.h
M llvm/include/llvm/Transforms/Scalar/RewriteStatepointsForGC.h
M llvm/include/llvm/Transforms/Scalar/SROA.h
M llvm/include/llvm/Transforms/Scalar/ScalarizeMaskedMemIntrin.h
M llvm/include/llvm/Transforms/Scalar/SeparateConstOffsetFromGEP.h
M llvm/include/llvm/Transforms/Scalar/SimpleLoopUnswitch.h
M llvm/include/llvm/Transforms/Scalar/Sink.h
M llvm/include/llvm/Transforms/Scalar/SpeculativeExecution.h
M llvm/include/llvm/Transforms/Scalar/StraightLineStrengthReduce.h
M llvm/include/llvm/Transforms/Scalar/StructurizeCFG.h
M llvm/include/llvm/Transforms/Scalar/TailRecursionElimination.h
M llvm/include/llvm/Transforms/Scalar/WarnMissedTransforms.h
M llvm/include/llvm/Transforms/Utils/AddDiscriminators.h
M llvm/include/llvm/Transforms/Utils/BreakCriticalEdges.h
M llvm/include/llvm/Transforms/Utils/BypassSlowDivision.h
M llvm/include/llvm/Transforms/Utils/CanonicalizeAliases.h
M llvm/include/llvm/Transforms/Utils/CanonicalizeFreezeInLoops.h
M llvm/include/llvm/Transforms/Utils/ControlFlowUtils.h
M llvm/include/llvm/Transforms/Utils/CountVisits.h
M llvm/include/llvm/Transforms/Utils/CtorUtils.h
M llvm/include/llvm/Transforms/Utils/DXILUpgrade.h
M llvm/include/llvm/Transforms/Utils/DebugSSAUpdater.h
M llvm/include/llvm/Transforms/Utils/DeclareRuntimeLibcalls.h
M llvm/include/llvm/Transforms/Utils/EntryExitInstrumenter.h
M llvm/include/llvm/Transforms/Utils/EscapeEnumerator.h
M llvm/include/llvm/Transforms/Utils/Evaluator.h
M llvm/include/llvm/Transforms/Utils/FixIrreducible.h
M llvm/include/llvm/Transforms/Utils/GlobalStatus.h
M llvm/include/llvm/Transforms/Utils/GuardUtils.h
M llvm/include/llvm/Transforms/Utils/HelloWorld.h
M llvm/include/llvm/Transforms/Utils/IRNormalizer.h
M llvm/include/llvm/Transforms/Utils/InjectTLIMappings.h
M llvm/include/llvm/Transforms/Utils/InstructionNamer.h
M llvm/include/llvm/Transforms/Utils/LibCallsShrinkWrap.h
M llvm/include/llvm/Transforms/Utils/LoopConstrainer.h
M llvm/include/llvm/Transforms/Utils/LoopPeel.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/include/llvm/Transforms/Utils/LoopVersioning.h
M llvm/include/llvm/Transforms/Utils/LowerAtomic.h
M llvm/include/llvm/Transforms/Utils/LowerGlobalDtors.h
M llvm/include/llvm/Transforms/Utils/LowerIFunc.h
M llvm/include/llvm/Transforms/Utils/LowerInvoke.h
M llvm/include/llvm/Transforms/Utils/LowerSwitch.h
M llvm/include/llvm/Transforms/Utils/LowerVectorIntrinsics.h
M llvm/include/llvm/Transforms/Utils/MatrixUtils.h
M llvm/include/llvm/Transforms/Utils/MemoryOpRemark.h
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/include/llvm/Transforms/Utils/MetaRenamer.h
M llvm/include/llvm/Transforms/Utils/MisExpect.h
M llvm/include/llvm/Transforms/Utils/MoveAutoInit.h
M llvm/include/llvm/Transforms/Utils/NameAnonGlobals.h
M llvm/include/llvm/Transforms/Utils/RelLookupTableConverter.h
M llvm/include/llvm/Transforms/Utils/SSAUpdater.h
M llvm/include/llvm/Transforms/Utils/SampleProfileInference.h
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseUtil.h
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/include/llvm/Transforms/Utils/SimplifyIndVar.h
M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
M llvm/include/llvm/Transforms/Utils/StripConvergenceIntrinsics.h
M llvm/include/llvm/Transforms/Utils/StripGCRelocates.h
M llvm/include/llvm/Transforms/Utils/StripNonLineTableDebugInfo.h
M llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h
M llvm/include/llvm/Transforms/Utils/UnifyLoopExits.h
M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
M llvm/include/llvm/Transforms/Utils/VNCoercion.h
M llvm/include/llvm/Transforms/Vectorize/LoopIdiomVectorize.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PackReuse.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromBBs.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromMetadata.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionAcceptOrRevert.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionSave.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/RegionWithScore.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.h
M llvm/include/llvm/Transforms/Vectorize/VectorCombine.h
Log Message:
-----------
llvm: Fix most LLVM_ABI annotations in Transforms (#199042)
This updates most LLVM_ABI annotations in the Transforms headers to
match expected usage:
* All public APIs should be properly annotated.
* Inlined functions should not be annotated.
These changes were done by a script fixing annotations on LLVM public
headers and manually checked.
This effort is tracked in #109483.
Commit: 26f19eed998d513c1200f46733db14d73e2b3a71
https://github.com/llvm/llvm-project/commit/26f19eed998d513c1200f46733db14d73e2b3a71
Author: Matthias Wippich <mfwippich at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/cxx2c-decomposition.cpp
Log Message:
-----------
[clang] propagate constexpr/constinit to binding VarDecl (#195860)
This patch implements one of the missing parts of P2686. This is
required to make the test case from
[cwg3135](https://cplusplus.github.io/CWG/issues/3135.html) (and
likewise the examples of [P1789](https://wg21.link/p1789) work).
Commit: 551ff98cc3e6c9d6791c8606f7b3e2ad6d7a438c
https://github.com/llvm/llvm-project/commit/551ff98cc3e6c9d6791c8606f7b3e2ad6d7a438c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AMDGPU/inst-count-heuristic.ll
Log Message:
-----------
[SLP][TTI][AMDGPU] Add TTI hook preferSLPInstCountCheck for per-target opt-out (#199696)
Add `preferSLPInstCountCheck()` to TTI so targets can opt out of the
2-element inst-count heuristic in `getTreeCost()`. Default returns
`true`
(existing behavior unchanged). `getTreeCost()` ANDs the existing
`SLPInstCountCheck` flag with the hook result. `GCNTTIImpl` returns
`false` for gfx940/gfx941/gfx942 and gfx950.
Fixes #199662.
Commit: d685a3b0e30f1375acc2796f9ce9f090cec85332
https://github.com/llvm/llvm-project/commit/d685a3b0e30f1375acc2796f9ce9f090cec85332
Author: Tom Tromey <tromey at adacore.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/utils/emacs/llvm-mode.el
Log Message:
-----------
Use symbol matching for types in llvm-mode.el (#199250)
llvm-mode.el does this:
(defconst llvm-mode-primitive-type-regexp
(concat
"\\(i[0-9]+\\|"
(regexp-opt '(...strings...) t)
Here the "t" means to wrap the regexp in "\(..\)". However, this means
that in assembly like:
!10 = distinct !DICompositeType(tag: DW_TAG_structure_type, ...
.. the "type" in "DW_TAG_structure_type" will be highlighted
differently.
The fix is to tell regexp-opt to only match complete symbols.
Commit: 44da8601d71ea712b92589bc83f498d6e952c4f9
https://github.com/llvm/llvm-project/commit/44da8601d71ea712b92589bc83f498d6e952c4f9
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/test/Dialect/XeGPU/resolve-layout-conflicts.mlir
Log Message:
-----------
[MLIR][XeGPU] Clone trivial operations with multiple consumers in layout propagation to avoid layout conflict (#197514)
In XeGPU layout propagation, when a trivially rematerializable producer
(e.g. a CSE-merged vector.step) has multiple uses demanding distinct
layouts, clone the producer once per required layout so each def retains
a single well-defined layout. This avoids inserting a bridging
xegpu.convert_layout whose WG-to-SG lowering would otherwise force a
costly SLM round-trip to redistribute data across subgroups.
Commit: eca8638e130325d108e39aab5654bae8f0a06209
https://github.com/llvm/llvm-project/commit/eca8638e130325d108e39aab5654bae8f0a06209
Author: Guy David <guyda96 at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
Log Message:
-----------
[ORC] Avoid iterator invalidation when erasing image info symbols (#199655)
processObjCImageInfo iterated the section's DenseSet of symbols while
calling removeDefinedSymbol, which erases from that same set. Re-fetch
begin() each iteration so the iterator is always fresh.
Started with https://github.com/llvm/llvm-project/pull/199369.
Commit: 4b7ec0c715398d970a2669573f931e167b532e75
https://github.com/llvm/llvm-project/commit/4b7ec0c715398d970a2669573f931e167b532e75
Author: Guy David <guyda96 at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Analysis/GlobalsModRef.cpp
Log Message:
-----------
[GlobalsModRef] Don't erase while iterating (#199656)
The loop erases from AllocsForIndirectGlobals while walking it, which
now hits the iterator invalidation assert in DenseMap::erase. Use
remove_if instead.
Started with https://github.com/llvm/llvm-project/pull/199369.
Commit: 68ebd09d5e19c30a79d416940d3400b5637b0f69
https://github.com/llvm/llvm-project/commit/68ebd09d5e19c30a79d416940d3400b5637b0f69
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M lld/MachO/ConcatOutputSection.cpp
M lld/MachO/ConcatOutputSection.h
M lld/MachO/InputSection.h
M lld/docs/ReleaseNotes.rst
M lld/test/MachO/arm64-thunks.s
Log Message:
-----------
[lld][macho] Restructure thunk generation algorithm (#193367)
Refactor the algorithm that generates thunks for Mach-O. Prior to this
PR, sections were finalized as early as possible while still leaving
enough room (`slopScale * thunkSize`) for new thunks to be created.
There was also additional bookkeeping
(`estimateBranchTargetThresholdVA()`) so that once all sections were
finalized, we could estimate the end of the stubs sections. This avoided
new thunks to stubs sections in some cases.
In this PR, I've restructured the algorithm to avoid eagerly finalizing
sections. Instead, I maintain a `branchesToProcess` queue to hold
branches that could need to use a thunk. I avoid processing this branch
until its target has been finalized, or if finalizing another section
not leave enough room for new thunks (computed using `slopScale`). This
increases the likelihood that a branch will be direct, rather than use a
thunk, as reflected in the test change. Once all sections are finalized,
we can compute an upper bound on the number of thunks that need to be
created. We use this to estimate the end of the stubs section, allowing
us to keep some direct branches.
For testing, I linked a large binary before and after this PR. Results
show a 0.80% reduction in the number of thunks and 6.6% reduction in
number of thunk calls. The change in the duration of the link was
negligible.
| | Thunk Count | Thunk Calls |
|-| - | - |
| Base | 138499 | 1707623 |
| New | 137395 | 1595313 |
Commit: 6e94fa069fa912cbfa6ec7f7d1fbafe6bed72f47
https://github.com/llvm/llvm-project/commit/6e94fa069fa912cbfa6ec7f7d1fbafe6bed72f47
Author: David Rivera <davidriverg at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/test/CIR/CodeGenCUDA/device-stub.cu
Log Message:
-----------
[CIR][CUDA] Emit global var registration (#199270)
Commit: 7146087fb49476055704f92e24295c549c89fa21
https://github.com/llvm/llvm-project/commit/7146087fb49476055704f92e24295c549c89fa21
Author: David Green <david.green at arm.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
M llvm/test/CodeGen/AArch64/fp16-v4-instructions.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-compares.ll
Log Message:
-----------
[AArch64][DAG] Use getSetCCResultType in PromoteSETCC (#198320)
During the promotion of a v16bf16 vector setcc with 256 bit sve, a
v16i16 setcc(v16f32) is created, that gets legalized to a v8i16
setcc(v8f32), which trips up an assert in the aarch64 custom lowering to
vector registers. It could be solved elsewhere but this addresses it by
making sure that when the f32 setcc is created, the result type matches
getSetCCResultType.
The mvn+xtn vs xtn+mvn is mostly benign, and should both probably be a
subhn if it can be done without causing regressions.
Commit: e526b2003977f45bb8809480320e74d3f8e19c69
https://github.com/llvm/llvm-project/commit/e526b2003977f45bb8809480320e74d3f8e19c69
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/get-vec-element-size.ll
Log Message:
-----------
[SLP] Add new tests for instrinsics in getVectorElementSize() (#199612)
More tests for additions to #199129.
Commit: a917c00ab13fb7d374428563a1b8fa0eef1e35b1
https://github.com/llvm/llvm-project/commit/a917c00ab13fb7d374428563a1b8fa0eef1e35b1
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M libcxx/include/__algorithm/copy_if.h
M libcxx/include/__algorithm/partial_sort_copy.h
M libcxx/include/__algorithm/ranges_copy_if.h
M libcxx/include/__algorithm/ranges_partial_sort_copy.h
M libcxx/include/__algorithm/ranges_unique_copy.h
M libcxx/include/__algorithm/unique_copy.h
M libcxx/include/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__memory/uninitialized_algorithms.h
Log Message:
-----------
[libc++] Use __in_out_result in the remaining appropriate algorithms (#198156)
We've already switched some algorithms to use `__in_out_result` instead
of `pair` as the return type. This updates the remaining appropriate
algorithms.
Commit: 990e35ea9d80e9ef2dc9a4fc1cc2a386d538b576
https://github.com/llvm/llvm-project/commit/990e35ea9d80e9ef2dc9a4fc1cc2a386d538b576
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 44da860 (#199723)
This fixes 44da8601d71ea712b92589bc83f498d6e952c4f9.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 80a5207d940bcffa4f4339111dca65a4fcca8926
https://github.com/llvm/llvm-project/commit/80a5207d940bcffa4f4339111dca65a4fcca8926
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Thread scalar types through VPInstruction and VPPhi. (NFC) (#199378)
Update VPInstruction and VPPhi to populate VPSingleDefValue's scalar
type. For most opcodes, the scalar type is determine from the operands,
via computeScalarTypeForInstruction, which roughly matches to removed
inference code. For some opcodes, like FirstActiveLane, the type must be
provided explicitly.
PR: https://github.com/llvm/llvm-project/pull/199378
Commit: b395ca789219aedfe856fc89329840cbee9fae8d
https://github.com/llvm/llvm-project/commit/b395ca789219aedfe856fc89329840cbee9fae8d
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/matrix-transpose.ll
Log Message:
-----------
[SPIR-V] Fix legalized load of single-element vector from array (#198330)
Commit: bacd876134494c69d02b4509e125c47b5e86d3d2
https://github.com/llvm/llvm-project/commit/bacd876134494c69d02b4509e125c47b5e86d3d2
Author: Karim Alweheshy <9082720+karim-alweheshy at users.noreply.github.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M lld/MachO/BPSectionOrderer.cpp
A lld/test/MachO/eh-frame-ordering.s
Log Message:
-----------
[lld][MachO] Preserve __eh_frame ordering during BP section sorting (#191412)
The Balanced Partitioning section orderer collects all live
`ConcatInputSection`s as candidates for content-similarity reordering.
This includes `__eh_frame` CIE and FDE records, which have internal
ordering constraints: each FDE contains a backward-relative 32-bit
offset to its parent CIE, requiring CIEs to precede their FDEs.
When the BP orderer assigns priorities to `__eh_frame` subsections and
`Writer.cpp` sorts by those priorities, FDEs can end up before their
parent CIEs. The resulting CIE-pointer offsets resolve correctly with
32-bit wrapping arithmetic but underflow with 64-bit pointer arithmetic,
causing DWARF consumers (crash reporters, debuggers) to silently lose
unwind data.
## Fix
Have the BP orderer skip the Mach-O `__TEXT,__eh_frame` section
explicitly before collecting candidate subsections, preserving the
existing CIE/FDE order without adding state to `Section`.
This is the only MachO section with this constraint:
- `__unwind_info` is a `SyntheticSection` (not a `ConcatOutputSection`),
so it never enters the BP pipeline
- `__gcc_except_tab` LSDA entries are referenced by absolute offset, so
reordering is safe
- `-order_file` is unaffected because it assigns priorities through
symbol definitions (which live in `__text`, not `__eh_frame`). Only the
BP orderer enumerates sections directly.
## Production impact
Verified on a large iOS application (~218 MB binary, ~34,000 FDEs)
linked with `lld` + `--bp-compression-sort=both`.
### Static analysis of `__eh_frame`
Simulating 64-bit CIE pointer resolution on the output binary across
multiple builds:
| Build | `__eh_frame` layout | FDEs resolved (64-bit) | FDEs failed |
|---|---|---|---|
| lld + BP sort | FDEs first | 15 / 34,257 | **34,242 (99.96%)** |
| lld + fix | CIEs first | 30,558 / 30,558 | **0** |
### Runtime verification
Proxied crash report uploads from a device running both the affected and
fixed binaries:
| | Affected build | Fixed build |
|---|---|---|
| Threads captured | 3 | 24 |
| Total frames | 28 | 135 |
| Background threads | 0-2 | 23 |
The affected build lost ~85% of thread data. The crash reporter could
only unwind the crashed thread (via compact unwind). All background
thread unwind data was silently dropped.
## Reproducer
Minimal test case (ARM64). Requires `--bp-compression-sort=both` to
trigger:
```bash
llvm-mc -filetype=obj -emit-compact-unwind-non-canonical=true \
-triple=arm64-apple-macos11.0 test.s -o test.o
ld64.lld -arch arm64 -platform_version macos 11.0 11.0 \
-syslibroot $(xcrun --show-sdk-path) -lSystem -lc++ \
test.o -o test --bp-compression-sort=both
llvm-objdump --dwarf=frames test
# Without fix: "error: parsing FDE data at 0x0 failed due to missing CIE"
# With fix: CIE records correctly precede their FDEs
```
Standalone reproducer with 64-bit CIE simulation script:
https://gist.github.com/karim-alweheshy/ae28196c4fbb295f81cc793cfbe0c1b7
## Test
The lit test creates multiple functions with `cfi_escape` (forcing DWARF
unwind mode) and different personality functions (producing separate
CIEs), then links with `--bp-compression-sort=both`. Verified on both
x86_64 and arm64.
Made with [Cursor](https://cursor.com)
---------
Co-authored-by: Karim Alweheshy <karim.alweheshy at reddit.com>
Co-authored-by: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Commit: 1869d9925f5d278c607eb2859ab413ba15438c50
https://github.com/llvm/llvm-project/commit/1869d9925f5d278c607eb2859ab413ba15438c50
Author: Ömer Sinan Ağacan <omeragacan at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Intrinsics.td
Log Message:
-----------
Update `memset.inline` third argument documentation (#199725)
Similar to `memcpy.inline`, `memset.inline`'s size argument doesn't need
to be a constant. Checked by the test
Transforms/PreISelIntrinsicLowering/X86/memset-inline-non-constant-len.ll.
Commit: 460556ae66e45b203f49c1c43878b4e0ef6d0f49
https://github.com/llvm/llvm-project/commit/460556ae66e45b203f49c1c43878b4e0ef6d0f49
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Shared/SimpleRemoteEPCUtils.cpp
Log Message:
-----------
[ORC] Shutdown the socket FD before closing it in FDSimpleRemoteEPCTransport (#196835)
It is totally possible that when
`FDSimpleRemoteEPCTransport::disconnect` is called,
`FDSimpleRemoteEPCTransport::listenLoop` is still reading on the socket
FD the former is closing. On Linux, closing a socket FD when it is being
read by another thread is an undefined behavior I believe. And on modern
kernels, the reading thread will not be waken up, so `listenLoop` will
be blocked forever and preventing the process from exiting.
This patch fixes this issue by calling `shutdown(2)` on the socket FDs
before closing them.
Commit: 4bc1cd92e41f682a5aa49fd5ca10a2002d8470ba
https://github.com/llvm/llvm-project/commit/4bc1cd92e41f682a5aa49fd5ca10a2002d8470ba
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M .github/workflows/release-binaries.yml
Log Message:
-----------
workflows/release-binaries: Fix yaml error (#199735)
This was introduced by: 25294a2fffcf40cbd8b6743d78524badeded7446
Commit: e925643b1e7fc936955c0cc01c2c3ce1abd2f4ce
https://github.com/llvm/llvm-project/commit/e925643b1e7fc936955c0cc01c2c3ce1abd2f4ce
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Semantics/OpenMP/declare-simd-interface-body.f90
M flang/test/Semantics/OpenMP/linear-clause03.f90
Log Message:
-----------
[flang][OpenMP] Warn that declare simd in an interface body has no effect (#199248)
Follow-up to the crash fix for #192581. A DECLARE SIMD directive may
legally appear in the specification part of an interface body, but it
applies to the external procedure being declared rather than to any
definition in this compilation. Flang does not propagate the directive
to callers, so it has no effect and is silently dropped during lowering.
Detect this in semantics by checking whether the program unit containing
the directive is an interface body (SubprogramDetails::isInterface())
and emit an -Wopenmp-usage warning so the user knows the directive is
ignored.
Updates #192581
Commit: ae0dc3104bf5a53a69c4ab5bce6e3a5365fa7740
https://github.com/llvm/llvm-project/commit/ae0dc3104bf5a53a69c4ab5bce6e3a5365fa7740
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M flang/include/flang/Semantics/openmp-utils.h
M flang/lib/Semantics/openmp-utils.cpp
Log Message:
-----------
[flang][OpenMP] Make `iv` const-reference to original parser::Name (#199727)
Merging since this is a trivial change.
Commit: 041c5e0e06c9aa9581cd4714b93d89422741bab8
https://github.com/llvm/llvm-project/commit/041c5e0e06c9aa9581cd4714b93d89422741bab8
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Add missing maybe_unsused to OpTy (NFC). (#199734)
This fixes a warning when building w/o assertions.
https://lab.llvm.org/buildbot/#/builders/228/builds/76
Commit: 196c7018fc11e40d69b476562a105023e56e72a5
https://github.com/llvm/llvm-project/commit/196c7018fc11e40d69b476562a105023e56e72a5
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/Transforms/Passes.td
M mlir/include/mlir/Dialect/MemRef/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/lib/Dialect/MemRef/Transforms/FlattenMemRefs.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/test/Dialect/MemRef/flatten_memref.mlir
M mlir/test/Dialect/Vector/flatten-memref-and-emulate-narrow-types.mlir
Log Message:
-----------
[mlir][MemRef] Move FlattenMemRefs to interfaces (#198625)
Use IndexedAccessOpInterface for indexed memory operations and
VectorTransferOpInterface update methods for vector transfers ops. Add
an IndexedMemCopyOpInterface-based flattening pattern for DMA-like
operations.
This gets rid of the hardcoded operation list in the patterns, allowing
dialects like AMDGPU to transparently work with memref flattening.
As a consequence, the specialized vector- and memref-dialect only
constructors that only load a subset of the flattening patterns are
removed.
Also adds a max() method to SaturatedInteger because it was useful for
computing the size of a flat memref.
---------
Co-authored-by: Codex <codex at openai.com>
Commit: da57dc996221b505a16d9827474b086347eb25e4
https://github.com/llvm/llvm-project/commit/da57dc996221b505a16d9827474b086347eb25e4
Author: Domenic Nutile <domenic.nutile at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-s16-true16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/load-d16.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
Log Message:
-----------
[AMDGPU][True16] Legalize extloads into 16-bit registers (#198670)
<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>
Stack PRs:
https://github.com/llvm/llvm-project/pull/198669
https://github.com/llvm/llvm-project/pull/198671
See https://github.com/llvm/llvm-project/pull/195289 for previous
discussion
---------
Signed-off-by: Domenic Nutile <domenic.nutile at gmail.com>
Co-authored-by: Domenic Nutile <domenic.nutile at amd.com>
Commit: 9ec4c66daffdf2fc740c2429a4d1ec3ff4d997b0
https://github.com/llvm/llvm-project/commit/9ec4c66daffdf2fc740c2429a4d1ec3ff4d997b0
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/IR/Type.cpp
M llvm/test/Assembler/target-type-param-errors.ll
A llvm/test/Verifier/amdgpu-stridemark-structured-gep.ll
A llvm/test/Verifier/amdgpu-stridemark-tokenlike.ll
M llvm/test/Verifier/structured-gep-indices-bad.ll
Log Message:
-----------
[AMDGPU] Lay groundwork for stridemark type / addrspace(9) via sgep (#198930)
This commit introduces and documents the `amdgpu.stridemark` target
type, which is used to express when a structured.gep intrinsic is being
used to increment/decrement the index part of a `ptr addrspace(9)` (as
opposed to GEP, which manipulates the offset part)
Future PRs will add inbounds/nusw/nuw support to structured GEP to
enable more efficient code generation and then will implement a lowering
of these structured GEPs to struct.buffer intrinsics.
Commit: 31111955fc5c182f40080d3a9a0dc2ab4e175cf1
https://github.com/llvm/llvm-project/commit/31111955fc5c182f40080d3a9a0dc2ab4e175cf1
Author: Alex Langford <alangford at apple.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M lldb/source/Host/common/Socket.cpp
M lldb/source/Host/posix/DomainSocket.cpp
M lldb/unittests/Host/SocketTest.cpp
Log Message:
-----------
[lldb] Set SO_NOSIGPIPE on platforms that support it (#198044)
On macOS, I've seen instances where debugserver goes down very quickly
after it starts up (less than 100ms). Normally, LLDB is able to detect
when debugserver goes down and report it without bringing down the
entire debug session. However that's not happening here. My best guess
is that debugserver is going down before LLDB is ready to react to it.
To mitigate this scenario, adopt SO_NOSIGPIPE. Note that this mostly
matters for tools that embed liblldb. The LLDB driver ignores all
SIGPIPEs.
rdar://173516461
Commit: 09709d7f5357c843c596db34721aa5d85e06323c
https://github.com/llvm/llvm-project/commit/09709d7f5357c843c596db34721aa5d85e06323c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M .github/workflows/libc-shared-tests.yml
Log Message:
-----------
[Github] Pin container image reference in libc-shared-tests (#199737)
Pinned to the image used in the last successful workflow run.
Introduced in c32de3e3759c3368978535e4ff4fb83323219fb0.
Commit: 2a80a9d52ee17a2a3188f52a3befcb2e8ed57ae6
https://github.com/llvm/llvm-project/commit/2a80a9d52ee17a2a3188f52a3befcb2e8ed57ae6
Author: Ziqing Luo <ziqing_luo at apple.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/Modules/safe_buffers_optout.cpp
M clang/test/PCH/unsafe-buffer-usage-pragma-pch-complex.cpp
M clang/test/PCH/unsafe-buffer-usage-pragma-pch-cross-files-2.cpp
M clang/test/PCH/unsafe-buffer-usage-pragma-pch-cross-files.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-pragma-issue-79379.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-pragma-pch.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-template-instantiation-notes.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Move warning-only analysis back to function-based (#198006)
Move the warning-only analysis back to the end of parsing each Decl.
The warning-only analysis no longer does any extra AST deserialization.
Pre-compiled code will only be analyzed once during its own compilation.
When `-fsafe-buffer-usage-suggestions` is used, the behavior is the
same as before, because it requires visibility of the whole
translation unit.
rdar://177185295
Also fix rdar://107480207 & rdar://176992568 for the warning-only case.
Commit: 85717da6350cfc3de1d166fcef661abadb377fcf
https://github.com/llvm/llvm-project/commit/85717da6350cfc3de1d166fcef661abadb377fcf
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/include/clang/Basic/DebugOptions.def
M clang/include/clang/Options/Options.td
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/DebugInfo/Generic/sysroot-sdk.c
M clang/test/Modules/debug-info-moduleimport.m
M lldb/test/API/lang/objc/modules-auto-import/Makefile
M lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py
Log Message:
-----------
[clang] Add -fno-debug-record-sysroot (#192541)
This enables excluding the absolute path to the sysroot from debug info
for reproducible builds. These fields are used by lldb, which also has
fallbacks since it's possible these paths don't exist on the machine
doing the debugging when built remotely anyways.
This was also possible using
`-fdebug-prefix-map=/path/to/Xcode.app=/some/path`
but depending on the environment you might not be able to easily pass
that with the user specific developer directory path.
Assisted by: claude
Commit: 769ffe95aac091593563cb2a8cc282b0b6dd2099
https://github.com/llvm/llvm-project/commit/769ffe95aac091593563cb2a8cc282b0b6dd2099
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.cpp
Log Message:
-----------
[lldb-dap][NFC] Use GetStringValue helper (#199672)
I noticed some inconsistency in working with
`SBStructuredData.GetStringValue` (e.g. use `length + 1` or `length`),
so it would be better to remove that code duplication and use common
helper (`GetStringValue`) to do this routine.
Commit: 461f816d44203c3644b30bd3e42eb7c86c23a0f2
https://github.com/llvm/llvm-project/commit/461f816d44203c3644b30bd3e42eb7c86c23a0f2
Author: Finn Plummer <mail at inbelic.dev>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.h
M clang/test/CodeGenDirectX/Builtins/dot2add.c
M clang/test/CodeGenHLSL/ArrayAssignable.logicalptr.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/ArrayReturn.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixConstructor.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixExplicitTruncation.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixImplicitTruncation.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptConstSwizzle.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptDynamicSwizzle.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptGetter.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptSetter.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixToAndFromVectorConstructors.hlsl
M clang/test/CodeGenHLSL/BoolMatrix.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/GlobalConstructors.hlsl
M clang/test/CodeGenHLSL/builtins/AddUint64.hlsl
M clang/test/CodeGenHLSL/builtins/BoolSwizzles.hlsl
M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
M clang/test/CodeGenHLSL/builtins/abs.hlsl
M clang/test/CodeGenHLSL/builtins/ceil.hlsl
M clang/test/CodeGenHLSL/builtins/f16tof32-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/f16tof32.hlsl
M clang/test/CodeGenHLSL/builtins/f32tof16-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/f32tof16.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
M clang/test/CodeGenHLSL/builtins/mad.hlsl
M clang/test/CodeGenHLSL/convergence/cf.for.plain.hlsl
M clang/test/CodeGenHLSL/convergence/do.while.hlsl
M clang/test/CodeGenHLSL/convergence/entry.point.hlsl
M clang/test/CodeGenHLSL/convergence/for.hlsl
M clang/test/CodeGenHLSL/convergence/global_array.hlsl
M clang/test/CodeGenHLSL/convergence/while.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-store.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-store.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-store.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-store.hlsl
M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-methods.hlsl
M clang/test/CodeGenHLSL/resources/CBufferMatrixSingleSubscriptSwizzle.hlsl
M clang/test/CodeGenHLSL/resources/MatrixElement_cbuffer.hlsl
M clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-lib.hlsl
M clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-ps.hlsl
M clang/test/CodeGenHLSL/resources/Texture2D-Mips.hlsl
M clang/test/CodeGenHLSL/resources/TypedBuffers-constructor.hlsl
M clang/test/CodeGenHLSL/resources/TypedBuffers-methods.hlsl
M clang/test/CodeGenHLSL/resources/cbuffer.hlsl
M clang/test/CodeGenHLSL/resources/cbuffer_with_packoffset.hlsl
M clang/test/CodeGenHLSL/resources/res-array-global-subarray-many.hlsl
M clang/test/CodeGenHLSL/resources/res-array-global-subarray-one.hlsl
M clang/test/CodeGenHLSL/resources/res-array-local-multi-dim.hlsl
M clang/test/CodeGenHLSL/resources/res-array-local1.hlsl
M clang/test/CodeGenHLSL/resources/res-array-local2.hlsl
M clang/test/CodeGenHLSL/resources/res-array-local3.hlsl
M clang/test/CodeGenHLSL/resources/resources-in-structs-array.hlsl
M clang/test/CodeGenHLSL/resources/resources-in-structs-inheritance.hlsl
M clang/test/CodeGenHLSL/resources/resources-in-structs.hlsl
M clang/test/CodeGenHLSL/static-local-ctor.hlsl
M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
M clang/test/CodeGenHLSL/this-assignment.hlsl
M clang/test/CodeGenHLSL/this-reference.hlsl
M clang/test/SemaHLSL/Resources/static_resources.hlsl
A llvm/test/Transforms/IndVarSimplify/convergent-controlled-loop.ll
A llvm/test/Transforms/LoopRotate/convergent-controlled.ll
A llvm/test/Transforms/SimpleLoopUnswitch/convergent-controlled.ll
Log Message:
-----------
Reland "[HLSL][DirectX] Emit convergence control tokens when targeting DirectX" (#194452)
The initial landing surfaced 3 somewhat orthogonal issues related to
loop unrolling. These are addressed:
[here](https://github.com/llvm/llvm-project/pull/193592),
[here](https://github.com/llvm/llvm-project/pull/193593) and
[here](https://github.com/llvm/llvm-project/pull/193590).
These caused these
[tests](https://github.com/llvm/llvm-project/actions/runs/24577221310/job/71865579618#step:8:87913)
to fail in the offload test suite.
We can verify that these are now passing as expected (fixing any of the
3 issues would resolve this and allow us to reland)
Some additional tests were added since the revert that are now accounted
for and updated in the reland fixes commit.
This relands https://github.com/llvm/llvm-project/pull/188792
Commit: 631d16eaaa88ab76feaa6c672ce4a4ca4bfcf14b
https://github.com/llvm/llvm-project/commit/631d16eaaa88ab76feaa6c672ce4a4ca4bfcf14b
Author: Ziqing Luo <ziqing_luo at apple.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlow.h
M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.h
M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp
Log Message:
-----------
[SSAF][WPA] Bounds propagation graph is a supergraph of the pointer-flow graph (#198889)
Background: The whole-program UnsafeBufferReachableAnalysis propagates
bounds between pointers. It uses the pointer-flow graph extracted and
linked from translation units.
This commit patches the gap between the semantics of bounds propagation
and pointer-flow: the bounds propagation graph is a super graph of the
pointer-flow graph in that a pointer-flow graph edge `(src, i) -> (dst,
j)` is the projection of a finite set of bounds propagation graph edges
`{(src, i+d) -> (dst, j+d) | 0 <= d < UB}` for a small constant upper
bound UB. See the following example for the idea:
```
void f(int ***p, int **q) {
*p = q;
(**p)[5] = 0;
}
```
There is one edge for the static pointer assignment: '(p, 2) -> (q, 1)'.
In terms of bounds propagation, this assignment implies that if 'p' at
pointer level 2 requires bounds, 'q' at pointer level 1 must also have
them. Furthermore, this relationship propagates to deeper indirection
levels: if 'p' at level 3 requires bounds (due to '(**p)[5]'), so does
'q' at level 2.
Commit: 6d99fcb5c8a2a4a71a4c77a7074776f535ed6a82
https://github.com/llvm/llvm-project/commit/6d99fcb5c8a2a4a71a4c77a7074776f535ed6a82
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M libcxx/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp
Log Message:
-----------
[libc++] Mark string.capacity/over_max_size.pass.cpp as UNSUPPORTED on old dylibs (#199682)
This test is currently failing in the CI for unknown reasons, likely
related to the setup and not a recent patch. Disable it for now to get
the CI green again.
Commit: 95cb4d4b536af5c6f462e7a2c6ad2dd14c2701b7
https://github.com/llvm/llvm-project/commit/95cb4d4b536af5c6f462e7a2c6ad2dd14c2701b7
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.shuffle.ll
Log Message:
-----------
AMDGPU/GlobalISel: RegBankLegalize rules for wave_shuffle (#196412)
Add uniform and divergent RegBankLegalize rules for wave shuffle. When
wave_shuffle is uniform, it is folded by AMDGPUUniformIntrinsicCombine
before reaching RegBankLegalize, to its value operand when value is
uniform, or to amdgcn_readlane when only idx is uniform. Add a test to
disable UniformIntrinsicCombine so we can verify and test for uniform
rule.
Commit: ff243860d7934d763dea4f3fa345b4bfef6d393c
https://github.com/llvm/llvm-project/commit/ff243860d7934d763dea4f3fa345b4bfef6d393c
Author: Liza Burakova <liza at chromium.org>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M lld/MachO/LTO.cpp
A lld/test/MachO/Inputs/large-lto-object.ll
M lld/test/MachO/lto-object-path.ll
Log Message:
-----------
[lld][MachO] Fix SIGBUS crash in saveOrHardlinkBuffer (#198381)
This change removes a hardlink in saveOrHardlinkBuffer if the
hardlink already exists.
On Mac, -object_path_lto files are hardlinked to the cache when
possible. If the hardlink fails, the saveOrHardlinkBuffer method
falls back to saveBuffer instead.
saveBuffer() opens the file that is being written to as a
raw_fd_ostream object, which truncates a file when opening if the
file already exists.
Most of the time this is not an issue, however, if the hardlink
fails because it actually already exists, AND the hardlink exists
specifically between the -object_path_lto file and the cache file,
then when the file is opened and truncated, we also accidentally
truncate the file we are trying to read from.
This fixes a recurring issue Chromium saw in buildbots that
occassionally hit the above circumstances to cause the crash.
Chromium bug for reference is crbug.com/40060675.
This test adds a new file with a large-ish array (32KB) to ensure
the file is large enough to be mmap'd during the linking process.
This was necessary to reproduce the crash, as smaller files were
not mmap'd. The SIGBUS crash only occurs when the file is mmap'd
then truncated.
Commit: 8d2f190609b680cca5829e77f68b45798cd79444
https://github.com/llvm/llvm-project/commit/8d2f190609b680cca5829e77f68b45798cd79444
Author: Fan Mo <w007878 at hotmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenACCClause.cpp
A clang/test/SemaOpenACC/compute-construct-reduction-vla.c
A clang/test/SemaOpenACC/compute-construct-reduction-vla.cpp
Log Message:
-----------
[clang][SemaOpenACC] Reject VLA reduction (#199178)
`GenerateReductionInitRecipeExpr` only handled `ConstantArrayType` when
walking the operand type to build an InitListExpr. A VariableArrayType
`(int arr[i+1])` fell through to the final else branch and tripped
`assert(Ty->isScalarType())`.
Rather than silently accepting VLAs (which have no reasonable lowering.
unlike pointers, there is an expectation of initialized values,but we
cannot statically enumerate elements), reject them outright in
`CheckVarType` with a new diagnostic err_acc_reduction_vla. This is
consistent with the fact that neither codegen nor lowering currently
supports VLA reductions, and other compilers (GCC crashes, NVC++
silently ignores) do not meaningfully handle them either. The fix
upgrades the existing warning path for non-constant arrays in
`CheckVarType` to an error when the clause kind is Reduction, so VLAs
never reach `GenerateReductionInitRecipeExpr`.
Reproducer:
```c
void foo(void) {
int i;
int arr[i + 1];
#pragma acc parallel reduction(& : arr)
while (1) ;
}
```
Fixes #199162
cc @erichkeane
---
note: calude code was used for generating the regression test case
---------
Co-authored-by: Lemmon <yuzutech.llc at gmail.com>
Commit: 92cfd0a3f0ac20fbba4fc74a4bdae409fceebd49
https://github.com/llvm/llvm-project/commit/92cfd0a3f0ac20fbba4fc74a4bdae409fceebd49
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
A clang-tools-extra/test/clang-doc/compact.cpp
M clang-tools-extra/test/clang-doc/enum.cpp
M clang-tools-extra/test/clang-doc/index.cpp
M clang-tools-extra/test/clang-doc/json/class-requires.cpp
M clang-tools-extra/test/clang-doc/json/class-specialization.cpp
M clang-tools-extra/test/clang-doc/json/class-template.cpp
M clang-tools-extra/test/clang-doc/json/class.cpp
M clang-tools-extra/test/clang-doc/json/compound-constraints.cpp
M clang-tools-extra/test/clang-doc/json/concept.cpp
M clang-tools-extra/test/clang-doc/json/function-requires.cpp
M clang-tools-extra/test/clang-doc/json/function-specifiers.cpp
M clang-tools-extra/test/clang-doc/json/inheritance.cpp
M clang-tools-extra/test/clang-doc/json/method-template.cpp
M clang-tools-extra/test/clang-doc/json/multiple-namespaces.cpp
M clang-tools-extra/test/clang-doc/json/namespace.cpp
M clang-tools-extra/test/clang-doc/json/nested-namespace.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
Log Message:
-----------
[clang-doc] Add option for compact JSON (#190822)
By default all JSON is serialized "pretty" with whitespace. This patch
adds an option to serialize JSON without whitespace. This trims the size
of the JSON folder for clang from around 1.3 GB to 785 MB, which is a
39.6% decrease.
Commit: 282e90796bb9c7962520002806290279a41f6db6
https://github.com/llvm/llvm-project/commit/282e90796bb9c7962520002806290279a41f6db6
Author: lntue <lntue at google.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M .github/workflows/libc-fullbuild-tests.yml
Log Message:
-----------
[libc][ci] Improve full build precommit CIs caching keys. (#199742)
Currently full build precommit CIs only uses c_compiler as the cache's
key which will be the same for many of them listed in the matrix list.
We change to use the combination of (target + build_type + c_compiler)
as keys to uniquely distinguish them and the future gcc builds.
Commit: 3aa913fe647480791432d99bbdc016688d1ae841
https://github.com/llvm/llvm-project/commit/3aa913fe647480791432d99bbdc016688d1ae841
Author: lntue <lntue at google.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
Log Message:
-----------
[libc][math] Temporarily disable exception tests for NextAfter and NextToward tests on Windows. (#199740)
They are a bit flaky on Windows.
See https://github.com/llvm/llvm-project/issues/199738
Commit: fafc2b32ffffdcf12717a8d3d166f91b34ae6362
https://github.com/llvm/llvm-project/commit/fafc2b32ffffdcf12717a8d3d166f91b34ae6362
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/TableGen/TGParser.cpp
Log Message:
-----------
[TableGen] Fix wrong op name in a grammar comment(NFC) (#199661)
Commit: 010faf1e36c75a0f96dd45e6dd0a1ed30736b159
https://github.com/llvm/llvm-project/commit/010faf1e36c75a0f96dd45e6dd0a1ed30736b159
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/TableGen/TGParser.cpp
Log Message:
-----------
[TableGen] Add missing grammar comment for !cond(NFC) (#199663)
Commit: 9d751a2985c1f2ef061f7f9f53d44676d1287883
https://github.com/llvm/llvm-project/commit/9d751a2985c1f2ef061f7f9f53d44676d1287883
Author: David Salinas <dsalinas at amd.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Object/OffloadBundle.cpp
A llvm/test/tools/llvm-objdump/Offloading/fatbin-coff-compress.test
A llvm/test/tools/llvm-objdump/Offloading/fatbin-coff.test
A llvm/test/tools/llvm-readobj/COFF/AMDGPU/offloading.test
Log Message:
-----------
[llvm][Object] Add COFF support to extractOffloadBundleFatBinary (#199574)
Use PointerToRawData from the COFF section header to compute the section
offset, replacing the previous stub that returned an error for all COFF
object files.
This enables llvm-objdump --offloading and llvm-readobj --offloading to
work on COFF fatbins produced by HIP on Windows.
---------
Co-authored-by: James Henderson <James.Henderson at sony.com>
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 5df91f6c83ca8035a67c79b224ca949e34966d82
https://github.com/llvm/llvm-project/commit/5df91f6c83ca8035a67c79b224ca949e34966d82
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M .github/workflows/sycl-tests.yml
Log Message:
-----------
workflows/sycl-tests: Pin container image reference (#199466)
I pinned the image to the version that was used in the last successful
workflow run.
https://github.com/llvm/llvm-project/security/code-scanning/1808
https://docs.zizmor.sh/audits/#unpinned-images
Commit: 88fbc0614e826d09c986fd1b6e80eb2435e97d6c
https://github.com/llvm/llvm-project/commit/88fbc0614e826d09c986fd1b6e80eb2435e97d6c
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/test/Transforms/DeadStoreElimination/merge-stores.ll
Log Message:
-----------
[DSE] Restrict partial-overlap store merging to matching orderings. (#199728)
Partial-overlap store merging folds the later killing store into the
earlier dead store and erases the killing store. That is invalid if the
killing store is volatile or has stronger-than-unordered atomic
ordering, because erasing it drops an observable write. It is also invalid
if the killing and dead stores have different atomic orderings, because
the bytes originally written by the killing store would inherit the dead
store's atomicity after the merge -- silently dropping (or adding)
atomicity for those bytes.
Require both stores to be unordered (i.e. non-volatile with ordering at
most unordered) and to share the same ordering. This preserves the
existing fold for two simple stores or two unordered-atomic stores
(e.g. simple.ll's test43a) while leaving volatile, ordered-atomic, and
atomicity-mismatched cases in place.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply at anthropic.com>
Commit: 584b596d812044070193e7be9c1d3f39c7e147df
https://github.com/llvm/llvm-project/commit/584b596d812044070193e7be9c1d3f39c7e147df
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M .github/workflows/release-doxygen.yml
Log Message:
-----------
workflows/release-doxygen: Remove template expansions (#199456)
https://github.com/llvm/llvm-project/security/code-scanning/1725
https://github.com/llvm/llvm-project/security/code-scanning/1726
https://github.com/llvm/llvm-project/security/code-scanning/1838
Commit: ef59dbea76d82f008e5314c47e574193dbc4d403
https://github.com/llvm/llvm-project/commit/ef59dbea76d82f008e5314c47e574193dbc4d403
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M flang/include/flang/Lower/CallInterface.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/lib/Evaluate/tools.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/test/HLFIR/c_devptr_byvalue.cuf
Log Message:
-----------
[flang][cuda] Lower c_devptr value arguments in bind(c) like c_ptr (#199316)
Treat `type(c_devptr), value` arguments in BIND(C) interfaces like
`type(c_ptr), value` by passing the nested raw address value instead of
the outer derived type ABI. This keeps call signatures consistent for
CUDA Fortran generic specifics that share a C binding label and avoids
argument misclassification at the x86_64 register/stack boundary.
Commit: 08e83a533e47607ce3229b32548f24e08d466fe6
https://github.com/llvm/llvm-project/commit/08e83a533e47607ce3229b32548f24e08d466fe6
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M .github/workflows/release-tasks.yml
Log Message:
-----------
workflows/release-tasks: Remove template expansion (#199444)
https://github.com/llvm/llvm-project/security/code-scanning/1737
https://github.com/llvm/llvm-project/security/code-scanning/1738
https://github.com/llvm/llvm-project/security/code-scanning/1739
https://github.com/llvm/llvm-project/security/code-scanning/1740
https://github.com/llvm/llvm-project/security/code-scanning/1741
https://github.com/llvm/llvm-project/security/code-scanning/1742
Commit: 6519c04eb459deab1c71756ddfc04fd7ee852904
https://github.com/llvm/llvm-project/commit/6519c04eb459deab1c71756ddfc04fd7ee852904
Author: Dhruva Chakrabarti <Dhruva.Chakrabarti at amd.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/CodeGen/InlineSpiller.cpp
Log Message:
-----------
[1/3][RegAlloc][LiveRegMatrix] Fix inconsistency in HoistSpillHelper delegates (#197773)
HoistSpillHelper's LiveRangeEdit delegate callbacks did not keep the
LiveRegMatrix consistent when eliminateDeadDefs triggered interval
shrinking and splitting during spill hoisting.
Three issues:
1. No LRE_WillShrinkVirtReg override: when eliminateDeadDefs shrinks a
vreg's interval via shrinkToUses, the matrix was not updated. Add an
override that unassigns the vreg from the matrix and records it in
PendingReassignments for later re-assignment.
2. LRE_DidCloneVirtReg called VRM.assignVirt2Phys without
Matrix->assign: when splitSeparateComponents creates new vregs, the
clones got VRM entries but were never inserted into the matrix. Fix by
consuming PendingReassignments and properly assigning both Old (shrunk)
and New (split) intervals to the matrix.
3. No flush for shrink-without-split: if a vreg was shrunk but not
split, LRE_DidCloneVirtReg was never called to re-assign it. Add a flush
loop at the end of hoistAllSpills to re-assign any remaining pending
vregs.
Also update LRE_CanEraseVirtReg to clear pending entries for erased
vregs.
LIT tests exercised by this patch (i.e. if I introduce consistency
verification as in https://github.com/llvm/llvm-project/pull/197778 but
not this patch, the following tests fail):
CodeGen/X86/AMX/amx-gemm.ll
CodeGen/X86/apx/push2-pop2.ll
CodeGen/X86/udivmodei5.ll
Assisted-by: Cursor/Claude Opus
Commit: 7a66e99b12eed64c5509280c800b0ce21dcd0bff
https://github.com/llvm/llvm-project/commit/7a66e99b12eed64c5509280c800b0ce21dcd0bff
Author: Domenic Nutile <domenic.nutile at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/load-d16.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
Log Message:
-----------
[AMDGPU][True16] Add regbank combiner cases to fix regression around G_SEXTLOAD (#198671)
<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>
Stack PRs:
https://github.com/llvm/llvm-project/pull/198669
https://github.com/llvm/llvm-project/pull/198670
See https://github.com/llvm/llvm-project/pull/195289 for previous
discussion
Commit: 13f9f468dcf8e89d232f28304fa595bf0efbf84b
https://github.com/llvm/llvm-project/commit/13f9f468dcf8e89d232f28304fa595bf0efbf84b
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
M llvm/test/CodeGen/AMDGPU/av-spill-expansion-with-machine-cp.mir
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/dbg-info-inline-at.ll
A llvm/test/CodeGen/AMDGPU/debug-frame.ll
M llvm/test/CodeGen/AMDGPU/ds-read2-write2-debug-info.ll
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-i32.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-u32.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32-wave32.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-u32.mir
A llvm/test/CodeGen/AMDGPU/entry-function-cfi.mir
M llvm/test/CodeGen/AMDGPU/frame-index-elimination-tied-operand.mir
M llvm/test/CodeGen/AMDGPU/gfx11-sgpr-hazard-latency.mir
M llvm/test/CodeGen/AMDGPU/inflate-av-remat-imm.mir
M llvm/test/CodeGen/AMDGPU/insert-waitcnts-merge.ll
M llvm/test/CodeGen/AMDGPU/issue98474-assigned-physreg-interference.mir
M llvm/test/CodeGen/AMDGPU/issue98474-virtregrewriter-live-out-undef-subregisters.mir
M llvm/test/CodeGen/AMDGPU/kernel-mubuf-with-voffset.mir
M llvm/test/CodeGen/AMDGPU/llvm.dbg.value.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-single-wave-workgroup-memops.ll
M llvm/test/CodeGen/AMDGPU/pei-reg-scavenger-position.mir
M llvm/test/CodeGen/AMDGPU/regalloc-introduces-copy-sgpr-to-agpr.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spill-dead-frame-in-dbg-value.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spill.mir
M llvm/test/CodeGen/AMDGPU/spill-special-sgpr.mir
Log Message:
-----------
[AMDGPU] Emit entry function Dwarf CFI (#183152)
Entry functions represent the end of unwinding, as they are the
outer-most frame. This implies they can only have a meaningful
definition for the CFA, which AMDGPU defines using a memory location
description with a literal private address space address. The return
address is set to undefined as a sentinel value to signal the end of
unwinding.
Change-Id: I21580f6a24f4869ba32939c9c6332506032cc654
Co-authored-by: Scott Linder <scott.linder at amd.com>
Co-authored-by: Venkata Ramanaiah Nalamothu <VenkataRamanaiah.Nalamothu at amd.com>
Commit: 593a23887939b55219acae47fcb1cda48ff37319
https://github.com/llvm/llvm-project/commit/593a23887939b55219acae47fcb1cda48ff37319
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fma.legacy.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sudot4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sudot8.ll
Log Message:
-----------
[AMDGPU] Diagnose unsupported fma_legacy/sudot4/sudot8 intrinsics on some subtargets (#198464)
Add proper diagnostics for `llvm.amdgcn.fma.legacy`,
`llvm.amdgcn.sudot4` and `llvm.amdgcn.sudot8` on subtargets where they
are unsupported
Commit: 3ce7b405579d64f8e26e14c6cc02df92117af330
https://github.com/llvm/llvm-project/commit/3ce7b405579d64f8e26e14c6cc02df92117af330
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/lib/Basic/FileManager.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/unittests/Basic/FileManagerTest.cpp
Log Message:
-----------
Revert "[clang] Use FileError in FileManager::getFileRef, getDirectoryRef" (#199721)
Reverts llvm/llvm-project#199126
This caused a small compile time regression.
Commit: 3212caa942dea9247fffcd96ec2949f0f960731d
https://github.com/llvm/llvm-project/commit/3212caa942dea9247fffcd96ec2949f0f960731d
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Use `additional_compiler_inputs` to handle include scanning for TargetPassRegistry.inc (#199201)
This use of using `#include` with a macro breaks include scanning, for
example:
* `GET_PASS_REGISTRY` defined here:
https://github.com/llvm/llvm-project/blob/5c853423f4f9e7296b7596b7f3ccade481686bfd/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp#L603
* `GET_PASS_REGISTRY` included here:
https://github.com/llvm/llvm-project/blob/5c853423f4f9e7296b7596b7f3ccade481686bfd/llvm/include/llvm/Passes/TargetPassRegistry.inc#L60
When include scanning is enabled, the `PassRegistry.def` gets omitted
because it the include scanner does not handle this case. Providing it
via `additional_compiler_inputs` ensures it is included even in that
case.
Commit: 3dd3b6fe758c4ca230e9de624b2586990bd07d74
https://github.com/llvm/llvm-project/commit/3dd3b6fe758c4ca230e9de624b2586990bd07d74
Author: Jun Wang <jwang_2024 at outlook.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/docs/AMDGPU/AMDGPUAsmGFX950.rst
Log Message:
-----------
[AMDGPU][docs][NFC] Fix some instruction names in gfx950 doc (#199094)
In the GFX950 documentation, some instructions that should have the
_sdwa suffix were incorrectly given the _dpp suffix.
Commit: 5157be7bd5c12ac2836bdefb4e9cded6871b065c
https://github.com/llvm/llvm-project/commit/5157be7bd5c12ac2836bdefb4e9cded6871b065c
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/docs/SandboxIR.md
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/lib/SandboxIR/Tracker.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
[SandboxIR][Tracker] Implement accept(/*AcceptAll*/) and revert(/*RevertAll*/) (#197289)
In the context of nested checkpoints the tracker's API was somewhat
inconsistent. Tracker::revert() would revert to the last checkpoint but
accept() would accept all changes.
This patch fixes this, and introduces `accept(bool AcceptAll)` and
`revert(bool RevertAll)`.
Commit: fdd3b84773f107f51b25b5591278f2724c911283
https://github.com/llvm/llvm-project/commit/fdd3b84773f107f51b25b5591278f2724c911283
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
M llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss.ll
Log Message:
-----------
[SLP] Fix FMA regression in FMA-candidate retry
When tryToVectorize is called with AllowFMACandidates=true, falling
through to tryToVectorizeList vectorizes the fmul operands of an
FMA-candidate fadd without accounting for the lost FMA opportunity.
canConvertToFMA requires those fmuls to have one use, so vectorizing
them always breaks FMA formation. The cost model for tryToVectorizeList
omits the fadd from the tree and compares "2 fmuls vs 1 vfmul", missing
the scalar FMA savings entirely.
Block tryToVectorizeList when AllowFMACandidates=true. TryToReduce is
safe because computeReductionCost accounts for FMA in the scalar
baseline via canConvertToFMA on the fadd user.
Fixes a 4.5% regression in SPEC17 imagemagick on AArch64 introduced by
Reviewers: sushgokh, bababuck
Pull Request: https://github.com/llvm/llvm-project/pull/199706
Commit: 4ef6ca40f53fe5ef09b940a3d7d9a92a091dd878
https://github.com/llvm/llvm-project/commit/4ef6ca40f53fe5ef09b940a3d7d9a92a091dd878
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/test/AST/ast-dump-aarch64-mte.c
M clang/test/CodeGen/arm64-mte.c
M clang/test/Sema/builtins-arm64-mte.c
Log Message:
-----------
[Clang][AArch64] Fix crash with large arguments to MTE built-ins (#197620)
The second argument to `__builtin_arm_irg()` and `__builtin_arm_gmi()`
is expected to be 64-bit. When a wider type is passed, the compiler
still generates a `zext` instruction, leading to a backend error:
```
> cat test.c
unsigned test(void* a, unsigned __int128 m) {
return __builtin_arm_gmi(a, m);
}
> clang -target aarch64 -march=armv9+memtag -S test.c
fatal error: error in backend: Cannot select: ... i64,ch = load<... zext from i128>
```
This is fixed by applying the required implicit conversions to the
argument in Sema.
Commit: f78a233ac89dc0f9f0f26dfe051874013ae6e242
https://github.com/llvm/llvm-project/commit/f78a233ac89dc0f9f0f26dfe051874013ae6e242
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
M llvm/test/CodeGen/AMDGPU/agpr-copy-reuse-writes.mir
M llvm/test/CodeGen/AMDGPU/agpr-spill-copy.mir
M llvm/test/CodeGen/AMDGPU/amdgcn-call-whole-wave.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-fp-nosave.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/av_spill_cross_bb_usage.mir
M llvm/test/CodeGen/AMDGPU/bug-undef-spilled-agpr.mir
M llvm/test/CodeGen/AMDGPU/call-args-inreg-bfloat.ll
M llvm/test/CodeGen/AMDGPU/cc-entry.ll
M llvm/test/CodeGen/AMDGPU/csr-sgpr-spill-live-ins.mir
M llvm/test/CodeGen/AMDGPU/debug-frame.ll
M llvm/test/CodeGen/AMDGPU/dwarf-multi-register-use-crash.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-i32.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-mov-b32.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-scalar-bit-ops.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-scalar-scc-clobber.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-select.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32-wave32.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-u32.mir
M llvm/test/CodeGen/AMDGPU/frame-index.mir
M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/insert-waitcnts-crash.ll
M llvm/test/CodeGen/AMDGPU/issue98474-virtregrewriter-live-out-undef-subregisters.mir
M llvm/test/CodeGen/AMDGPU/lds-barrier-memoperand.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.add.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.and.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fadd.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmax.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmin.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fsub.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.max.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.min.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.or.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.sub.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.xor.ll
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
M llvm/test/CodeGen/AMDGPU/no-source-locations-in-prologue.ll
M llvm/test/CodeGen/AMDGPU/nofpclass-call.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain-preserve.mir
M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain.mir
M llvm/test/CodeGen/AMDGPU/pei-build-av-spill.mir
M llvm/test/CodeGen/AMDGPU/pei-build-spill-offset-overflow-gfx950.mir
M llvm/test/CodeGen/AMDGPU/pei-build-spill.mir
M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-carry-out.mir
M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-gfx9.mir
M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr.mir
M llvm/test/CodeGen/AMDGPU/pei-scavenge-vgpr-spill.mir
M llvm/test/CodeGen/AMDGPU/pei-vgpr-block-spill-csr.mir
M llvm/test/CodeGen/AMDGPU/preserve-only-inactive-lane.mir
M llvm/test/CodeGen/AMDGPU/preserve-wwm-copy-dst-reg.ll
M llvm/test/CodeGen/AMDGPU/prologue-epilogue-markers.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.mir
M llvm/test/CodeGen/AMDGPU/ptr-arg-dbg-value.ll
M llvm/test/CodeGen/AMDGPU/same-slot-agpr-sgpr.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spill-vmem-large-frame.mir
M llvm/test/CodeGen/AMDGPU/si-optimize-vgpr-live-range-dbg-instr.ll
M llvm/test/CodeGen/AMDGPU/spill-agpr-partially-undef.mir
M llvm/test/CodeGen/AMDGPU/spill-agpr.mir
M llvm/test/CodeGen/AMDGPU/spill-reg-tuple-super-reg-use.mir
M llvm/test/CodeGen/AMDGPU/spill-restore-partial-copy.mir
M llvm/test/CodeGen/AMDGPU/spill-sgpr-used-for-exec-copy.mir
M llvm/test/CodeGen/AMDGPU/spill-to-agpr-partial.mir
M llvm/test/CodeGen/AMDGPU/spill_kill_v16.mir
M llvm/test/CodeGen/AMDGPU/spillv16.mir
M llvm/test/CodeGen/AMDGPU/split-arg-dbg-value.ll
M llvm/test/CodeGen/AMDGPU/stack-realign.ll
M llvm/test/CodeGen/AMDGPU/strictfp_f16_abi_promote.ll
M llvm/test/CodeGen/AMDGPU/swdev504645-global-fold.ll
M llvm/test/CodeGen/AMDGPU/tied-op-for-wwm-scratch-reg-spill-restore.mir
M llvm/test/CodeGen/AMDGPU/track-spilled-vgpr-liveness.mir
M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
M llvm/test/CodeGen/AMDGPU/unfold-masked-merge-scalar-variablemask.ll
M llvm/test/CodeGen/AMDGPU/use_restore_frame_reg.mir
M llvm/test/CodeGen/AMDGPU/vector-spill-restore-to-other-vector-type.mir
M llvm/test/CodeGen/AMDGPU/vgpr-spill-scc-clobber.mir
M llvm/test/CodeGen/AMDGPU/vgpr-spill.mir
M llvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-functions-pei.mir
M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
M llvm/test/DebugInfo/AMDGPU/cfi.ll
M llvm/test/DebugInfo/AMDGPU/debug-loc-copy.ll
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_generated_funcs.ll.generated.expected
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_generated_funcs.ll.nogenerated.expected
Log Message:
-----------
[AMDGPU] Implement CFI for non-kernel functions (#183153)
This does not implement CSR spills other than those AMDGPU handles
during PEI. The remaining spills are handled in a subsequent patch.
Change-Id: I5e3a9a62cf9189245011a82a129790d813d49373
Co-authored-by: Scott Linder <scott.linder at amd.com>
Co-authored-by: Venkata Ramanaiah Nalamothu <VenkataRamanaiah.Nalamothu at amd.com>
Commit: c052a26f2d8cedf921226f088fca8525cb8c7e5b
https://github.com/llvm/llvm-project/commit/c052a26f2d8cedf921226f088fca8525cb8c7e5b
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/unittests/Basic/DarwinSDKInfoTest.cpp
Log Message:
-----------
Revert "[clang][driver][darwin] Hold onto full triples in Darwin SDKP… (#199756)
…latformInfo (#197791)"
This reverts commit 9c06c5de6a20df13cfe6d9a7022308e96f378955. It broke
downstream builds for compiler-rt builtins.
Resolves: rdar://177813095
Commit: a4c8cfdac226b89f82963bb65d64c246723e1ea9
https://github.com/llvm/llvm-project/commit/a4c8cfdac226b89f82963bb65d64c246723e1ea9
Author: Jonathan L'Work <113400649+Jonathan03ant at users.noreply.github.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
A llvm/test/CodeGen/AMDGPU/elf-note-null-terminator.ll
Log Message:
-----------
[AMDGPU] Fix ELF note emission to include null terminator (#199720)
The `AMDGPUTargetELFStreamer::EmitNote()` function claims the note name
includes a null terminator (NameSZ = Name.size() + 1) but only emits the
string bytes via `emitBytes(Name)`, relying on alignment padding to
provide the null byte. Works for most situations but breaks with 8-byte
names where padding lands exactly at the boundary.
Explicitly emit null terminator with `S.emitInt8(0)` after
`emitBytes(Name)`.
Commit: 2c336879888a59e3438529712320ad7ab1d47210
https://github.com/llvm/llvm-project/commit/2c336879888a59e3438529712320ad7ab1d47210
Author: carlobertolli <carlo.bertolli at amd.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
A llvm/test/CodeGen/AMDGPU/extract-vector-elt-binop-build-vector.ll
Log Message:
-----------
[AMDGPU] Add regression test for extract of vector binop scalarization (#198825)
Test that extracting both lanes from a binop of two build_vectors
sharing a variable operand at different lane positions correctly folds
per-lane constants.
Assisted-by: Cursor (Claude)
Commit: 0eb28e6de2654073efb4920e21b535fe181de041
https://github.com/llvm/llvm-project/commit/0eb28e6de2654073efb4920e21b535fe181de041
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/fmuladd_width_prop.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/get-vec-element-size.ll
Log Message:
-----------
[SLP] Propagate through instrinsics in BoUpSLP::getVectorElementSize() (#199129)
We propagate through simple binary operations already, some operations
are excluded since it happens to be an intrinsic.
Motivated by case exposed when removing vectorization from pre-LTO, see
https://github.com/llvm/llvm-project/pull/195886#issuecomment-4486422243.
Commit: 8a64511b59a293e213ebedcf9ea1b1c34373e551
https://github.com/llvm/llvm-project/commit/8a64511b59a293e213ebedcf9ea1b1c34373e551
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/clamped-access-pattern.ll
A llvm/test/Transforms/LoopVectorize/AArch64/clamped-load.ll
A llvm/test/Transforms/LoopVectorize/AArch64/discarded-interleave-group.ll
A llvm/test/Transforms/LoopVectorize/RISCV/clamped-load.ll
A llvm/test/Transforms/LoopVectorize/clamped-load-vf-ranges.ll
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads-with-predicated-stores.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
Log Message:
-----------
[LV] Add tests with pointers based on URem expressions (NFC). (#199763)
Add tests with loads and stores with pointers based on URem expressions.
Commit: 0e0127e5b21dce0cf500e24467f1471d479876be
https://github.com/llvm/llvm-project/commit/0e0127e5b21dce0cf500e24467f1471d479876be
Author: Alex Langford <alangford at apple.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M lldb/source/ValueObject/ValueObjectVTable.cpp
M lldb/test/API/functionalities/vtable/TestVTableValue.py
Log Message:
-----------
[lldb] Fix vtable support on arm64e (#199116)
There were 2 small issues.
1. ValueObjectVTableChild was not fixing the addresses it was pulling
from signed pointers. This broke things like `SBValue::GetLoadAddress`
and identifying the function pointer type from debug info.
2. TestVTableValue.py made a lot of assumptions that did not hold on
arm64e. a. GetValueAsUnsigned will return a raw pointer value. Most of
the time, we needed GetValueAsAddress. b. The test was reading pointers
out of memory without fixing them up. c. The summary for a function
pointer on arm64e includes the load address. This isn't true on other
platforms.
Commit: f5a3f1d4bf101c0c5dc00c08b52f13fd00e891f9
https://github.com/llvm/llvm-project/commit/f5a3f1d4bf101c0c5dc00c08b52f13fd00e891f9
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/lcssa-phi-extract-scale.ll
Log Message:
-----------
[SLP][NFC]Add a test iwhtthre vectorization regression, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/199774
Commit: a14d084bbb1a7261d8a71c56120159abb6af330b
https://github.com/llvm/llvm-project/commit/a14d084bbb1a7261d8a71c56120159abb6af330b
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M libc/config/baremetal/config.json
Log Message:
-----------
Reland "[libc] Enable baremetal float printf using modular format" (#199758)
Reverts llvm/llvm-project#199114
#199118 fixed the issue uncovered in the Fuchsia CI build.
Commit: a7aceff0b1e552cbc2306e575e9ac649853fda8e
https://github.com/llvm/llvm-project/commit/a7aceff0b1e552cbc2306e575e9ac649853fda8e
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/docs/SandboxIR.md
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/lib/SandboxIR/Tracker.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
Revert "[SandboxIR][Tracker] Implement accept(/*AcceptAll*/) and revert(/*RevertAll*/)" (#199776)
Reverts llvm/llvm-project#197289
Commit: 27abffa3efe272d725a6c4eceeebfe8c17e0f8e8
https://github.com/llvm/llvm-project/commit/27abffa3efe272d725a6c4eceeebfe8c17e0f8e8
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.h
A lldb/test/API/functionalities/gdb_remote_client/TestUnavailableRegisters.py
M lldb/tools/debugserver/source/RNBRemote.cpp
Log Message:
-----------
[lldb] New expedited register specfication for unavailable regs (#193894)
When lldb-server/debugserver send a stop packet, they expedite the
vaLues of many of the general purpose registers in the stop packet, so
lldb doesn't need to fetch them separately.
On Darwin systems using an AArch64 M4 or newer SOC with SME, we need to
fetch the streaming vector length (svl) register when in Streaming SVE
Mode to correctly size the registers in lldb. On Darwin systems, when we
are not in SSVE mode, svl is undefined -- it is not included in the
expedited registers. However, lldb will still try to fetch the value, so
we get a register-read packet at every stop on M4 and newer systems,
trying to fetch the value.
This patch adds a new format for the expedited registers. They are
normally a `;` separated series of `{regnum}:{native endian bytes}`.
This allows for `{regnum}:` alone, indicating that the register value
for regnum cannot be fetched at this stop.
It updates debugserver to always add svcr, tpidr2, and svl to the
expedited registers, whether we can fetch them or not.
Most of the changes happen in GDBRemoteRegisterContext. This class
maintains a buffer sized for the register context bytes, and an array of
bool to indicate whether we have fetched the value for a given register
yet or not. If we have fetched the value, we can supply the bytes from
the register context byte array. If it is not yet fetched, we read it.
This PR changes this fetched-or-not bool array to a LazyBool with
eLazyBoolYes meaning we have the bytes for the register value in the
lldb buffer.
eLazyBoolCalculate means we have not yet tried to read the register
value.
eLazyBoolNo means that the register is currently readable.
The meaning of these 3 LazyBool states could be a little confusing as
you read GDBRemoteRegisterContext, so all getting/setting of these is
done through the methods
SetAllRegistersValid()
SetAllRegistersUnfetched()
{Set,Get}RegisterIsValid()
{Set,Get}RegisterIsUnavailable()
{Set,Get}RegisterIsUnfetched()
Whcih I think makes it a little easer to understand. The changes to
GDBRemoteRegisterContext were the trickiest part of this PR, all the
other changes are simple.
Linux et al mostly work on AArch64 systems with SVE + SME, in which case
we have either a vector length or a streaming vector length, at all
times. But the M4 & newer SOCs from Apple don't have any SVE registers
when not in streaming SVE mode, so we have this issue of an extra
register read at all stops, unless in SSVE mode.
rdar://161581129
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: e42046a747f597da40f76e1656be919dea946f15
https://github.com/llvm/llvm-project/commit/e42046a747f597da40f76e1656be919dea946f15
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M mlir/test/Integration/Dialect/XeGPU/WG/load_store_matrix.mlir
Log Message:
-----------
[MLIR][XeGPU] Fix pass name in RUN command (#199766)
Commit: 7e98d1960e989945cfb2ec016b950fbd2bb5d937
https://github.com/llvm/llvm-project/commit/7e98d1960e989945cfb2ec016b950fbd2bb5d937
Author: Ehsan Amiri <ehsan.amiri at huawei.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
A llvm/test/Transforms/LoopFusion/different_guards.ll
Log Message:
-----------
[LoopFusion] Do not fuse loops with different guards (#199724)
The testcase that was originally contributed to #193641 exposed a
functional issue in which loop fusion can fuse functions with different
loop guards. There seem to two distinct bugs and each of them alone is
enough to let this happen.
- The condition that checks loop guards are identical, intends to
exclude loops that require peeling. But the condition is not correct and
it allows some loops that do not require peeling to pass.
- The condition that checks two guards are identical implicitly assume
conditions of guard branches are instructions, but this is not
necessarily always correct.
This patch fixes the problem for the loops that do not require peeling.
The issue still exists for loops that require peeling and will be fixed
separately.
Commit: e9e5d4ee914ac98ecb6fafa9e1f8f4231a9282d3
https://github.com/llvm/llvm-project/commit/e9e5d4ee914ac98ecb6fafa9e1f8f4231a9282d3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
Log Message:
-----------
clang/AMDGPU: Remove unnecessary fallback to check -march (#199780)
-march is now rewritten to -mcpu.
Commit: f263446abbdd9f1ef12d60107329ea976e94247e
https://github.com/llvm/llvm-project/commit/f263446abbdd9f1ef12d60107329ea976e94247e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/test/Driver/amdgpu-validate-sanitize.cl
Log Message:
-----------
clang/AMDGPU: Report all runtimeless sanitizers as available (#199642)
Commit: f3c0f26a3961b20b6e698fe3579499528d006b48
https://github.com/llvm/llvm-project/commit/f3c0f26a3961b20b6e698fe3579499528d006b48
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
M flang/test/Transforms/FIRToMemRef/array-coor-rebox-slice-shape.mlir
M flang/test/Transforms/FIRToMemRef/array-coor-slice-shift.mlir
Log Message:
-----------
[flang][FIRToMemRef] Get strides from descriptor for some array_coor cases. (#199158)
This is a follow-up on Jean's comment
https://github.com/llvm/llvm-project/pull/198933#discussion_r3279535746
This patch makes use of the descriptor strides when `fir.array_coor`'s
memref is a `fir.box` that is not a fir.embox result.
Commit: 187dfef80ee9d5cb89efc918a2af407389553779
https://github.com/llvm/llvm-project/commit/187dfef80ee9d5cb89efc918a2af407389553779
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
A flang/include/flang/Optimizer/Dialect/FIRBoxUtils.h
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
A flang/lib/Optimizer/Dialect/FIRBoxUtils.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/array-coor-canonicalization.fir
Log Message:
-----------
[flang] Enabled pulling of rebox into array_coor. (#199161)
This patch enables pulling slicing `fir.rebox` operations
into `fir.array_coor`. This helps preserve information about
the original rank of the array being accessed.
`FIRToMemRef` and later passes may benefit from this.
Assisted by: Claude
Commit: bf420f0d18562cd4a3ec7ae65354c62970adb262
https://github.com/llvm/llvm-project/commit/bf420f0d18562cd4a3ec7ae65354c62970adb262
Author: Kunal Pathak <kunalspathak.github at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/interleaved-store-noninbounds-gep.ll
Log Message:
-----------
[AArch64] Fix hasNearbyPairedStore to handle non-inbounds GEPs (#199137)
Problem: `hasNearbyPairedStore` uses
`stripAndAccumulateInBoundsConstantOffsets` to decompose store pointers
into (base, offset) pairs and check whether two stores are 16 bytes
apart. This fails when LSR has rewritten pointer arithmetic into
non-inbounds GEPs because the function refuses to look through them. The
two stores then appear to have different base pointers and the check
returns false. When this happens, `lowerInterleavedStore` proceeds to
emit `ST2` for a pattern that would be more profitable as `zip+stp`,
since the load-store optimizer can pair adjacent stores into `STP` but
cannot merge `ST2` with anything. On a bf16-to-fp32 NEON conversion loop
this causes a regression from 11 to 17 instructions per iteration.
Note: Interleaved stores support was added for RISCV in
https://github.com/llvm/llvm-project/pull/115354. Turning this off
produces the desired STP instructions.
https://godbolt.org/z/1afsjPd3e
Fix: Switch to `stripAndAccumulateConstantOffsets` with
`AllowNonInbounds=true`. The function is a bail-out heuristic doing pure
address arithmetic, so the inbounds semantic guarantee is not needed for
correctness.
---------
Co-authored-by: Kunal Pathak <kupathak at fb.com>
Commit: fc60e08b4574a85f6966a751f32290f5732d1329
https://github.com/llvm/llvm-project/commit/fc60e08b4574a85f6966a751f32290f5732d1329
Author: lntue <lntue at google.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M .github/workflows/libc-overlay-tests.yml
Log Message:
-----------
[libc] Use containers for overlay precommit CIs. (#199294)
Commit: 577e9a7cc82faf3dae98dba4aea917a6ffaab293
https://github.com/llvm/llvm-project/commit/577e9a7cc82faf3dae98dba4aea917a6ffaab293
Author: Sy Brand <sy.brand at fastly.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/test/Preprocessor/wasm-target-features.c
A lld/test/wasm/stack-pointer-abi.s
A lld/test/wasm/thread-context-abi-mismatch.s
A lld/test/wasm/tls-libcall.s
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
M lld/wasm/Options.td
M lld/wasm/SyntheticSections.cpp
M lld/wasm/Writer.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h
M llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h
A llvm/test/CodeGen/WebAssembly/stack-abi.ll
M llvm/test/CodeGen/WebAssembly/thread_pointer.ll
M llvm/test/CodeGen/WebAssembly/tls-local-exec.ll
A llvm/test/DebugInfo/WebAssembly/thread-context-abi.ll
Log Message:
-----------
[WebAssembly] WASIP3 Library Call Thread Context Support (#175800)
The [WebAssembly Component
Model](https://component-model.bytecodealliance.org/) has added support
for [cooperative
multithreading](https://github.com/WebAssembly/component-model/pull/557).
This has been implemented in the [Wasmtime
engine](https://github.com/bytecodealliance/wasmtime/pull/11751) and is
part of the wider project of [WASI preview
3](https://wasi.dev/roadmap#upcoming-wasi-03-releases), which is
currently tracked
[here](https://github.com/orgs/bytecodealliance/projects/16).
These changes require updating the way that `__stack_pointer` and
`__tls_base` work purely for a new `wasm32-wasip3` target; other targets
will not be touched. Specifically, rather than using a Wasm global for
tracking the stack pointer and TLS base, the new
[`context.get/set`](https://github.com/WebAssembly/component-model/blob/main/design/mvp/CanonicalABI.md#-canon-contextget)
component model builtin functions will be used (the intention being that
runtimes will need to aggressively optimize these calls into single
load/stores). For justification on this choice rather than switching out
the global at context-switch boundaries, see [this
comment](https://github.com/WebAssembly/wasi-libc/issues/691#issuecomment-3716405618)
and [this
comment](https://github.com/WebAssembly/wasi-libc/issues/691#issuecomment-3716916730).
This PR adds support for using library calls instead of globals for
holding the stack pointer and TLS base. When used, this thread context
ABI emits calls to `__wasm_{get,set}_{stack_pointer,tls_base}` when
needed. These functions can then be implemented in `libc`. This is
enabled only for the WASIp3 target.
There is a temporary macro define for `__wasm_libcall_thread_context__`
which can be removed once `wasi-libc` has fully migrated to the new ABI
for the WASIp3 target.
Commit: e918a5ada8a9e693a7f68614bfce698d38f903d3
https://github.com/llvm/llvm-project/commit/e918a5ada8a9e693a7f68614bfce698d38f903d3
Author: Matthias Wippich <mfwippich at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/utils/lit/lit/LitConfig.py
M llvm/utils/lit/lit/ShellEnvironment.py
M llvm/utils/lit/lit/Test.py
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/lit/TestingConfig.py
M llvm/utils/lit/lit/display.py
M llvm/utils/lit/lit/formats/base.py
M llvm/utils/lit/lit/llvm/config.py
M llvm/utils/lit/lit/llvm/subst.py
M llvm/utils/lit/lit/reports.py
M llvm/utils/lit/lit/run.py
Log Message:
-----------
[lit][NFC] remove new-style class opt-ins (#199784)
In Python 3.0 and later it is no longer necessary to explicitly derive
from `object` to opt into "new-style" classes, they are the default.
Since the current minimum Python version is 3.8, this is no longer
required. This patch removes `object` from the base class lists of all
affected classes in lit.
Commit: 9eb0d424db2df869428c800e5a5535342d70de31
https://github.com/llvm/llvm-project/commit/9eb0d424db2df869428c800e5a5535342d70de31
Author: Matthias Wippich <mfwippich at gmail.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/utils/lit/lit/LitConfig.py
M llvm/utils/lit/lit/ShUtil.py
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/lit/formats/base.py
M llvm/utils/lit/lit/formats/googletest.py
M llvm/utils/lit/lit/formats/shtest.py
M llvm/utils/lit/lit/util.py
M llvm/utils/lit/tests/Inputs/check_path.py
M llvm/utils/lit/tests/Inputs/shtest-format/external_shell/write-control-chars.py
M llvm/utils/lit/tests/Inputs/shtest-not/print_environment.py
M llvm/utils/lit/tests/Inputs/shtest-timeout/short.py
Log Message:
-----------
[lit][NFC] remove future statements for mandatory features in Python 3 (#199786)
This patch removes future statements from lit for features that are
mandatory in Python 3.0 and later.
Specifically, it removes future statements for
[`absolute_import`](https://docs.python.org/3/library/__future__.html#future__.absolute_import)
and
[`print_function`](https://docs.python.org/3/library/__future__.html#future__.print_function),
since both became mandatory in Python 3.0.
Commit: 2bd872b03fe16726870a34ee6cb50e9d81947e68
https://github.com/llvm/llvm-project/commit/2bd872b03fe16726870a34ee6cb50e9d81947e68
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/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/VPlanVerifier.cpp
A llvm/test/Transforms/LoopVectorize/AArch64/alias-mask-uniforms.ll
A llvm/test/Transforms/LoopVectorize/AArch64/alias-mask.ll
A llvm/test/Transforms/LoopVectorize/AArch64/expensive-alias-masking.ll
A llvm/test/Transforms/LoopVectorize/RISCV/alias-mask-force-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
A llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-printing-alias-mask.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-alias-mask.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
A llvm/test/Transforms/LoopVectorize/alias-mask-data-tail-folding-style.ll
A llvm/test/Transforms/LoopVectorize/alias-mask-needs-freeze.ll
A llvm/test/Transforms/LoopVectorize/alias-mask-negative-tests.ll
A llvm/test/Transforms/LoopVectorize/alias-mask-small-index.ll
A llvm/test/Transforms/LoopVectorize/alias-mask.ll
M llvm/test/Transforms/LoopVectorize/cast-induction.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
A llvm/test/Transforms/LoopVectorize/remove-redundant-trip-count-scev.ll
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
Log Message:
-----------
[LV] Add support for partial alias masking with tail folding (#182457)
This patch adds basic support for partial alias masking, which allows
entering the vector loop even when there is aliasing within a single
vector iteration. It does this by clamping the VF to the safe distance
between pointers. This allows the runtime VF to be anywhere from 2 to
the "static" VF.
Conceptually, this transform looks like:
```
// `c` and `b` may alias.
for (int i = 0; i < n; i++) {
c[i] = a[i] + b[i];
}
```
->
```
svbool_t alias_mask = loop.dependence.war.mask(b, c);
int num_active = num_active_lanes(mask);
if (num_active >= 2) {
for (int i = 0; i < n; i += num_active) {
// ... vector loop masked with `alias_mask`
}
}
// ... scalar tail
```
This initial patch has a number of limitations:
- The loop must be tail-folded
* We intend to follow-up with full alias-masking support for loops
without tail-folding
- The mask and transform is only valid for IC = 1
* Some recipes may not handle the "ClampedVF" correctly at IC > 1
* Note: On AArch64, we also only have native alias mask instructions
for IC = 1
- Reverse iteration is not supported
* The mask reversal logic is not correct for the alias mask (or
clamped ALM)
- First order recurrences are not supported
* The `splice.right` is not lowered correctly for clamped VFs
- Reductions are not supported
* The final horizontal reduction needs to set lanes past the
"ClampedVF" to the identity value
- This style of vectorization is not enabled by default/costed
* It can be enabled with `-force-partial-aliasing-vectorization`
* When enabled, alias masking is used instead of the standard diff
checks (when legal to do so)
This PR supersedes #100579 (closes #100579).
Commit: e6d8a8f9384b353cc95baccac8c233309e1c3568
https://github.com/llvm/llvm-project/commit/e6d8a8f9384b353cc95baccac8c233309e1c3568
Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/unique-internal-linkage-names.cpp
Log Message:
-----------
[Clang] Emit prefix map normalization before generating hashes for the unique linkage names. (#198667)
Use normalized path from the macro prefix map to generate the unique ids
for the internal linkage names. That allows a reproducible hash on any
build system. Regularly the macro prefix map gets normalized in favor of
the target system before the path substitution.
Commit: e0ef143823ce8f733c50fae675f05d0df0f702e5
https://github.com/llvm/llvm-project/commit/e0ef143823ce8f733c50fae675f05d0df0f702e5
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M lld/test/wasm/alias.s
M lld/test/wasm/build-id.test
M lld/test/wasm/ctor-return-value.s
M lld/test/wasm/duplicate-global-imports.s
M lld/test/wasm/export-optional.s
M lld/test/wasm/externref.s
M lld/test/wasm/function-imports-first.ll
M lld/test/wasm/function-imports.s
M lld/test/wasm/gc-imports.s
M lld/test/wasm/gc-sections.ll
M lld/test/wasm/global-base.test
M lld/test/wasm/globals.s
M lld/test/wasm/lto/tls.ll
M lld/test/wasm/map-file.s
M lld/test/wasm/merge-string-debug.s
M lld/test/wasm/mutable-global-exports.s
M lld/test/wasm/name-section-mangling.s
M lld/test/wasm/signature-mismatch-export.ll
M lld/test/wasm/signature-mismatch.s
M lld/test/wasm/stack-first.test
M lld/test/wasm/stack-pointer-abi.s
M lld/test/wasm/startstop.ll
M lld/test/wasm/table-base.s
M lld/test/wasm/tag-section.ll
M lld/test/wasm/tls-base-non-shared-memory.s
M lld/test/wasm/undefined-weak-call.s
M lld/test/wasm/unresolved-symbols-dynamic.s
M lld/test/wasm/weak-undefined-pic.s
M lld/test/wasm/weak-undefined.s
M lld/wasm/Driver.cpp
Log Message:
-----------
[lld][WebAssembly] Only include __stack_pointer when needed (#199739)
Commit: 7938535a54b51a4ca84821b7766d68049c9aa895
https://github.com/llvm/llvm-project/commit/7938535a54b51a4ca84821b7766d68049c9aa895
Author: Owen Rodley <orodley at google.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/test/CodeGen/cfi-icall-trap-recover-runtime.c
M clang/test/CodeGen/lto-newpm-pipeline.c
M clang/test/CodeGenCXX/cfi-vcall-trap-recover-runtime.cpp
M lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
M lld/test/ELF/lto/devirt_vcall_vis_public.ll
M lld/test/ELF/lto/devirt_vcall_vis_shared_def.ll
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/include/llvm/Bitcode/BitcodeReader.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/FixedMetadataKinds.def
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/LTO/LTO.h
A llvm/include/llvm/Transforms/Utils/AssignGUID.h
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
A llvm/lib/Transforms/Utils/AssignGUID.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Assembler/index-value-order.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
M llvm/test/Bitcode/thinlto-function-summary.ll
M llvm/test/CodeGen/X86/fat-lto-section.ll
M llvm/test/LTO/Resolution/X86/not-prevailing-alias.ll
M llvm/test/LTO/Resolution/X86/not-prevailing-weak-aliasee.ll
M llvm/test/Linker/funcimport2.ll
M llvm/test/Other/new-pm-O0-defaults.ll
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
M llvm/test/ThinLTO/AArch64/aarch64_inline.ll
M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions1.ll
M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions2.ll
M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions3.ll
M llvm/test/ThinLTO/X86/ctor-dtor-alias.ll
M llvm/test/ThinLTO/X86/ctor-dtor-alias2.ll
M llvm/test/ThinLTO/X86/deadstrip.ll
M llvm/test/ThinLTO/X86/devirt_function_alias.ll
M llvm/test/ThinLTO/X86/devirt_function_alias2.ll
M llvm/test/ThinLTO/X86/devirt_pure_virtual_base.ll
M llvm/test/ThinLTO/X86/devirt_vcall_vis_public.ll
M llvm/test/ThinLTO/X86/distributed_import.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-exported-internal.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-unknown.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-weak.ll
M llvm/test/ThinLTO/X86/globals-import.ll
M llvm/test/ThinLTO/X86/hidden-escaped-symbols-alt.ll
M llvm/test/ThinLTO/X86/hidden-escaped-symbols.ll
M llvm/test/ThinLTO/X86/import-ro-constant.ll
M llvm/test/ThinLTO/X86/index-const-prop-alias.ll
M llvm/test/ThinLTO/X86/index-const-prop.ll
M llvm/test/ThinLTO/X86/linkonce_resolution_comdat.ll
M llvm/test/ThinLTO/X86/memprof-dups.ll
M llvm/test/ThinLTO/X86/memprof_callee_type_mismatch.ll
M llvm/test/ThinLTO/X86/memprof_imported_internal.ll
M llvm/test/ThinLTO/X86/memprof_imported_internal2.ll
M llvm/test/ThinLTO/X86/prevailing_weak_globals_import.ll
M llvm/test/ThinLTO/X86/visibility-elf.ll
M llvm/test/ThinLTO/X86/visibility-macho.ll
M llvm/test/ThinLTO/X86/weak_resolution.ll
M llvm/test/ThinLTO/X86/windows-vftable.ll
M llvm/test/ThinLTO/X86/writeonly.ll
A llvm/test/Transforms/AssignGUID/assign_guid.ll
M llvm/test/Transforms/EmbedBitcode/embed-wpd.ll
M llvm/test/Transforms/EmbedBitcode/embed.ll
M llvm/test/Transforms/FunctionImport/funcimport-debug-retained-nodes.ll
M llvm/test/Transforms/FunctionImport/funcimport.ll
M llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll
M llvm/test/Transforms/PGOProfile/thinlto_indirect_call_promotion.ll
M llvm/test/Transforms/PhaseOrdering/speculative-devirt-then-inliner.ll
M llvm/test/Transforms/SampleProfile/ctxsplit.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-typeid.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal1.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/unsplittable.ll
M llvm/test/Transforms/WholeProgramDevirt/branch-funnel-profile.ll
M llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll
M llvm/test/Transforms/WholeProgramDevirt/export-vcp.ll
M llvm/test/tools/gold/X86/devirt_vcall_vis_export_dynamic.ll
M llvm/test/tools/gold/X86/devirt_vcall_vis_public.ll
M llvm/test/tools/gold/X86/devirt_vcall_vis_shared_def.ll
M llvm/test/tools/gold/X86/thinlto_weak_library.ll
M llvm/test/tools/gold/X86/thinlto_weak_resolution.ll
M llvm/test/tools/gold/X86/v1.16/devirt_vcall_vis_export_dynamic.ll
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/opt/NewPMDriver.cpp
M llvm/tools/opt/optdriver.cpp
Log Message:
-----------
Compute GUIDs once and store in metadata (#184065)
This allows us to keep GUIDs consistent across compilation phases which
may change the name or linkage type.
See https://discourse.llvm.org/t/rfc-keep-globalvalue-guids-stable/84801
This is a large change since the addition of metadata breaks many tests.
The test changes are mostly just trivial changes to checks to get them
passing.
Commit: d139f653019ee8058eaadf5e5deda79ee8faf093
https://github.com/llvm/llvm-project/commit/d139f653019ee8058eaadf5e5deda79ee8faf093
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/AArch64/lcssa-phi-extract-scale.ll
Log Message:
-----------
[SLP][NFC]Add another test for external phi user, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/199804
Commit: 7e6f337e1dcf0bfb93e8d084ee3bd57a1cf9ff2d
https://github.com/llvm/llvm-project/commit/7e6f337e1dcf0bfb93e8d084ee3bd57a1cf9ff2d
Author: Xiaodong Liu <57342990+XiaodongLoong at users.noreply.github.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-mca.rst
M llvm/test/tools/llvm-mca/AArch64/Cortex/A510-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A53-carry-over.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A53-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-add-sequence.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-all-views.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-in-order-retire.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-load-readadv.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-load-store-alias.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-load-store-noalias.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-out-of-order-retire.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-store-readadv.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A57-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-writeback.s
M llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N1-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N1-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-clear-upper-regs.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-zero-dependency.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-clear-upper-regs.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-clear-upper-regs.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-clear-upper-regs.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Olympus/clear-upper-regs.s
M llvm/test/tools/llvm-mca/AArch64/Olympus/forwarding-idioms.s
M llvm/test/tools/llvm-mca/AArch64/Olympus/writeback-loads-stores.s
M llvm/test/tools/llvm-mca/AArch64/cortex-a55-carry-over.s
M llvm/test/tools/llvm-mca/AMDGPU/carried-over.s
M llvm/test/tools/llvm-mca/AMDGPU/gfx10-add-sequence.s
M llvm/test/tools/llvm-mca/AMDGPU/gfx10-double.s
M llvm/test/tools/llvm-mca/AMDGPU/gfx10-trans.s
M llvm/test/tools/llvm-mca/AMDGPU/gfx11-double.s
M llvm/test/tools/llvm-mca/AMDGPU/gfx12-permlane16-cycles.s
M llvm/test/tools/llvm-mca/AMDGPU/gfx12-pseudo-scalar-trans.s
M llvm/test/tools/llvm-mca/AMDGPU/gfx9-retireooo.s
M llvm/test/tools/llvm-mca/ARM/cortex-a57-carryover.s
M llvm/test/tools/llvm-mca/ARM/m55-storefwd.s
M llvm/test/tools/llvm-mca/ARM/m7-negative-readadvance.s
M llvm/test/tools/llvm-mca/ARM/memcpy-ldm-stm.s
M llvm/test/tools/llvm-mca/ARM/vld1-index-update.s
M llvm/test/tools/llvm-mca/RISCV/Andes45/fpr.s
M llvm/test/tools/llvm-mca/RISCV/Andes45/gpr.s
M llvm/test/tools/llvm-mca/RISCV/Andes45/zero-reg.s
M llvm/test/tools/llvm-mca/RISCV/MIPS/p8700.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/div-fdiv.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass-c.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/gpr-bypass.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/jump.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/sp-bypass.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/different-lmul-instruments.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/different-sew-instruments.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/disable-im.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-at-start.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-in-middle.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-in-region.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-straddles-region.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/multiple-same-lmul-instruments.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/multiple-same-sew-instruments.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/needs-sew-but-only-lmul.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/no-vsetvli-to-start.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-at-start.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-in-middle.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-in-region.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-straddles-region.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetivli-lmul-instrument.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetivli-lmul-sew-instrument.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetvli-lmul-instrument.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetvli-lmul-sew-instrument.s
M llvm/test/tools/llvm-mca/RISCV/SyntacoreSCR/SCR4_5-FPU.s
M llvm/test/tools/llvm-mca/RISCV/XiangShan/gpr-bypass.s
M llvm/test/tools/llvm-mca/RISCV/XiangShan/load-to-alu.s
M llvm/test/tools/llvm-mca/SystemZ/stm-lm.s
M llvm/test/tools/llvm-mca/X86/AlderlakeP/independent-load-stores.s
M llvm/test/tools/llvm-mca/X86/AlderlakeP/zero-idioms.s
M llvm/test/tools/llvm-mca/X86/Atom/zero-idioms.s
M llvm/test/tools/llvm-mca/X86/Barcelona/clear-super-register-1.s
M llvm/test/tools/llvm-mca/X86/Barcelona/clear-super-register-2.s
M llvm/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-cmp.s
M llvm/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-pcmpeq.s
M llvm/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-pcmpgt.s
M llvm/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-sbb-1.s
M llvm/test/tools/llvm-mca/X86/Barcelona/dependency-breaking-sbb-2.s
M llvm/test/tools/llvm-mca/X86/Barcelona/int-to-fpu-forwarding-3.s
M llvm/test/tools/llvm-mca/X86/Barcelona/load-store-throughput.s
M llvm/test/tools/llvm-mca/X86/Barcelona/load-throughput.s
M llvm/test/tools/llvm-mca/X86/Barcelona/one-idioms.s
M llvm/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-2.s
M llvm/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-3.s
M llvm/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-4.s
M llvm/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-6.s
M llvm/test/tools/llvm-mca/X86/Barcelona/partial-reg-update-7.s
M llvm/test/tools/llvm-mca/X86/Barcelona/partial-reg-update.s
M llvm/test/tools/llvm-mca/X86/Barcelona/read-advance-1.s
M llvm/test/tools/llvm-mca/X86/Barcelona/read-advance-2.s
M llvm/test/tools/llvm-mca/X86/Barcelona/read-advance-3.s
M llvm/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-1.s
M llvm/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-2.s
M llvm/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-3.s
M llvm/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-4.s
M llvm/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-5.s
M llvm/test/tools/llvm-mca/X86/Barcelona/reg-move-elimination-6.s
M llvm/test/tools/llvm-mca/X86/Barcelona/store-throughput.s
M llvm/test/tools/llvm-mca/X86/Barcelona/zero-idioms.s
M llvm/test/tools/llvm-mca/X86/BdVer2/add-sequence.s
M llvm/test/tools/llvm-mca/X86/BdVer2/clear-super-register-1.s
M llvm/test/tools/llvm-mca/X86/BdVer2/clear-super-register-2.s
M llvm/test/tools/llvm-mca/X86/BdVer2/clear-super-register-3.s
M llvm/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-cmp.s
M llvm/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpeq.s
M llvm/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-pcmpgt.s
M llvm/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-sbb-1.s
M llvm/test/tools/llvm-mca/X86/BdVer2/dependency-breaking-sbb-2.s
M llvm/test/tools/llvm-mca/X86/BdVer2/dependent-pmuld-paddd.s
M llvm/test/tools/llvm-mca/X86/BdVer2/dot-product.s
M llvm/test/tools/llvm-mca/X86/BdVer2/hadd-read-after-ld-1.s
M llvm/test/tools/llvm-mca/X86/BdVer2/hadd-read-after-ld-2.s
M llvm/test/tools/llvm-mca/X86/BdVer2/int-to-fpu-forwarding-3.s
M llvm/test/tools/llvm-mca/X86/BdVer2/load-store-alias.s
M llvm/test/tools/llvm-mca/X86/BdVer2/load-store-throughput.s
M llvm/test/tools/llvm-mca/X86/BdVer2/load-throughput.s
M llvm/test/tools/llvm-mca/X86/BdVer2/memcpy-like-test.s
M llvm/test/tools/llvm-mca/X86/BdVer2/one-idioms.s
M llvm/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-2.s
M llvm/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-3.s
M llvm/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-4.s
M llvm/test/tools/llvm-mca/X86/BdVer2/partial-reg-update-6.s
M llvm/test/tools/llvm-mca/X86/BdVer2/partial-reg-update.s
M llvm/test/tools/llvm-mca/X86/BdVer2/pipes-fpu.s
M llvm/test/tools/llvm-mca/X86/BdVer2/pr37790.s
M llvm/test/tools/llvm-mca/X86/BdVer2/rank.s
M llvm/test/tools/llvm-mca/X86/BdVer2/read-advance-1.s
M llvm/test/tools/llvm-mca/X86/BdVer2/read-advance-2.s
M llvm/test/tools/llvm-mca/X86/BdVer2/read-advance-3.s
M llvm/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-1.s
M llvm/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-2.s
M llvm/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-3.s
M llvm/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-4.s
M llvm/test/tools/llvm-mca/X86/BdVer2/reg-move-elimination-5.s
M llvm/test/tools/llvm-mca/X86/BdVer2/register-files-1.s
M llvm/test/tools/llvm-mca/X86/BdVer2/register-files-2.s
M llvm/test/tools/llvm-mca/X86/BdVer2/register-files-5.s
M llvm/test/tools/llvm-mca/X86/BdVer2/store-throughput.s
M llvm/test/tools/llvm-mca/X86/BdVer2/vbroadcast-operand-latency.s
M llvm/test/tools/llvm-mca/X86/BdVer2/vec-logic-read-after-ld-1.s
M llvm/test/tools/llvm-mca/X86/BdVer2/vec-logic-read-after-ld-2.s
M llvm/test/tools/llvm-mca/X86/BdVer2/xop-super-registers-1.s
M llvm/test/tools/llvm-mca/X86/BdVer2/xop-super-registers-2.s
M llvm/test/tools/llvm-mca/X86/BdVer2/zero-idioms-avx-256.s
M llvm/test/tools/llvm-mca/X86/BdVer2/zero-idioms.s
M llvm/test/tools/llvm-mca/X86/Broadwell/zero-idioms.s
M llvm/test/tools/llvm-mca/X86/BtVer2/add-sequence.s
M llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-1.s
M llvm/test/tools/llvm-mca/X86/BtVer2/bottleneck-hints-3.s
M llvm/test/tools/llvm-mca/X86/BtVer2/clear-super-register-1.s
M llvm/test/tools/llvm-mca/X86/BtVer2/clear-super-register-2.s
M llvm/test/tools/llvm-mca/X86/BtVer2/cmpxchg-read-advance.s
M llvm/test/tools/llvm-mca/X86/BtVer2/dependency-breaking-cmp.s
M llvm/test/tools/llvm-mca/X86/BtVer2/dependency-breaking-pcmpeq.s
M llvm/test/tools/llvm-mca/X86/BtVer2/dependency-breaking-pcmpgt.s
M llvm/test/tools/llvm-mca/X86/BtVer2/dependency-breaking-sbb-1.s
M llvm/test/tools/llvm-mca/X86/BtVer2/dependency-breaking-sbb-2.s
M llvm/test/tools/llvm-mca/X86/BtVer2/dependent-pmuld-paddd.s
M llvm/test/tools/llvm-mca/X86/BtVer2/dot-product.s
M llvm/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-1.s
M llvm/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-2.s
M llvm/test/tools/llvm-mca/X86/BtVer2/independent-load-stores.s
M llvm/test/tools/llvm-mca/X86/BtVer2/int-to-fpu-forwarding-3.s
M llvm/test/tools/llvm-mca/X86/BtVer2/load-store-alias.s
M llvm/test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s
M llvm/test/tools/llvm-mca/X86/BtVer2/negative-read-advance.s
M llvm/test/tools/llvm-mca/X86/BtVer2/one-idioms.s
M llvm/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-2.s
M llvm/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-3.s
M llvm/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-4.s
M llvm/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-6.s
M llvm/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-7.s
M llvm/test/tools/llvm-mca/X86/BtVer2/partial-reg-update.s
M llvm/test/tools/llvm-mca/X86/BtVer2/pipes-fpu.s
M llvm/test/tools/llvm-mca/X86/BtVer2/pr37790.s
M llvm/test/tools/llvm-mca/X86/BtVer2/rank.s
M llvm/test/tools/llvm-mca/X86/BtVer2/read-advance-1.s
M llvm/test/tools/llvm-mca/X86/BtVer2/read-advance-2.s
M llvm/test/tools/llvm-mca/X86/BtVer2/read-advance-3.s
M llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-1.s
M llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-2.s
M llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-3.s
M llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-4.s
M llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-5.s
M llvm/test/tools/llvm-mca/X86/BtVer2/reg-move-elimination-6.s
M llvm/test/tools/llvm-mca/X86/BtVer2/register-files-1.s
M llvm/test/tools/llvm-mca/X86/BtVer2/register-files-2.s
M llvm/test/tools/llvm-mca/X86/BtVer2/register-files-5.s
M llvm/test/tools/llvm-mca/X86/BtVer2/rmw-adc-sequence-readadvance.s
M llvm/test/tools/llvm-mca/X86/BtVer2/rmw-add-sequence-readadvance.s
M llvm/test/tools/llvm-mca/X86/BtVer2/stmxcsr-ldmxcsr.s
M llvm/test/tools/llvm-mca/X86/BtVer2/vbroadcast-operand-latency.s
M llvm/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-1.s
M llvm/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-2.s
M llvm/test/tools/llvm-mca/X86/BtVer2/xadd.s
M llvm/test/tools/llvm-mca/X86/BtVer2/xchg.s
M llvm/test/tools/llvm-mca/X86/BtVer2/zero-idioms-avx-256.s
M llvm/test/tools/llvm-mca/X86/BtVer2/zero-idioms.s
M llvm/test/tools/llvm-mca/X86/Generic/avx512-super-registers-1.s
M llvm/test/tools/llvm-mca/X86/Generic/avx512-super-registers-2.s
M llvm/test/tools/llvm-mca/X86/Generic/avx512-super-registers-3.s
M llvm/test/tools/llvm-mca/X86/Generic/xop-super-registers-1.s
M llvm/test/tools/llvm-mca/X86/Generic/xop-super-registers-2.s
M llvm/test/tools/llvm-mca/X86/Haswell/independent-load-stores.s
M llvm/test/tools/llvm-mca/X86/Haswell/mulx-hi-read-advance.s
M llvm/test/tools/llvm-mca/X86/Haswell/stmxcsr-ldmxcsr.s
M llvm/test/tools/llvm-mca/X86/Haswell/zero-idioms.s
M llvm/test/tools/llvm-mca/X86/IceLakeServer/independent-load-stores.s
M llvm/test/tools/llvm-mca/X86/IceLakeServer/zero-idioms.s
M llvm/test/tools/llvm-mca/X86/LunarlakeP/independent-load-stores.s
M llvm/test/tools/llvm-mca/X86/LunarlakeP/zero-idioms.s
M llvm/test/tools/llvm-mca/X86/SLM/zero-idioms.s
M llvm/test/tools/llvm-mca/X86/SandyBridge/zero-idioms.s
M llvm/test/tools/llvm-mca/X86/SapphireRapids/independent-load-stores.s
M llvm/test/tools/llvm-mca/X86/SapphireRapids/zero-idioms.s
M llvm/test/tools/llvm-mca/X86/SkylakeClient/independent-load-stores.s
M llvm/test/tools/llvm-mca/X86/SkylakeClient/mulx-hi-read-advance.s
M llvm/test/tools/llvm-mca/X86/SkylakeClient/zero-idioms.s
M llvm/test/tools/llvm-mca/X86/SkylakeServer/independent-load-stores.s
M llvm/test/tools/llvm-mca/X86/SkylakeServer/zero-idioms.s
M llvm/test/tools/llvm-mca/X86/Znver1/partial-reg-update-2.s
M llvm/test/tools/llvm-mca/X86/Znver1/partial-reg-update-3.s
M llvm/test/tools/llvm-mca/X86/Znver1/partial-reg-update-4.s
M llvm/test/tools/llvm-mca/X86/Znver1/partial-reg-update-6.s
M llvm/test/tools/llvm-mca/X86/Znver1/partial-reg-update-7.s
M llvm/test/tools/llvm-mca/X86/Znver1/partial-reg-update.s
M llvm/test/tools/llvm-mca/X86/Znver1/zero-idioms.s
M llvm/test/tools/llvm-mca/X86/Znver2/mulx-hi-read-advance.s
M llvm/test/tools/llvm-mca/X86/Znver2/partial-reg-update-2.s
M llvm/test/tools/llvm-mca/X86/Znver2/partial-reg-update-3.s
M llvm/test/tools/llvm-mca/X86/Znver2/partial-reg-update-4.s
M llvm/test/tools/llvm-mca/X86/Znver2/partial-reg-update-6.s
M llvm/test/tools/llvm-mca/X86/Znver2/partial-reg-update-7.s
M llvm/test/tools/llvm-mca/X86/Znver2/partial-reg-update.s
M llvm/test/tools/llvm-mca/X86/Znver2/zero-idioms.s
M llvm/test/tools/llvm-mca/X86/Znver3/dependency-breaking-gpr.s
M llvm/test/tools/llvm-mca/X86/Znver3/mulx-hi-read-advance.s
M llvm/test/tools/llvm-mca/X86/Znver3/one-idioms-avx-xmm.s
M llvm/test/tools/llvm-mca/X86/Znver3/one-idioms-avx-ymm.s
M llvm/test/tools/llvm-mca/X86/Znver3/one-idioms-mmx.s
M llvm/test/tools/llvm-mca/X86/Znver3/one-idioms-sse-xmm.s
M llvm/test/tools/llvm-mca/X86/Znver3/partial-reg-update-2.s
M llvm/test/tools/llvm-mca/X86/Znver3/partial-reg-update-3.s
M llvm/test/tools/llvm-mca/X86/Znver3/partial-reg-update-4.s
M llvm/test/tools/llvm-mca/X86/Znver3/partial-reg-update-6.s
M llvm/test/tools/llvm-mca/X86/Znver3/partial-reg-update-7.s
M llvm/test/tools/llvm-mca/X86/Znver3/partial-reg-update.s
M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-avx-xmm.s
M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-avx-ymm.s
M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-gpr.s
M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-mmx.s
M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-sse-xmm.s
M llvm/test/tools/llvm-mca/X86/Znver3/reg-move-elimination-x87.s
M llvm/test/tools/llvm-mca/X86/Znver3/zero-idioms-avx-xmm.s
M llvm/test/tools/llvm-mca/X86/Znver3/zero-idioms-avx-ymm.s
M llvm/test/tools/llvm-mca/X86/Znver3/zero-idioms-gpr.s
M llvm/test/tools/llvm-mca/X86/Znver3/zero-idioms-sse-xmm.s
M llvm/test/tools/llvm-mca/X86/Znver4/independent-load-stores.s
M llvm/test/tools/llvm-mca/X86/Znver4/partially-overlapping-group-resources.s
M llvm/test/tools/llvm-mca/X86/Znver4/zero-idioms.s
M llvm/test/tools/llvm-mca/X86/bextr-read-after-ld.s
M llvm/test/tools/llvm-mca/X86/bzhi-read-after-ld.s
M llvm/test/tools/llvm-mca/X86/fma3-read-after-ld-1.s
M llvm/test/tools/llvm-mca/X86/fma3-read-after-ld-2.s
M llvm/test/tools/llvm-mca/X86/read-after-ld-1.s
M llvm/test/tools/llvm-mca/X86/read-after-ld-2.s
M llvm/test/tools/llvm-mca/X86/read-after-ld-3.s
M llvm/test/tools/llvm-mca/X86/sqrt-rsqrt-rcp-memop.s
M llvm/test/tools/llvm-mca/X86/stack-engine-pop.s
M llvm/test/tools/llvm-mca/X86/stack-engine-push.s
M llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-1.s
M llvm/test/tools/llvm-mca/X86/variable-blend-read-after-ld-2.s
M llvm/tools/llvm-mca/Views/TimelineView.cpp
M llvm/tools/llvm-mca/Views/TimelineView.h
Log Message:
-----------
[llvm-mca] Fix total execution count in Average Wait times (#199500)
Fix the column `0` for the `<total>` row in llvm-mca's `Average Wait times` report. The `total`
row now represents the total dynamic execution count used to normalize the averages,
instead of the per-instruction iteration count. Update the timeline view docs and autogenerated
test expectations accordingly.
Co-authored-by: liuxiaodong <liuxiaodong at sunmmio.com>
Commit: 40602b6346cc3e2fda464f31d9e9473c55be94b3
https://github.com/llvm/llvm-project/commit/40602b6346cc3e2fda464f31d9e9473c55be94b3
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M lld/COFF/Writer.cpp
M lld/test/COFF/ctors_dtors_priority.s
Log Message:
-----------
[LLD][COFF] Gate second-dot section-name stripping on MinGW (#199625)
The comment in getOutputSectionName has always called the second-dot
stripping "for MinGW" (e.g. .ctors.NNNN), but the code applied it on
every target. This hiddes a split-dwarf bug #199616.
Take an isMinGW gate and skip the stripping when it is false.
Commit: 1b19eccf1751f99a8a77371428bc2708169c516e
https://github.com/llvm/llvm-project/commit/1b19eccf1751f99a8a77371428bc2708169c516e
Author: Amir Ayupov <aaupov at fb.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT][NFC] Split out function marking from profile parsing
Move out `setHasProfileAvailable` into `markFunctionsWithProfile`.
This also allows extracting per-pre-aggregated type handling in
`parseAggregatedLBREntry` into a switch statement.
Test Plan:
NFC
Processing time change (wall time):
* 10MB pre-aggregated profile:
- Parsing aggregated branch events: 0.16s -> 0.05s
- Pre-process profile data (parsing+marking): 0.18s -> 0.16s
* 6GB perf.data file:
- Parsing branch events: 29.06s -> 28.55s
- Pre-process profile data (excluding perf script): 29.47s -> 29.13s
Reviewers:
rafaelauler, yota9, maksfb, ayermolo, yozhu, yavtuk, paschalis-mpeis
Pull Request: https://github.com/llvm/llvm-project/pull/199320
Commit: 73de4c73dc9b143212848cc0f97abc123cc7893c
https://github.com/llvm/llvm-project/commit/73de4c73dc9b143212848cc0f97abc123cc7893c
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
[NFC][AMDGPU] Improve the predicate uses for WMMAs (#199807)
Commit: 7259dd668674a2eb26be6cd21452292fe39fcc09
https://github.com/llvm/llvm-project/commit/7259dd668674a2eb26be6cd21452292fe39fcc09
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV][P-ext] Add DefVXSAT argument to tablegen classes. NFC (#199797)
Sink the lets Defs = [VXSAT] into the classs.
This makes the encoding based structure of this file more consistent.
Commit: 05e1af73ba2d3f8fcf8fca2eca7aaf62d44eb3b6
https://github.com/llvm/llvm-project/commit/05e1af73ba2d3f8fcf8fca2eca7aaf62d44eb3b6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV][P-ext] Remove duplicate hasSideEffects=0, mayLoad=0, mayStore=0. NFC (#199798)
We had a let outside the class and inside.
Commit: 0d5b7522dc729f04c27d8c9d536321d57b3b3196
https://github.com/llvm/llvm-project/commit/0d5b7522dc729f04c27d8c9d536321d57b3b3196
Author: Jianjian Guan <jacquesguan at me.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
[RISCV][NFC] Remove SegInstSEW for unused function (#199598)
Since SegInstSEW is only used by segment load/store, no need to keep it
for other builtins.
Commit: 853d532794be83adc97d51c9ff8c9095ce32631b
https://github.com/llvm/llvm-project/commit/853d532794be83adc97d51c9ff8c9095ce32631b
Author: Sam Clegg <sbc at chromium.org>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M llvm/test/tools/llvm-symbolizer/wasm-basic.s
Log Message:
-----------
Fix llvm-symbolizer test broken by #199739 (#199801)
I broke this test in #199739. As a result to that change, the start of
the CODE section in the linked WASM file shifted from 0x41 to 0x37 (a
shift of -10 bytes).
I was not aware that `wasm-ld` had testing outside of `lld/test/wasm`.
Commit: 5a616ce490abe551ffc7a7714c28e90c483f5b39
https://github.com/llvm/llvm-project/commit/5a616ce490abe551ffc7a7714c28e90c483f5b39
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M libcxx/utils/ci/docker/docker-compose.yml
Log Message:
-----------
[libc++] Update the GCC head version to 17 (#199823)
GCC released a new version, so we should bump the versions installed in
the CI so we can upgrade.
Commit: 22ba468002d561185371c06f899c8c753edc6750
https://github.com/llvm/llvm-project/commit/22ba468002d561185371c06f899c8c753edc6750
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/unions.cpp
Log Message:
-----------
[clang][bytecode] Fix non-defaulted union copy/move ctors (#199394)
They are like regular record ctors.
Commit: 80490b8cfa343692500706f31893ba429fec96b7
https://github.com/llvm/llvm-project/commit/80490b8cfa343692500706f31893ba429fec96b7
Author: Iris Shi <0.0 at owo.li>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Sema/SemaStmtAsm.cpp
A clang/test/Sema/inline-asm-constraint-embedded-null.c
Log Message:
-----------
[clang][diagnostics] Reject embedded NUL characters in inline asm (#196462)
As suggested by @jmorse and @efriedma-quic in #196223.
---------
Co-authored-by: Corentin Jabot <corentinjabot at gmail.com>
Commit: 3913c828ab911757e8c971817757c2ab51452e45
https://github.com/llvm/llvm-project/commit/3913c828ab911757e8c971817757c2ab51452e45
Author: somi <1wosomm1 at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/MC/MCStreamer.cpp
R llvm/test/MC/AsmParser/cfi-unfinished-frame.s
M llvm/test/MC/ELF/cfi-scope-errors.s
Log Message:
-----------
[MC] Diagnose unfinished CFI frame from an earlier section (#196775)
Fixes #177852.
The reproducer has two `.cfi_startproc` directives separated by a
`.popsection`. The first is never closed; the second is properly paired
with `.cfi_endproc`. `MCStreamer::finish()` only inspects the last entry
of `DwarfFrameInfos`, so the unfinished earlier frame slips through and
crashes `finishImpl()` when it emits frame data with a null End label.
Use `hasUnfinishedDwarfFrameInfo()` instead, which walks the full
`FrameInfoStack` and catches every unfinished frame.
---------
Co-authored-by: Fangrui Song <i at maskray.me>
Commit: c85c8af5426eb1affa14388deb78a4731737bf04
https://github.com/llvm/llvm-project/commit/c85c8af5426eb1affa14388deb78a4731737bf04
Author: Garvit Gupta <garvgupt at qti.qualcomm.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
Log Message:
-----------
[compiler-rt][ARM] Add missing SUPERSEDES for optimized FP comparison sources (#199604)
PR #179924 and #179925 added optimized assembly implementations for ARM
double-precision and single-precision FP comparisons (arm/cmpdf2.S,
arm/gedf2.S, arm/unorddf2.S, arm/cmpsf2.S, arm/gesf2.S, arm/unordsf2.S)
but only added SUPERSEDES annotations for the thumb1 variants. The arm
variants were missing these annotations, causing both the generic and
optimized implementations to be included in libclang_rt.builtins.a.
For double-precision, the archive contains:
- comparedf2.c.obj (pos 28): defines __unorddf2, __aeabi_dcmpun, ...
- divdc3.c.obj (pos 32): defines __divdc3; refs __aeabi_dcmpun
- unorddf2.S.obj (pos 126): defines __unorddf2, __aeabi_dcmpun
- aeabi_dcmp.S.obj (pos 158): defines __aeabi_dcmpeq; refs __eqdf2
When linking divdc3_test.c, the linker loads divdc3.c.obj which
introduces __aeabi_dcmpun as undefined. BFD-like linkers (GNU ld, ELD)
continue scanning forward and resolve __aeabi_dcmpun from unorddf2.S.obj
(pos 126). Later, aeabi_dcmp.S.obj introduces __eqdf2 as undefined,
which is resolved by comparedf2.c.obj (pos 28) on the next pass. Since
both comparedf2.c.obj and unorddf2.S.obj define __unorddf2, the linker
reports a duplicate symbol error.
lld does not encounter this because of the difference in the way it
resolves symbol references. This causes comparedf2.c.obj (pos 28) to be
selected first for __aeabi_dcmpun, making unorddf2.S.obj unnecessary.
The same pattern exists for single-precision where arm/comparesf2.S and
arm/unordsf2.S both define __unordsf2 and __aeabi_fcmpun.
The fix adds SUPERSEDES annotations so that the generic implementations
(comparedf2.c for double-precision and arm/comparesf2.S for single-
precision) are removed from the source list when the optimized assembly
replacements are present. The assembly files together provide all
symbols that the generic implementations define.
The surrounding code was reviewed, and this PR was developed with the
assistance of AI.
Commit: 18ddec75ba8241bb49e290cbc60c05dca7ab6250
https://github.com/llvm/llvm-project/commit/18ddec75ba8241bb49e290cbc60c05dca7ab6250
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb] Use private stop for breakpoint-delaying decision (#199639)
Commit: 532940bdee66bf5f36a70578698aab66f16919af
https://github.com/llvm/llvm-project/commit/532940bdee66bf5f36a70578698aab66f16919af
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
A llvm/include/llvm/Object/BBAddrMap.def
M llvm/include/llvm/Object/BBAddrMap.h
Log Message:
-----------
[BBAddrMap] Drive Features and Metadata bits from BBAddrMap.def (#196906)
Move the bit name list of BBAddrMap::Features and BBAddrMap::BBEntry::Metadata
into a new BBAddrMap.def and derive the enum, bitfield, encode(), decode(),
and operator== from it. Adding a new bit now only requires one line in the
.def file.
Also expose BBAddrMap::Features::KnownMask for future use.
Commit: 4ee7e900f321c78271c87da47f1d7bd4263f3e7c
https://github.com/llvm/llvm-project/commit/4ee7e900f321c78271c87da47f1d7bd4263f3e7c
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M bolt/test/lit.cfg.py
M libsycl/test/lit.cfg.py
M lldb/test/API/lit.cfg.py
M lldb/test/Shell/lit.cfg.py
M llvm/utils/lit/lit/LitConfig.py
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/lit/TestingConfig.py
M llvm/utils/lit/lit/formats/googletest.py
M llvm/utils/lit/lit/main.py
M llvm/utils/lit/tests/Inputs/googletest-timeout/lit.cfg
M llvm/utils/lit/tests/Inputs/shtest-timeout/lit.cfg
Log Message:
-----------
[lit] Move maxIndividualTestTime from global to test suite config (#198192)
Simplify LitConfig initialization and setter to allow None values.
TestingConfig.maxIndividualTestTime is initialized to 0 (or resolved to
0 if None) strictly during initialization.
This fixes an issue where the aggressive BOLT timeout of 60s (previously
set globally on lit_config) was leaking and affecting libc++ tests. By
moving the timeout configuration from the global lit_config to the
individual test suite config, we ensure that timeouts are isolated and
respect suite-local settings without leaking.
PR Stack:
* ➤ https://github.com/llvm/llvm-project/pull/198192
* https://github.com/llvm/llvm-project/pull/198193
Assisted-by: Gemini
Commit: 4f54064a6e192eb182ba5e718f1b6d70065a6609
https://github.com/llvm/llvm-project/commit/4f54064a6e192eb182ba5e718f1b6d70065a6609
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M llvm/include/llvm/IR/MemoryModelRelaxationAnnotations.h
M llvm/lib/IR/MemoryModelRelaxationAnnotations.cpp
Log Message:
-----------
[IR] Introduce an appendTags() idiom to set MMRA metadata [NFC] (#199621)
This is a simple set-union of new tags and existing tags. This is safer
than directly setting metadata, which can over-write existing MMRAs.
Assisted-By: Claude Opus 4.6
---------
Co-authored-by: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Commit: 505a611530cc4508ad815f142f7b727a278f3590
https://github.com/llvm/llvm-project/commit/505a611530cc4508ad815f142f7b727a278f3590
Author: NeKon69 <nobodqwe at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M .github/new-issues-labeler.yml
Log Message:
-----------
Auto-label LifetimeSafety issues with `clang:temporal-safety` (#199522)
cc: @usx95
Commit: a3adb545b6a33044ab634b7a330bab5d4ee76d24
https://github.com/llvm/llvm-project/commit/a3adb545b6a33044ab634b7a330bab5d4ee76d24
Author: NeKon69 <nobodqwe at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Sema/SemaLifetimeSafety.h
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
Log Message:
-----------
[LifetimeSafety] Add details for `-Wlifetime-safety-return-stack-addr` diagnostic (#199432)
Most of the diagnostic's wording was taken from `-Wreturn-stack-address`
with exceptions such as:
- We do not special-case `[[clang::musttail]]`
- We do not special-case `CompoundLiteralExpr` as it is mostly a C
thing.
This patch does not add any new tests, it only updates already existing
test warnings to follow the new wording.
Comes as part of completing #186002
Commit: 6bbbf743ae49736ba438e9dbd14a5bd0f4166382
https://github.com/llvm/llvm-project/commit/6bbbf743ae49736ba438e9dbd14a5bd0f4166382
Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVElement.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLocation.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVReader.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSupport.h
M llvm/include/llvm/DebugInfo/LogicalView/LVReaderHandler.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVBinaryReader.h
A llvm/include/llvm/DebugInfo/LogicalView/Readers/LVIRReader.h
M llvm/lib/DebugInfo/LogicalView/CMakeLists.txt
M llvm/lib/DebugInfo/LogicalView/Core/LVElement.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVLocation.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVReader.cpp
M llvm/lib/DebugInfo/LogicalView/LVReaderHandler.cpp
A llvm/lib/DebugInfo/LogicalView/Readers/LVIRReader.cpp
M llvm/lib/Transforms/Utils/DebugSSAUpdater.cpp
A llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-compare-logical-elements.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-print-basic-details.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-select-logical-elements.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/02-ir-logical-lines.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/03-ir-incorrect-lexical-scope-typedef.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/04-ir-missing-nested-enumerators.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/05-ir-incorrect-lexical-scope-variable.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/06-ir-full-logical-view.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/07-ir-debug-formats.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/08-ir-multiple-compile-units.test
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-1.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-2.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-3.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/hello-world-clang.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-43860-clang.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-44884-clang.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-46466-clang.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/test-clang-intrinsics.ll
A llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/test-clang.ll
M llvm/tools/llvm-debuginfo-analyzer/CMakeLists.txt
M llvm/unittests/DebugInfo/LogicalView/CMakeLists.txt
A llvm/unittests/DebugInfo/LogicalView/IRReaderTest.cpp
M llvm/unittests/DebugInfo/LogicalView/Inputs/README.md
A llvm/unittests/DebugInfo/LogicalView/Inputs/test-clang.bc
A llvm/unittests/DebugInfo/LogicalView/Inputs/test-clang.ll
Log Message:
-----------
[llvm-debuginfo-analyzer] Add support for LLVM IR format. (#135440)
llvm-debuginfo-analyzer is a command line tool that processes debug
info contained in a binary file and produces a debug information
format agnostic “Logical View”, which is a high-level semantic
representation of the debug info, independent of the low-level format.
Add support for the LLVM IR format and be able to generate logical
views. Both textual representation (.ll) and bitcode (.bc) formats
are supported.
Commit: 2b286794010f5549d109b37941a4c3171489c5d8
https://github.com/llvm/llvm-project/commit/2b286794010f5549d109b37941a4c3171489c5d8
Author: Kigyosi Alexandru <alexandru.kigyosi at intel.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M mlir/include/mlir/IR/MLIRContext.h
M mlir/lib/IR/MLIRContext.cpp
Log Message:
-----------
[MLIR] Add a non-const ActionHandler getter to MLIRContext (#199652)
#197230 added a getter for the ActionHandler, but only returns a const
ref with a non-const accessor.
Instead provide both variants: a const accessor returning a const ref
and non-const one returning a mutable ref.
Commit: 77d3da64d2bbbcd520aede072225d4790e95a84e
https://github.com/llvm/llvm-project/commit/77d3da64d2bbbcd520aede072225d4790e95a84e
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/builtin-masked.c
Log Message:
-----------
[Clang] Accept gnu vectors in __builtin_masked* (#198248)
There doesn't seem to be a good reason to reject gnu vectors in these
builtins. The error messages for that case are also rather bizzare,
which doesn't help with figuring out what's going wrong.
Commit: 263494977277ad6514e353021c31e3096c6cb3aa
https://github.com/llvm/llvm-project/commit/263494977277ad6514e353021c31e3096c6cb3aa
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 532940b (#199874)
This fixes 532940bdee66bf5f36a70578698aab66f16919af.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 6de9a33debfdcd4dc77f826d515b744d382a8598
https://github.com/llvm/llvm-project/commit/6de9a33debfdcd4dc77f826d515b744d382a8598
Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVElement.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLocation.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVReader.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSupport.h
M llvm/include/llvm/DebugInfo/LogicalView/LVReaderHandler.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVBinaryReader.h
R llvm/include/llvm/DebugInfo/LogicalView/Readers/LVIRReader.h
M llvm/lib/DebugInfo/LogicalView/CMakeLists.txt
M llvm/lib/DebugInfo/LogicalView/Core/LVElement.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVLocation.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVReader.cpp
M llvm/lib/DebugInfo/LogicalView/LVReaderHandler.cpp
R llvm/lib/DebugInfo/LogicalView/Readers/LVIRReader.cpp
M llvm/lib/Transforms/Utils/DebugSSAUpdater.cpp
R llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-compare-logical-elements.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-print-basic-details.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/01-ir-select-logical-elements.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/02-ir-logical-lines.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/03-ir-incorrect-lexical-scope-typedef.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/04-ir-missing-nested-enumerators.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/05-ir-incorrect-lexical-scope-variable.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/06-ir-full-logical-view.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/07-ir-debug-formats.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/08-ir-multiple-compile-units.test
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-1.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-2.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit-3.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/compile-unit.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/hello-world-clang.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-43860-clang.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-44884-clang.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/pr-46466-clang.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/test-clang-intrinsics.ll
R llvm/test/tools/llvm-debuginfo-analyzer/IR/Inputs/test-clang.ll
M llvm/tools/llvm-debuginfo-analyzer/CMakeLists.txt
M llvm/unittests/DebugInfo/LogicalView/CMakeLists.txt
R llvm/unittests/DebugInfo/LogicalView/IRReaderTest.cpp
M llvm/unittests/DebugInfo/LogicalView/Inputs/README.md
R llvm/unittests/DebugInfo/LogicalView/Inputs/test-clang.bc
R llvm/unittests/DebugInfo/LogicalView/Inputs/test-clang.ll
Log Message:
-----------
Revert "[llvm-debuginfo-analyzer] Add support for LLVM IR format. (#135440)" (#199890)
This reverts commit 6bbbf743ae49736ba438e9dbd14a5bd0f4166382.
There are link issues with some buildbots.
Commit: a4b1361f33139e7a0a02edee1a1b012740951e01
https://github.com/llvm/llvm-project/commit/a4b1361f33139e7a0a02edee1a1b012740951e01
Author: Boyao Wang <wangboyao at bytedance.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
Log Message:
-----------
[RISCV][CodeGen] Use vzip.vv for e64 interleave shuffles with Zvzip (#199512)
Allow e64 interleave shuffles to use the standard Zvzip `vzip.vv`
lowering when the operand type is legal for Zvzip, just the same as what
XrivosVizip already does.
Commit: f5bda2b94460d8439ed876d6486774d863ae989a
https://github.com/llvm/llvm-project/commit/f5bda2b94460d8439ed876d6486774d863ae989a
Author: NeKon69 <nobodqwe at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/test/Sema/warn-lifetime-safety.cpp
Log Message:
-----------
[LifetimeSafety] Change new tests' warnings to new ones (#199887)
cc: @usx95
Commit: 66bafd43ff2beb1d727339361df7ad34ea30e97a
https://github.com/llvm/llvm-project/commit/66bafd43ff2beb1d727339361df7ad34ea30e97a
Author: Mieszko Dziadowiec <mieszko.dziadowiec at intel.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M mlir/lib/Support/TypeID.cpp
Log Message:
-----------
[MLIR] Improve TypeID anonymous namespace check to handle GCC's __PRETTY_FUNCTION__ format (#199634)
The anonymous namespace detection in
`FallbackTypeIDResolver::registerImplicitTypeID` only checked for
Clang's `(anonymous namespace)` and MSVC's `anonymous-namespace`
formats. GCC produces `{anonymous}` in `__PRETTY_FUNCTION__`, silently
bypassing the check.
Commit: 99238714741163c9187ca8db6ebe73c4cb3a4400
https://github.com/llvm/llvm-project/commit/99238714741163c9187ca8db6ebe73c4cb3a4400
Author: Amir Ayupov <aaupov at fb.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT][NFC] Split out DataAggregator::parseInput
Test Plan: NFC
Reviewers:
paschalis-mpeis, maksfb, ayermolo, yavtuk, yozhu, rafaelauler, yota9
Reviewed By: yozhu, rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/199321
Commit: b926cf7da0918686f4bcb4e16f3066aca22ae1e6
https://github.com/llvm/llvm-project/commit/b926cf7da0918686f4bcb4e16f3066aca22ae1e6
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M mlir/include/mlir/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosa.h
M mlir/lib/Conversion/TosaToSPIRVTosa/CMakeLists.txt
A mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaOps.cpp
M mlir/lib/Conversion/TosaToSPIRVTosa/TosaToSPIRVTosaPass.cpp
A mlir/test/Conversion/TosaToSPIRVTosa/tosa-to-spirv.mlir
Log Message:
-----------
[mlir][tosa][spirv] Lower TOSA elementwise ops to SPIR-V TOSA (#199505)
Add conversion patterns for simple TOSA elementwise operations to the
SPIR-V TOSA dialect.
The lowering covers unary and binary elementwise ops with shared pattern
templates, plus min/max handling for NaN propagation mode.
Add focused conversion tests that check the generated SPIR-V TOSA ops.
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 4c9296d94c95c4b4064a77cd7a61352bfb5130fd
https://github.com/llvm/llvm-project/commit/4c9296d94c95c4b4064a77cd7a61352bfb5130fd
Author: Amir Ayupov <aaupov at fb.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M bolt/tools/driver/llvm-bolt.cpp
Log Message:
-----------
[BOLT][NFC] Unify perf data setting
Combine opts::PerfData handling into one place per driver (llvm-bolt and
heatmap).
* Allow using perf data directly after DataAggregator/DataReader
unification in #195986.
* Drop redundant perf data checks in perf2boltMode done by setProfile.
Test Plan: NFC
Reviewers:
ritter-x2a, david-salinas, grypp, Pierre-vh, dcaballe, aartbik, adam-smnk, fabianmcg, yota9, JDevlieghere, banach-space, xlauko, nikic, #reviewers-libcxx, rafaelauler, Moxinilian, nicolasvasilache, yozhu, ayermolo, paschalis-mpeis, lamb-j, andykaylor, #reviewers-libc, vangthao95, bcardosolopes, yavtuk, aaronmondal, rupprecht, matthias-springer, keith, maksfb, lanza, Jianhui-Li, charithaintc
Reviewed By: yozhu, rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/199322
Commit: 3e0c818e6f80213b737a5e18318de794a3914f71
https://github.com/llvm/llvm-project/commit/3e0c818e6f80213b737a5e18318de794a3914f71
Author: Rana Pratap Reddy <109514914+ranapratap55 at users.noreply.github.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
A clang/test/CIR/CodeGenHIP/builtins-amdgcn-image.hip
Log Message:
-----------
[CIR][AMDGPU] Adds lowering for amdgcn image load/store builtins (#198184)
Support for lowering of amdgcn_image_load/store for AMDGPU builtins to
clangIR.
Followed similar lowering from clang->llvmir:
`clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp`.
Upstreaming clangIR PR: https://github.com/llvm/clangir/pull/2058
Commit: d63f99627b9b08d71595b1879be74a8225873e34
https://github.com/llvm/llvm-project/commit/d63f99627b9b08d71595b1879be74a8225873e34
Author: Amir Ayupov <aaupov at fb.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
A bolt/test/merge-fdata-no-lbr-event-multi.test
A bolt/test/merge-fdata-no-lbr-event.test
M bolt/tools/merge-fdata/merge-fdata.cpp
Log Message:
-----------
[BOLT][merge-fdata] Preserve event names
Test Plan: added merge-fdata-no-lbr-event*.test
Reviewers:
maksfb, paschalis-mpeis, yozhu, yota9, yavtuk, rafaelauler, ayermolo
Reviewed By: rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/199323
Commit: 698d44bf9ff61cd8c924bcf406c29c9988d5ea5e
https://github.com/llvm/llvm-project/commit/698d44bf9ff61cd8c924bcf406c29c9988d5ea5e
Author: Hui <hui.xie1990 at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGen/builtin-clear-padding-codegen.c
A clang/test/CodeGenCXX/builtin-clear-padding-codegen.cpp
A clang/test/Sema/builtin-clear-padding.c
A clang/test/SemaCXX/builtin-clear-padding.cpp
A libcxx/test/libcxx/atomics/builtin_clear_padding.pass.cpp
Log Message:
-----------
[clang] Add builtin to clear padding bytes (prework for P0528R3) (#75371)
Add builtin to clear padding bytes. This is the pre-work to implement
`std::atomic::compare_exchange_[weak/strong]` that ignores padding bits.
PR draft here: https://github.com/llvm/llvm-project/pull/76180
This PR picked up this patch from 3 years ago
https://reviews.llvm.org/D87974
The above patch no longer works as things changed quite a lot. I've made
some changes on top of the above patch:
it handles:
- struct
- builtin types with paddings (like `long double` and types with
`__attribute__((ext_vector_type(N)))`
- _Complex long double
- constant array
- union
- bit field
- types with virtual functions
- types with virtual bases
---------
Co-authored-by: zoecarver <z.zoelec2 at gmail.com>
Commit: c94e5f327f47821e29f21b39ef1dc511c91341d9
https://github.com/llvm/llvm-project/commit/c94e5f327f47821e29f21b39ef1dc511c91341d9
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
Log Message:
-----------
AMDGPU/GlobalISel: Move executeInWaterfallLoop call from lower (#199701)
WFI is an argument to applyMappingSrc and lower,
move executeInWaterfallLoop after these two return.
Also set insert point in executeInWaterfallLoop to
avoid need to set insert point before calling it.
Commit: 99e6632cf619e4654443d2f58e9ffe6015a34314
https://github.com/llvm/llvm-project/commit/99e6632cf619e4654443d2f58e9ffe6015a34314
Author: Vicky Nguyen <vicky.trucviennguyen at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
M clang/test/CodeGen/AArch64/poly64.c
Log Message:
-----------
[CIR][AArch64] Upstream vector-shift-right-and-insert NEON builtins (#196776)
Related to https://github.com/llvm/llvm-project/issues/185382
CIR lowering for vector-shift-right-and-insert intrinsics
(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#vector-shift-right-and-insert)
Port tests from clang/test/CodeGen/AArch64/neon_intrinsics.c and
clang/test/CodeGen/AArch64/poly64.c to
clang/test/CodeGen/AArch64/neon/intrinsics.c
Commit: 4def779282d9c2a179fcfeb0079928f1bb2ce409
https://github.com/llvm/llvm-project/commit/4def779282d9c2a179fcfeb0079928f1bb2ce409
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M libcxx/test/libcxx-03/vendor/apple/disable-availability.sh.cpp
M libcxx/test/libcxx/utilities/meta/is_within_lifetime.verify.cpp
M libcxx/test/selftest/modules/std-and-std.compat-module.sh.cpp
M libcxx/test/selftest/modules/std-module.sh.cpp
M libcxx/test/selftest/modules/std.compat-module.sh.cpp
M libcxx/test/std/modules/std.compat.pass.cpp
M libcxx/test/std/modules/std.pass.cpp
M libcxx/test/std/numerics/c.math/signbit.pass.cpp
M libcxx/test/std/utilities/meta/meta.const.eval/is_within_lifetime.compile.pass.cpp
M libcxx/test/std/utilities/meta/meta.rel/is_virtual_base_of.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.verify.cpp
Log Message:
-----------
[libc++][NFC] Remove lit annotations for older AppleClang versions (#199817)
We don't support anything older than apple-clang-21, so we can remove
those annotations.
Commit: 3060f65b84f2b16f2f53367a03d2542a30827ac0
https://github.com/llvm/llvm-project/commit/3060f65b84f2b16f2f53367a03d2542a30827ac0
Author: Shanzhi Chen <chenshanzhi at huawei.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
Log Message:
-----------
Revert "[RISCV][CodeGen] Use vzip.vv for e64 interleave shuffles with Zvzip" (#199899)
Reverts llvm/llvm-project#199512
LLVM Buildbot has detected a build error for this PR.
Commit: 0d6aac78ad967cfb0dc69de26cd7e159605fe0de
https://github.com/llvm/llvm-project/commit/0d6aac78ad967cfb0dc69de26cd7e159605fe0de
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M libcxx/include/CMakeLists.txt
A libcxx/include/__concepts/referenceable.h
M libcxx/include/__config
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/concepts.h
M libcxx/include/__iterator/iter_move.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__ranges/adjacent_transform_view.h
M libcxx/include/__ranges/transform_view.h
M libcxx/include/__ranges/zip_transform_view.h
M libcxx/include/__type_traits/add_pointer.h
R libcxx/include/__type_traits/is_referenceable.h
M libcxx/include/__type_traits/remove_pointer.h
M libcxx/include/module.modulemap.in
R libcxx/test/libcxx/utilities/meta/is_referenceable.compile.pass.cpp
M libcxx/test/std/utilities/meta/meta.trans/objc_support.compile.pass.mm
Log Message:
-----------
[libc++] Remove workarounds for __{add,remove}_pointer on AppleClang (#199821)
We've updated the supported AppleClang version, so we can drop those
workarounds now.
This also removes `__is_referenceable_v`, since it's no longer used.
Commit: 090df8f0c30699e65ebd29e347b5fbb26559e2f5
https://github.com/llvm/llvm-project/commit/090df8f0c30699e65ebd29e347b5fbb26559e2f5
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M bolt/test/lit.cfg.py
M libsycl/test/lit.cfg.py
M lldb/test/API/lit.cfg.py
M lldb/test/Shell/lit.cfg.py
M llvm/utils/lit/lit/LitConfig.py
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/lit/TestingConfig.py
M llvm/utils/lit/lit/formats/googletest.py
M llvm/utils/lit/lit/main.py
M llvm/utils/lit/tests/Inputs/googletest-timeout/lit.cfg
M llvm/utils/lit/tests/Inputs/shtest-timeout/lit.cfg
Log Message:
-----------
Revert "[lit] Move maxIndividualTestTime from global to test suite config" (#199886)
Reverts llvm/llvm-project#198192
To fix https://lab.llvm.org/buildbot/#/builders/195/builds/25357
Commit: 3c16e92da529447a07625cfd0a702172dabed32c
https://github.com/llvm/llvm-project/commit/3c16e92da529447a07625cfd0a702172dabed32c
Author: Shanzhi Chen <chenshanzhi at huawei.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
A llvm/test/Transforms/EarlyCSE/AArch64/intrinsics-1xN.ll
Log Message:
-----------
[AArch64][TTI][EarlyCSE] Add support for ld1xN and st1xN intrinsics (#198765)
Handle ld1x2, ld1x3, ld1x4, st1x2, st1x3, st1x4 in:
- AArch64TTIImpl::getTgtMemIntrinsic
- AArch64TTIImpl::getOrCreateResultFromMemIntrinsic
This enables EarlyCSE to optimize these NEON load/store intrinsics.
To test the changes, a new testcase (intrinsics-1xN.ll) derived from
llvm/test/Transforms/EarlyCSE/AArch64/intrinsics.ll is added.
Commit: 2a574828c62f344859188796fc615ef44dd16327
https://github.com/llvm/llvm-project/commit/2a574828c62f344859188796fc615ef44dd16327
Author: David Green <david.green at arm.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[SelectionDAGBuilder] Replace asserts inside LLVM_DEBUG (#199748)
These assert were inside an LLVM_DEBUG macro, meaning they were very
rarely if ever tested. The second "LowerFormalArguments emitted a value
with the wrong type!" assert would fire in a number of tests so has been
removed. The other was replaced with an all_of assert.
Noticed when looking at #198107 / #199412.
Commit: b63787a1c5d74b437e5cbc6dfc75d6b0cd9998cc
https://github.com/llvm/llvm-project/commit/b63787a1c5d74b437e5cbc6dfc75d6b0cd9998cc
Author: stefankoncarevic <skoncare at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
A mlir/test/Conversion/AMDGPUToROCDL/permlane-var.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[MLIR][AMDGPU] Add permlane16.var and permlanex16.var intrinsic ops (#199501)
## Summary
Add ROCDL and AMDGPU dialect support for the GFX12+ variable-selector
permlane intrinsics (`v_permlane16_var_b32` / `v_permlanex16_var_b32`).
Unlike the existing fixed-selector `permlane16`/`permlanex16` ops where
source-lane indices come from SGPR immediates, the "var" variants take
per-lane source-lane indices from a VGPR, enabling arbitrary per-lane
intra-row and cross-row permutations within a wave32 subgroup.
### ROCDL dialect
- `ROCDL_Permlane16VarOp` → `llvm.amdgcn.permlane16.var`
- `ROCDL_PermlaneX16VarOp` → `llvm.amdgcn.permlanex16.var`
- Both take `(old, src0, src1, fi, boundControl)` with `fi` and
`boundControl` as immediate i1 attrs
### AMDGPU dialect
- `AMDGPU_PermlaneVarOp` — high-level wrapper supporting arbitrary
int/float/vector types
- `cross` attribute selects between intra-row (`permlane16.var`) and
cross-row (`permlanex16.var`)
- Lowering uses `LLVM::decomposeValue`/`composeValue` to automatically
repack types (f16, i8, vectors, etc.) into i32 register slots
### Tests
- ROCDL roundtrip (parser/printer) tests
- ROCDL → LLVM IR translation tests
- AMDGPU → ROCDL lowering tests covering i32, f32, f16, vector<4xf16>,
cross variants, and fi/bound_ctrl attributes
Commit: c71f9f0aec3ad789b8a6510a98d3882b3e776a40
https://github.com/llvm/llvm-project/commit/c71f9f0aec3ad789b8a6510a98d3882b3e776a40
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/alias-mask.ll
Log Message:
-----------
[LV] Handle loop.dependence.mask in verifyLastActiveLaneRecipe() (#199897)
This verification can be called after the alias-mask has been expanded
so needs to recognize loop.dependence.mask intrinsics.
Commit: e6fe3f4f55ef7219eac36464724f8ff5c0bc4159
https://github.com/llvm/llvm-project/commit/e6fe3f4f55ef7219eac36464724f8ff5c0bc4159
Author: David Spickett <david.spickett at arm.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M lldb/test/Shell/Commands/command-dil-diagnostics.test
M lldb/test/Shell/Commands/command-module-hook-fire.test
M lldb/test/Shell/Commands/process-attach-dummy.test
M lldb/test/Shell/ObjectFile/MachO/section-overflow-binary.test
M lldb/unittests/DAP/Handler/DisconnectTest.cpp
Log Message:
-----------
[lldb][test] Require Python for a few more tests (#199913)
Commit: 2245dd779f8c9815113ae038df61441466b9774e
https://github.com/llvm/llvm-project/commit/2245dd779f8c9815113ae038df61441466b9774e
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang-tools-extra/clangd/HeaderSourceSwitch.cpp
M clang-tools-extra/clangd/unittests/HeaderSourceSwitchTests.cpp
Log Message:
-----------
[clangd] Prefer .hpp files over .h with header source switch (#198152)
Previously, The "Switch Between Source/Header" action picked `.h` over
`.hpp` when both files existed next to a `.cpp` file, because `.h` is
listed first in the header-extension list.
This patch reorders `HeaderExtensions` and `SourceExtensions` so the
`C++`-flavored extensions come before `.h` and `.c`. `C++`-flavor of
file is preffered since (at least in my opinion) more people using
`clangd` for `C++` than `C` with `.hpp` ext so switching from `.cpp`
should go into `.hpp`, not `.h`.
This brings an edje case that when swithing from `.c` it will go into
`.hpp` instead of `.h`, but I think this situation is more rare than
having `.cpp` with `.hpp` and `.h` combination since `.h` headers can be
used as `extern "C"` wrapper of cpp library.
Commit: 61341994bb456eaf286154f8f241d0d6723df8ea
https://github.com/llvm/llvm-project/commit/61341994bb456eaf286154f8f241d0d6723df8ea
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/lcssa-phi-inner-loop-scale.ll
Log Message:
-----------
[SLP][NFC]Add some more tests with phi external uses, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/199919
Commit: 5bfcf13e48c9a168ff431fa655a41d88c725ca85
https://github.com/llvm/llvm-project/commit/5bfcf13e48c9a168ff431fa655a41d88c725ca85
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
Log Message:
-----------
[VPlan] Construct VPlan1 once, share across buildVPlans calls. (#197276)
Extract the VF-independent VPlan1 setup pipeline (header phis,
simplification, early-exit handling, middle check, loop regions, tail
folding, mask introduction) into a new helper tryToBuildVPlan1().
Construct the initial Vlan1 once, and pass to repeated buildVPlans
calls.
Note that this means we need to move collectInLoopReductions up. We not
may construct VPlan1 on code paths where we did not before, because we
failed UserVF validation/selection, but I think that should be fine as
this makes the overall code simpler and the UserVF code paths are for
testing.
PR: https://github.com/llvm/llvm-project/pull/197276
Commit: bdaf3cfda6d670109058d75aa1de82beffb4c954
https://github.com/llvm/llvm-project/commit/bdaf3cfda6d670109058d75aa1de82beffb4c954
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fp.ll
M llvm/test/Transforms/SLPVectorizer/X86/deleted-instructions-clear.ll
M llvm/test/Transforms/SLPVectorizer/X86/revec-non-power-2-to-power-2-large-vect.ll
M llvm/test/Transforms/SLPVectorizer/X86/scalarize-ctlz.ll
M llvm/test/Transforms/SLPVectorizer/X86/select-copyable-cmp-poison.ll
M llvm/test/Transforms/SLPVectorizer/X86/sitofp.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll
M llvm/test/Transforms/SLPVectorizer/extract-many-users-buildvector.ll
Log Message:
-----------
[SLP] Improve InsertElement scalarization cost modeling
When costing InsertElement tree entries, pass getScalarizationOverhead the
per-lane insert operands via AdjustedVL, set ForPoisonSrc from whether the
base vector is entirely undef, and supply a VectorInstrContext hint derived
from the demanded insert instructions. Move the scalarization cost adjustment
to after InMask is computed so ForPoisonSrc reflects the actual base vector
state.
Reviewers: bababuck, RKSimon, hiraditya
Pull Request: https://github.com/llvm/llvm-project/pull/199514
Commit: ed11d7a52a505ff53523c2c635f114d865273f24
https://github.com/llvm/llvm-project/commit/ed11d7a52a505ff53523c2c635f114d865273f24
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/arm/extendsfdf2.S
A compiler-rt/lib/builtins/arm/truncdfsf2.S
A compiler-rt/test/builtins/Unit/extendsfdf2new_test.c
A compiler-rt/test/builtins/Unit/truncdfsf2new_test.c
Log Message:
-----------
[compiler-rt][ARM] Optimized FP double <-> single conversion (#179926)
This commit provides assembly versions of the conversions both ways
between double and float.
Commit: 89f024609b13bcbda6ce7b58966fc4fbbca3da70
https://github.com/llvm/llvm-project/commit/89f024609b13bcbda6ce7b58966fc4fbbca3da70
Author: Boyao Wang <wangboyao at bytedance.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
Log Message:
-----------
[RISCV][CodeGen] Use vzip.vv for e64 interleave shuffles with Zvzip (#199923)
Allow e64 interleave shuffles to use the standard Zvzip `vzip.vv`
lowering when the operand type is legal for Zvzip, just the same as what
XrivosVizip already does.
Commit: cef3e0f1280d9cf368caa94b895b61d73c588619
https://github.com/llvm/llvm-project/commit/cef3e0f1280d9cf368caa94b895b61d73c588619
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp
Log Message:
-----------
[libc++][C++03] Fix array/size_and_alignment.compile.pass.cpp (#198822)
Commit: c09041a33a8ac60025538e7ca36b055cadb0d6e1
https://github.com/llvm/llvm-project/commit/c09041a33a8ac60025538e7ca36b055cadb0d6e1
Author: Matt Davis <mattd at nvidia.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/docs/SourceLevelDebugging.rst
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/BinaryFormat/Dwarf.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/Assembler/dicompileunit.ll
A llvm/test/Assembler/invalid-dicompileunit-dialect.ll
A llvm/test/Bitcode/dicompileunit-dialect.ll
M llvm/test/Bitcode/upgrade-DICompileUnit-no-versioned-language.test
M llvm/unittests/IR/MetadataTest.cpp
M llvm/unittests/IR/VerifierTest.cpp
Log Message:
-----------
[DebugInfo] Introduce DW_AT_LLVM_language_dialect (#194898)
This PR introduces an LLVM vendor DWARF attribute on compile units that
carries an optional target-specific language dialect enumerator,
distinct from DW_LANG_*. The intent of this addition is to allow a DWARF
consumer to differentiate the source programming language from the
programming model (e.g., CUDA/SIMT, Tile, etc.). This concept could also
be used to differentiate OpenMP, or other parallel models, from host
language.
As older languages adopt newer programming models, there's no need to
introduce a new language enumerator to encode that representation;
rather, the model can be encoded as a dialect and treated as a
refinement to the source language being compiled. For ease of
extensibility, we've decided to represent the value of this new dialect
attribute as a string.
Code/comments/description were developed with LLM assistance.
---------
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: ef1b6d232216d3c1c8a5742ed1ef926cdd22be39
https://github.com/llvm/llvm-project/commit/ef1b6d232216d3c1c8a5742ed1ef926cdd22be39
Author: Iñaki V Arrechea <inakiarrechea at google.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
M llvm/include/llvm/IR/FunctionProperties.def
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
A llvm/test/Analysis/FunctionPropertiesAnalysis/func-properties-analysis.ll
A llvm/test/Analysis/FunctionPropertiesAnalysis/pipeline.ll
R llvm/test/Analysis/FunctionPropertiesAnalysis/properties-stats.ll
Log Message:
-----------
Add Pre-Optimization FunctionPropertiesStatistics Pass - All Properties (#199293)
Adding a PreOptimization pass for function properties that provides the
statistics preoptimization without leading to timeouts (also thanks to
https://github.com/llvm/llvm-project/pull/198940 and internal changes on the faulty target)
First iteration led to timeouts so it got reverted
https://github.com/llvm/llvm-project/pull/188837
(UPDATE) Through a flame graph proved that changes in
https://github.com/llvm/llvm-project/pull/198940 , mainly the change
inside the loop, was the one responsible for the timeout. Flame graph spent a majority of the time on updateForBB, and it's the only part there could be a blocker. Furthermore, target was fixed internally.
Previous iteration tried to get only some of the statistics, but managed
to prove locally that it's not necessary to distinguish between them
https://github.com/llvm/llvm-project/pull/199073 since the changes mentioned previously were good enough
Commit: 7de3f46cf771180a4b83eacf3d2218f175f23166
https://github.com/llvm/llvm-project/commit/7de3f46cf771180a4b83eacf3d2218f175f23166
Author: Iris Shi <0.0 at owo.li>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/call.ll
Log Message:
-----------
[InstSimplify] Fold fshl/fshr of complementary shifts to identity (#196887)
Commit: f0ae26c925ef85dd1e6f5217afcdb620641e8db5
https://github.com/llvm/llvm-project/commit/f0ae26c925ef85dd1e6f5217afcdb620641e8db5
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M .github/workflows/issue-release-workflow.yml
Log Message:
-----------
workflows/issue-release-workflow: Fix bug when specifying multiple commits (#199973)
All commits after the first one were being dropped in comments like
/cherry-pick <commit> <commit> ...
This was introduced by: 21df17aaaec2dd9dafd641c5dbfd96446c27921b
Commit: 78f5f7717a2e058c4d685feb3edb7d991efacbc2
https://github.com/llvm/llvm-project/commit/78f5f7717a2e058c4d685feb3edb7d991efacbc2
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
A llvm/test/CodeGen/PowerPC/ppc-i64-to-fp.ll
Log Message:
-----------
[PowerPC] Drop invalid range metadata when lowering i64 load to fp in INT_TO_FP (#198705)
When lowering an i64 load in LowerINT_TO_FP, we were forwarding the
original !range metadata to a new f64 load. This is invalid because the
metadata no longer matches the value type/semantics, and can trigger
assertions when lowering i64 to fp (double or float) conversions.
This patch fixes this by passing a nullptr for the Ranges operand when
calling getLoad() and adds extra test cases to cover signed/unsigned i64
to f32/f64 conversions and to ensure they do not assert when the !range
metadata is present.
The assertion this patch attempts to fix is:
```
Assertion failed: (!MMO->getRanges() || (mdconst::extract<ConstantInt>(MMO->getRanges()->getOperand(0)) ->getBitWidth() == MemVT.getScalarSizeInBits() && MemVT.isInteger())) && "Range metadata and load type must match!"
```
This assert was originally seen when building Rust on AIX.
Commit: 1e1a1ff8a6c6d9bc7f0044c79c6cfe0819246e00
https://github.com/llvm/llvm-project/commit/1e1a1ff8a6c6d9bc7f0044c79c6cfe0819246e00
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M .github/workflows/release-binaries-all.yml
Log Message:
-----------
workflows/release-binaries-all: Validate input and remove template expansion (#199427)
https://github.com/llvm/llvm-project/security/code-scanning/1695
Commit: 81c523c71c92bea4c5548b5f84288acd0f05db42
https://github.com/llvm/llvm-project/commit/81c523c71c92bea4c5548b5f84288acd0f05db42
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/docs/ScalableStaticAnalysisFramework/developer-docs/ForceLinkerHeaders.rst
M clang/docs/ScalableStaticAnalysisFramework/developer-docs/HowToExtend.rst
A clang/include/clang/ScalableStaticAnalysisFramework/BuiltinAnchorSources.def
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisRegistry.h
M clang/include/clang/ScalableStaticAnalysisFramework/SSAFBuiltinForceLinker.h
M clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractor.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphJSONFormat.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowFormat.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageFormat.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisRegistry.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/FancyAnalysisData.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor1.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor2.cpp
R clang/unittests/ScalableStaticAnalysisFramework/SSAFBuiltinTestForceLinker.h
R clang/unittests/ScalableStaticAnalysisFramework/SSAFTestForceLinker.h
M clang/unittests/ScalableStaticAnalysisFramework/TestFixture.cpp
M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/AnalysisDriverTest.cpp
Log Message:
-----------
Reapply "[clang][ssaf][NFC] Rework how the Force linker anchors are defined and used" (#194693)
This reverts commit 582958c4337f539e650096c0257a322315298e1a.
Drop "const" from these anchor variables - like they are in clang-tidy
Turns out, MSVC likely doesn't conform with the C++ standard and makes
`const volatile` global variables have *internal* linkage - while they
should have *external* linkage.
https://eel.is/c++draft/basic.link#3.2
```
(3) The name of an entity that belongs to a namespace scope has internal linkage if it is the name of
(3.1) a variable, variable template, function, or function template that is explicitly declared static; or
(3.2) a non-template variable of non-volatile const-qualified type, unless
(3.2.1) it is declared in the purview of a module interface unit (outside the private-module-fragment, if any) or module partition, or
(3.2.2) it is explicitly declared extern, or
(3.2.3) it is inline, or
(3.2.4) it was previously declared and the prior declaration did not have internal linkage; or
```
Consequently, `const volatile` globals should NOT have *internal*
linkage, because `volatile` variables are exempt by (3.2).
Commit: 58156c21585ab05d7810666070020919342757bf
https://github.com/llvm/llvm-project/commit/58156c21585ab05d7810666070020919342757bf
Author: Sergei Druzhkov <serzhdruzhok at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Fix typo in StepInTarget serialization (#199907)
I fixed small typo and added test for that.
Commit: f56774213bf4da41882a468ef8b9f4b44a52ec1d
https://github.com/llvm/llvm-project/commit/f56774213bf4da41882a468ef8b9f4b44a52ec1d
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/DeclCXX.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
M clang/test/Modules/cxx-templates.cpp
Log Message:
-----------
[clang] fix finding class template instantiation pattern for member specializations (#199979)
Stop treating the member which a member specialization specializes as
the pattern of the former.
Split off from https://github.com/llvm/llvm-project/pull/199528
Commit: 7664fc742fa6402e7b79645e87c83c6681ab0ac9
https://github.com/llvm/llvm-project/commit/7664fc742fa6402e7b79645e87c83c6681ab0ac9
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M offload/liboffload/CMakeLists.txt
M offload/libomptarget/CMakeLists.txt
Log Message:
-----------
[Offload] Fix missing SONAME version on offload libraries (#199975)
Commit: f55acff22c4185418e2057a90c22826d3e947f73
https://github.com/llvm/llvm-project/commit/f55acff22c4185418e2057a90c22826d3e947f73
Author: amachronic <amachronic at protonmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M lld/ELF/Writer.cpp
A lld/test/ELF/linkerscript/overlap-nobits.s
Log Message:
-----------
[lld][ELF] Exclude SHT_NOBITS sections from LMA overlap checks (#196423)
In embedded applications it's sometimes useful to load a section at the
same virtual address as the .bss section. For example, one possible use
case is for temporary code/data that is only needed for a short time
when the program is starting up:
REGIONS {
RAM : ORIGIN = 0x100000, LENGTH = 1M
INIT : ORIGIN = 0x200000, LENGTH = 1M
}
.text { *(.text); } > RAM
.bss (NOLOAD) : { *(.bss); } > RAM
.init : AT(LOADADDR(.bss)) { *(.init); } > INIT
The .init section gets placed in the file immediately after the .text
section. At startup the .init section contents are copied to the INIT
region before zeroing .bss. Once the .init section is no longer needed
its memory can be reused, eg. as heap memory.
Currently, lld does not support this and prints an error because the
LMAs of .bss and .init overlap. There are two workarounds:
1. Use --no-check-sections to disable all overlap checks, but this also
disables VMA and file offset checks, which might not be desired.
2. Assign a fake LMA to the .bss section, which doesn't overlap with the
LMA of any other section. However, this is not very intuitive and
affects the generated program headers (because a second Phdr is needed
now that .bss has a unique p_paddr), which might not be acceptable.
These ugly workarounds can be avoided by ignoring LMA overlaps involving
SHT_NOBITS sections. This is also what binutils does, which is why the
example above works under GNU ld.
Commit: 9e279e4757b5dd190b708bfffff2fe16553cc837
https://github.com/llvm/llvm-project/commit/9e279e4757b5dd190b708bfffff2fe16553cc837
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi2.ll
Log Message:
-----------
[X86] vector-shuffle-combining-avx512vbmi2.ll - add VLX/NOVLX test coverage (#199984)
Commit: d25ec4b8448767d33330b66805f876355b948efe
https://github.com/llvm/llvm-project/commit/d25ec4b8448767d33330b66805f876355b948efe
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/lib/Target/RISCV/RISCVInstrInfoZvbdota.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/MC/RISCV/attribute-arch.s
A llvm/test/MC/RISCV/rvv/zvfbdota32f-invalid.s
A llvm/test/MC/RISCV/rvv/zvfbdota32f.s
A llvm/test/MC/RISCV/rvv/zvfqwbdota8f-invalid.s
A llvm/test/MC/RISCV/rvv/zvfqwbdota8f.s
A llvm/test/MC/RISCV/rvv/zvfwbdota16bf-invalid.s
A llvm/test/MC/RISCV/rvv/zvfwbdota16bf.s
A llvm/test/MC/RISCV/rvv/zvqwbdota-invalid.s
A llvm/test/MC/RISCV/rvv/zvqwbdota.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[llvm][RISCV] Support batched dot product extensions MC layer (#196467)
spec:
https://github.com/aswaterman/riscv-misc/blob/main/isa/ldot-bdot/ldot-bdot.adoc#zvdota-and-zvbdota-families-of-dot-product-extensions-version-02
Commit: 9757718b591fed23f5b38afeb5d2849199d1e241
https://github.com/llvm/llvm-project/commit/9757718b591fed23f5b38afeb5d2849199d1e241
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 81c523c (#199988)
This fixes 81c523c71c92bea4c5548b5f84288acd0f05db42.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 6170eeb1fa8198f00ec6517f031f1e12b5752b8d
https://github.com/llvm/llvm-project/commit/6170eeb1fa8198f00ec6517f031f1e12b5752b8d
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
A flang/test/Lower/OpenMP/copyprivate6.f90
Log Message:
-----------
[flang][OpenMP] Fix copyprivate crash with unlimited polymorphic pointer (#199768)
Lowering a copyprivate clause whose list item is an unlimited
polymorphic pointer (class(*), pointer) crashed in TypeInfo::typeScan.
The scan descends through the fir.class box and the fir.ptr, reaching a
`none` element type, which the terminal assertion did not allow.
Fixes #198770
Commit: c0a302d416aaa94b560793477ebecc8e273c8a76
https://github.com/llvm/llvm-project/commit/c0a302d416aaa94b560793477ebecc8e273c8a76
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
Log Message:
-----------
[AMDGPU] Refactor insertRelease into insertWriteback + insertWait (NFC) (#199486)
A release consists of two actions: write-back the current cache, and
wait for "relevant" outstanding operations to complete. With the new
memory model, it is possible to disable the cache write-back using
"non-av". This patch cleanly separates the existing implementation so
that the write-backs can be selectively applied after checking for
non-av semantics.
Part of a stack:
- #199486
- #199621
- #199489
- #199622
Assisted-By: Claude Opus 4.6
---------
Co-authored-by: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Commit: 6cb00b6c344cb6d61688cc993b15ee531dbfd0e4
https://github.com/llvm/llvm-project/commit/6cb00b6c344cb6d61688cc993b15ee531dbfd0e4
Author: Alexey Karyakin <akaryaki at qti.qualcomm.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
M llvm/test/CodeGen/Hexagon/inst_masked_store_bug1.ll
M llvm/test/CodeGen/Hexagon/isel-hvx-pred-bitcast-order.ll
Log Message:
-----------
[Hexagon] Fix up vector predicate before compressing it for bitcast (#199283)
In v64i1 vector Predicate, each i1 is represented by 2 bits of predicate
register. A predicate register needs to be fixed before we compress it.
Signed-off-by: Alexey Karyakin <akaryaki at qti.qualcomm.com>
Co-authored-by: Ikhlas Ajbar <iajbar at quicinc.com>
Commit: dcf50fe35fd0760325c24ac78e43a90e61a95337
https://github.com/llvm/llvm-project/commit/dcf50fe35fd0760325c24ac78e43a90e61a95337
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
A llvm/test/CodeGen/SystemZ/foldmem-regalloc.mir
M llvm/test/CodeGen/SystemZ/foldmemop-global.mir
Log Message:
-----------
[SystemZ] Don't fold memops after SSA if tied regs don't match. (#197475)
When foldMemoryOperandImpl() is called during register allocation,
folding into a reg/mem opcode mustn't be done if the tied def and use
operands do not end up referencing the same register.
Fixes #197414
Commit: 3e8c217c6829b7acebb0f80bfcd2f807d370000e
https://github.com/llvm/llvm-project/commit/3e8c217c6829b7acebb0f80bfcd2f807d370000e
Author: Wooseok Lee <wolee at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
A llvm/test/CodeGen/AMDGPU/fshl-scalar-shift-zero.ll
Log Message:
-----------
[AMDGPU] Fix ShiftAmt32Imm to use unsigned comparison (#199052)
ShiftAmt32Imm used a signed 'Imm < 32' predicate, which incorrectly
matched negative immediates such as -1. The scalar fshr fast path:
def : GCNPat<(UniformTernaryFrag<fshr> i32:$src0, i32:$src1,
(i32 ShiftAmt32Imm:$src2)),
(i32 (EXTRACT_SUBREG (S_LSHR_B64 ..., $src2), sub0))>;
When fshl(scalar, X, Z) is lowered via expandFunnelShift for any
constant Z in [0, 31], the generic code converts it to fshr(..., ~Z) or
fshr(..., -Z), producing a negative shift amount. Because all such
values satisfy Imm < 32 in a signed comparison, ShiftAmt32Imm matched
and the pattern passed the negative immediate directly to S_LSHR_B64
without the S_AND_B32 masking. S_LSHR_B64 then shifted by the wrong
amount, producing an incorrect result.
Fix by changing the predicate to an unsigned comparison so that only
values in [0, 31] match, and negative values fall through to the general
pattern which correctly applies S_AND_B32 before S_LSHR_B64.
Fixes miscompilations of scalar fshl with any constant shift amount at
-O0 on AMDGPU targets, covering both fshl(scalar, const, Z) and
fshl(scalar, scalar, Z) for all Z in [0, 31].
---------
Co-authored-by: Claude Sonnet 4 <noreply at anthropic.com>
Commit: bf8dae18aa318aac5558a38ce34c696c569feacf
https://github.com/llvm/llvm-project/commit/bf8dae18aa318aac5558a38ce34c696c569feacf
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
A llvm/test/Transforms/InstCombine/trunc-abs-intrinsics.ll
Log Message:
-----------
[InstCombine] Narrow llvm.abs through trunc. (#199643)
Update EvaluateInDifferentType / canEvaluateTruncated to narrow abs
intrinsics when the operand has at least OrigBitWidth - BitWidth + 1
sign bits. The transform always emits the narrow abs with
IsIntMinPoison=false, as the narrowed value may be INT_MIN in the narrow
type, while not in the original width.
Alive2 Proof with weaker precondition (top and truncated sign bits must
match): https://alive2.llvm.org/ce/z/AMQRmi
End-to-end C pixel math example: https://clang.godbolt.org/z/Ma8bsTGTY
PR: https://github.com/llvm/llvm-project/pull/199643
Commit: e5ad7f7e700ea839896b5ece924ef13acf573833
https://github.com/llvm/llvm-project/commit/e5ad7f7e700ea839896b5ece924ef13acf573833
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/declare-simd-uniform.f90
Log Message:
-----------
[flang][OpenMP] Remove ompFlagsRequireMark from symbol resolution (#198591)
The `ompFlagsRequireMark` set was there to make sure that we put the
flags from it on symbols even when no new symbols needed to be created.
Instead of doing that, we can just put the flag on the symbol every
time. There is no harm in having these flags, it's just extra
information.
Commit: 06a6cbb188468563f5e89932a4ec8386bb977bd9
https://github.com/llvm/llvm-project/commit/06a6cbb188468563f5e89932a4ec8386bb977bd9
Author: Stefan Schuermans <schuermans at roofline.ai>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
Log Message:
-----------
[AMDGPU] Fix SuperReg to MCRegister conversion (#199993)
This is a fix for "[AMDGPU] Implement CFI for non-kernel functions
(#183153)" f78a233ac89dc0f9f0f26dfe051874013ae6e242 to use
"SuperReg.asMCReg()" instead of "MCRegister(SuperReg)", which leads to
"ambiguous call" when using the MSVC compiler.
Commit: b65a71d4942abcdf17510e1cf5c4e9273d60aa72
https://github.com/llvm/llvm-project/commit/b65a71d4942abcdf17510e1cf5c4e9273d60aa72
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M libc/test/src/__support/threads/linux/raw_mutex_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
A utils/bazel/llvm-project-overlay/libc/test/src/__support/threads/BUILD.bazel
Log Message:
-----------
[libc][bazel] Add rules for __support/threads tests. (#199871)
* Add Bazel BUILD rules for three `__support/threads` unit tests.
* Fix/expand BUILD rules for the support libraries they depend on
(clock_gettime and vdso) that were previously incorrectly missing `.cpp`
files with implementations.
* Minor fix to use `internal::exit` in `raw_mutex_test` to avoid adding
a dependency on `exit` entrypoint, which doesn't yet exist in Bazel.
Assisted by: Gemini
Commit: dd2ce3d8b558daefbbc6eb2f2026e6055a291f06
https://github.com/llvm/llvm-project/commit/dd2ce3d8b558daefbbc6eb2f2026e6055a291f06
Author: Joseph Huber <huberjn at outlook.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
[LLVM] Add per-target runtime directory to rpath (#199755)
Summary:
This simply adds the LLVM_DEFAULT_TARGET_TRIPLE to the LLVM build's
rpath if present. This keeps things hermetic for the library (offload)
that depends on it.
The reason this is required is because `llvm-gpu-loader` calls
`DynamicLibrary` on the Offload runtime. However, in a shared library
build the actual call is in libLLVMSupport.so, which does not have this
RPath, so `dlopen` delegates to that which does not know how to find it.
The only options to fix this are to use `dlopen` directly in the loader,
or add the rpath to the LLVM binaries.
I think this makes sense for LLVM, because the target-specific directory
can contain LLVM related libraries.
Commit: 97b9c24cb9f2e46ce917bf2e5aea5d4511ae8298
https://github.com/llvm/llvm-project/commit/97b9c24cb9f2e46ce917bf2e5aea5d4511ae8298
Author: Paul Kirth <paulkirth at google.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M libcxx/include/__functional/function.h
A libcxx/test/libcxx/utilities/function.objects/block.func.compile.pass.cpp
Log Message:
-----------
Add missing annotations for Apple platforms (#198864)
These seemed to be missed in #193045.
Commit: c3fc506e29badb9ed4729432b25c62eb04ced1ca
https://github.com/llvm/llvm-project/commit/c3fc506e29badb9ed4729432b25c62eb04ced1ca
Author: Adel Ejjeh <adel.ejjeh at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
Log Message:
-----------
[AMDGPU] Remove explicit PartialThreshold setting in loop unrolling (#198901)
Remove UP.PartialThreshold = UP.Threshold / 4 from AMDGPU TTI, restoring
the default PartialThreshold of 150.
This was introduced in #194924 to limit code-size growth from runtime
unrolling, but PartialThreshold also gates compile-time partial
unrolling of constant-trip-count loops. This change will make the
PartialThreshold back to the default value for both compile-time partial
unrolling and runtime partial unrolling.
Benchmarked across CK, llama.cpp, and xpu-perf — no performance impact
from restoring the default.
Fixes #196372, replaces #196818.
Assisted-by: Claude Code
Commit: a3acd8083c3b5a98e8c5bb0d7f7ac4a959c58307
https://github.com/llvm/llvm-project/commit/a3acd8083c3b5a98e8c5bb0d7f7ac4a959c58307
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
M mlir/test/Dialect/XeGPU/propagate-layout.mlir
Log Message:
-----------
[MLIR][XeGPU] Propagate layout onto loop-carried iter_arg entry edges (#198862)
as per title
Commit: 358f5e770361c0512b7f6e4027a3a674bb1fa654
https://github.com/llvm/llvm-project/commit/358f5e770361c0512b7f6e4027a3a674bb1fa654
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV][P-ext] Add missing let Inst{31} = 0b0 to RVPPairShift_rr. (#199885)
This bit was accidentally left unset. I think this means we might have
treated this bit as a don't care for the disassembler could disassemble
some invalid encodings to these instructions. I didn't check the opcode
map closely enough to confirm this.
Commit: 38555dbd81ad2dcfc452d29151299d829095258b
https://github.com/llvm/llvm-project/commit/38555dbd81ad2dcfc452d29151299d829095258b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV][P-ext] Replace some custom isel code with tablegen patterns. NFC (#199881)
Commit: 95f08b1b743d2d5b694c71b00becd3acd0c7926a
https://github.com/llvm/llvm-project/commit/95f08b1b743d2d5b694c71b00becd3acd0c7926a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV][P-ext] Make the direction argument for RVPPairShift* classes required. NFC (#199799)
It's part of the encoding. I don't think we should have a preference for
one of the bit values being the default.
Commit: 3768e13298071781807b5d1371ebd8052d948b89
https://github.com/llvm/llvm-project/commit/3768e13298071781807b5d1371ebd8052d948b89
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi2.ll
Log Message:
-----------
[X86] Add test coverage for #145276 (#200004)
Commit: ea3cb0fef9703c41a321a06a666636d871a670f6
https://github.com/llvm/llvm-project/commit/ea3cb0fef9703c41a321a06a666636d871a670f6
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
Log Message:
-----------
Fix for noassert buildbot break in #183153 (#199781)
Change-Id: I285adf09ac2df239d0ab05459f7388b6970247ad
Commit: db9b595ae3b30d67bd4068f80c651f97eb4dea2d
https://github.com/llvm/llvm-project/commit/db9b595ae3b30d67bd4068f80c651f97eb4dea2d
Author: Feng Zou <feng.zou at intel.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/include/llvm/DebugInfo/CodeView/CodeViewRegisters.def
M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
A llvm/test/DebugInfo/COFF/apx-egpr.ll
Log Message:
-----------
[X86][APX] Add CodeView register IDs and mapping for APX EGPR (#199586)
Resolves #187924
Refer to
https://devblogs.microsoft.com/cppblog/msvc-version-1451-available/
Commit: 2713d9441cfd5fc9e4ad9cf5520add6ae6cce6c4
https://github.com/llvm/llvm-project/commit/2713d9441cfd5fc9e4ad9cf5520add6ae6cce6c4
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/docs/SandboxIR.md
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/lib/SandboxIR/Tracker.cpp
M llvm/unittests/SandboxIR/TrackerTest.cpp
Log Message:
-----------
Reapply "[SandboxIR][Tracker] Implement accept(/*AcceptAll*/) and revert(/*RevertAll*/)" (#199776) (#199805)
This reverts commit a7aceff0b1e552cbc2306e575e9ac649853fda8e.
Commit: e1e52c9ccef39f4ccc55e1e89c5d2957ec186a47
https://github.com/llvm/llvm-project/commit/e1e52c9ccef39f4ccc55e1e89c5d2957ec186a47
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/include/llvm/Support/Win64EH.h
M llvm/lib/Support/CMakeLists.txt
A llvm/lib/Support/Win64EH.cpp
A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-all-wods.yaml
A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-apx.yaml
A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-bad-inherit.yaml
A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-bad-opcode.yaml
A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-bad-push-consecutive-2.yaml
A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-basic.yaml
A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-chain.yaml
A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-distinct-epilog.yaml
A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-epilog-flags.yaml
A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-epilog-large.yaml
A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-epilog.yaml
A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-handler-odd-payload.yaml
A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-handler.yaml
A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-large.yaml
A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-multi-epilog.yaml
A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-neg-offset.yaml
A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-pool-overflow.yaml
A llvm/test/tools/llvm-objdump/COFF/win64-unwindv3-reloc.yaml
A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-all-wods.yaml
A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-apx.yaml
A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-bad-inherit.yaml
A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-bad-opcode.yaml
A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-basic.yaml
A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-chain.yaml
A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-distinct-epilog.yaml
A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-epilog-flags.yaml
A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-epilog.yaml
A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-handler.yaml
A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-multi-epilog.yaml
A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-neg-offset.yaml
A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-pool-overflow.yaml
A llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-v3-reloc.yaml
M llvm/tools/llvm-objdump/COFFDump.cpp
M llvm/tools/llvm-objdump/ObjdumpOpts.td
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.h
M llvm/tools/llvm-readobj/Opts.td
M llvm/tools/llvm-readobj/Win64EHDumper.cpp
M llvm/tools/llvm-readobj/Win64EHDumper.h
M llvm/tools/llvm-readobj/llvm-readobj.cpp
M llvm/tools/llvm-readobj/llvm-readobj.h
Log Message:
-----------
[win][x64] Updated `llvm-objdump` and `llvm-readobj` to be able to dump Windows x64 Unwind v3 information. (#199120)
Public docs:
<https://learn.microsoft.com/en-us/cpp/build/x64-unwind-information-v3?view=msvc-170>
The change adds Windows x64 unwind v3 info decoding and printing support
in LLVM, including new data structures, enums, and decoding functions to
handle the different WOD opcodes and epilog descriptors. It also updates
the dumping utilities (llvm-readobj and llvm-objdump) to correctly
interpret v3 unwind info.
Commit: 860e4b803e91595063a7b438f91e45792cf010cf
https://github.com/llvm/llvm-project/commit/860e4b803e91595063a7b438f91e45792cf010cf
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
M llvm/test/CodeGen/X86/avoid-sfb.ll
Log Message:
-----------
[X86][AvoidStoreForwardingBlocks] Skip volatile/atomic accesses. (#199698)
The pass splits an XMM/YMM load+store pair into smaller copies when a
preceding narrower store would block store-to-load forwarding into the
load, but it didn't check the MachineMemOperand's isVolatile/isAtomic
bits.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 7b993d207fee1e2160cbd20469f3cce73f27fce9
https://github.com/llvm/llvm-project/commit/7b993d207fee1e2160cbd20469f3cce73f27fce9
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/ldexp.ll
Log Message:
-----------
[InstCombine] Use sadd.sat for chained ldexp fold (#199274)
ldexp(ldexp(x, a), b) -> ldexp(x, a + b) didn't consider the fact that
`a + b` may overflow! Use a saturating add instead.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: d98fd416e0ee358d0748b743f29d68f114dcfebc
https://github.com/llvm/llvm-project/commit/d98fd416e0ee358d0748b743f29d68f114dcfebc
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/CodeGen/ExpandIRInsts.cpp
A llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fpto-sat-vector.ll
Log Message:
-----------
[ExpandIRInsts] Support llvm.fpto{u,s}i.sat (#199174)
Previously, running ExpandIRInsts on a program which needs to expand a
vector fptoui.sat would hit llvm_unreachable, because the `scalarize`
function didn't handle this intrinsic.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 00b13536e3dad6c0d5e3bd54f49791c2a06707cc
https://github.com/llvm/llvm-project/commit/00b13536e3dad6c0d5e3bd54f49791c2a06707cc
Author: Sunil Shrestha <sunil.shrestha at hpe.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Lower/Support/PrivateReductionUtils.h
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/Support/PrivateReductionUtils.cpp
M flang/test/Lower/OpenMP/Todo/omp-declare-reduction-advanced-types.f90
M flang/test/Lower/OpenMP/Todo/reduction-character-dynamic-length.f90
A flang/test/Lower/OpenMP/declare-reduction-no-initializer-derived.f90
A flang/test/Lower/OpenMP/declare-reduction-no-initializer-intrinsic.f90
A flang/test/Lower/OpenMP/declare-reduction-no-initializer-target-derived.f90
A flang/test/Lower/OpenMP/declare-reduction-no-initializer-unsupported.f90
A flang/test/Lower/OpenMP/declare-reduction-target-intrinsic.f90
Log Message:
-----------
[Flang][OpenMP] Support declare reduction without initializer (#196211)
For declare reduction without an explicit initializer clause, the init
callback now handles initialization inline rather than relying on the
_FortranAInitialize runtime call, which is available on the device
runtime but has known issues on GPU targets.
The initialization logic first checks whether an initializer clause is
present. If one is provided, it is used directly. Otherwise, for derived
types, the code checks whether the type has default component
initialization. If it does, each component is initialized inline:
components with explicit default values use those values, components
that are themselves derived types with defaults are recursively
initialized, and components without any default are zero-initialized.
Derived types with allocatable components that require runtime
initialization are guarded by a TODO.
Assisted by: Claude Opus 4.6
Commit: a1cba5a2f8e973fbdf20e20079fab0ce924b7ece
https://github.com/llvm/llvm-project/commit/a1cba5a2f8e973fbdf20e20079fab0ce924b7ece
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M flang/include/flang/Semantics/openmp-utils.h
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/openmp-utils.cpp
Log Message:
-----------
[flang][OpenMP] Optionally get final symbol in Get(Argument|Object)Sy… (#196816)
…mbol
Originally these functions returned the ultimate symbol for the one
obtained from the argument or object. However, this may be somewhat
unintuitive/unexpected, so instead return the original symbol, and add a
flag to optionally return the ultimate one.
Commit: 077210a3b1a50ef7145d405b08d676e8879d0d51
https://github.com/llvm/llvm-project/commit/077210a3b1a50ef7145d405b08d676e8879d0d51
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
Log Message:
-----------
[gn build] Port commits (#200011)
0d6aac78ad96
7938535a54b5
ed11d7a52a50
Commit: 7a1a5421b1a1c32944906c3e7157b809528859e3
https://github.com/llvm/llvm-project/commit/7a1a5421b1a1c32944906c3e7157b809528859e3
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M .github/workflows/release-documentation.yml
Log Message:
-----------
workflows/release-documentation: Validate input and remove template expansion (#199760)
https://github.com/llvm/llvm-project/security/code-scanning/1715
https://github.com/llvm/llvm-project/security/code-scanning/1716
https://github.com/llvm/llvm-project/security/code-scanning/1717
https://github.com/llvm/llvm-project/security/code-scanning/1718
https://github.com/llvm/llvm-project/security/code-scanning/1719
https://github.com/llvm/llvm-project/security/code-scanning/1720
https://github.com/llvm/llvm-project/security/code-scanning/1721
https://github.com/llvm/llvm-project/security/code-scanning/1722
Commit: f6af6cedfd2fa731bf323608116d373379838b9a
https://github.com/llvm/llvm-project/commit/f6af6cedfd2fa731bf323608116d373379838b9a
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M .github/workflows/libclang-abi-tests.yml
Log Message:
-----------
workflows/libclang-abi-tests: Remove template expansion (#199792)
https://github.com/llvm/llvm-project/security/code-scanning/1627
https://github.com/llvm/llvm-project/security/code-scanning/1628
https://github.com/llvm/llvm-project/security/code-scanning/1629
https://github.com/llvm/llvm-project/security/code-scanning/1630
https://github.com/llvm/llvm-project/security/code-scanning/1631
https://github.com/llvm/llvm-project/security/code-scanning/1632
https://github.com/llvm/llvm-project/security/code-scanning/1633
https://github.com/llvm/llvm-project/security/code-scanning/1634
https://github.com/llvm/llvm-project/security/code-scanning/1635
https://github.com/llvm/llvm-project/security/code-scanning/1636
https://github.com/llvm/llvm-project/security/code-scanning/1637
https://github.com/llvm/llvm-project/security/code-scanning/1638
Commit: 82755077b73980eb56efb44246190135d2feb935
https://github.com/llvm/llvm-project/commit/82755077b73980eb56efb44246190135d2feb935
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[ProfCheck] Fix #199174 (#200013)
The patch added another large fp conversion test, which we currently are
missing some profile annotations for, so add it to the xfail list for
now.
Commit: ed918c1496d56f5124c20a2f4f450ba439aeb68e
https://github.com/llvm/llvm-project/commit/ed918c1496d56f5124c20a2f4f450ba439aeb68e
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
A llvm/test/Transforms/AtomicExpand/RISCV/atomicrmw-widen-volatile.ll
Log Message:
-----------
[AtomicExpand] Preserve volatile in widenPartwordAtomicRMW. (#199722)
widenPartwordAtomicRMW widens a sub-word atomicrmw to the target's
minimum cmpxchg size by calling CreateAtomicRMW, which has no
IsVolatile parameter, and didn't copy isVolatile() from the original.
Every other expansion path in this file already does. Affects targets
whose MinCmpXchgSizeInBits exceeds the value width (RISC-V without
Zabha, LoongArch base, SPARC, AMDGPU, etc.).
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 5b38edd3723a790b02d0d43b6f499c99b313a946
https://github.com/llvm/llvm-project/commit/5b38edd3723a790b02d0d43b6f499c99b313a946
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M .github/workflows/pr-code-lint.yml
Log Message:
-----------
workflows/pr-code-lint: Pin container image (#199767)
https://github.com/llvm/llvm-project/security/code-scanning/1678
Commit: a8e1f5c475abb48ade1059bc42591a84da56d25b
https://github.com/llvm/llvm-project/commit/a8e1f5c475abb48ade1059bc42591a84da56d25b
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M flang-rt/cmake/modules/AddFlangRTOffload.cmake
M flang-rt/include/flang-rt/runtime/io-stmt.h
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/io-api-common.h
A flang-rt/lib/runtime/io-stmt-minimal.cpp
Log Message:
-----------
[flang-rt][cuda] Use a thinner I/O in CUDA build (#199769)
Reduce the footprint of IO in the CUDA build. This helps including IO
when using non relocatable device code mode.
Commit: f16c0ecf2a0bc2fa9253bb73d54a8d791037d741
https://github.com/llvm/llvm-project/commit/f16c0ecf2a0bc2fa9253bb73d54a8d791037d741
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M .github/workflows/issue-release-workflow.yml
Log Message:
-----------
workflows/issue-release-workflow: Remove template expansion of login names (#199772)
https://github.com/llvm/llvm-project/security/code-scanning/1609
https://github.com/llvm/llvm-project/security/code-scanning/1610
Commit: 5dc633bc765a6c5a4049b827f8fc0d43d1eff51a
https://github.com/llvm/llvm-project/commit/5dc633bc765a6c5a4049b827f8fc0d43d1eff51a
Author: David Green <david.green at arm.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/bf16-instructions.ll
M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/fabs.ll
M llvm/test/CodeGen/AArch64/fneg.ll
Log Message:
-----------
[AArch64][GlobalISel] Add BF16 fabs and fneg (#198655)
These should be very simple as they are just legal or expanded based on
whether fullfp16 is available, as the FP16 FNEG and FABS instructions can
be used equally for BF16.
Commit: f8bf8af12c810434ca1d947aeb9bcae99bbbf135
https://github.com/llvm/llvm-project/commit/f8bf8af12c810434ca1d947aeb9bcae99bbbf135
Author: Brendan Dahl <brendan.dahl at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/lib/Headers/wasm_simd128.h
M cross-project-tests/intrinsic-header-tests/wasm_simd128.c
Log Message:
-----------
[WebAssembly] Add f16x8.demote_f32x4_zero to wasm_simd128.h. (#199795)
Missing header intrinsic.
Commit: d6279249920562e28cdd1fe4058451fb1d909241
https://github.com/llvm/llvm-project/commit/d6279249920562e28cdd1fe4058451fb1d909241
Author: fzi-haxel <61409998+fzi-haxel at users.noreply.github.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M mlir/lib/Analysis/SliceAnalysis.cpp
M mlir/test/Dialect/Affine/slicing-utils.mlir
Log Message:
-----------
[mlir][SliceAnalysis] Fix visited set to avoid infinite recursion (#200008)
Fixes #139694, which introduced use-def cycle detection during slice
analysis, but some cycles were still not detected, potentially leading
to infinite recursion.
This PR fixes the handling of the visited set, which tracks the current
DFS path during recursion. Previously, the set could fail to detect
double cycles because entries were erased even when no recursive call
was made. The insert/erase operations are now only performed when
recursion actually occurs, ensuring that cycle detection correctly
reflects the active DFS path.
Commit: 3a8b5e3bb1ae8f1d7f579b6ace900f1af596d48f
https://github.com/llvm/llvm-project/commit/3a8b5e3bb1ae8f1d7f579b6ace900f1af596d48f
Author: Ebuka Ezike <e_ezike at apple.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/OutputRedirector.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
Log Message:
-----------
[lldb-dap] Use MainLoop instead of a background thread in OutputRedirector. (#199970)
Replace the background thread in OutputRedirector with LLDB's MainLoop
event loop. This reduces the number of threads created and ensures file
descriptors are properly closed when no longer needed.
Since debugger's output is not I/O intensive, there is no risk of
hitting the pipe buffer limit with this approach.
Commit: 0d8ba697df747b2aa0df3abbf11ec54e6c61e1b5
https://github.com/llvm/llvm-project/commit/0d8ba697df747b2aa0df3abbf11ec54e6c61e1b5
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M utils/bazel/.bazelrc
M utils/bazel/MODULE.bazel
M utils/bazel/MODULE.bazel.lock
Log Message:
-----------
[bazel] Add config for hermetic clang toolchain (#192528)
This config uses the https://github.com/hermeticbuild/hermetic-llvm
toolchain to avoid any dependency on the host compiler. This makes it
trivial to test with remote execution and also supports cross
compilation.
Commit: a3d935402420d0ec1f91a37a8fc85bf4ea166f74
https://github.com/llvm/llvm-project/commit/a3d935402420d0ec1f91a37a8fc85bf4ea166f74
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/include/llvm/CodeGen/MachineMemOperand.h
A llvm/test/CodeGen/X86/branchfolding-atomic-mmo.ll
Log Message:
-----------
[CodeGen] Compare MMO atomic ordering and syncscope. (#199892)
MachineMemOperand::operator== compared the address, flags, AA metadata,
range, alignment, and address space, but not atomic success ordering,
failure ordering, or syncscope. Users such as
MachineInstr::cloneMergedMemRefs could therefore treat atomic and
non-atomic MMOs, or atomics with different syncscopes, as identical.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: f828c0e39fca240c3599089afdafa1cab47eadbb
https://github.com/llvm/llvm-project/commit/f828c0e39fca240c3599089afdafa1cab47eadbb
Author: adams381 <adams at nvidia.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
Log Message:
-----------
[CIR] Report NYI for STDC FENV_ACCESS under -fclangir
Functions that enable IEEE floating-point intrinsics via `#pragma STDC
FENV_ACCESS ON` or `__attribute__((strict_fp))` set `UsesFPIntrin()` /
`StrictFPAttr` on the `FunctionDecl`. CIR doesn't support the
FP-constrained dialect ops needed to lower such functions correctly, so
`generateCode` now reports `errorNYI` and returns early when either flag
is set, preventing silent miscompilation.
---------
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: c8efcf55ee47bb04e4539a802e656be89f08099f
https://github.com/llvm/llvm-project/commit/c8efcf55ee47bb04e4539a802e656be89f08099f
Author: Vir Patel <142122453+virsworld at users.noreply.github.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M flang/include/flang/Common/Fortran-consts.h
M flang/include/flang/Support/Fortran.h
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/type.cpp
M flang/lib/Support/Fortran.cpp
A flang/test/Semantics/PowerPC/ppc-vector-diagnostics.f90
Log Message:
-----------
[flang][PPC] Improve vector type names in expression diagnostics (NFC) (#199383)
Continuation of #197821
The change only affects vector types; all other types preserve their
existing formatting behavior.
Co-authored-by: virsworld <virpatel at mac.home>
Commit: 8f03570e7d047bb83c77421360b831f366e7dcea
https://github.com/llvm/llvm-project/commit/8f03570e7d047bb83c77421360b831f366e7dcea
Author: carlobertolli <carlo.bertolli at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.add.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.xor.ll
Log Message:
-----------
[AMDGPU] Add regression test for wave.reduce constant folding. (#198673)
Ensure wave.reduce.xor, wave.reduce.add, and wave.reduce.sub with
constant operands are not folded to the input value, since their results
depend on the number of active lanes at runtime.
Assisted-by: Cursor (Claude)
Commit: 34d5523eaa8f72c3eb56137ac13789d70640a49c
https://github.com/llvm/llvm-project/commit/34d5523eaa8f72c3eb56137ac13789d70640a49c
Author: Justin Bogner <mail at justinbogner.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/test/Driver/msvc-link.c
Log Message:
-----------
[Driver][MSVC] Loosen regex for binary name in test (#200015)
`lld-link` will often be installed as `lld-link.exe` on windows. We need
to make sure this test passes either way.
Commit: 6c9225f1d1e2b0b49ac3a53913be7ccda9c6243b
https://github.com/llvm/llvm-project/commit/6c9225f1d1e2b0b49ac3a53913be7ccda9c6243b
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/include/clang/Basic/FileManager.h
M clang/lib/Basic/FileManager.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/unittests/Basic/FileManagerTest.cpp
Log Message:
-----------
Reapply "[clang] Use FileError in FileManager::getFileRef, getDirectoryRef" (#199759)
Most callers are unchanged, since they either ignore the specific error
or have their own formatting of the error that includes both the path
and the errorToErrorCode-unwrapped value. However, for clients that just
forward the error it's helpful to ensure we do not lose track of the
filename that the error is associated with, so use FileError.
To reduce the overhead of using FileError, keep it only in the public
getFileRef and getDirectoryRef themselves, and use ErrorOr in the
implementation. For callers of getOptional* this should avoid
allocations for errors entirely, and for callers of getFileRef and
getDirectoryRef it makes the error allocation inlinable, which may (in
theory, not tested) let us optimize it away if the Error is immediately
unwrapped back to an error code, for example.
Incidentally clean up some callers to use getOptionalFileRef where they
throw away the error immediately.
Commit: 2b3bc03b5ef00e7eaa245420ca981c700e1c05c4
https://github.com/llvm/llvm-project/commit/2b3bc03b5ef00e7eaa245420ca981c700e1c05c4
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/test/CodeGen/AMDGPU/arbitrary-fp-to-float.ll
M llvm/test/CodeGen/AMDGPU/br_cc.f16.ll
M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
M llvm/test/CodeGen/AMDGPU/commute-compares-scalar-float.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector-16bit.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/fmed3.bf16.ll
M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/imm16.ll
M llvm/test/CodeGen/AMDGPU/immv216.ll
M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
M llvm/test/CodeGen/AMDGPU/llvm.round.ll
M llvm/test/CodeGen/AMDGPU/lround.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.f16.ll
M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.v2f16.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
M llvm/test/CodeGen/AMDGPU/true16-imm-folded-to-0-regression.ll
M llvm/test/MC/AMDGPU/gfx1150_asm_salu_float.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
M llvm/test/MC/AMDGPU/gfx12_asm_sopc.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
M llvm/test/MC/AMDGPU/gfx13_asm_sopc.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/literals.s
M llvm/test/MC/AMDGPU/vop3-gfx10.s
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1150_dasm_salu_float.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vopcx.txt
Log Message:
-----------
[AMDGPU] Use shorter form for i16 operands (#198005)
For 16-bit operands an inline constant is zero extended
which in particular allows to use FP constants. These
will have 16 bits of zeroes in the high half and FP16
value in the low 16 bits.
The patch changes semantics of the FP literal argument
used in i16 context in the asm parser to fp16.
Commit: 0e84bfa79f1121b65609013175c6515159e3cdec
https://github.com/llvm/llvm-project/commit/0e84bfa79f1121b65609013175c6515159e3cdec
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/test/CIR/CodeGen/switch-pre-case-stmts.cpp
Log Message:
-----------
[CIR] Handle the 'before case' block of a switch statement. (#199752)
Before this patch, we would fail any time there was a block with
entry/exit (in this case, one with successors thanks to a label) with a
verification error. This patch adds special handling for that first
block.
This patch DOES choose to not trim them however. Unless there is a label
inside of the block, there isn't any way to get there, and it is dead
code. I've opted to NOT do that optimization, as I suspect that might be
valuable to future passes/something we may wish to warn about in some
sort of CFG analysis.
Additionally, there is some minor changes to FlattenCFG, first to make
sure we skip the switch ONLY if it is truly empty, and second to make
sure we transform any 'break' in the pre-case region.
Commit: 3d9d776b29c9d1b44ee4f87dd1311bbf85af1ca3
https://github.com/llvm/llvm-project/commit/3d9d776b29c9d1b44ee4f87dd1311bbf85af1ca3
Author: DeanSturtevant1 <dsturtevant at google.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bzl] Reduce the `deps` size of libc's shared_math_header library. (#200006)
There were ~500 of them, which can cause build analysis/metric issues.
Glob the private headers in use, retaining only the support libraries
that have source code.
Make it a cc_library instead of a libc_header_library. Rename it
"apfloat_shared_math_headers" to clarify its limited use case.
Commit: 8a55aca421d64db9f82bda2ae3330bdf2dc12cf0
https://github.com/llvm/llvm-project/commit/8a55aca421d64db9f82bda2ae3330bdf2dc12cf0
Author: vporpo <vasileios.porpodas at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.cpp
A llvm/test/Transforms/SandboxVectorizer/seed_collection_loads.ll
Log Message:
-----------
[SandboxVec][SeedCollection] Iterate over all seeds (#195964)
Even though load seeds can already be collected by the seed collector,
the seed collection pass was not iterating over them. This patch fixes
this, we are now iterating over both store and load seeds.
Commit: aa1f119c6dcbf0b4404a88fcaeb34d9c5ca48fb5
https://github.com/llvm/llvm-project/commit/aa1f119c6dcbf0b4404a88fcaeb34d9c5ca48fb5
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/test/lit.cfg.py
Log Message:
-----------
[clang][lit] Add option to skip clang-repl checks (#199255)
Whenever lit or llvm-lit is invoked to run clang tests, clang-repl is
run at least once to check for host jit capabilities, and possibly
several more times to probe related capabilities. This adds a noticeable
delay before testing starts, especially for debug builds.
This change adds a lit parameter (clang_skip_clang_repl_checks) and an
environment variable check (CLANG_LIT_SKIP_CLANG_REPL_CHECKS) to allow
the clang-repl probes to be skipped. When this option is used, any tests
that rely on jit execution will be reported as unsupported.
This option is intended only to allow quicker targeted testing during
development. It should not be used for comprehensive verification before
submitting a patch.
On my local test system, executing `ninja check-clang-cir-codegen` with
a previously completed debug build took 18 seconds to run 354 tests with
this option and 53 seconds without it. This is the sort of use case I am
targeting -- lit test runs when the clang-repl overhead will constitute
a significant portion of the total time to execute the tests.
Commit: d0676f53ed5b56a1f077fe8a4587ecb10e5400ee
https://github.com/llvm/llvm-project/commit/d0676f53ed5b56a1f077fe8a4587ecb10e5400ee
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/Transforms/CIRTransformUtils.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRTransformUtils.cpp
M clang/lib/CIR/Dialect/Transforms/EHABILowering.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/test/CIR/CodeGen/cleanup-throw-from-cleanup.cpp
M clang/test/CIR/CodeGen/try-catch.cpp
Log Message:
-----------
[CIR] Handle throwing an exception from a cleanup scope (#199121)
The CIR FlattenCFG pass had been ignoring any ThrowOp that occurred
inside a cleanup scope or try operation, which led to the thrown
exception not triggering local cleanups and bypassing local catch
handlers.
This change introduces a new CIR operation, TryThrowOp, which is
analagous to the existing TryCallOp. The TryThrowOp (as well as the
ThrowOp) will eventually be lowered to a function call, but which
function gets called is a target-dependent detail, so we need an
abstract operation before EHABI lowering.
The Flatten CFG pass replaces any ThrowOp inside a cleanup scope or try
operation with a TryThrowOp that has an unreachable normal destination
and unwinds to the appropriate cleanup or catch dispatch block.
Assisted-by: Cursor / claude-opus-4.7-thinking-xhigh
Commit: eeeb26f64efdbccd27a2a0fd094be8d98dc6c231
https://github.com/llvm/llvm-project/commit/eeeb26f64efdbccd27a2a0fd094be8d98dc6c231
Author: adams381 <adams at nvidia.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/test/CIR/CodeGen/inline-extern-force-codegen.c
Log Message:
-----------
[CIR] Emit globals for declarations that force externally visible defs
CIRGenModule::emitGlobal reported NYI for forward declarations that
force an externally visible definition under C99 inline rules (inline
definition in the TU, then a later extern declaration). Classic
CodeGenModule already materializes these with GetOrCreateLLVMFunction;
wire the same path through getAddrOfFunction, including the AArch64
multiversion guard from OGCG.
This pattern shows up in SPEC CPU 2026 berkeley-abc `if.h` when
compiling `abcIf.c` for 729.abc_r / 829.abc_s (`If_CutCopy` at line
527).
Test: `inline-extern-force-codegen.c` with CIR, LLVM, and OGCG checks.
---------
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
Commit: 3a203a506691df098ae1020dfb14e411d25bec35
https://github.com/llvm/llvm-project/commit/3a203a506691df098ae1020dfb14e411d25bec35
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/Sema/SemaCUDA.h
M clang/lib/AST/Decl.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/test/CodeGenCUDA/device-vtable.cu
A clang/test/CodeGenCUDA/implicit-hd-dtor-trap-stub-hip.hip
A clang/test/CodeGenCUDA/implicit-hd-explicit-inst-hip.hip
A clang/test/CodeGenCUDA/implicit-hd-overload-ambig-hip.hip
M clang/test/SemaCUDA/dtor.cu
A clang/test/SemaCUDA/implicit-hd-dtor-explicit-instantiation.cu
A clang/test/SemaCUDA/implicit-hd-explicit-inst-organic-caller.cu
A clang/test/SemaCUDA/implicit-hd-overload-ambig-organic-caller.cu
Log Message:
-----------
[CUDA][HIP] Defer device diagnostics in implicit H+D explicit instantiations (#197214)
When clang explicitly instantiates a class template, it must emit
device-side
bodies for the implicit `__host__ __device__` members so the vtable and
instantiation symbols resolve. Some of those members chain into
host-only
calls (for example libstdc++ destructors that eventually call ::operator
delete). If no device code actually uses the class, the user still sees
errors about calling a `__host__` function from device code, even though
they
wrote no device code that touches it. Overload ambiguity in the same
context
behaves the same way.
This patch defers device-side errors in implicit `__host__ __device__`
functions reached only via an explicit template instantiation. At the
end of
the translation unit, clang checks whether a real device caller exists.
If
one does, the deferred errors are surfaced with the usual call-stack
notes.
If not, the diagnostics are dropped and the function gets a trap body,
so the
vtable and instantiation symbols stay well-formed and the failure only
fires
if device code ever calls the function. This works without
-fgpu-defer-diag.
Commit: 57b485f07d94e1780ed83275a01ef1c450dcdbd1
https://github.com/llvm/llvm-project/commit/57b485f07d94e1780ed83275a01ef1c450dcdbd1
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/assert-align.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
M llvm/test/CodeGen/AMDGPU/amdgcn-call-whole-wave.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.160bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.16bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.192bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.224bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.288bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.352bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.384bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ptr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior2.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/branch-relax-spill.ll
M llvm/test/CodeGen/AMDGPU/call-args-inreg-bfloat.ll
M llvm/test/CodeGen/AMDGPU/call-args-inreg-no-sgpr-for-csrspill.ll
M llvm/test/CodeGen/AMDGPU/call-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
M llvm/test/CodeGen/AMDGPU/call-graph-register-usage.ll
M llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
M llvm/test/CodeGen/AMDGPU/call-skip.ll
M llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs-packed.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
M llvm/test/CodeGen/AMDGPU/cc-entry.ll
M llvm/test/CodeGen/AMDGPU/cc-inreg-sgpr0-3-mismatch.ll
M llvm/test/CodeGen/AMDGPU/copysign-simplify-demanded-bits.ll
M llvm/test/CodeGen/AMDGPU/cross-block-use-is-not-abi-copy.ll
M llvm/test/CodeGen/AMDGPU/debug-frame.ll
M llvm/test/CodeGen/AMDGPU/dwarf-multi-register-use-crash.ll
M llvm/test/CodeGen/AMDGPU/dynamic-vgpr-reserve-stack-for-cwsr.ll
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-select.ll
M llvm/test/CodeGen/AMDGPU/fix-frame-reg-in-custom-csr-spills.ll
M llvm/test/CodeGen/AMDGPU/frame-setup-without-sgpr-to-vgpr-spills.ll
M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/gfx-call-non-gfx-func.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-preserved-registers.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
M llvm/test/CodeGen/AMDGPU/global-alias.ll
M llvm/test/CodeGen/AMDGPU/identical-subrange-spill-infloop.ll
M llvm/test/CodeGen/AMDGPU/indirect-call.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/insert-waitcnts-crash.ll
M llvm/test/CodeGen/AMDGPU/issue176578.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
M llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
M llvm/test/CodeGen/AMDGPU/need-fp-from-vgpr-spills.ll
M llvm/test/CodeGen/AMDGPU/nested-calls.ll
M llvm/test/CodeGen/AMDGPU/no-source-locations-in-prologue.ll
M llvm/test/CodeGen/AMDGPU/nofpclass-call.ll
M llvm/test/CodeGen/AMDGPU/preserve-wwm-copy-dst-reg.ll
M llvm/test/CodeGen/AMDGPU/s-getpc-b64-remat.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
M llvm/test/CodeGen/AMDGPU/si-lower-sgpr-spills-vgpr-lanes-usage.mir
M llvm/test/CodeGen/AMDGPU/sibling-call.ll
M llvm/test/CodeGen/AMDGPU/stack-realign.ll
M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
M llvm/test/CodeGen/AMDGPU/strictfp_f16_abi_promote.ll
M llvm/test/CodeGen/AMDGPU/swdev504645-global-fold.ll
M llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.waterfall.ll
M llvm/test/CodeGen/AMDGPU/unfold-masked-merge-scalar-variablemask.ll
M llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.ll
M llvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll
M llvm/test/CodeGen/AMDGPU/waterfall-call-target-av-register-failure.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-register-copy.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
Log Message:
-----------
[AMDGPU] Use register pair for PC spill (#183146)
Change-Id: Ibedeef926f7ff235a06de65a83087c151f66a416
Commit: 80393ba1bdbe6155a91c7a54c0430b68f9c4b556
https://github.com/llvm/llvm-project/commit/80393ba1bdbe6155a91c7a54c0430b68f9c4b556
Author: HighW4y2H3ll <zhenghaohuu at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
Log Message:
-----------
[llvm-profgen] Fix assertion condition for the top-level probes address range checks (#198674)
Top-level functions may contains multiple disjoint address ranges, and
the pseudo probes may not be stored as sorted. The original assertion
check is problematic because the first pseudo probe may not necessarily
falls into the current function range even though they are both part of
the same function.
Update the assertion condition so that we won't hit the assertion
failure as long as there one pseudo probe falls in the checked function
range.
Commit: 59389b0ba9dec92702de7465b13bbedb9c523951
https://github.com/llvm/llvm-project/commit/59389b0ba9dec92702de7465b13bbedb9c523951
Author: Michael Levine <mlevine55 at bloomberg.net>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M libcxx/include/map
M libcxx/include/set
Log Message:
-----------
[libc++] Add __is_transparently_comparable_v optimizations for set, multiset, and multimap functions [Issue 187105] (#189735)
This PR closes https://github.com/llvm/llvm-project/issues/187105
It adds `__is_transparently_comparable_v` checks to `std::set`,
`std::multiset`, and `std::multimap`'s `find`, `contains`,
`lower_bound`, and `upper_bound` functions.
Assisted by: Claude Code
---------
Signed-off-by: mlevine55 <mlevine55 at bloomberg.net>
Commit: 15113c3eedb1e5badc411602fb8daa57bb5f677e
https://github.com/llvm/llvm-project/commit/15113c3eedb1e5badc411602fb8daa57bb5f677e
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M libcxx/utils/ci/docker/docker-compose.yml
Log Message:
-----------
[libc++] Update the base image hash to get GCC 16 (#199882)
Commit: 8dc8411a75707fb7c914a851fce6aa3915e8a3bc
https://github.com/llvm/llvm-project/commit/8dc8411a75707fb7c914a851fce6aa3915e8a3bc
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 3d9d776 (#200029)
This fixes 3d9d776b29c9d1b44ee4f87dd1311bbf85af1ca3.
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: bdb3232dfacba6a61a0ac45bec3fb18c7c1c24bd
https://github.com/llvm/llvm-project/commit/bdb3232dfacba6a61a0ac45bec3fb18c7c1c24bd
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/assert-align.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
M llvm/test/CodeGen/AMDGPU/a-v-flat-atomicrmw.ll
M llvm/test/CodeGen/AMDGPU/a-v-global-atomicrmw.ll
M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
M llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/amdgcn-call-whole-wave.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.384bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior2.ll
M llvm/test/CodeGen/AMDGPU/av_spill_cross_bb_usage.mir
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/branch-relax-spill.ll
M llvm/test/CodeGen/AMDGPU/call-args-inreg-bfloat.ll
M llvm/test/CodeGen/AMDGPU/call-args-inreg-no-sgpr-for-csrspill.ll
M llvm/test/CodeGen/AMDGPU/call-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
M llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
M llvm/test/CodeGen/AMDGPU/call-skip.ll
M llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs-packed.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
M llvm/test/CodeGen/AMDGPU/cc-entry.ll
M llvm/test/CodeGen/AMDGPU/cc-inreg-sgpr0-3-mismatch.ll
M llvm/test/CodeGen/AMDGPU/copysign-simplify-demanded-bits.ll
M llvm/test/CodeGen/AMDGPU/cross-block-use-is-not-abi-copy.ll
M llvm/test/CodeGen/AMDGPU/debug-frame.ll
M llvm/test/CodeGen/AMDGPU/dwarf-multi-register-use-crash.ll
M llvm/test/CodeGen/AMDGPU/dynamic-vgpr-reserve-stack-for-cwsr.ll
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-mov-b32.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-select.ll
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-select.mir
M llvm/test/CodeGen/AMDGPU/fix-frame-reg-in-custom-csr-spills.ll
M llvm/test/CodeGen/AMDGPU/frame-index.mir
M llvm/test/CodeGen/AMDGPU/frame-setup-without-sgpr-to-vgpr-spills.ll
M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/gfx-call-non-gfx-func.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-preserved-registers.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
M llvm/test/CodeGen/AMDGPU/identical-subrange-spill-infloop.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/insert-waitcnts-crash.ll
M llvm/test/CodeGen/AMDGPU/issue176578.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f64.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.gfx10.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
M llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
M llvm/test/CodeGen/AMDGPU/maximumnum.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/memset-param-combinations.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.ll
M llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
M llvm/test/CodeGen/AMDGPU/nested-calls.ll
M llvm/test/CodeGen/AMDGPU/no-source-locations-in-prologue.ll
M llvm/test/CodeGen/AMDGPU/nofpclass-call.ll
M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain-preserve.mir
M llvm/test/CodeGen/AMDGPU/pei-vgpr-block-spill-csr.mir
M llvm/test/CodeGen/AMDGPU/preserve-wwm-copy-dst-reg.ll
M llvm/test/CodeGen/AMDGPU/s-getpc-b64-remat.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
M llvm/test/CodeGen/AMDGPU/si-lower-sgpr-spills-vgpr-lanes-usage.mir
M llvm/test/CodeGen/AMDGPU/si-lower-sgpr-spills.mir
M llvm/test/CodeGen/AMDGPU/sibling-call.ll
M llvm/test/CodeGen/AMDGPU/spill-partial-csr-sgpr-live-ins.mir
M llvm/test/CodeGen/AMDGPU/spill-sgpr-csr-live-ins.mir
M llvm/test/CodeGen/AMDGPU/spill-sgpr-to-virtual-vgpr.mir
M llvm/test/CodeGen/AMDGPU/spill-vgpr-block.ll
M llvm/test/CodeGen/AMDGPU/spill_more_than_wavesize_csr_sgprs.ll
M llvm/test/CodeGen/AMDGPU/stack-realign.ll
M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
M llvm/test/CodeGen/AMDGPU/strictfp_f16_abi_promote.ll
M llvm/test/CodeGen/AMDGPU/swdev504645-global-fold.ll
M llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.waterfall.ll
M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
M llvm/test/CodeGen/AMDGPU/unfold-masked-merge-scalar-variablemask.ll
M llvm/test/CodeGen/AMDGPU/unspill-vgpr-after-rewrite-vgpr-mfma.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-mul.ll
M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.ll
M llvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-register-copy.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
Log Message:
-----------
[AMDGPU] Implement CFI for CSR spills (#183150)
Introduce new SPILL pseudos to allow CFI to be generated for only CSR
spills, and to make ISA-instruction-level accurate information.
Other targets either generate slightly incorrect information or rely on
conventions for how spills are placed within the entry block. The
approach in this change produces larger unwind tables, with the
increased size being spent on additional DW_CFA_advance_location
instructions needed to describe the unwinding accurately.
Change-Id: I9b09646abd2ac4e56eddf5e9aeca1a5bebbd43dd
Co-authored-by: Scott Linder <scott.linder at amd.com>
Co-authored-by: Venkata Ramanaiah Nalamothu <VenkataRamanaiah.Nalamothu at amd.com>
Commit: 99bc986c527a9a98c85d792cfd99e0518cc1615d
https://github.com/llvm/llvm-project/commit/99bc986c527a9a98c85d792cfd99e0518cc1615d
Author: Roy Shi <royitaqi at users.noreply.github.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/include/llvm/Support/FileSystem.h
M llvm/include/llvm/Support/MemoryBuffer.h
M llvm/lib/Support/MemoryBuffer.cpp
M llvm/lib/Support/Unix/Path.inc
M llvm/lib/Support/Windows/Path.inc
Log Message:
-----------
[Support] Add MemoryBuffer::randomAccessIfMmap() (#199265)
For read-only MemoryBuffer_MMap, advise the kernel that access pattern
will be random, disabling readahead. This calls `madvise(MADV_RANDOM)`
on *NIX. This function should not be called on a writable buffer.
The implementation follows existing pattern in
`mapped_file_region::dontNeedImpl()` and
`mapped_file_region::willNeedImpl()`.
See intended usage: https://github.com/llvm/llvm-project/pull/199230
Commit: b76503229dc39d32505504fee48d0d40c4adc069
https://github.com/llvm/llvm-project/commit/b76503229dc39d32505504fee48d0d40c4adc069
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
Log Message:
-----------
[alpha.webkit.UncountedLocalVarsChecker] Detect a raw pointer/reference in a decomposition declaration. (#198582)
Commit: c00484d99f36f90aa5cb79226a0c444d3fc41bd9
https://github.com/llvm/llvm-project/commit/c00484d99f36f90aa5cb79226a0c444d3fc41bd9
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
Log Message:
-----------
[llvm-profgen] Fix -Wunused-variable (#200038)
Inline the variable definition into the assertion given the variable
name does not add much and release builds will end up with an unused
variable otherwise.
Commit: c315c662cd2d33e0c7f962fed742ee53626d8005
https://github.com/llvm/llvm-project/commit/c315c662cd2d33e0c7f962fed742ee53626d8005
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/code-size-estimate.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector-16bit.ll
M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
M llvm/test/CodeGen/AMDGPU/imm16.ll
M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.f16.ll
M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.v2f16.ll
Log Message:
-----------
[AMDGPU] Fix codesize estimate after #198005 (#200033)
This fixes failure in libc tests which checks the exact encoding
size. Encoding is now shorter, but it did not recognize fp16
immediates as an inlinable constant and assumes literal encoding.
Shorter encodings were created here:
https://github.com/llvm/llvm-project/pull/198005
Commit: f95f02c4b1ac931f8b6dcac55a0ad4ee59997883
https://github.com/llvm/llvm-project/commit/f95f02c4b1ac931f8b6dcac55a0ad4ee59997883
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Thread scalar types through VPReplicateRecipe. (NFC) (#199379)
Update VPReplicateRecipe to populate VPSingleDefValue's scalar
type. For most opcodes, the scalar type is determine from the operands,
via computeScalarTypeForInstruction (from
https://github.com/llvm/llvm-project/pull/199378).
For some opcodes, like Loads and casts, the type must be
provided explicitly.
Depends on https://github.com/llvm/llvm-project/pull/199378.
PR: https://github.com/llvm/llvm-project/pull/199379
Commit: 2f0815059c7b033acf935d49380d8b0166460bb3
https://github.com/llvm/llvm-project/commit/2f0815059c7b033acf935d49380d8b0166460bb3
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M bolt/test/lit.cfg.py
M libc/utils/libctest/format.py
M libsycl/test/lit.cfg.py
M lldb/test/API/lit.cfg.py
M lldb/test/API/lldbtest.py
M lldb/test/Shell/lit.cfg.py
M llvm/utils/lit/lit/LitConfig.py
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/lit/TestingConfig.py
M llvm/utils/lit/lit/formats/googletest.py
M llvm/utils/lit/lit/main.py
M llvm/utils/lit/tests/Inputs/googletest-timeout/lit.cfg
M llvm/utils/lit/tests/Inputs/shtest-timeout/lit.cfg
Log Message:
-----------
Reland: [lit] Move maxIndividualTestTime from global to test suite config (#199996)
Simplify LitConfig initialization and setter to allow None values.
TestingConfig.maxIndividualTestTime is initialized to 0 (or resolved to
0 if None) strictly during initialization.
This fixes an issue where the aggressive BOLT timeout of 60s (previously
set globally on lit_config) was leaking and affecting libc++ tests. By
moving the timeout configuration from the global lit_config to the
individual test suite config, we ensure that timeouts are isolated and
respect suite-local settings without leaking.
PR Stack:
* https://github.com/llvm/llvm-project/pull/198192
* https://github.com/llvm/llvm-project/pull/199886
* ➤ https://github.com/llvm/llvm-project/pull/199996
* https://github.com/llvm/llvm-project/pull/198193
The diff from #198192 is 39b632f741012bfbff9858407765e45435ad95ff
Assisted-by: Gemini
Commit: bf005a1227a4822c7c2535dd5f5f3626fbe441b2
https://github.com/llvm/llvm-project/commit/bf005a1227a4822c7c2535dd5f5f3626fbe441b2
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
A clang/test/Analysis/Checkers/WebKit/unretained-call-args-member.mm
Log Message:
-----------
[alpha.webkit.UnretainedCallArgsChecker] Emit a warning for a non-const RetainPtr member (#184243)
This PR fixes a bug in UnretainedCallArgsChecker that it wouldn't emit a
warning when calling a function with the return value of a getter of a
RetainPtr non-const member variable even if such a member variable could
be mutated during such a function call.
The bug caused by tryToFindPtrOrigin treating any call of a getter on a
smart pointer member variable as safe. Fixed the bug by limiting this to
only when the variable is a local variable or a function parameter.
In addition, this PR fixes a bug in WebKit checkers that it would
erroneously emit a warning when calling a getter on a const RetainPtr
member variable beacuse isOwnerPtr was returning false for RetainPtr.
This false negative was previously masked / hidden by the false positive
fixed in this PR.
---------
Co-authored-by: Balázs Benics <benicsbalazs at gmail.com>
Commit: 9ca1941d8ea2cc9f95def825d2c77cc91e2d2fd5
https://github.com/llvm/llvm-project/commit/9ca1941d8ea2cc9f95def825d2c77cc91e2d2fd5
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M flang-rt/cmake/modules/AddFlangRTOffload.cmake
M flang-rt/lib/runtime/CMakeLists.txt
Log Message:
-----------
[flang-rt][cuda] Move thin I/O to ptx only (#200054)
Commit: b0516c58736cf1d83188e0b04cf5acb123e382e4
https://github.com/llvm/llvm-project/commit/b0516c58736cf1d83188e0b04cf5acb123e382e4
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/lower-gep.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/split-gep-sub.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Set `inbounds` correctly. (#199304)
swapGEPOperand reorders the GEPs (ptr+off)+const into (ptr+const)+off.
When it does so, it needs to determine if the inner GEP is inbounds.
Previously the way it did this was to call
stripAndAccumulateInBoundsConstantOffsets on (ptr+const), and then check
if this offset was indeed in-bounds.
However, this GEP was not necessarily marked as `inbounds` itself. If it
was not, stripAndAccumulateInBoundsConstantOffsets would return 0 for
the offset (instead of `const`), in which case we'd check if
`0 < [obj width]`, which is trivially true, and then incorrectly mark
the GEP as inbounds.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 4fe4d9844862451b38bb3bd7329ab1b29916e3be
https://github.com/llvm/llvm-project/commit/4fe4d9844862451b38bb3bd7329ab1b29916e3be
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/IR/Instructions.cpp
M llvm/test/Transforms/SimpleLoopUnswitch/trivial-unswitch-profmd.ll
Log Message:
-----------
[IR] Handle `expected` tag in switch branch weights. (#200025)
Switch branch weight metadata has an optional `expected` tag.
SwitchInstProfUpdateWrapper::getSuccessorWeight() did not handle this
tag; if it was present, it would return nullopt, effectively ignoring
the metadata.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 4e39ea3d5e7320035384072021582af74d91b1a9
https://github.com/llvm/llvm-project/commit/4e39ea3d5e7320035384072021582af74d91b1a9
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
A llvm/test/CodeGen/AMDGPU/amdgpu-spill-cfi-saved-regs.ll
Log Message:
-----------
[AMDGPU] Implement -amdgpu-spill-cfi-saved-regs (#183149)
These spills need special CFI anyway, so implementing them directly
where CFI is emitted avoids the need to invent a mechanism to track them
from ISel.
Change-Id: If4f34abb3a8e0e46b859a7c74ade21eff58c4047
Co-authored-by: Scott Linder <scott.linder at amd.com>
Co-authored-by: Venkata Ramanaiah Nalamothu <VenkataRamanaiah.Nalamothu at amd.com>
Commit: 5a7e4a0cf7f53a74b87c53b792b6a1d3ece3df28
https://github.com/llvm/llvm-project/commit/5a7e4a0cf7f53a74b87c53b792b6a1d3ece3df28
Author: Scott Linder <scott.linder at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/MC/MCDwarf.h
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/test/CodeGen/AMDGPU/debug-frame.ll
M llvm/test/CodeGen/AMDGPU/dwarf-multi-register-use-crash.ll
M llvm/test/CodeGen/AMDGPU/insert-waitcnts-crash.ll
M llvm/test/CodeGen/AMDGPU/no-source-locations-in-prologue.ll
M llvm/test/CodeGen/AMDGPU/pei-vgpr-block-spill-csr.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
Log Message:
-----------
[AMDGPU][MC] Replace shifted registers in CFI instructions (#183147)
Change-Id: I0d99e9fe43ec3b6fecac20531119956dca2e4e5c
Commit: b6161b9f4c9e306fa07295db67a7ecc8cfadcffb
https://github.com/llvm/llvm-project/commit/b6161b9f4c9e306fa07295db67a7ecc8cfadcffb
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M libc/include/CMakeLists.txt
Log Message:
-----------
[libc] Add missing struct_mmsghdr dependency to sys_socket (#200051)
Updated libc/include/CMakeLists.txt to add
.llvm-libc-types.struct_mmsghdr to the sys_socket dependency list. This
ensures that the generated sys/socket.h correctly includes the
struct_mmsghdr.h type header.
Assisted-by: Automated tooling, human reviewed.
Commit: 5ae73b942f44295c0baff138effe7272a94c7a1b
https://github.com/llvm/llvm-project/commit/5ae73b942f44295c0baff138effe7272a94c7a1b
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M lldb/include/lldb/Core/Module.h
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Core/Module.cpp
Log Message:
-----------
[lldb] Keep addr for Memory Modules separate (#199810)
This change is to make DataFileCache symbol table caching work with
memory-read binary modules.
When we read a Module out of memory, we keep the address of the module
in Module's m_object_name field as a string. This is normally the name
of a file in a ranlib/static library/.a archive like the "main.o" in
"foo.a(main.o)". The address is most often seen in the "image list"
output, and is the only easy way to distinguish in that output which
binaries were read out of memory, versus found on local disk. The "name"
of the Module ends up being the combination of the FileSpec plus this
m_object_name.
Reading a binary out of memory is expensive, primarily because of
reading the symbol table. The DataFileCache feature that Greg introduced
five years ago can cache the Symbol Table for a binary locally, and when
we see the same binary loaded again in a future debug session/lldb
session, we can skip parsing the symbol table (or in the case of Memory
Module, reading it from memory).
Unfortunately because the "name" of the Module is the combination of the
FileSpec PLUS the address, if this is a system where binaries can load
at different addresses, we may not be able to use the DataFileCache for
a memory module. The address should not be part of the name for this.
In Module, I created a new optional ivar to track the memory module
address, if this is one, instead of putting the string representation in
m_object_name. In all places (except the DataFileCache name
construction), I append the address to the name just like we do with
m_object_name.
There were a few logging points that were manually constructing the name
when a method would do it for them already; I changed them to call the
method instead.
Probably the least clean part is in CommandObjectTarget (the image list
output), we add the ObjectName to the FileSpec here as well. For now,
instead of trying to leverage one of the methods in Module that combine
them already, I changed it to use the same change.
I used a std::optional for this address instead of the
LLDB_INVALID_ADDRESS convention because it was a lot cleaner to read, I
thought, even if it is different than most often used in the codebase.
Open to using the older coding style if other people think consistency
is more important.
Commit: 78987e85ae0930b10d2588a9f8333a2fa8c3014d
https://github.com/llvm/llvm-project/commit/78987e85ae0930b10d2588a9f8333a2fa8c3014d
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M lldb/include/lldb/Core/DataFileCache.h
M lldb/include/lldb/Core/Module.h
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/include/lldb/Symbol/Symbol.h
M lldb/include/lldb/Symbol/Symtab.h
M lldb/include/lldb/Utility/DataEncoder.h
M lldb/source/Core/DataFileCache.cpp
M lldb/source/Core/Mangled.cpp
M lldb/source/Symbol/Symtab.cpp
Log Message:
-----------
[lldb] Edits and clarifications to DataFileCache comments, NFC (#199787)
I was reading through Greg Clayton's DataFileCache PR and fixed a few
small typeos as I went along.
I also had a little trouble understanding the two types of hashes that
are calculated for a file, at first, and I tried to write comments for
the relevant methods (in Module, ObjectFile, and DataFileCache) to be
more explicit about their role and the role of the other hashes that are
calculated. It may be more detail than necessary, but it would have been
helpful for me while reading this through.
Commit: 055a4ba0b27794d1dd04149f87ebc3cc47bc2bd9
https://github.com/llvm/llvm-project/commit/055a4ba0b27794d1dd04149f87ebc3cc47bc2bd9
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Update C++ DR status page (#200053)
Updates from 2026-05-19 CWG telecon.
Commit: 9fa9ab338f753cf4fd7c6f7c3c8424da7d15c588
https://github.com/llvm/llvm-project/commit/9fa9ab338f753cf4fd7c6f7c3c8424da7d15c588
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
Log Message:
-----------
[RISCV] Remove unused Predicates for Zicfilp. NFC (#200028)
Commit: 8fc12f1e3f6aab79aefd70cf68f9c92439e2fc32
https://github.com/llvm/llvm-project/commit/8fc12f1e3f6aab79aefd70cf68f9c92439e2fc32
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M flang-rt/cmake/modules/AddFlangRTOffload.cmake
Log Message:
-----------
[flang-rt][cuda] Set RT_CUDA_THIN_IO=1 only for PTX object (#200063)
Commit: e1dd984a809c9c7b8cc3731e3b8eeb8d01fbc8c1
https://github.com/llvm/llvm-project/commit/e1dd984a809c9c7b8cc3731e3b8eeb8d01fbc8c1
Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
M flang/test/Transforms/FIRToMemRef/slice-projected.mlir
Log Message:
-----------
[flang][FIRToMemRef] fix stride calculation for complex lowering (#200035)
**Summary**
When `fir.array_coor` targets a projected slice of a complex array (path
0 = real, 1 = imag), FIRToMemRef must not treat the result as a dense
memref.
**Bug:** The pass stopped after fir.convert to `memref<…×complex>` (or
static-shape fast path) and used default/dense strides. Loads/stores
then stepped by sizeof(complex) instead of sizeof(re)/sizeof(im).
**Fix:** For constant `%re/%im` on `complex<T>` storage:
`fir.convert` storage to `memref<…×2×T>` and index the component (0 or
1).
Read layout from `fir.box_dims` on the box (even if the memref shape is
static).
Set each memref stride to `box_dims_byte_stride / sizeof(T)`.
Advised by Cursor
Commit: e8cc37e60d04ea2e25f03fbeeb8de59f4e640448
https://github.com/llvm/llvm-project/commit/e8cc37e60d04ea2e25f03fbeeb8de59f4e640448
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
Log Message:
-----------
[clang][deps] Disable app extensions during scanning (#200041)
Application extension contributes to the context hash, but only affects
the availability attribute on declarations. Since it cannot affect
dependencies, disable it for the scan to reduce the number of scanning
PCM variants.
Commit: 00b4695f1dc6b04168be2e1ed8368624d768314f
https://github.com/llvm/llvm-project/commit/00b4695f1dc6b04168be2e1ed8368624d768314f
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/test/CodeGen/AArch64/fast-isel-branch-cond-split.ll
A llvm/test/Transforms/CodeGenPrepare/X86/split-branch-cond-weights.ll
Log Message:
-----------
[CodeGenPrepare] Use recomputed split-branch weights. (#199822)
splitBranchCondition computes new branch weights after splitting an
and/or condition into two branches, but then passed the original weights
to createBranchWeights at each metadata update. The recomputed values
were discarded.
Pass the scaled NewTrueWeight/NewFalseWeight values when installing
metadata on both generated branches.
This bug was found by a large run of Opus 4.7 looking for bugs in LLVM.
Commit: 7f82efb3966868dfe7d0b37dd6aa104007d264ff
https://github.com/llvm/llvm-project/commit/7f82efb3966868dfe7d0b37dd6aa104007d264ff
Author: Guy David <guyda96 at gmail.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/include/module.modulemap
Log Message:
-----------
[Object] Add missing BBAddrMap.def to module map (#199961)
Added in 532940bdee66bf5f36a70578698aab66f16919af.
Commit: f13305bac8ea2237e6fbab29f172e6a5a5058a1c
https://github.com/llvm/llvm-project/commit/f13305bac8ea2237e6fbab29f172e6a5a5058a1c
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/RISCV/vector-deinterleave2.ll
Log Message:
-----------
[VectorCombine] Fold deinterleave2 with smaller effective element size (#192121)
Found in real-world code where this sequence:
```
%d = llvm.vector.deinterleave2 <vscale x 16 x i32> %v
%f0 = extractvalue { <vscale x 8 x i32>, <vscale x 8 x i32> } %d, 0
%f1 = extractvalue { <vscale x 8 x i32>, <vscale x 8 x i32> } %d, 1
%low0 = and <vscale x 8 x i32> %f0, splat (i32 65535)
%low1 = shl <vscale x 8 x i32> %f1, splat (i32 16)
%merge0 = or disjoint <vscale x 8 x i32> %low0, %low1
%high0 = and <vscale x 8 x i32> %f1, splat (i32 -65536)
%high1 = lshr <vscale x 8 x i32> %f0, splat (i32 16)
%merge1 = or disjoint <vscale x 8 x i32> %high0, %high1
```
is really just doing `deinterleave2` but on `<vscale x 32 x i16>`. That
is, the same total vector size but with half the element width. So we
can turn it into:
```
%narrow.v = bitcast <vscale x 16 x i32> %v to <vscale x 32 x i16>
%d = llvm.vector.deinterleave2 <vscale x 32 x i16> %narrow.v
%f0 = extractvalue { <vscale x 16 x i16>, <vscale x 16 x i16> } %d, 0
%f1 = extractvalue { <vscale x 16 x i16>, <vscale x 16 x i16> } %d, 1
%merge0 = bitcast <vscale x 16 x i16> %f0 to <vscale x 8 x i32>
%merge1 = bitcast <vscale x 16 x i16> %f1 to <vscale x 8 x i32>
```
I put this in VectorCombine because I'm worried that the newly created
bitcast might be expensive for some targets, hence a profitability check
before committing the transformation.
Commit: eb0cb0c69526a8bff5b3b1399a2bd7da4cd3a148
https://github.com/llvm/llvm-project/commit/eb0cb0c69526a8bff5b3b1399a2bd7da4cd3a148
Author: Zhijie Wang <yesterda9 at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/test/Sema/Inputs/lifetime-analysis.h
M clang/test/Sema/warn-lifetime-safety.cpp
Log Message:
-----------
[LifetimeSafety] Propagate inner origins through std::move and related casts (#199600)
std::move and related casts (std::forward, std::forward_like,
std::move_if_noexcept, std::as_const) are reference casts: the result
refers to the same object as the argument. Flow all origin levels for
this family.
Fixes #191954
Commit: 9409c07de6378507397ecdb6f05f628f58110112
https://github.com/llvm/llvm-project/commit/9409c07de6378507397ecdb6f05f628f58110112
Author: Jason Molenda <jmolenda at apple.com>
Date: 2026-05-27 (Wed, 27 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] Read Mach-O binaries out of memory more efficiently (#200072)
When lldb needs to read a Mach-O binary out of memory, it first reads
512 bytes to get the mach header, which includes the size of the load
commands, and then does a second read to get the mach header and load
commands.
I am changing the initial read to get 3192 bytes, which will include the
full load commands for most binaries.
In April I changed debugserver to return the correct size of the mach
header and load commands in a `sizeof_mh_and_loadcmds` key. If this
number is provided, refine the amount we read to this size.
This reduces the number of memory read packets we issue from 2 to 1 for
a memory module, outside of packets that may be needed to get the symbol
table.
Commit: 9d1644738134c7132058dddf4b97f2a782429862
https://github.com/llvm/llvm-project/commit/9d1644738134c7132058dddf4b97f2a782429862
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.h
M llvm/lib/Target/DirectX/DirectXIRPasses/CMakeLists.txt
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.h
A llvm/test/tools/dxil-dis/dbg-value.ll
M llvm/test/tools/dxil-dis/debug-info.ll
Log Message:
-----------
[DirectX] Add an "offset" operand to llvm.dbg.value (#197478)
Offset operand was removed in abe04759a6, so we need to bring it back
for DXIL. If offset is not specified, it should be zero.
---------
Co-authored-by: Andrew Savonichev <andrew.savonichev at gmail.com>
Commit: e69fb46030a03bcd9556d60844defd2bb9627587
https://github.com/llvm/llvm-project/commit/e69fb46030a03bcd9556d60844defd2bb9627587
Author: Roy Shi <royitaqi at users.noreply.github.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/DebugInfo/GSYM/GsymReader.cpp
M llvm/tools/llvm-gsymutil/Opts.td
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
Log Message:
-----------
[gsymutil] Disable readahead in `GsymReader::openFile()` (#199230)
`GsymReader::lookup()` has random access pattern (i.e. binary search an
address, then spot-load/parse info from rest of the GSYM data).
Readahead strategies in kernels (which was enabled by default) don't
necessarily improve (and may degrade) performance. This patch disables
readahead.
In a production system, similar change has seen 5% improvement on IOPS
and data reads. An offline performance test on a Linux machine shows
similar results - it reduces 14.3% total data read, 3.5% CPU%, and 2.9%
wall time (while adding 9.4% page faults). The reduction of total data
read and CPU % may help the performance of a heavily-loaded production
system.
```
┌────────────────┬─────────────┬─────────┬────────┐
│ Metric │ MADV_RANDOM │ Default │ Diff │
├────────────────┼─────────────┼─────────┼────────┤
│ Wall (s) │ 0.286 │ 0.294 │ -2.9% │
├────────────────┼─────────────┼─────────┼────────┤
│ Major PF │ 203.6 │ 186.0 │ +9.4% │
├────────────────┼─────────────┼─────────┼────────┤
│ Minor PF │ 4433.1 │ 4450.3 │ -0.4% │
├────────────────┼─────────────┼─────────┼────────┤
│ FS inputs (MB) │ 118.8 │ 138.7 │ -14.3% │
├────────────────┼─────────────┼─────────┼────────┤
│ CPU % │ 48.8 │ 50.6 │ -3.5% │
└────────────────┴─────────────┴─────────┴────────┘
```
The test is performed by doing 100 cold runs, where each run first
purges kernel page cache, then opens/mmaps a 3.8 GB GSYM file, and then
looks up 3 addresses at the beginning/middle/end of the address list.
See [test
script](https://gist.github.com/royitaqi/c06c733cccfbf747d63750b06db77b4a).
The pre-existing hidden option `llvm-gsymutil --benchmark-reader` is
extended to take optional `=<start>,<stride>` to make performance
testing easier.
Commit: 5db13643f4b7038db0ca304d9f8900122502935c
https://github.com/llvm/llvm-project/commit/5db13643f4b7038db0ca304d9f8900122502935c
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
A clang/test/CodeGenHIP/offload-pgo-sections.hip
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/profile/InstrProfilingFile.c
A compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
A llvm/test/Instrumentation/InstrProfiling/amdgpu-instrumentation.ll
A llvm/test/Instrumentation/InstrProfiling/amdgpu-profc-arrays.ll
A llvm/test/Instrumentation/InstrProfiling/gpu-weak.ll
A llvm/test/Transforms/PGOProfile/amdgpu-disable-value-profiling.ll
Log Message:
-----------
[PGO][AMDGPU] Add basic HIP offload PGO support (#177665)
Provide the minimum HIP/offload path for device profile collection and
merge on HIP before layering profile-format and uniformity-specific
changes separately.
This adds the ROCm collection runtime, hooks device collection into the
host write-file path, lowers AMDGPU instrumentation to
__llvm_profile_instrument_gpu with regular counters, and disables GPU
indirect-call value profiling.
Commit: 1670d39972a1c6dd4a9e6f54d509a86a72dae1da
https://github.com/llvm/llvm-project/commit/1670d39972a1c6dd4a9e6f54d509a86a72dae1da
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DirectXIRPasses/PointerTypeAnalysis.cpp
A llvm/test/tools/dxil-dis/dbg-declare-undef.ll
Log Message:
-----------
[DirectX] Handle undef the same way as null (#197507)
Commit: 9cc6c9375faa11722435a150c9829df2452b48ca
https://github.com/llvm/llvm-project/commit/9cc6c9375faa11722435a150c9829df2452b48ca
Author: Wenju He <wenju.he at intel.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M libclc/clc/include/clc/relational/clc_signbit.h
M libclc/clc/lib/generic/relational/clc_signbit.cl
A libclc/clc/lib/generic/relational/clc_signbit.inc
Log Message:
-----------
[libclc] Optimize and vectorize signbit (#199497)
Replace element-wise scalarizing implementation with bitcast and shift.
For example,
define hidden range(i32 -1, 1) <2 x i32> @_Z7signbitDv2_f(<2 x float>
noundef %0) #0 {
%2 = bitcast <2 x float> %0 to <2 x i32>
%3 = extractelement <2 x i32> %2, i64 0
%4 = lshr i32 %3, 31
%5 = insertelement <2 x i32> poison, i32 %4, i64 0
%6 = extractelement <2 x i32> %2, i64 1
%7 = lshr i32 %6, 31
%8 = insertelement <2 x i32> %5, i32 %7, i64 1
%9 = icmp ne <2 x i32> %8, zeroinitializer
%10 = sext <2 x i1> %9 to <2 x i32>
ret <2 x i32> %10
}
is changed to:
define hidden noundef range(i32 -1, 1) <2 x i32> @_Z7signbitDv2_f(<2 x
float> noundef %0) #0 {
%2 = bitcast <2 x float> %0 to <2 x i32>
%3 = ashr <2 x i32> %2, splat (i32 31)
ret <2 x i32> %3
}
Commit: 1a5822e3c9421fd0a270e7bad3dff92219dd9da3
https://github.com/llvm/llvm-project/commit/1a5822e3c9421fd0a270e7bad3dff92219dd9da3
Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/test/CodeGenCoroutines/coro-gro4.cpp
M clang/test/CodeGenCoroutines/coro-symmetric-transfer-03.cpp
M clang/test/CodeGenCoroutines/coro-symmetric-transfer-04.cpp
M clang/test/CodeGenCoroutines/pr65018.cpp
M llvm/docs/Coroutines.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/Transforms/Coroutines/CoroShape.h
M llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/test/Transforms/Coroutines/coro-alloc-with-param-O0.ll
M llvm/test/Transforms/Coroutines/coro-alloc-with-param-O2.ll
M llvm/test/Transforms/Coroutines/coro-alloca-07.ll
M llvm/test/Transforms/Coroutines/coro-await-suspend-handle-in-ramp.ll
M llvm/test/Transforms/Coroutines/coro-await-suspend-lower-invoke.ll
M llvm/test/Transforms/Coroutines/coro-await-suspend-lower.ll
M llvm/test/Transforms/Coroutines/coro-debug-O2.ll
M llvm/test/Transforms/Coroutines/coro-debug-coro-frame.ll
M llvm/test/Transforms/Coroutines/coro-debug-dbg.values-not_used_in_frame.ll
M llvm/test/Transforms/Coroutines/coro-debug-frame-variable.ll
M llvm/test/Transforms/Coroutines/coro-debug-spill-dbg.declare.ll
M llvm/test/Transforms/Coroutines/coro-debug.ll
M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-00.ll
M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-01.ll
M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-02.ll
M llvm/test/Transforms/Coroutines/coro-frame-arrayalloca.ll
M llvm/test/Transforms/Coroutines/coro-frame.ll
M llvm/test/Transforms/Coroutines/coro-noop-pacbti.ll
M llvm/test/Transforms/Coroutines/coro-noop.ll
M llvm/test/Transforms/Coroutines/coro-padding.ll
M llvm/test/Transforms/Coroutines/coro-resume-destroy.ll
M llvm/test/Transforms/Coroutines/coro-spill-corobegin.ll
M llvm/test/Transforms/Coroutines/coro-spill-promise-02.ll
M llvm/test/Transforms/Coroutines/coro-spill-promise.ll
M llvm/test/Transforms/Coroutines/coro-spill-suspend.ll
M llvm/test/Transforms/Coroutines/coro-split-dbg-labels-inlined.ll
M llvm/test/Transforms/Coroutines/coro-split-dbg-labels.ll
M llvm/test/Transforms/Coroutines/coro-split-eh-00.ll
M llvm/test/Transforms/Coroutines/coro-split-eh-01.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail-chain-pgo-counter-promo.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail1.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail2.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail3.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail4.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail5.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail6.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail7.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-01.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-02.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-03.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-04.ll
M llvm/test/Transforms/Coroutines/coro-split-tbaa-md.ll
M llvm/test/Transforms/Coroutines/coro-zero-alloca.ll
Log Message:
-----------
[coro] Use C calling convention for C++20 coroutines (#198943)
Change the calling convention for resume / destroy functions of C++
coroutines from `fastcc` to the C calling convention.
The resume / destroy functions are exposed as part of the coroutine ABI
and must be compatible with other compilers and other versions of LLVM.
fastcc is an LLVM-internal, unstable calling convention, though.
In practice, fastcc and the C calling convention are in sync for `void
func(void*)` function signatures on almost all platforms. Therefore, I
think we can still do this change without widespread ABI breakage.
`fastcc` and `ccc` do differ for i686 (x86-32), MIPS O32, PowerPC64
ELFv1 and Lanai. Afaik, those are all legacy ABIs and a recent feature
like C++20 coroutines is unlikely to be used by projects still targeting
legacy ABIs.
Historical context: I tried to figure out why `fastcc` was used. It is
around since the original commit f93082e71a94 from 2016, predating the
cross-vendor coroutine ABI work. I could not find any discussion of
whether this should use `fastcc` on the review or on the mailing list.
As a side-effect, this also fixes #91123.
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 830c8d625421ed5e86c73acb523f92ee4e39ee84
https://github.com/llvm/llvm-project/commit/830c8d625421ed5e86c73acb523f92ee4e39ee84
Author: Derek Schuff <dschuff at chromium.org>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
A llvm/test/tools/llvm-symbolizer/Inputs/wasm-basic.yaml
R llvm/test/tools/llvm-symbolizer/lit.local.cfg
M llvm/test/tools/llvm-symbolizer/wasm-basic.s
Log Message:
-----------
test(llvm-symbolizer): fix Wasm layering violation by using YAML (#200080)
Avoid using wasm-ld in LLVM tests by prebuilding the test binary
as a YAML file and using yaml2obj at test time.
This matches the approach taken in
4bce216e6b550c770f2e536422c3d95333f65ba3.
Because yaml2obj always uses 5-byte LEBs, the CODE section offset
shifted from 0x37 to 0x4b, so the file offsets passed to llvm-symbolizer
were updated accordingly.
Replaces #200046
Assisted-by: Gemini
Commit: 740e52bc99696661f357d4feb975f0209082cea9
https://github.com/llvm/llvm-project/commit/740e52bc99696661f357d4feb975f0209082cea9
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
A llvm/test/tools/dxil-dis/di-label.ll
Log Message:
-----------
[DirectX] Drop debug labels (#197490)
Debug labels did not exist in LLVM 3.7 and have no equivalent.
Commit: 048902dbbc193f37d9cdeb9dc050342a0ce05016
https://github.com/llvm/llvm-project/commit/048902dbbc193f37d9cdeb9dc050342a0ce05016
Author: Harald van Dijk <hdijk at accesssoftek.com>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M .ci/metrics/Dockerfile
M .github/new-issues-labeler.yml
M .github/workflows/commit-access-greeter.yml
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
M .github/workflows/docs.yml
M .github/workflows/issue-release-workflow.yml
M .github/workflows/libc-freebsd-vm-tests.yml
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
M .github/workflows/libc-shared-tests.yml
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/libcxx-run-benchmarks.yml
M .github/workflows/llvm-abi-tests.yml
M .github/workflows/merged-prs.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-code-lint.yml
M .github/workflows/pr-subscriber.yml
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-documentation.yml
M .github/workflows/release-doxygen.yml
M .github/workflows/release-sources.yml
M .github/workflows/release-tasks.yml
R .github/workflows/require-release-manager/action.yml
A .github/workflows/require-team-membership/action.yml
M .github/workflows/sycl-tests.yml
M .github/workflows/unprivileged-download-artifact/action.yml
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/AArch64/validate-secondary-entry-point.s
M bolt/test/X86/Inputs/double_jump.cpp
M bolt/test/X86/Inputs/inlined.cpp
M bolt/test/X86/Inputs/linenumber.cpp
M bolt/test/lit.cfg.py
A bolt/test/merge-fdata-no-lbr-event-multi.test
A bolt/test/merge-fdata-no-lbr-event.test
M bolt/test/runtime/bolt-reserved.cpp
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/merge-fdata/merge-fdata.cpp
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeReader.h
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.h
M clang-tools-extra/clang-doc/ClangDoc.cpp
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-doc/Generators.h
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/MDMustacheGenerator.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/Serialize.h
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
M clang-tools-extra/clang-doc/support/File.cpp
M clang-tools-extra/clang-doc/support/File.h
M clang-tools-extra/clang-doc/support/Utils.cpp
M clang-tools-extra/clang-doc/support/Utils.h
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-move/Move.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.h
M clang-tools-extra/clang-tidy/llvm/RedundantCastingCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clangd/HeaderSourceSwitch.cpp
M clang-tools-extra/clangd/ProjectModules.cpp
M clang-tools-extra/clangd/Selection.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/refactor/InsertionPoint.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/HeaderSourceSwitchTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-non-const-global-variables.rst
M clang-tools-extra/docs/clang-tidy/checks/llvm/redundant-casting.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-using.rst
A clang-tools-extra/test/clang-doc/compact.cpp
M clang-tools-extra/test/clang-doc/enum.cpp
M clang-tools-extra/test/clang-doc/index.cpp
M clang-tools-extra/test/clang-doc/json/class-requires.cpp
M clang-tools-extra/test/clang-doc/json/class-specialization.cpp
M clang-tools-extra/test/clang-doc/json/class-template.cpp
M clang-tools-extra/test/clang-doc/json/class.cpp
M clang-tools-extra/test/clang-doc/json/compound-constraints.cpp
M clang-tools-extra/test/clang-doc/json/concept.cpp
M clang-tools-extra/test/clang-doc/json/function-requires.cpp
M clang-tools-extra/test/clang-doc/json/function-specifiers.cpp
M clang-tools-extra/test/clang-doc/json/inheritance.cpp
M clang-tools-extra/test/clang-doc/json/method-template.cpp
M clang-tools-extra/test/clang-doc/json/multiple-namespaces.cpp
M clang-tools-extra/test/clang-doc/json/namespace.cpp
M clang-tools-extra/test/clang-doc/json/nested-namespace.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-non-const-global-variables-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/redundant-casting.cpp
A clang-tools-extra/test/clang-tidy/checkers/llvm/redundant-isa.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using-ignore-extern-c.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
M clang/cmake/caches/HLSL.cmake
M clang/docs/CIR/ABILowering.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LifetimeSafety.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/ScalableStaticAnalysisFramework/developer-docs/ForceLinkerHeaders.rst
M clang/docs/ScalableStaticAnalysisFramework/developer-docs/HowToExtend.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/DeclarationName.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeAnnotations.h
M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsMips.def
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/include/clang/Basic/DebugOptions.def
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
M clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/Passes.h
M clang/include/clang/CIR/Dialect/Passes.td
M clang/include/clang/CIR/Dialect/Transforms/CIRTransformUtils.h
M clang/include/clang/CIR/FrontendAction/CIRGenAction.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/CodeGen/CodeGenAction.h
A clang/include/clang/CodeGen/ModuleLinker.h
M clang/include/clang/Driver/SanitizerArgs.h
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/FrontendActions.h
A clang/include/clang/Lex/MacroBase.h
M clang/include/clang/Lex/MacroInfo.h
M clang/include/clang/Options/FlangOptions.td
M clang/include/clang/Options/Options.td
M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlow.h
M clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.h
A clang/include/clang/ScalableStaticAnalysisFramework/BuiltinAnchorSources.def
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisRegistry.h
M clang/include/clang/ScalableStaticAnalysisFramework/SSAFBuiltinForceLinker.h
M clang/include/clang/Sema/SemaCUDA.h
M clang/include/clang/Sema/SemaCodeCompletion.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/CIR/CodeGen/CIRGenAtomic.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/CIRGenBuiltinX86.cpp
M clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
M clang/lib/CIR/CodeGen/CIRGenCUDARuntime.h
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/CodeGen/TargetInfo.h
A clang/lib/CIR/CodeGen/Targets/SPIRV.cpp
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CIRTransformUtils.cpp
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
A clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
M clang/lib/CIR/Dialect/Transforms/EHABILowering.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
A clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
A clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/TargetLoweringInfo.h
A clang/lib/CIR/Dialect/Transforms/TargetLowering/Targets/SPIRV.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/FrontendAction/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/BackendConsumer.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCall.h
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CoverageMappingGen.cpp
A clang/lib/CodeGen/ModuleLinker.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPU.h
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.h
M clang/lib/Driver/ToolChains/Arch/AMDGPU.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CrossWindows.cpp
M clang/lib/Driver/ToolChains/CrossWindows.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cuda.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/FreeBSD.h
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Fuchsia.h
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPAMD.h
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HIPSPV.h
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Haiku.h
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/Linux.h
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MSVC.h
M clang/lib/Driver/ToolChains/Managarm.cpp
M clang/lib/Driver/ToolChains/Managarm.h
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/MinGW.h
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/NetBSD.h
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/OHOS.h
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.h
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/PS4CPU.h
M clang/lib/Driver/ToolChains/Serenity.cpp
M clang/lib/Driver/ToolChains/Serenity.h
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Driver/ToolChains/Solaris.h
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Driver/ToolChains/WebAssembly.h
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/ContinuationIndenter.h
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Headers/opencl-c.h
M clang/lib/Headers/wasm_simd128.h
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractor.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphJSONFormat.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowFormat.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageFormat.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisRegistry.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/OpenCLBuiltins.td
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLifetimeSafety.h
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/lib/Tooling/Transformer/SourceCode.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/AST/ast-dump-aarch64-mte.c
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-expr-json.cpp
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-linkage-internal.cpp
M clang/test/AST/ast-dump-linkage.cpp
M clang/test/AST/ast-dump-templates-pattern.cpp
M clang/test/AST/ast-print-explicit-instantiation.cpp
M clang/test/AST/explicit-instantiation-source-info.cpp
A clang/test/ASTMerge/class-template-spec/Inputs/class-template-spec.cpp
A clang/test/ASTMerge/class-template-spec/test.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
A clang/test/Analysis/Checkers/WebKit/unretained-call-args-member.mm
M clang/test/Analysis/anonymous-decls.cpp
A clang/test/Analysis/ctu/constraintsatisfaction.cpp
M clang/test/Analysis/live-bindings-test.cpp
M clang/test/CIR/CodeGen/abi-lower-after-unreachable.cpp
M clang/test/CIR/CodeGen/atomic.c
M clang/test/CIR/CodeGen/call.c
M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper-eh.cpp
M clang/test/CIR/CodeGen/cleanup-conditional-with-wrapper.cpp
A clang/test/CIR/CodeGen/cleanup-throw-from-cleanup.cpp
M clang/test/CIR/CodeGen/dynamic-cast-exact.cpp
M clang/test/CIR/CodeGen/dynamic-cast.cpp
A clang/test/CIR/CodeGen/inline-extern-force-codegen.c
A clang/test/CIR/CodeGen/link-bitcode-file.c
A clang/test/CIR/CodeGen/record-with-padded-union.cpp
M clang/test/CIR/CodeGen/string-literals.cpp
A clang/test/CIR/CodeGen/switch-pre-case-stmts.cpp
M clang/test/CIR/CodeGen/try-catch.cpp
M clang/test/CIR/CodeGen/wide-string.cpp
M clang/test/CIR/CodeGenBuiltins/X86/avx512vl-builtins.c
M clang/test/CIR/CodeGenBuiltins/X86/ssse3-builtins.c
M clang/test/CIR/CodeGenBuiltins/builtin-bit.cpp
M clang/test/CIR/CodeGenBuiltins/builtin-call.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-undef-rvalue.cpp
M clang/test/CIR/CodeGenBuiltins/builtins-overflow.cpp
M clang/test/CIR/CodeGenCUDA/address-spaces.cu
M clang/test/CIR/CodeGenCUDA/device-stub.cu
A clang/test/CIR/CodeGenHIP/builtins-amdgcn-image.hip
A clang/test/CIR/CodeGenOpenCL/spirv-kernel.cl
M clang/test/CIR/CodeGenOpenCL/vector.cl
A clang/test/CIR/IR/assume.cir
A clang/test/CIR/IR/invalid-assume.cir
A clang/test/CIR/IR/var-registration.cir
A clang/test/CIR/Transforms/abi-lowering/Inputs/test-datalayout.cir
A clang/test/CIR/Transforms/abi-lowering/datalayout-missing-error.cir
A clang/test/CIR/Transforms/abi-lowering/declaration-rewrite.cir
A clang/test/CIR/Transforms/abi-lowering/direct-passthrough-injection.cir
A clang/test/CIR/Transforms/abi-lowering/direct-passthrough-test-target.cir
A clang/test/CIR/Transforms/abi-lowering/ignore-arg.cir
A clang/test/CIR/Transforms/abi-lowering/ignore-return.cir
A clang/test/CIR/Transforms/abi-lowering/indirect-call-nyi.cir
A clang/test/CIR/Transforms/abi-lowering/try-call-nyi.cir
A clang/test/CIR/Transforms/abi-lowering/variadic-call-nyi.cir
M clang/test/CMakeLists.txt
M clang/test/CXX/dcl.decl/dcl.decomp/p3.cpp
M clang/test/CXX/drs/cwg31xx.cpp
M clang/test/CXX/temp/temp.spec/temp.expl.spec/p7.cpp
M clang/test/CodeCompletion/desig-init.cpp
A clang/test/CodeCompletion/offsetof.cpp
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon/getset.c
M clang/test/CodeGen/AArch64/neon/intrinsics.c
M clang/test/CodeGen/AArch64/poly64.c
A clang/test/CodeGen/Mips/msa-const-ld.c
M clang/test/CodeGen/arm64-mte.c
A clang/test/CodeGen/builtin-clear-padding-codegen.c
M clang/test/CodeGen/builtin-masked.c
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/CodeGen/cfi-icall-trap-recover-runtime.c
M clang/test/CodeGen/lto-newpm-pipeline.c
M clang/test/CodeGen/unique-internal-linkage-names.cpp
M clang/test/CodeGenCUDA/device-vtable.cu
A clang/test/CodeGenCUDA/implicit-hd-dtor-trap-stub-hip.hip
A clang/test/CodeGenCUDA/implicit-hd-explicit-inst-hip.hip
A clang/test/CodeGenCUDA/implicit-hd-overload-ambig-hip.hip
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors-msvc.cpp
M clang/test/CodeGenCXX/bad-codegen-for-constexpr-structured-bindings.cpp
M clang/test/CodeGenCXX/builtin-amdgcn-fence.cpp
A clang/test/CodeGenCXX/builtin-clear-padding-codegen.cpp
M clang/test/CodeGenCXX/cfi-vcall-trap-recover-runtime.cpp
M clang/test/CodeGenCXX/cxx1z-decomposition.cpp
M clang/test/CodeGenCXX/noescape.cpp
M clang/test/CodeGenCXX/visibility.cpp
M clang/test/CodeGenCoroutines/coro-gro4.cpp
M clang/test/CodeGenCoroutines/coro-symmetric-transfer-03.cpp
M clang/test/CodeGenCoroutines/coro-symmetric-transfer-04.cpp
M clang/test/CodeGenCoroutines/pr65018.cpp
M clang/test/CodeGenDirectX/Builtins/dot2add.c
A clang/test/CodeGenHIP/offload-pgo-sections.hip
M clang/test/CodeGenHLSL/ArrayAssignable.logicalptr.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/ArrayReturn.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixConstructor.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixExplicitTruncation.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixImplicitTruncation.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptConstSwizzle.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptDynamicSwizzle.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptGetter.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptSetter.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/MatrixToAndFromVectorConstructors.hlsl
M clang/test/CodeGenHLSL/BoolMatrix.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/GlobalConstructors.hlsl
M clang/test/CodeGenHLSL/builtins/AddUint64.hlsl
M clang/test/CodeGenHLSL/builtins/BoolSwizzles.hlsl
M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
M clang/test/CodeGenHLSL/builtins/abs.hlsl
M clang/test/CodeGenHLSL/builtins/ceil.hlsl
M clang/test/CodeGenHLSL/builtins/f16tof32-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/f16tof32.hlsl
M clang/test/CodeGenHLSL/builtins/f32tof16-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/f32tof16.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
M clang/test/CodeGenHLSL/builtins/mad.hlsl
M clang/test/CodeGenHLSL/convergence/cf.for.plain.hlsl
M clang/test/CodeGenHLSL/convergence/do.while.hlsl
M clang/test/CodeGenHLSL/convergence/entry.point.hlsl
M clang/test/CodeGenHLSL/convergence/for.hlsl
M clang/test/CodeGenHLSL/convergence/global_array.hlsl
M clang/test/CodeGenHLSL/convergence/while.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-store.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-store.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-store.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-load.hlsl
M clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-store.hlsl
M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/resources/ByteAddressBuffers-methods.hlsl
M clang/test/CodeGenHLSL/resources/CBufferMatrixSingleSubscriptSwizzle.hlsl
M clang/test/CodeGenHLSL/resources/MatrixElement_cbuffer.hlsl
M clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-lib.hlsl
M clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-ps.hlsl
M clang/test/CodeGenHLSL/resources/Texture2D-Mips.hlsl
M clang/test/CodeGenHLSL/resources/TypedBuffers-constructor.hlsl
M clang/test/CodeGenHLSL/resources/TypedBuffers-methods.hlsl
M clang/test/CodeGenHLSL/resources/cbuffer.hlsl
M clang/test/CodeGenHLSL/resources/cbuffer_with_packoffset.hlsl
M clang/test/CodeGenHLSL/resources/res-array-global-subarray-many.hlsl
M clang/test/CodeGenHLSL/resources/res-array-global-subarray-one.hlsl
M clang/test/CodeGenHLSL/resources/res-array-local-multi-dim.hlsl
M clang/test/CodeGenHLSL/resources/res-array-local1.hlsl
M clang/test/CodeGenHLSL/resources/res-array-local2.hlsl
M clang/test/CodeGenHLSL/resources/res-array-local3.hlsl
M clang/test/CodeGenHLSL/resources/resources-in-structs-array.hlsl
M clang/test/CodeGenHLSL/resources/resources-in-structs-inheritance.hlsl
M clang/test/CodeGenHLSL/resources/resources-in-structs.hlsl
M clang/test/CodeGenHLSL/static-local-ctor.hlsl
M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
M clang/test/CodeGenHLSL/this-assignment.hlsl
M clang/test/CodeGenHLSL/this-reference.hlsl
M clang/test/CodeGenObjC/exceptions.m
M clang/test/CodeGenObjC/noescape.m
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-monitor.cl
M clang/test/DebugInfo/CXX/structured-binding.cpp
M clang/test/DebugInfo/Generic/sysroot-sdk.c
M clang/test/Driver/amdgpu-openmp-sanitize-options.c
A clang/test/Driver/amdgpu-validate-sanitize.cl
R clang/test/Driver/clang-offload-bundler-asserts-on.c
A clang/test/Driver/clang-offload-bundler-multi-compress.c
R clang/test/Driver/clang-offload-bundler-standardize.c
R clang/test/Driver/clang-offload-bundler-zlib.c
R clang/test/Driver/clang-offload-bundler-zstd.c
R clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/crash-ir-repro.cpp
A clang/test/Driver/darwin-ld-samplepgo.c
R clang/test/Driver/fat-archive-unbundle-ext.c
M clang/test/Driver/fprofile-update.c
M clang/test/Driver/frame-pointer-elim.c
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Driver/hip-sanitize-options.hip
R clang/test/Driver/linker-wrapper-canonical-prefixes.c
R clang/test/Driver/linker-wrapper-hip-amdgcnspirv.c
R clang/test/Driver/linker-wrapper-hip-no-rdc.c
R clang/test/Driver/linker-wrapper-image.c
R clang/test/Driver/linker-wrapper-llvm-help.c
R clang/test/Driver/linker-wrapper.c
M clang/test/Driver/msvc-link.c
R clang/test/Driver/nvlink-wrapper.c
A clang/test/Driver/print-enabled-extensions/riscv-sifive-p870-d.c
R clang/test/Driver/print-enabled-extensions/riscv-sifive-p870.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-cpus.c
A clang/test/ExtractAPI/macro_doc_comments.c
M clang/test/Headers/__clang_hip_math.hip
A clang/test/Index/annotate-comments-macros.c
M clang/test/Index/annotate-comments.cpp
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M clang/test/Modules/cxx-templates.cpp
M clang/test/Modules/debug-info-moduleimport.m
M clang/test/Modules/safe_buffers_optout.cpp
A clang/test/Modules/template-default-args-2.cpp
A clang/test/Modules/template-default-args-3.cpp
A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-canonical-prefixes.c
A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-amdgcnspirv.c
A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-hip-no-rdc.c
A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-image.c
A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-llvm-help.c
A clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper.c
A clang/test/OffloadTools/clang-linker-wrapper/lit.local.cfg
A clang/test/OffloadTools/clang-linker-wrapper/openmp-spirv.cpp
A clang/test/OffloadTools/clang-nvlink-wrapper/nvlink-wrapper.c
A clang/test/OffloadTools/clang-offload-bundler/asserts-on.c
A clang/test/OffloadTools/clang-offload-bundler/basic.c
A clang/test/OffloadTools/clang-offload-bundler/fat-archive-unbundle-ext.c
A clang/test/OffloadTools/clang-offload-bundler/standardize.c
A clang/test/OffloadTools/clang-offload-bundler/zlib.c
A clang/test/OffloadTools/clang-offload-bundler/zstd.c
A clang/test/OffloadTools/clang-sycl-linker/basic.ll
A clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
A clang/test/OffloadTools/clang-sycl-linker/triple.ll
A clang/test/OpenMP/unimplemented_clause_messages.cpp
A clang/test/PCH/ftime-trace-specialization-lookup.cpp
M clang/test/PCH/unsafe-buffer-usage-pragma-pch-complex.cpp
M clang/test/PCH/unsafe-buffer-usage-pragma-pch-cross-files-2.cpp
M clang/test/PCH/unsafe-buffer-usage-pragma-pch-cross-files.cpp
A clang/test/Parser/cxx-attributes-missing-closing-in-switch.cpp
A clang/test/Parser/cxx-attributes-missing-closing.cpp
A clang/test/Parser/cxx-attributes-missing-second-closing-in-switch.cpp
A clang/test/Parser/cxx-attributes-missing-with-semi-before-closing.cpp
M clang/test/Parser/cxx-attributes.cpp
M clang/test/Parser/cxx0x-attributes.cpp
M clang/test/Parser/pragma-attribute.cpp
A clang/test/Preprocessor/nonportable-trailing-whitespace-win.c
A clang/test/Preprocessor/nonportable-trailing-whitespace.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/wasm-target-features.c
M clang/test/Sema/Inputs/lifetime-analysis.h
A clang/test/Sema/builtin-clear-padding.c
M clang/test/Sema/builtins-arm64-mte.c
M clang/test/Sema/builtins-elementwise-math.c
A clang/test/Sema/inline-asm-constraint-embedded-null.c
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/Sema/warn-lifetime-safety-fixits.cpp
M clang/test/Sema/warn-lifetime-safety-invalidations.cpp
M clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-cross-tu.cpp
M clang/test/Sema/warn-lifetime-safety-misplaced-lifetimebound-intra-tu.cpp
M clang/test/Sema/warn-lifetime-safety-suggestions.cpp
M clang/test/Sema/warn-lifetime-safety.cpp
M clang/test/SemaCUDA/dtor.cu
A clang/test/SemaCUDA/implicit-hd-dtor-explicit-instantiation.cu
A clang/test/SemaCUDA/implicit-hd-explicit-inst-organic-caller.cu
A clang/test/SemaCUDA/implicit-hd-overload-ambig-organic-caller.cu
A clang/test/SemaCXX/builtin-clear-padding.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaCXX/cxx2c-decomposition.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-pragma-issue-79379.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-pragma-pch.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-template-instantiation-notes.cpp
M clang/test/SemaHIP/incorrect-atomic-scope.hip
M clang/test/SemaHLSL/Resources/static_resources.hlsl
A clang/test/SemaOpenACC/compute-construct-reduction-vla.c
A clang/test/SemaOpenACC/compute-construct-reduction-vla.cpp
A clang/test/SemaOpenCL/intel-bfloat16-conversions-builtins.cl
A clang/test/SemaOpenCL/intel-split-work-group-barrier-builtins.cl
A clang/test/SemaOpenCL/intel-subgroup-buffer-prefetch-builtins.cl
A clang/test/SemaOpenCL/intel-subgroup-local-block-io-builtins.cl
A clang/test/SemaOpenCL/intel-subgroup-local-block-io-ui-without-char-short-long.cl
A clang/test/SemaOpenCL/intel-subgroups-builtins.cl
A clang/test/SemaOpenCL/intel-subgroups-char-builtins.cl
A clang/test/SemaOpenCL/intel-subgroups-long-builtins.cl
A clang/test/SemaOpenCL/intel-subgroups-short-builtins.cl
M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-grammar.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/test/SemaTemplate/generic-lambda.cpp
M clang/test/SemaTemplate/partial-spec-instantiate.cpp
R clang/test/Tooling/clang-linker-wrapper-spirv.cpp
R clang/test/Tooling/clang-sycl-linker-split-mode.ll
R clang/test/Tooling/clang-sycl-linker-triple.ll
R clang/test/Tooling/clang-sycl-linker.ll
M clang/test/Tooling/lit.local.cfg
M clang/test/lit.cfg.py
M clang/tools/cir-opt/cir-opt.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/Basic/DarwinSDKInfoTest.cpp
M clang/unittests/Basic/FileManagerTest.cpp
M clang/unittests/Format/AlignBracketsTest.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/FancyAnalysisData.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor1.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor2.cpp
R clang/unittests/ScalableStaticAnalysisFramework/SSAFBuiltinTestForceLinker.h
R clang/unittests/ScalableStaticAnalysisFramework/SSAFTestForceLinker.h
M clang/unittests/ScalableStaticAnalysisFramework/TestFixture.cpp
M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/AnalysisDriverTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/UnsafeBufferReachableAnalysisTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/Syntax/BuildTreeTest.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/www/cxx_dr_status.html
M compiler-rt/include/sanitizer/common_interface_defs.h
M compiler-rt/lib/asan/asan_errors.cpp
M compiler-rt/lib/asan/asan_errors.h
M compiler-rt/lib/asan/asan_poisoning.cpp
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/asan/asan_report.h
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/arm/extendsfdf2.S
A compiler-rt/lib/builtins/arm/truncdfsf2.S
M compiler-rt/lib/builtins/atomic.c
M compiler-rt/lib/builtins/clear_cache.c
M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
M compiler-rt/lib/builtins/cpu_model/cpu_model.h
M compiler-rt/lib/profile/CMakeLists.txt
M compiler-rt/lib/profile/InstrProfilingFile.c
A compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
M compiler-rt/lib/sanitizer_common/sanitizer_interface_internal.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
R compiler-rt/test/asan/TestCases/copy_container_annotations.cpp
M compiler-rt/test/builtins/Unit/atomic_test.c
A compiler-rt/test/builtins/Unit/extendsfdf2new_test.c
A compiler-rt/test/builtins/Unit/truncdfsf2new_test.c
M cross-project-tests/intrinsic-header-tests/wasm_simd128.c
M flang-rt/cmake/modules/AddFlangRT.cmake
M flang-rt/cmake/modules/AddFlangRTOffload.cmake
M flang-rt/include/flang-rt/runtime/io-stmt.h
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/exceptions.cpp
M flang-rt/lib/runtime/io-api-common.h
M flang-rt/lib/runtime/io-api-gpu.h
M flang-rt/lib/runtime/io-api-server.cpp
A flang-rt/lib/runtime/io-stmt-minimal.cpp
M flang-rt/lib/runtime/main.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/test/Driver/compare_iso_fortran_env_symbols.f90
M flang-rt/unittests/Runtime/CMakeLists.txt
A flang-rt/unittests/Runtime/Exceptions.cpp
A flang/docs/MeetingNotes/2026/2026-05-20.md
M flang/include/flang/Common/Fortran-consts.h
A flang/include/flang/Common/fp-control.h
M flang/include/flang/Frontend/FrontendOptions.h
M flang/include/flang/Lower/CallInterface.h
M flang/include/flang/Lower/ConvertType.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Lower/Support/PrivateReductionUtils.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
A flang/include/flang/Optimizer/Dialect/FIRBoxUtils.h
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Parser/options.h
M flang/include/flang/Runtime/io-api.h
M flang/include/flang/Semantics/openmp-utils.h
M flang/include/flang/Support/Fortran.h
M flang/include/flang/Support/OpenMP-utils.h
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/Support/PrivateReductionUtils.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
A flang/lib/Optimizer/Dialect/FIRBoxUtils.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Optimizer/Support/Utils.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/openmp-utils.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/type.cpp
M flang/lib/Support/Fortran.cpp
M flang/lib/Support/OpenMP-utils.cpp
M flang/test/Analysis/AliasAnalysis/alias-analysis-acc.mlir
R flang/test/Driver/ffree-line-length.f90
M flang/test/Fir/array-coor-canonicalization.fir
A flang/test/HLFIR/c_devptr_byvalue.cuf
A flang/test/Integration/OpenMP/atomic-compare.f90
M flang/test/Lower/Intrinsics/bge.f90
M flang/test/Lower/Intrinsics/bgt.f90
M flang/test/Lower/Intrinsics/ble.f90
M flang/test/Lower/Intrinsics/blt.f90
M flang/test/Lower/OpenMP/Todo/atomic-compare-fail.f90
R flang/test/Lower/OpenMP/Todo/atomic-compare.f90
M flang/test/Lower/OpenMP/Todo/omp-declare-reduction-advanced-types.f90
M flang/test/Lower/OpenMP/Todo/reduction-character-dynamic-length.f90
A flang/test/Lower/OpenMP/atomic-compare.f90
A flang/test/Lower/OpenMP/copyprivate6.f90
A flang/test/Lower/OpenMP/declare-reduction-no-initializer-derived.f90
A flang/test/Lower/OpenMP/declare-reduction-no-initializer-intrinsic.f90
A flang/test/Lower/OpenMP/declare-reduction-no-initializer-target-derived.f90
A flang/test/Lower/OpenMP/declare-reduction-no-initializer-unsupported.f90
A flang/test/Lower/OpenMP/declare-reduction-target-intrinsic.f90
M flang/test/Semantics/OpenMP/affected-loops.f90
M flang/test/Semantics/OpenMP/atomic-compare.f90
A flang/test/Semantics/OpenMP/declare-simd-interface-body.f90
M flang/test/Semantics/OpenMP/declare-simd-uniform.f90
M flang/test/Semantics/OpenMP/linear-clause03.f90
A flang/test/Semantics/OpenMP/workdistribute05.f90
A flang/test/Semantics/PowerPC/ppc-vector-diagnostics.f90
A flang/test/Transforms/FIRToMemRef/array-coor-rebox-slice-shape.mlir
M flang/test/Transforms/FIRToMemRef/array-coor-slice-shift.mlir
M flang/test/Transforms/FIRToMemRef/slice-projected.mlir
A flang/test/Transforms/tbaa-type-converter-boxproc.fir
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/config.json
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_mmsghdr.h
M libc/include/CMakeLists.txt
M libc/include/arpa/inet.yaml
M libc/include/ctype.yaml
M libc/include/dlfcn.yaml
M libc/include/errno.yaml
M libc/include/fcntl.yaml
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_mmsghdr.h
M libc/include/math.yaml
M libc/include/pthread.yaml
M libc/include/sched.yaml
M libc/include/search.yaml
M libc/include/signal.yaml
M libc/include/stdfix.yaml
M libc/include/stdio.yaml
M libc/include/stdlib.yaml
M libc/include/string.yaml
M libc/include/sys/mman.yaml
M libc/include/sys/prctl.yaml
M libc/include/sys/resource.yaml
M libc/include/sys/select.yaml
M libc/include/sys/socket.yaml
M libc/include/sys/syscall.yaml
M libc/include/sys/wait.yaml
M libc/include/termios.yaml
M libc/include/time.yaml
M libc/include/unistd.yaml
M libc/shared/math.h
A libc/shared/math/isnanf16.h
M libc/src/__support/CMakeLists.txt
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/NormalFloat.h
M libc/src/__support/FPUtil/bfloat16.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/except_value_utils.h
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/FPUtil/rounding_mode.h
M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
M libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/auxv.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
M libc/src/__support/OSUtil/linux/syscall_wrappers/mprotect.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/munmap.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/sendmmsg.h
M libc/src/__support/big_int.h
M libc/src/__support/complex_basic_ops.h
M libc/src/__support/freelist_heap.h
M libc/src/__support/macros/attributes.h
M libc/src/__support/macros/optimization.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/acos.h
M libc/src/__support/math/acosf.h
M libc/src/__support/math/acoshf.h
M libc/src/__support/math/asinf.h
M libc/src/__support/math/asinhf.h
M libc/src/__support/math/atan.h
M libc/src/__support/math/atan2.h
M libc/src/__support/math/atan2f.h
M libc/src/__support/math/atan2f128.h
M libc/src/__support/math/atanf.h
M libc/src/__support/math/atanhf.h
M libc/src/__support/math/cbrt.h
M libc/src/__support/math/cbrtf.h
M libc/src/__support/math/cos.h
M libc/src/__support/math/cosf.h
M libc/src/__support/math/coshf.h
M libc/src/__support/math/cospif.h
M libc/src/__support/math/dsqrtf128.h
M libc/src/__support/math/dsqrtl.h
M libc/src/__support/math/erff.h
M libc/src/__support/math/exp10.h
M libc/src/__support/math/exp10f.h
M libc/src/__support/math/exp10m1f.h
M libc/src/__support/math/exp2.h
M libc/src/__support/math/exp2f.h
M libc/src/__support/math/exp2m1f.h
M libc/src/__support/math/expf.h
M libc/src/__support/math/expm1.h
M libc/src/__support/math/expm1f.h
M libc/src/__support/math/fsqrt.h
M libc/src/__support/math/fsqrtf128.h
M libc/src/__support/math/fsqrtl.h
A libc/src/__support/math/isnanf16.h
M libc/src/__support/math/log.h
M libc/src/__support/math/nextafterl.h
M libc/src/__support/math/nextdownl.h
M libc/src/__support/math/nextupl.h
M libc/src/__support/math/pow.h
M libc/src/__support/math/powf.h
M libc/src/__support/math/rsqrtf.h
M libc/src/__support/math/sin.h
M libc/src/__support/math/sinhf.h
M libc/src/__support/math/tan.h
A libc/src/__support/net/CMakeLists.txt
A libc/src/__support/net/address.cpp
A libc/src/__support/net/address.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/thread.cpp
M libc/src/arpa/inet/CMakeLists.txt
M libc/src/arpa/inet/inet_addr.cpp
M libc/src/arpa/inet/inet_aton.cpp
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/isnanf16.cpp
A libc/src/math/isnanf16.h
M libc/src/string/memory_utils/utils.h
M libc/src/string/memory_utils/x86_64/inline_strlen.h
M libc/src/sys/socket/CMakeLists.txt
M libc/src/sys/socket/linux/CMakeLists.txt
A libc/src/sys/socket/linux/sendmmsg.cpp
A libc/src/sys/socket/sendmmsg.h
M libc/startup/linux/aarch64/CMakeLists.txt
M libc/startup/linux/aarch64/tls.cpp
M libc/startup/linux/riscv/CMakeLists.txt
M libc/startup/linux/riscv/tls.cpp
M libc/startup/linux/x86_64/CMakeLists.txt
M libc/startup/linux/x86_64/tls.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_constexpr_test.cpp
M libc/test/shared/shared_math_test.cpp
M libc/test/src/__support/threads/linux/raw_mutex_test.cpp
M libc/test/src/__support/wctype/CMakeLists.txt
M libc/test/src/arpa/inet/inet_aton_test.cpp
M libc/test/src/math/AddTest.h
M libc/test/src/math/CeilTest.h
M libc/test/src/math/CopySignTest.h
M libc/test/src/math/DivTest.h
M libc/test/src/math/FAbsTest.h
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FloorTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/FrexpTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LogbTest.h
M libc/test/src/math/ModfTest.h
M libc/test/src/math/MulTest.h
M libc/test/src/math/NearbyIntTest.h
M libc/test/src/math/RIntTest.h
M libc/test/src/math/RemQuoTest.h
M libc/test/src/math/RoundEvenTest.h
M libc/test/src/math/RoundTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/RsqrtTest.h
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/SubTest.h
M libc/test/src/math/TruncTest.h
M libc/test/src/math/acos_test.cpp
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/acospif_test.cpp
M libc/test/src/math/asin_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf_test.cpp
M libc/test/src/math/asinpi_test.cpp
M libc/test/src/math/asinpif_test.cpp
M libc/test/src/math/atan_test.cpp
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/cbrt_test.cpp
M libc/test/src/math/cbrtf_test.cpp
M libc/test/src/math/cos_test.cpp
M libc/test/src/math/cosf_float_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/erff_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp10m1f_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/exp2m1f_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log10f_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/logf_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincos_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_float_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/CopySignTest.h
M libc/test/src/math/smoke/DivTest.h
M libc/test/src/math/smoke/FDimTest.h
M libc/test/src/math/smoke/FMaxTest.h
M libc/test/src/math/smoke/FMaximumMagNumTest.h
M libc/test/src/math/smoke/FMaximumMagTest.h
M libc/test/src/math/smoke/FMaximumNumTest.h
M libc/test/src/math/smoke/FMaximumTest.h
M libc/test/src/math/smoke/FMinTest.h
M libc/test/src/math/smoke/FMinimumMagNumTest.h
M libc/test/src/math/smoke/FMinimumMagTest.h
M libc/test/src/math/smoke/FMinimumNumTest.h
M libc/test/src/math/smoke/FMinimumTest.h
M libc/test/src/math/smoke/ILogbTest.h
A libc/test/src/math/smoke/IsNanTest.h
M libc/test/src/math/smoke/LogbTest.h
M libc/test/src/math/smoke/ModfTest.h
M libc/test/src/math/smoke/MulTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/SubTest.h
A libc/test/src/math/smoke/isnanf16_test.cpp
M libc/test/src/math/tan_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/src/mathvec/expf_test.cpp
M libc/test/src/sys/socket/linux/CMakeLists.txt
A libc/test/src/sys/socket/linux/sendmmsg_test.cpp
M libc/test/utils/FPUtil/x86_long_double_test.cpp
M libc/utils/docgen/sys/socket.yaml
M libc/utils/hdrgen/hdrgen/header.py
M libc/utils/hdrgen/hdrgen/main.py
M libc/utils/hdrgen/hdrgen/symbol.py
M libc/utils/hdrgen/hdrgen/yaml_to_classes.py
M libc/utils/libctest/format.py
M libclc/clc/include/clc/relational/clc_signbit.h
M libclc/clc/lib/generic/relational/clc_signbit.cl
A libclc/clc/lib/generic/relational/clc_signbit.inc
M libclc/test/conversion/convert.cl
M libclc/test/geometric/cross.cl
M libclc/test/integer/add_sat.cl
M libclc/test/integer/sub_sat.cl
M libclc/test/lit.cfg.py
M libclc/test/lit.site.cfg.py.in
M libclc/test/math/cos.cl
M libclc/test/math/fabs.cl
M libclc/test/math/rsqrt.cl
M libclc/test/misc/as_type.cl
M libclc/test/update_libclc_tests.py
M libclc/test/work-item/get_group_id.cl
M libcxx/docs/ReleaseNotes/23.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/copy_if.h
M libcxx/include/__algorithm/partial_sort_copy.h
M libcxx/include/__algorithm/ranges_copy_if.h
M libcxx/include/__algorithm/ranges_partial_sort_copy.h
M libcxx/include/__algorithm/ranges_unique_copy.h
M libcxx/include/__algorithm/unique_copy.h
A libcxx/include/__concepts/referenceable.h
M libcxx/include/__config
M libcxx/include/__configuration/hardening.h
M libcxx/include/__cxx03/__functional/hash.h
M libcxx/include/__cxx03/istream
M libcxx/include/__cxx03/limits
M libcxx/include/__functional/function.h
M libcxx/include/__iterator/access.h
M libcxx/include/__iterator/back_insert_iterator.h
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/concepts.h
M libcxx/include/__iterator/counted_iterator.h
M libcxx/include/__iterator/data.h
M libcxx/include/__iterator/distance.h
M libcxx/include/__iterator/front_insert_iterator.h
M libcxx/include/__iterator/insert_iterator.h
M libcxx/include/__iterator/istream_iterator.h
M libcxx/include/__iterator/istreambuf_iterator.h
M libcxx/include/__iterator/iter_move.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__iterator/move_iterator.h
M libcxx/include/__iterator/move_sentinel.h
M libcxx/include/__iterator/ostream_iterator.h
M libcxx/include/__iterator/ostreambuf_iterator.h
M libcxx/include/__iterator/reverse_access.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__iterator/size.h
M libcxx/include/__mdspan/mdspan.h
M libcxx/include/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__ranges/adjacent_transform_view.h
M libcxx/include/__ranges/transform_view.h
M libcxx/include/__ranges/zip_transform_view.h
M libcxx/include/__type_traits/add_pointer.h
R libcxx/include/__type_traits/is_referenceable.h
M libcxx/include/__type_traits/remove_pointer.h
M libcxx/include/__verbose_trap
M libcxx/include/any
M libcxx/include/functional
M libcxx/include/map
M libcxx/include/mdspan
M libcxx/include/module.modulemap.in
M libcxx/include/set
M libcxx/include/string
M libcxx/include/tuple
M libcxx/test/libcxx-03/vendor/apple/disable-availability.sh.cpp
A libcxx/test/libcxx/atomics/builtin_clear_padding.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/iterator.nodiscard.verify.cpp
A libcxx/test/libcxx/iterators/nodiscard.verify.cpp
A libcxx/test/libcxx/utilities/function.objects/block.func.compile.pass.cpp
R libcxx/test/libcxx/utilities/meta/is_referenceable.compile.pass.cpp
M libcxx/test/libcxx/utilities/meta/is_within_lifetime.verify.cpp
M libcxx/test/selftest/modules/std-and-std.compat-module.sh.cpp
M libcxx/test/selftest/modules/std-module.sh.cpp
M libcxx/test/selftest/modules/std.compat-module.sh.cpp
M libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp
A libcxx/test/std/containers/views/mdspan/mdspan/at.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.char_type.pass.cpp
M libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp
M libcxx/test/std/modules/std.compat.pass.cpp
M libcxx/test/std/modules/std.pass.cpp
M libcxx/test/std/numerics/c.math/signbit.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp
A libcxx/test/std/utilities/any/any.nonmembers/any.cast/const_reference_types.verify.cpp
M libcxx/test/std/utilities/any/any.nonmembers/any.cast/reference_types.verify.cpp
A libcxx/test/std/utilities/any/any.nonmembers/any.cast/void.const.verify.cpp
M libcxx/test/std/utilities/any/any.nonmembers/any.cast/void.verify.cpp
M libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_Y.pass.cpp
M libcxx/test/std/utilities/meta/meta.const.eval/is_within_lifetime.compile.pass.cpp
M libcxx/test/std/utilities/meta/meta.rel/is_virtual_base_of.pass.cpp
M libcxx/test/std/utilities/meta/meta.trans/objc_support.compile.pass.mm
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.verify.cpp
A libcxx/test/support/algorithms.h
M libcxx/test/support/copy_move_types.h
M libcxx/utils/ci/docker/docker-compose.yml
M libcxx/utils/generate_feature_test_macro_components.py
M libsycl/test/lit.cfg.py
M lld/COFF/Writer.cpp
M lld/ELF/Arch/PPC.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Arch/SystemZ.cpp
M lld/ELF/Arch/X86.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/ICF.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/MarkLive.cpp
M lld/ELF/RelocScan.h
M lld/ELF/Relocations.cpp
M lld/ELF/SymbolTable.cpp
M lld/ELF/Symbols.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Thunks.cpp
M lld/ELF/Writer.cpp
M lld/ELF/Writer.h
M lld/MachO/BPSectionOrderer.cpp
M lld/MachO/ConcatOutputSection.cpp
M lld/MachO/ConcatOutputSection.h
M lld/MachO/InputSection.h
M lld/MachO/LTO.cpp
R lld/docs/Partitions.rst
M lld/docs/ReleaseNotes.rst
M lld/docs/index.rst
R lld/docs/partitions.dot
R lld/docs/partitions.svg
M lld/test/COFF/ctors_dtors_priority.s
M lld/test/ELF/aarch64-feature-pauth.s
A lld/test/ELF/linkerscript/overlap-nobits.s
M lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
M lld/test/ELF/lto/devirt_vcall_vis_public.ll
M lld/test/ELF/lto/devirt_vcall_vis_shared_def.ll
R lld/test/ELF/partition-dynamic-linker.s
R lld/test/ELF/partition-errors.s
R lld/test/ELF/partition-exidx.s
R lld/test/ELF/partition-icf.s
R lld/test/ELF/partition-move-to-main-startstop.s
R lld/test/ELF/partition-move-to-main.s
R lld/test/ELF/partition-notes.s
R lld/test/ELF/partition-pack-dyn-relocs.s
R lld/test/ELF/partition-synthetic-sections.s
R lld/test/ELF/partition-thunk-reuse.s
M lld/test/ELF/partitions.s
A lld/test/MachO/Inputs/large-lto-object.ll
M lld/test/MachO/arm64-thunks.s
A lld/test/MachO/eh-frame-ordering.s
M lld/test/MachO/lto-object-path.ll
M lld/test/wasm/alias.s
M lld/test/wasm/build-id.test
M lld/test/wasm/ctor-return-value.s
M lld/test/wasm/duplicate-global-imports.s
M lld/test/wasm/export-optional.s
M lld/test/wasm/externref.s
M lld/test/wasm/function-imports-first.ll
M lld/test/wasm/function-imports.s
M lld/test/wasm/gc-imports.s
M lld/test/wasm/gc-sections.ll
M lld/test/wasm/global-base.test
M lld/test/wasm/globals.s
M lld/test/wasm/lto/tls.ll
M lld/test/wasm/map-file.s
M lld/test/wasm/merge-string-debug.s
M lld/test/wasm/mutable-global-exports.s
M lld/test/wasm/name-section-mangling.s
M lld/test/wasm/signature-mismatch-export.ll
M lld/test/wasm/signature-mismatch.s
M lld/test/wasm/stack-first.test
A lld/test/wasm/stack-pointer-abi.s
M lld/test/wasm/startstop.ll
M lld/test/wasm/table-base.s
M lld/test/wasm/tag-section.ll
A lld/test/wasm/thread-context-abi-mismatch.s
M lld/test/wasm/tls-base-non-shared-memory.s
A lld/test/wasm/tls-libcall.s
M lld/test/wasm/undefined-weak-call.s
M lld/test/wasm/unresolved-symbols-dynamic.s
M lld/test/wasm/weak-undefined-pic.s
M lld/test/wasm/weak-undefined.s
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
M lld/wasm/Options.td
M lld/wasm/SyntheticSections.cpp
M lld/wasm/Writer.cpp
M lldb/cmake/modules/AddLLDB.cmake
M lldb/docs/resources/lldbgdbremote.md
M lldb/examples/python/formatter_bytecode.py
M lldb/include/lldb/Core/DataFileCache.h
M lldb/include/lldb/Core/Module.h
M lldb/include/lldb/Host/windows/MainLoopWindows.h
M lldb/include/lldb/Host/windows/ProcessLauncherWindows.h
M lldb/include/lldb/Host/windows/PseudoConsole.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedHookInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedStopHookInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadPlanInterface.h
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/include/lldb/Symbol/Symbol.h
M lldb/include/lldb/Symbol/Symtab.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/include/lldb/Target/ScriptedThreadPlan.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/Target/Thread.h
M lldb/include/lldb/Utility/DataEncoder.h
A lldb/include/lldb/Utility/Locked.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/source/API/SBThread.cpp
M lldb/source/API/SBThreadPlan.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Core/DataFileCache.cpp
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/common/Socket.cpp
M lldb/source/Host/macosx/objcxx/CMakeLists.txt
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
M lldb/source/Host/posix/DomainSocket.cpp
M lldb/source/Host/windows/ConnectionConPTYWindows.cpp
M lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
M lldb/source/Host/windows/FileSystem.cpp
M lldb/source/Host/windows/Host.cpp
M lldb/source/Host/windows/HostInfoWindows.cpp
M lldb/source/Host/windows/HostProcessWindows.cpp
M lldb/source/Host/windows/HostThreadWindows.cpp
M lldb/source/Host/windows/MainLoopWindows.cpp
M lldb/source/Host/windows/PipeWindows.cpp
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Host/windows/PseudoConsole.cpp
M lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
M lldb/source/Interpreter/CommandInterpreter.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/ClangASTImporter.h
M lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
M lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
M lldb/source/Plugins/Process/Windows/Common/ExceptionRecord.h
M lldb/source/Plugins/Process/Windows/Common/ForwardDecl.h
M lldb/source/Plugins/Process/Windows/Common/IDebugDelegate.h
M lldb/source/Plugins/Process/Windows/Common/LocalDebugDelegate.h
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h
M lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.h
M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.cpp
M lldb/source/Plugins/Process/Windows/Common/arm64/RegisterContextWindows_arm64.cpp
M lldb/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.cpp
M lldb/source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStopHookPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.h
M lldb/source/Symbol/Symtab.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/ScriptedThreadPlan.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Utility/FileSpecList.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/source/ValueObject/ValueObjectVTable.cpp
A lldb/test/API/commands/frame/var-dil/expr/EnumValueLookup/Makefile
A lldb/test/API/commands/frame/var-dil/expr/EnumValueLookup/TestEnumValueLookup.py
A lldb/test/API/commands/frame/var-dil/expr/EnumValueLookup/main.cpp
A lldb/test/API/functionalities/gdb_remote_client/TestUnavailableRegisters.py
M lldb/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
M lldb/test/API/functionalities/unwind/libunwind_ret_injection/TestLibUnwindRetInjection.py
M lldb/test/API/functionalities/vtable/TestVTableValue.py
M lldb/test/API/lang/c/cpp_keyword_identifiers/Makefile
M lldb/test/API/lang/c/function_types/TestFunctionTypes.py
M lldb/test/API/lang/cpp/operator-overload/Makefile
M lldb/test/API/lang/cpp/struct_with_keyword_name/Makefile
M lldb/test/API/lang/objc/modules-auto-import/Makefile
M lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py
M lldb/test/API/lit.cfg.py
M lldb/test/API/lldbtest.py
A lldb/test/API/python_api/sbvalue_get_parent/MyContainer_synthetic.py
M lldb/test/API/python_api/sbvalue_get_parent/TestSBValueGetParent.py
M lldb/test/API/python_api/sbvalue_get_parent/main.cpp
M lldb/test/API/windows/launch/missing-dll/TestMissingDll.py
M lldb/test/Shell/Commands/command-dil-diagnostics.test
M lldb/test/Shell/Commands/command-module-hook-fire.test
A lldb/test/Shell/Commands/process-attach-dummy.test
M lldb/test/Shell/ObjectFile/MachO/section-overflow-binary.test
M lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/RigidArrayLLDBFormatterSwift.txt
M lldb/test/Shell/Settings/TestCxxFrameFormatPartialFailure.test
M lldb/test/Shell/SymbolFile/NativePDB/ast-methods.cpp
M lldb/test/Shell/SymbolFile/PDB/ast-restore.test
M lldb/test/Shell/lit.cfg.py
M lldb/tools/debugserver/source/RNBRemote.cpp
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/OutputRedirector.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/unittests/DAP/Handler/DisconnectTest.cpp
M lldb/unittests/DAP/ProtocolTypesTest.cpp
M lldb/unittests/Host/SocketTest.cpp
M lldb/unittests/Utility/CMakeLists.txt
A lldb/unittests/Utility/LockedTest.cpp
M llvm/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
M llvm/docs/AMDGPU/AMDGPUAsmGFX950.rst
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CMake.rst
M llvm/docs/CodingStandards.rst
M llvm/docs/CommandGuide/llvm-mca.rst
M llvm/docs/Coroutines.rst
M llvm/docs/LangRef.rst
M llvm/docs/ProgrammersManual.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SandboxIR.md
M llvm/docs/SourceLevelDebugging.rst
R llvm/docs/requirements-hashed.txt
M llvm/docs/requirements.txt
A llvm/docs/requirements.txt.in
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/DenseSet.h
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
M llvm/include/llvm/Analysis/InstCount.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/include/llvm/Bitcode/BitcodeReader.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineMemOperand.h
M llvm/include/llvm/DebugInfo/CodeView/CodeViewRegisters.def
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/FixedMetadataKinds.def
M llvm/include/llvm/IR/FunctionProperties.def
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/MemoryModelRelaxationAnnotations.h
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/include/llvm/IR/Use.h
M llvm/include/llvm/IR/User.h
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/MC/DXContainerInfo.h
M llvm/include/llvm/MC/MCDwarf.h
M llvm/include/llvm/MC/MCSchedule.h
A llvm/include/llvm/Object/BBAddrMap.def
M llvm/include/llvm/Object/BBAddrMap.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/SandboxIR/Tracker.h
M llvm/include/llvm/Support/FileSystem.h
M llvm/include/llvm/Support/MemoryBuffer.h
M llvm/include/llvm/Support/Win64EH.h
M llvm/include/llvm/TargetParser/AArch64CPUFeatures.inc
M llvm/include/llvm/Transforms/AggressiveInstCombine/AggressiveInstCombine.h
M llvm/include/llvm/Transforms/Coroutines/CoroAnnotationElide.h
M llvm/include/llvm/Transforms/Coroutines/CoroCleanup.h
M llvm/include/llvm/Transforms/Coroutines/CoroConditionalWrapper.h
M llvm/include/llvm/Transforms/Coroutines/CoroEarly.h
M llvm/include/llvm/Transforms/Coroutines/CoroElide.h
M llvm/include/llvm/Transforms/Coroutines/CoroShape.h
M llvm/include/llvm/Transforms/Coroutines/SpillUtils.h
M llvm/include/llvm/Transforms/Coroutines/SuspendCrossingInfo.h
M llvm/include/llvm/Transforms/IPO/Annotation2Metadata.h
M llvm/include/llvm/Transforms/IPO/ArgumentPromotion.h
M llvm/include/llvm/Transforms/IPO/CalledValuePropagation.h
M llvm/include/llvm/Transforms/IPO/ConstantMerge.h
M llvm/include/llvm/Transforms/IPO/CrossDSOCFI.h
M llvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h
M llvm/include/llvm/Transforms/IPO/ElimAvailExtern.h
M llvm/include/llvm/Transforms/IPO/ExpandVariadics.h
M llvm/include/llvm/Transforms/IPO/FatLTOCleanup.h
M llvm/include/llvm/Transforms/IPO/ForceFunctionAttrs.h
M llvm/include/llvm/Transforms/IPO/GlobalOpt.h
M llvm/include/llvm/Transforms/IPO/GlobalSplit.h
M llvm/include/llvm/Transforms/IPO/HotColdSplitting.h
M llvm/include/llvm/Transforms/IPO/IROutliner.h
M llvm/include/llvm/Transforms/IPO/Instrumentor.h
M llvm/include/llvm/Transforms/IPO/InstrumentorUtils.h
M llvm/include/llvm/Transforms/IPO/LoopExtractor.h
M llvm/include/llvm/Transforms/IPO/MemProfContextDisambiguation.h
M llvm/include/llvm/Transforms/IPO/OpenMPOpt.h
M llvm/include/llvm/Transforms/IPO/PartialInlining.h
M llvm/include/llvm/Transforms/IPO/SCCP.h
M llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h
M llvm/include/llvm/Transforms/Instrumentation/BlockCoverageInference.h
M llvm/include/llvm/Transforms/Instrumentation/CGProfile.h
M llvm/include/llvm/Transforms/Instrumentation/ControlHeightReduction.h
M llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfFlattening.h
M llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfLowering.h
M llvm/include/llvm/Transforms/Instrumentation/PGOForceFunctionAttrs.h
M llvm/include/llvm/Transforms/Scalar/ADCE.h
M llvm/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h
M llvm/include/llvm/Transforms/Scalar/AnnotationRemarks.h
M llvm/include/llvm/Transforms/Scalar/BDCE.h
M llvm/include/llvm/Transforms/Scalar/CallSiteSplitting.h
M llvm/include/llvm/Transforms/Scalar/ConstantHoisting.h
M llvm/include/llvm/Transforms/Scalar/ConstraintElimination.h
M llvm/include/llvm/Transforms/Scalar/CorrelatedValuePropagation.h
M llvm/include/llvm/Transforms/Scalar/DCE.h
M llvm/include/llvm/Transforms/Scalar/DFAJumpThreading.h
M llvm/include/llvm/Transforms/Scalar/DeadStoreElimination.h
M llvm/include/llvm/Transforms/Scalar/DivRemPairs.h
M llvm/include/llvm/Transforms/Scalar/DropUnnecessaryAssumes.h
M llvm/include/llvm/Transforms/Scalar/ExpandMemCmp.h
M llvm/include/llvm/Transforms/Scalar/FlattenCFG.h
M llvm/include/llvm/Transforms/Scalar/Float2Int.h
M llvm/include/llvm/Transforms/Scalar/GVNExpression.h
M llvm/include/llvm/Transforms/Scalar/GuardWidening.h
M llvm/include/llvm/Transforms/Scalar/IVUsersPrinter.h
M llvm/include/llvm/Transforms/Scalar/IndVarSimplify.h
M llvm/include/llvm/Transforms/Scalar/InductiveRangeCheckElimination.h
M llvm/include/llvm/Transforms/Scalar/InferAddressSpaces.h
M llvm/include/llvm/Transforms/Scalar/InferAlignment.h
M llvm/include/llvm/Transforms/Scalar/InstSimplifyPass.h
M llvm/include/llvm/Transforms/Scalar/JumpTableToSwitch.h
M llvm/include/llvm/Transforms/Scalar/LICM.h
M llvm/include/llvm/Transforms/Scalar/LoopAccessAnalysisPrinter.h
M llvm/include/llvm/Transforms/Scalar/LoopBoundSplit.h
M llvm/include/llvm/Transforms/Scalar/LoopDataPrefetch.h
M llvm/include/llvm/Transforms/Scalar/LoopDeletion.h
M llvm/include/llvm/Transforms/Scalar/LoopDistribute.h
M llvm/include/llvm/Transforms/Scalar/LoopFlatten.h
M llvm/include/llvm/Transforms/Scalar/LoopFuse.h
M llvm/include/llvm/Transforms/Scalar/LoopIdiomRecognize.h
M llvm/include/llvm/Transforms/Scalar/LoopInstSimplify.h
M llvm/include/llvm/Transforms/Scalar/LoopInterchange.h
M llvm/include/llvm/Transforms/Scalar/LoopLoadElimination.h
M llvm/include/llvm/Transforms/Scalar/LoopPredication.h
M llvm/include/llvm/Transforms/Scalar/LoopRotation.h
M llvm/include/llvm/Transforms/Scalar/LoopSimplifyCFG.h
M llvm/include/llvm/Transforms/Scalar/LoopSink.h
M llvm/include/llvm/Transforms/Scalar/LoopStrengthReduce.h
M llvm/include/llvm/Transforms/Scalar/LoopTermFold.h
M llvm/include/llvm/Transforms/Scalar/LoopUnrollAndJamPass.h
M llvm/include/llvm/Transforms/Scalar/LoopUnrollPass.h
M llvm/include/llvm/Transforms/Scalar/LoopVersioningLICM.h
M llvm/include/llvm/Transforms/Scalar/LowerAtomicPass.h
M llvm/include/llvm/Transforms/Scalar/LowerConstantIntrinsics.h
M llvm/include/llvm/Transforms/Scalar/LowerGuardIntrinsic.h
M llvm/include/llvm/Transforms/Scalar/LowerMatrixIntrinsics.h
M llvm/include/llvm/Transforms/Scalar/LowerWidenableCondition.h
M llvm/include/llvm/Transforms/Scalar/MakeGuardsExplicit.h
M llvm/include/llvm/Transforms/Scalar/MergeICmps.h
M llvm/include/llvm/Transforms/Scalar/MergedLoadStoreMotion.h
M llvm/include/llvm/Transforms/Scalar/NaryReassociate.h
M llvm/include/llvm/Transforms/Scalar/NewGVN.h
M llvm/include/llvm/Transforms/Scalar/PartiallyInlineLibCalls.h
M llvm/include/llvm/Transforms/Scalar/PlaceSafepoints.h
M llvm/include/llvm/Transforms/Scalar/Reg2Mem.h
M llvm/include/llvm/Transforms/Scalar/RewriteStatepointsForGC.h
M llvm/include/llvm/Transforms/Scalar/SROA.h
M llvm/include/llvm/Transforms/Scalar/ScalarizeMaskedMemIntrin.h
M llvm/include/llvm/Transforms/Scalar/SeparateConstOffsetFromGEP.h
M llvm/include/llvm/Transforms/Scalar/SimpleLoopUnswitch.h
M llvm/include/llvm/Transforms/Scalar/Sink.h
M llvm/include/llvm/Transforms/Scalar/SpeculativeExecution.h
M llvm/include/llvm/Transforms/Scalar/StraightLineStrengthReduce.h
M llvm/include/llvm/Transforms/Scalar/StructurizeCFG.h
M llvm/include/llvm/Transforms/Scalar/TailRecursionElimination.h
M llvm/include/llvm/Transforms/Scalar/WarnMissedTransforms.h
M llvm/include/llvm/Transforms/Utils/AddDiscriminators.h
A llvm/include/llvm/Transforms/Utils/AssignGUID.h
M llvm/include/llvm/Transforms/Utils/BreakCriticalEdges.h
M llvm/include/llvm/Transforms/Utils/BypassSlowDivision.h
M llvm/include/llvm/Transforms/Utils/CanonicalizeAliases.h
M llvm/include/llvm/Transforms/Utils/CanonicalizeFreezeInLoops.h
M llvm/include/llvm/Transforms/Utils/ControlFlowUtils.h
M llvm/include/llvm/Transforms/Utils/CountVisits.h
M llvm/include/llvm/Transforms/Utils/CtorUtils.h
M llvm/include/llvm/Transforms/Utils/DXILUpgrade.h
M llvm/include/llvm/Transforms/Utils/DebugSSAUpdater.h
M llvm/include/llvm/Transforms/Utils/DeclareRuntimeLibcalls.h
M llvm/include/llvm/Transforms/Utils/EntryExitInstrumenter.h
M llvm/include/llvm/Transforms/Utils/EscapeEnumerator.h
M llvm/include/llvm/Transforms/Utils/Evaluator.h
M llvm/include/llvm/Transforms/Utils/FixIrreducible.h
M llvm/include/llvm/Transforms/Utils/GlobalStatus.h
M llvm/include/llvm/Transforms/Utils/GuardUtils.h
M llvm/include/llvm/Transforms/Utils/HelloWorld.h
M llvm/include/llvm/Transforms/Utils/IRNormalizer.h
M llvm/include/llvm/Transforms/Utils/InjectTLIMappings.h
M llvm/include/llvm/Transforms/Utils/InstructionNamer.h
M llvm/include/llvm/Transforms/Utils/LibCallsShrinkWrap.h
M llvm/include/llvm/Transforms/Utils/LoopConstrainer.h
M llvm/include/llvm/Transforms/Utils/LoopPeel.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/include/llvm/Transforms/Utils/LoopVersioning.h
M llvm/include/llvm/Transforms/Utils/LowerAtomic.h
M llvm/include/llvm/Transforms/Utils/LowerGlobalDtors.h
M llvm/include/llvm/Transforms/Utils/LowerIFunc.h
M llvm/include/llvm/Transforms/Utils/LowerInvoke.h
M llvm/include/llvm/Transforms/Utils/LowerSwitch.h
M llvm/include/llvm/Transforms/Utils/LowerVectorIntrinsics.h
M llvm/include/llvm/Transforms/Utils/MatrixUtils.h
M llvm/include/llvm/Transforms/Utils/MemoryOpRemark.h
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/include/llvm/Transforms/Utils/MetaRenamer.h
M llvm/include/llvm/Transforms/Utils/MisExpect.h
M llvm/include/llvm/Transforms/Utils/MoveAutoInit.h
M llvm/include/llvm/Transforms/Utils/NameAnonGlobals.h
M llvm/include/llvm/Transforms/Utils/RelLookupTableConverter.h
M llvm/include/llvm/Transforms/Utils/SSAUpdater.h
M llvm/include/llvm/Transforms/Utils/SampleProfileInference.h
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseUtil.h
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/include/llvm/Transforms/Utils/SimplifyIndVar.h
M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
M llvm/include/llvm/Transforms/Utils/StripConvergenceIntrinsics.h
M llvm/include/llvm/Transforms/Utils/StripGCRelocates.h
M llvm/include/llvm/Transforms/Utils/StripNonLineTableDebugInfo.h
M llvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h
M llvm/include/llvm/Transforms/Utils/UnifyLoopExits.h
M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
M llvm/include/llvm/Transforms/Utils/VNCoercion.h
M llvm/include/llvm/Transforms/Vectorize/LoopIdiomVectorize.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PackReuse.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromBBs.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromMetadata.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionAcceptOrRevert.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionSave.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/RegionWithScore.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.h
M llvm/include/llvm/Transforms/Vectorize/VectorCombine.h
M llvm/include/module.modulemap
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
M llvm/lib/Analysis/GlobalsModRef.cpp
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/InstCount.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/BinaryFormat/DXContainer.cpp
M llvm/lib/BinaryFormat/Dwarf.cpp
M llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/ExpandIRInsts.cpp
M llvm/lib/CodeGen/GCRootLowering.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/CodeGen/RemoveRedundantDebugValues.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/DebugInfo/CodeView/CodeViewRecordIO.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/DebugInfo/GSYM/GsymReader.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/SimpleRemoteEPCUtils.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/IntrinsicInst.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/MemoryModelRelaxationAnnotations.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/MC/CMakeLists.txt
M llvm/lib/MC/DXContainerInfo.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCSchedule.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/Object/OffloadBundle.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/SandboxIR/Tracker.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/MemoryBuffer.cpp
M llvm/lib/Support/Path.cpp
M llvm/lib/Support/Unix/Path.inc
A llvm/lib/Support/Win64EH.cpp
M llvm/lib/Support/Windows/Path.inc
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64SchedC1Nano.td
M llvm/lib/Target/AArch64/AArch64SchedCyclone.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerExecSync.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.h
M llvm/lib/Target/DirectX/DirectXIRPasses/CMakeLists.txt
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
M llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.h
M llvm/lib/Target/DirectX/DirectXIRPasses/PointerTypeAnalysis.cpp
M llvm/lib/Target/Hexagon/Hexagon.td
M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/lib/Target/Hexagon/HexagonSubtarget.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchMachineFunctionInfo.h
M llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCInstrAltivec.td
M llvm/lib/Target/PowerPC/PPCInstrFormats.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCInstrMMA.td
M llvm/lib/Target/PowerPC/PPCInstrVSX.td
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrGISel.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
A llvm/lib/Target/RISCV/RISCVInstrInfoZvbdota.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvzip.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h
M llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
M llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/Coroutines/MaterializationUtils.cpp
M llvm/lib/Transforms/Coroutines/SuspendCrossingInfo.cpp
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/IPO/Instrumentor.cpp
M llvm/lib/Transforms/IPO/InstrumentorConfigFile.cpp
M llvm/lib/Transforms/IPO/InstrumentorUtils.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/InferAlignment.cpp
M llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
A llvm/lib/Transforms/Utils/AssignGUID.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.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/SandboxVectorizer/Passes/SeedCollection.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/runtimes/CMakeLists.txt
M llvm/test/Analysis/CostModel/AArch64/masked_expand_load.ll
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
A llvm/test/Analysis/CostModel/RISCV/shuffle-load.ll
M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
M llvm/test/Analysis/CostModel/X86/reduce-smax.ll
M llvm/test/Analysis/CostModel/X86/reduce-smin.ll
M llvm/test/Analysis/CostModel/X86/reduce-umax.ll
M llvm/test/Analysis/CostModel/X86/reduce-umin.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-single-src.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
A llvm/test/Analysis/FunctionPropertiesAnalysis/func-properties-analysis.ll
A llvm/test/Analysis/FunctionPropertiesAnalysis/pipeline.ll
R llvm/test/Analysis/FunctionPropertiesAnalysis/properties-stats.ll
M llvm/test/Analysis/InstCount/instcount.ll
A llvm/test/Analysis/InstCount/pipeline.ll
A llvm/test/Analysis/LoopAccessAnalysis/clamped-access-pattern.ll
M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
M llvm/test/Analysis/ScalarEvolution/zext-add-nsw-fold.ll
M llvm/test/Analysis/ScalarEvolution/zext-add.ll
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
M llvm/test/Assembler/dicompileunit.ll
M llvm/test/Assembler/index-value-order.ll
A llvm/test/Assembler/invalid-dicompileunit-dialect.ll
M llvm/test/Assembler/target-type-param-errors.ll
A llvm/test/Bitcode/dicompileunit-dialect.ll
M llvm/test/Bitcode/thinlto-alias.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
M llvm/test/Bitcode/thinlto-function-summary-refgraph.ll
M llvm/test/Bitcode/thinlto-function-summary.ll
M llvm/test/Bitcode/upgrade-DICompileUnit-no-versioned-language.test
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-srem.mir
R llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs-in-fcmp.mir
M llvm/test/CodeGen/AArch64/alias_mask.ll
M llvm/test/CodeGen/AArch64/arm64-mul.ll
M llvm/test/CodeGen/AArch64/avoid-free-ext-promotion.ll
M llvm/test/CodeGen/AArch64/bf16-instructions.ll
M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
M llvm/test/CodeGen/AArch64/dag-combine-setcc.ll
M llvm/test/CodeGen/AArch64/fabs.ll
M llvm/test/CodeGen/AArch64/fast-isel-branch-cond-split.ll
M llvm/test/CodeGen/AArch64/fixed_masked_deinterleaved_loads.ll
M llvm/test/CodeGen/AArch64/fixed_masked_interleaved_stores.ll
M llvm/test/CodeGen/AArch64/fneg.ll
M llvm/test/CodeGen/AArch64/fp16-v4-instructions.ll
A llvm/test/CodeGen/AArch64/interleaved-store-noninbounds-gep.ll
A llvm/test/CodeGen/AArch64/machine-sme-abi-skip-debug-inst.mir
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-compares.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-expandloads.ll
M llvm/test/CodeGen/AArch64/sve-mask-partition.ll
M llvm/test/CodeGen/AArch64/swap-compare-operands.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-truncate-store.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/assert-align.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-s16-true16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/load-d16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/a-v-flat-atomicrmw.ll
M llvm/test/CodeGen/AMDGPU/a-v-global-atomicrmw.ll
M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
M llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/agpr-copy-reuse-writes.mir
M llvm/test/CodeGen/AMDGPU/agpr-spill-copy.mir
M llvm/test/CodeGen/AMDGPU/amdgcn-call-whole-wave.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.160bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.16bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.192bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.224bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.288bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.352bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.384bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ptr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-flat-scratch-init-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-min-agpr-alloc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-fp-nosave.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-spill-cfi-saved-regs.ll
M llvm/test/CodeGen/AMDGPU/arbitrary-fp-to-float.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior2.ll
M llvm/test/CodeGen/AMDGPU/av-spill-expansion-with-machine-cp.mir
M llvm/test/CodeGen/AMDGPU/av_spill_cross_bb_usage.mir
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/br_cc.f16.ll
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/branch-relax-spill.ll
M llvm/test/CodeGen/AMDGPU/bug-undef-spilled-agpr.mir
M llvm/test/CodeGen/AMDGPU/call-args-inreg-bfloat.ll
M llvm/test/CodeGen/AMDGPU/call-args-inreg-no-sgpr-for-csrspill.ll
M llvm/test/CodeGen/AMDGPU/call-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
M llvm/test/CodeGen/AMDGPU/call-graph-register-usage.ll
M llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
M llvm/test/CodeGen/AMDGPU/call-skip.ll
M llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs-packed.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
M llvm/test/CodeGen/AMDGPU/cc-entry.ll
M llvm/test/CodeGen/AMDGPU/cc-inreg-sgpr0-3-mismatch.ll
M llvm/test/CodeGen/AMDGPU/code-size-estimate.ll
A llvm/test/CodeGen/AMDGPU/coexec-rewrite-mfma.ll
M llvm/test/CodeGen/AMDGPU/coexec-scheduler.ll
M llvm/test/CodeGen/AMDGPU/commute-compares-scalar-float.ll
M llvm/test/CodeGen/AMDGPU/copysign-simplify-demanded-bits.ll
M llvm/test/CodeGen/AMDGPU/cross-block-use-is-not-abi-copy.ll
M llvm/test/CodeGen/AMDGPU/csr-sgpr-spill-live-ins.mir
M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
M llvm/test/CodeGen/AMDGPU/dbg-info-inline-at.ll
A llvm/test/CodeGen/AMDGPU/debug-frame.ll
M llvm/test/CodeGen/AMDGPU/ds-read2-write2-debug-info.ll
M llvm/test/CodeGen/AMDGPU/dwarf-multi-register-use-crash.ll
M llvm/test/CodeGen/AMDGPU/dynamic-vgpr-reserve-stack-for-cwsr.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
A llvm/test/CodeGen/AMDGPU/elf-note-null-terminator.ll
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-i32.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-u32.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-mov-b32.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-scalar-bit-ops.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-scalar-scc-clobber.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-select.ll
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-select.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32-wave32.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-u32.mir
A llvm/test/CodeGen/AMDGPU/entry-function-cfi.mir
M llvm/test/CodeGen/AMDGPU/extract-subvector-16bit.ll
A llvm/test/CodeGen/AMDGPU/extract-vector-elt-binop-build-vector.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/fix-frame-reg-in-custom-csr-spills.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/fmed3.bf16.ll
M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
M llvm/test/CodeGen/AMDGPU/frame-index-elimination-tied-operand.mir
M llvm/test/CodeGen/AMDGPU/frame-index.mir
M llvm/test/CodeGen/AMDGPU/frame-setup-without-sgpr-to-vgpr-spills.ll
A llvm/test/CodeGen/AMDGPU/fshl-scalar-shift-zero.ll
M llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
M llvm/test/CodeGen/AMDGPU/gfx-call-non-gfx-func.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-preserved-registers.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
M llvm/test/CodeGen/AMDGPU/gfx11-sgpr-hazard-latency.mir
A llvm/test/CodeGen/AMDGPU/gfx12-5-generic-no-xnack.ll
M llvm/test/CodeGen/AMDGPU/global-alias.ll
M llvm/test/CodeGen/AMDGPU/identical-subrange-spill-infloop.ll
M llvm/test/CodeGen/AMDGPU/imm16.ll
M llvm/test/CodeGen/AMDGPU/immv216.ll
M llvm/test/CodeGen/AMDGPU/indirect-call.ll
M llvm/test/CodeGen/AMDGPU/inflate-av-remat-imm.mir
A llvm/test/CodeGen/AMDGPU/insert-delay-alu-attr.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/insert-waitcnts-crash.ll
M llvm/test/CodeGen/AMDGPU/insert-waitcnts-merge.ll
M llvm/test/CodeGen/AMDGPU/issue176578.ll
M llvm/test/CodeGen/AMDGPU/issue98474-assigned-physreg-interference.mir
M llvm/test/CodeGen/AMDGPU/issue98474-virtregrewriter-live-out-undef-subregisters.mir
M llvm/test/CodeGen/AMDGPU/kernel-mubuf-with-voffset.mir
M llvm/test/CodeGen/AMDGPU/lds-barrier-memoperand.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fma.legacy.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.add.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.and.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fadd.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmax.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fmin.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fsub.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.max.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.min.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.or.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.sub.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umax.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.umin.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.xor.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sudot4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sudot8.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.shuffle.ll
M llvm/test/CodeGen/AMDGPU/llvm.dbg.value.ll
M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.round.ll
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
M llvm/test/CodeGen/AMDGPU/lround.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.gfx10.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
M llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
M llvm/test/CodeGen/AMDGPU/maximumnum.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-single-wave-workgroup-memops.ll
M llvm/test/CodeGen/AMDGPU/memset-param-combinations.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.ll
M llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
M llvm/test/CodeGen/AMDGPU/need-fp-from-vgpr-spills.ll
M llvm/test/CodeGen/AMDGPU/nested-calls.ll
M llvm/test/CodeGen/AMDGPU/no-source-locations-in-prologue.ll
M llvm/test/CodeGen/AMDGPU/nofpclass-call.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain-preserve.mir
M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain.mir
M llvm/test/CodeGen/AMDGPU/pei-build-av-spill.mir
M llvm/test/CodeGen/AMDGPU/pei-build-spill-offset-overflow-gfx950.mir
M llvm/test/CodeGen/AMDGPU/pei-build-spill.mir
M llvm/test/CodeGen/AMDGPU/pei-reg-scavenger-position.mir
M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-carry-out.mir
M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-gfx9.mir
M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr.mir
M llvm/test/CodeGen/AMDGPU/pei-scavenge-vgpr-spill.mir
M llvm/test/CodeGen/AMDGPU/pei-vgpr-block-spill-csr.mir
M llvm/test/CodeGen/AMDGPU/preserve-only-inactive-lane.mir
M llvm/test/CodeGen/AMDGPU/preserve-wwm-copy-dst-reg.ll
M llvm/test/CodeGen/AMDGPU/prologue-epilogue-markers.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx12.mir
M llvm/test/CodeGen/AMDGPU/ptr-arg-dbg-value.ll
M llvm/test/CodeGen/AMDGPU/regalloc-introduces-copy-sgpr-to-agpr.mir
M llvm/test/CodeGen/AMDGPU/s-getpc-b64-remat.ll
M llvm/test/CodeGen/AMDGPU/same-slot-agpr-sgpr.mir
M llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_copies.mir
M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.f16.ll
M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.v2f16.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill-dead-frame-in-dbg-value.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spill-vmem-large-frame.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spill.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
M llvm/test/CodeGen/AMDGPU/si-lower-sgpr-spills-vgpr-lanes-usage.mir
M llvm/test/CodeGen/AMDGPU/si-lower-sgpr-spills.mir
M llvm/test/CodeGen/AMDGPU/si-optimize-vgpr-live-range-dbg-instr.ll
M llvm/test/CodeGen/AMDGPU/sibling-call.ll
M llvm/test/CodeGen/AMDGPU/spill-agpr-partially-undef.mir
M llvm/test/CodeGen/AMDGPU/spill-agpr.mir
M llvm/test/CodeGen/AMDGPU/spill-partial-csr-sgpr-live-ins.mir
M llvm/test/CodeGen/AMDGPU/spill-reg-tuple-super-reg-use.mir
M llvm/test/CodeGen/AMDGPU/spill-restore-partial-copy.mir
M llvm/test/CodeGen/AMDGPU/spill-sgpr-csr-live-ins.mir
M llvm/test/CodeGen/AMDGPU/spill-sgpr-to-virtual-vgpr.mir
M llvm/test/CodeGen/AMDGPU/spill-sgpr-used-for-exec-copy.mir
M llvm/test/CodeGen/AMDGPU/spill-special-sgpr.mir
M llvm/test/CodeGen/AMDGPU/spill-to-agpr-partial.mir
M llvm/test/CodeGen/AMDGPU/spill-vgpr-block.ll
M llvm/test/CodeGen/AMDGPU/spill_kill_v16.mir
M llvm/test/CodeGen/AMDGPU/spill_more_than_wavesize_csr_sgprs.ll
M llvm/test/CodeGen/AMDGPU/spillv16.mir
M llvm/test/CodeGen/AMDGPU/split-arg-dbg-value.ll
A llvm/test/CodeGen/AMDGPU/sroa-phi-nodes.ll
M llvm/test/CodeGen/AMDGPU/stack-realign.ll
M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
M llvm/test/CodeGen/AMDGPU/strictfp_f16_abi_promote.ll
M llvm/test/CodeGen/AMDGPU/swdev504645-global-fold.ll
M llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.waterfall.ll
M llvm/test/CodeGen/AMDGPU/tied-op-for-wwm-scratch-reg-spill-restore.mir
M llvm/test/CodeGen/AMDGPU/track-spilled-vgpr-liveness.mir
M llvm/test/CodeGen/AMDGPU/true16-imm-folded-to-0-regression.ll
M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
M llvm/test/CodeGen/AMDGPU/unfold-masked-merge-scalar-variablemask.ll
M llvm/test/CodeGen/AMDGPU/unspill-vgpr-after-rewrite-vgpr-mfma.ll
M llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
M llvm/test/CodeGen/AMDGPU/use_restore_frame_reg.mir
M llvm/test/CodeGen/AMDGPU/vector-reduce-mul.ll
M llvm/test/CodeGen/AMDGPU/vector-spill-restore-to-other-vector-type.mir
M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.ll
M llvm/test/CodeGen/AMDGPU/vgpr-spill-scc-clobber.mir
M llvm/test/CodeGen/AMDGPU/vgpr-spill.mir
M llvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll
A llvm/test/CodeGen/AMDGPU/wait-xcnt-drain.mir
M llvm/test/CodeGen/AMDGPU/waterfall-call-target-av-register-failure.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-functions-pei.mir
M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-register-copy.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
A llvm/test/CodeGen/ARM/pr196779.ll
M llvm/test/CodeGen/Generic/gc-lowering.ll
M llvm/test/CodeGen/Hexagon/inst_masked_store_bug1.ll
M llvm/test/CodeGen/Hexagon/isel-hvx-pred-bitcast-order.ll
A llvm/test/CodeGen/Hexagon/reserved-regs.ll
A llvm/test/CodeGen/LoongArch/musttail-call.ll
A llvm/test/CodeGen/LoongArch/musttail-indirect-args.ll
M llvm/test/CodeGen/Mips/GlobalISel/legalizer/rem_and_div.mir
M llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/rem_and_div.ll
A llvm/test/CodeGen/NVPTX/nvvm-abs.ll
M llvm/test/CodeGen/NVPTX/vaargs.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
M llvm/test/CodeGen/NVPTX/variadics-lowering.ll
M llvm/test/CodeGen/PowerPC/aix-alias.ll
M llvm/test/CodeGen/PowerPC/aix-alloca-r31.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval-mem.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval.ll
M llvm/test/CodeGen/PowerPC/aix-cc-ext-vec-abi.ll
M llvm/test/CodeGen/PowerPC/aix-complex.ll
M llvm/test/CodeGen/PowerPC/aix-emit-tracebacktable-ssp.ll
M llvm/test/CodeGen/PowerPC/aix-exception.ll
M llvm/test/CodeGen/PowerPC/aix-extern-weak.ll
M llvm/test/CodeGen/PowerPC/aix-extern.ll
M llvm/test/CodeGen/PowerPC/aix-ifunc-obj.ll
M llvm/test/CodeGen/PowerPC/aix-ifunc.ll
M llvm/test/CodeGen/PowerPC/aix-llvm-intrinsic.ll
M llvm/test/CodeGen/PowerPC/aix-no-inline-glue.ll
M llvm/test/CodeGen/PowerPC/aix-p9-insert-extract.ll
M llvm/test/CodeGen/PowerPC/aix-p9-xxinsertw-xxextractuw.ll
M llvm/test/CodeGen/PowerPC/aix-reloc-sorting.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-types.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-char.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-double.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-float.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-int.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess2.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-short.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-funcattr.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-loadaddr.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-targetattr.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-double.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-int.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-target-flags.ll
M llvm/test/CodeGen/PowerPC/aix-tls-ie-xcoff-reloc.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-O0.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-double.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-float.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-int.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-xcoff-reloc.ll
M llvm/test/CodeGen/PowerPC/aix-trampoline.ll
M llvm/test/CodeGen/PowerPC/aix-vec-arg-spills-mir.ll
M llvm/test/CodeGen/PowerPC/aix-vec-arg-spills.ll
M llvm/test/CodeGen/PowerPC/aix-vector-stack-caller.ll
M llvm/test/CodeGen/PowerPC/aix-vector-vararg-caller.ll
M llvm/test/CodeGen/PowerPC/aix-vector-vararg-fixed-caller.ll
M llvm/test/CodeGen/PowerPC/aix-weak.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-data-sections.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-explicit-section.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-reloc.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-toc.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-visibility.ll
M llvm/test/CodeGen/PowerPC/aix64-cc-byval.ll
M llvm/test/CodeGen/PowerPC/basic-toc-data-extern.ll
M llvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-mfspr-mtspr-64bit-only.ll
M llvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-prefetch.ll
M llvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
M llvm/test/CodeGen/PowerPC/const-nonsplat-array-init.ll
M llvm/test/CodeGen/PowerPC/const-splat-array-init.ll
M llvm/test/CodeGen/PowerPC/ctrloops-pseudo.ll
M llvm/test/CodeGen/PowerPC/fast-isel-branch.ll
M llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
M llvm/test/CodeGen/PowerPC/global-merge-aix-sections.ll
M llvm/test/CodeGen/PowerPC/huge-frame-call.ll
M llvm/test/CodeGen/PowerPC/licm-tocReg.ll
M llvm/test/CodeGen/PowerPC/lower-globaladdr64-aix.ll
M llvm/test/CodeGen/PowerPC/memset-tail.ll
M llvm/test/CodeGen/PowerPC/merge-private.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool-large.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool-tls.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool.ll
M llvm/test/CodeGen/PowerPC/p10-handle-split-promote-vec.ll
M llvm/test/CodeGen/PowerPC/p8-scalar_vector_conversions.ll
A llvm/test/CodeGen/PowerPC/partial-red.ll
M llvm/test/CodeGen/PowerPC/ppc-float-spill.ll
A llvm/test/CodeGen/PowerPC/ppc-i64-to-fp.ll
M llvm/test/CodeGen/PowerPC/ppc-shufflevector-combine.ll
M llvm/test/CodeGen/PowerPC/pr74951.ll
M llvm/test/CodeGen/PowerPC/pre-inc-disable.ll
M llvm/test/CodeGen/PowerPC/reduce_scalarization.ll
M llvm/test/CodeGen/PowerPC/scalar_vector_test_4.ll
M llvm/test/CodeGen/PowerPC/splat-after-xxsldwi.ll
M llvm/test/CodeGen/PowerPC/stack-guard-oob.ll
M llvm/test/CodeGen/PowerPC/stack-protector-target.ll
M llvm/test/CodeGen/PowerPC/stack-protector.ll
M llvm/test/CodeGen/PowerPC/toc-data-common.ll
M llvm/test/CodeGen/PowerPC/toc-data-const.ll
M llvm/test/CodeGen/PowerPC/toc-data-struct-array.ll
M llvm/test/CodeGen/PowerPC/toc-data.ll
M llvm/test/CodeGen/PowerPC/v16i8_scalar_to_vector_shuffle.ll
M llvm/test/CodeGen/PowerPC/v4i32_scalar_to_vector_shuffle.ll
M llvm/test/CodeGen/PowerPC/v8i16_scalar_to_vector_shuffle.ll
M llvm/test/CodeGen/PowerPC/vec_insert_elt.ll
M llvm/test/CodeGen/PowerPC/vec_shuffle_p8vector.ll
M llvm/test/CodeGen/PowerPC/xxinsertw.ll
M llvm/test/CodeGen/PowerPC/xxperm-swap.ll
A llvm/test/CodeGen/RISCV/GlobalISel/bitreverse-zbkb.ll
A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/fixed-vectors-calling-conv.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-extract-subvector.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-insert-subvector.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-vscale-rv64.mir
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/CodeGen/RISCV/fixed-x27-crash.ll
A llvm/test/CodeGen/RISCV/jump-is-expensive.ll
A llvm/test/CodeGen/RISCV/rvp-bitcast-const-fold.ll
M llvm/test/CodeGen/RISCV/rvp-simd-32.ll
M llvm/test/CodeGen/RISCV/rvp-simd-64.ll
A llvm/test/CodeGen/RISCV/rvv/bitcast-cmp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/masked-udiv.ll
A llvm/test/CodeGen/RISCV/rvv/pr199509.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vmerge-peephole.mir
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/OpIsFinite.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/OpIsNormal.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reversebits.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/matrix-transpose.ll
M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll
A llvm/test/CodeGen/SystemZ/foldmem-regalloc.mir
M llvm/test/CodeGen/SystemZ/foldmemop-global.mir
M llvm/test/CodeGen/WebAssembly/memory-interleave.ll
A llvm/test/CodeGen/WebAssembly/stack-abi.ll
M llvm/test/CodeGen/WebAssembly/thread_pointer.ll
M llvm/test/CodeGen/WebAssembly/tls-local-exec.ll
M llvm/test/CodeGen/X86/GlobalISel/add-scalar.ll
M llvm/test/CodeGen/X86/GlobalISel/select-add-x32.mir
M llvm/test/CodeGen/X86/GlobalISel/sub-scalar.ll
M llvm/test/CodeGen/X86/avoid-sfb.ll
M llvm/test/CodeGen/X86/avx512-ext.ll
M llvm/test/CodeGen/X86/avx512-insert-extract.ll
M llvm/test/CodeGen/X86/avx512-mask-op.ll
A llvm/test/CodeGen/X86/branchfolding-atomic-mmo.ll
M llvm/test/CodeGen/X86/combine-reductions.ll
M llvm/test/CodeGen/X86/fat-lto-section.ll
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
R llvm/test/CodeGen/X86/horizontal-reduce-smax.ll
R llvm/test/CodeGen/X86/horizontal-reduce-smin.ll
R llvm/test/CodeGen/X86/horizontal-reduce-umax.ll
R llvm/test/CodeGen/X86/horizontal-reduce-umin.ll
M llvm/test/CodeGen/X86/known-never-zero.ll
M llvm/test/CodeGen/X86/ldexp-avx512.ll
M llvm/test/CodeGen/X86/madd.ll
M llvm/test/CodeGen/X86/min-legal-vector-width.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
M llvm/test/CodeGen/X86/vector-reduce-smax.ll
A llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi2.ll
M llvm/test/DebugInfo/AMDGPU/cfi.ll
M llvm/test/DebugInfo/AMDGPU/debug-loc-copy.ll
A llvm/test/DebugInfo/COFF/apx-egpr.ll
A llvm/test/DebugInfo/Generic/debuginfofinder-composite-type.ll
A llvm/test/DebugInfo/WebAssembly/thread-context-abi.ll
M llvm/test/FileCheck/dump-input/annotations.txt
A llvm/test/FileCheck/match-time-error-propagation/invalid-excluded-pattern.txt
A llvm/test/FileCheck/match-time-error-propagation/invalid-expected-pattern.txt
A llvm/test/FileCheck/match-time-error-propagation/matched-excluded-pattern.txt
A llvm/test/FileCheck/match-time-error-propagation/matched-expected-pattern.txt
A llvm/test/Instrumentation/InstrProfiling/amdgpu-instrumentation.ll
A llvm/test/Instrumentation/InstrProfiling/amdgpu-profc-arrays.ll
A llvm/test/Instrumentation/InstrProfiling/gpu-weak.ll
M llvm/test/Instrumentation/Instrumentor/default_config.json
M llvm/test/LTO/Resolution/X86/not-prevailing-alias.ll
M llvm/test/LTO/Resolution/X86/not-prevailing-weak-aliasee.ll
M llvm/test/Linker/funcimport2.ll
M llvm/test/MC/AMDGPU/gfx1150_asm_salu_float.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3p_alias.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
M llvm/test/MC/AMDGPU/gfx12_asm_sopc.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_aliases.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
M llvm/test/MC/AMDGPU/gfx13_asm_sopc.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx13_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/literals.s
M llvm/test/MC/AMDGPU/vop3-gfx10.s
R llvm/test/MC/AsmParser/cfi-unfinished-frame.s
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1150_dasm_salu_float.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vopcx.txt
M llvm/test/MC/ELF/cfi-scope-errors.s
M llvm/test/MC/RISCV/attribute-arch.s
A llvm/test/MC/RISCV/rvv/zvfbdota32f-invalid.s
A llvm/test/MC/RISCV/rvv/zvfbdota32f.s
A llvm/test/MC/RISCV/rvv/zvfqwbdota8f-invalid.s
A llvm/test/MC/RISCV/rvv/zvfqwbdota8f.s
A llvm/test/MC/RISCV/rvv/zvfwbdota16bf-invalid.s
A llvm/test/MC/RISCV/rvv/zvfwbdota16bf.s
A llvm/test/MC/RISCV/rvv/zvqwbdota-invalid.s
A llvm/test/MC/RISCV/rvv/zvqwbdota.s
M llvm/test/Other/new-pm-O0-defaults.ll
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
M llvm/test/ThinLTO/AArch64/aarch64_inline.ll
M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions1.ll
M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions2.ll
M llvm/test/ThinLTO/X86/Inputs/cache-typeid-resolutions3.ll
M llvm/test/ThinLTO/X86/ctor-dtor-alias.ll
M llvm/test/ThinLTO/X86/ctor-dtor-alias2.ll
M llvm/test/ThinLTO/X86/deadstrip.ll
M llvm/test/ThinLTO/X86/devirt_function_alias.ll
M llvm/test/ThinLTO/X86/devirt_function_alias2.ll
M llvm/test/ThinLTO/X86/devirt_pure_virtual_base.ll
M llvm/test/ThinLTO/X86/devirt_vcall_vis_public.ll
M llvm/test/ThinLTO/X86/distributed_import.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-exported-internal.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-unknown.ll
M llvm/test/ThinLTO/X86/funcattrs-prop-weak.ll
M llvm/test/ThinLTO/X86/globals-import.ll
M llvm/test/ThinLTO/X86/hidden-escaped-symbols-alt.ll
M llvm/test/ThinLTO/X86/hidden-escaped-symbols.ll
M llvm/test/ThinLTO/X86/import-ro-constant.ll
M llvm/test/ThinLTO/X86/index-const-prop-alias.ll
M llvm/test/ThinLTO/X86/index-const-prop.ll
M llvm/test/ThinLTO/X86/linkonce_resolution_comdat.ll
M llvm/test/ThinLTO/X86/memprof-dups.ll
M llvm/test/ThinLTO/X86/memprof_callee_type_mismatch.ll
M llvm/test/ThinLTO/X86/memprof_imported_internal.ll
M llvm/test/ThinLTO/X86/memprof_imported_internal2.ll
M llvm/test/ThinLTO/X86/prevailing_weak_globals_import.ll
M llvm/test/ThinLTO/X86/visibility-elf.ll
M llvm/test/ThinLTO/X86/visibility-macho.ll
M llvm/test/ThinLTO/X86/weak_resolution.ll
M llvm/test/ThinLTO/X86/windows-vftable.ll
M llvm/test/ThinLTO/X86/writeonly.ll
M llvm/test/Transforms/AggressiveInstCombine/popcount.ll
A llvm/test/Transforms/AssignGUID/assign_guid.ll
A llvm/test/Transforms/AtomicExpand/RISCV/atomicrmw-widen-volatile.ll
M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-non-integer.ll
A llvm/test/Transforms/CodeGenPrepare/X86/null-psi-no-crash.ll
A llvm/test/Transforms/CodeGenPrepare/X86/split-branch-cond-weights.ll
M llvm/test/Transforms/CodeGenPrepare/X86/split-store-alignment.ll
M llvm/test/Transforms/Coroutines/coro-alloc-with-param-O0.ll
M llvm/test/Transforms/Coroutines/coro-alloc-with-param-O2.ll
M llvm/test/Transforms/Coroutines/coro-alloca-07.ll
M llvm/test/Transforms/Coroutines/coro-await-suspend-handle-in-ramp.ll
M llvm/test/Transforms/Coroutines/coro-await-suspend-lower-invoke.ll
M llvm/test/Transforms/Coroutines/coro-await-suspend-lower.ll
M llvm/test/Transforms/Coroutines/coro-debug-O2.ll
M llvm/test/Transforms/Coroutines/coro-debug-coro-frame.ll
M llvm/test/Transforms/Coroutines/coro-debug-dbg.values-not_used_in_frame.ll
M llvm/test/Transforms/Coroutines/coro-debug-frame-variable.ll
M llvm/test/Transforms/Coroutines/coro-debug-spill-dbg.declare.ll
M llvm/test/Transforms/Coroutines/coro-debug.ll
M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-00.ll
M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-01.ll
M llvm/test/Transforms/Coroutines/coro-eh-aware-edge-split-02.ll
M llvm/test/Transforms/Coroutines/coro-frame-arrayalloca.ll
M llvm/test/Transforms/Coroutines/coro-frame.ll
A llvm/test/Transforms/Coroutines/coro-materialize-intrinsics.ll
M llvm/test/Transforms/Coroutines/coro-materialize.ll
M llvm/test/Transforms/Coroutines/coro-noop-pacbti.ll
M llvm/test/Transforms/Coroutines/coro-noop.ll
M llvm/test/Transforms/Coroutines/coro-padding.ll
M llvm/test/Transforms/Coroutines/coro-resume-destroy.ll
M llvm/test/Transforms/Coroutines/coro-spill-corobegin.ll
M llvm/test/Transforms/Coroutines/coro-spill-promise-02.ll
M llvm/test/Transforms/Coroutines/coro-spill-promise.ll
M llvm/test/Transforms/Coroutines/coro-spill-suspend.ll
M llvm/test/Transforms/Coroutines/coro-split-dbg-labels-inlined.ll
M llvm/test/Transforms/Coroutines/coro-split-dbg-labels.ll
M llvm/test/Transforms/Coroutines/coro-split-eh-00.ll
M llvm/test/Transforms/Coroutines/coro-split-eh-01.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail-chain-pgo-counter-promo.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail1.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail2.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail3.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail4.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail5.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail6.ll
M llvm/test/Transforms/Coroutines/coro-split-musttail7.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-01.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-02.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-03.ll
M llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-04.ll
M llvm/test/Transforms/Coroutines/coro-split-tbaa-md.ll
M llvm/test/Transforms/Coroutines/coro-zero-alloca.ll
M llvm/test/Transforms/DeadStoreElimination/merge-stores.ll
A llvm/test/Transforms/EarlyCSE/AArch64/intrinsics-1xN.ll
M llvm/test/Transforms/EmbedBitcode/embed-wpd.ll
M llvm/test/Transforms/EmbedBitcode/embed.ll
A llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fpto-sat-vector.ll
M llvm/test/Transforms/FunctionImport/funcimport-debug-retained-nodes.ll
M llvm/test/Transforms/FunctionImport/funcimport.ll
A llvm/test/Transforms/GVN/PRE/pre-load-combine-metadata.ll
A llvm/test/Transforms/IndVarSimplify/convergent-controlled-loop.ll
A llvm/test/Transforms/InferAlignment/propagate-across-blocks.ll
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/Transforms/InstCombine/fdim.ll
M llvm/test/Transforms/InstCombine/fmod.ll
M llvm/test/Transforms/InstCombine/ldexp.ll
M llvm/test/Transforms/InstCombine/modular-format.ll
M llvm/test/Transforms/InstCombine/or.ll
M llvm/test/Transforms/InstCombine/reduction-mul-sext-zext-i1.ll
M llvm/test/Transforms/InstCombine/select-min-max.ll
M llvm/test/Transforms/InstCombine/sext-nonneg-sub.ll
A llvm/test/Transforms/InstCombine/trunc-abs-intrinsics.ll
A llvm/test/Transforms/InstCombine/trunc-minmax-intrinsics.ll
M llvm/test/Transforms/InstSimplify/call.ll
M llvm/test/Transforms/LICM/strlen.ll
A llvm/test/Transforms/LoopFusion/different_guards.ll
M llvm/test/Transforms/LoopInterchange/delay-cachecost-calculation.ll
M llvm/test/Transforms/LoopInterchange/interchangeable-outerloop-multiple-indvars.ll
M llvm/test/Transforms/LoopInterchange/interchanged-loop-nest-3.ll
M llvm/test/Transforms/LoopInterchange/lcssa-phi-outer-latch.ll
M llvm/test/Transforms/LoopInterchange/loop-interchange-optimization-remarks.ll
R llvm/test/Transforms/LoopInterchange/many-load-stores.ll
A llvm/test/Transforms/LoopInterchange/memory-instr-ratio.ll
M llvm/test/Transforms/LoopInterchange/perserve-lcssa.ll
M llvm/test/Transforms/LoopInterchange/pr57148.ll
M llvm/test/Transforms/LoopInterchange/profitability-instorder.ll
M llvm/test/Transforms/LoopInterchange/profitability-vectorization.ll
A llvm/test/Transforms/LoopInterchange/reduction-not-involve-innermost.ll
A llvm/test/Transforms/LoopRotate/convergent-controlled.ll
M llvm/test/Transforms/LoopUnroll/RISCV/vector.ll
M llvm/test/Transforms/LoopUnroll/peel-last-iteration-with-guards.ll
A llvm/test/Transforms/LoopVectorize/AArch64/alias-mask-uniforms.ll
A llvm/test/Transforms/LoopVectorize/AArch64/alias-mask.ll
A llvm/test/Transforms/LoopVectorize/AArch64/clamped-load.ll
A llvm/test/Transforms/LoopVectorize/AArch64/discarded-interleave-group.ll
A llvm/test/Transforms/LoopVectorize/AArch64/expensive-alias-masking.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fdot-product.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fsub-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/predicated-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-metadata.ll
A llvm/test/Transforms/LoopVectorize/RISCV/alias-mask-force-evl.ll
A llvm/test/Transforms/LoopVectorize/RISCV/clamped-load.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-prune-vf.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/sink-to-early-exit.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
A llvm/test/Transforms/LoopVectorize/VPlan/AArch64/vplan-printing-alias-mask.ll
M llvm/test/Transforms/LoopVectorize/VPlan/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/VPlan/RISCV/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/X86/scalarize-wide-load-for-address-use.ll
M llvm/test/Transforms/LoopVectorize/VPlan/X86/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
A llvm/test/Transforms/LoopVectorize/VPlan/constant-fold.ll
M llvm/test/Transforms/LoopVectorize/VPlan/dissolve-replicate-regions.ll
M llvm/test/Transforms/LoopVectorize/VPlan/first-order-recurrence-sink-replicate-region.ll
A llvm/test/Transforms/LoopVectorize/VPlan/for-phi-ordering.ll
M llvm/test/Transforms/LoopVectorize/VPlan/icmp-uniforms.ll
M llvm/test/Transforms/LoopVectorize/VPlan/interleave-conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/tail-folding.ll
M llvm/test/Transforms/LoopVectorize/VPlan/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-dot-printing.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-after-all.ll
A llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-alias-mask.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/LoopVectorize/VPlan/widen-canonical-iv-register-pressure.ll
M llvm/test/Transforms/LoopVectorize/WebAssembly/memory-interleave.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/handle-iptr-with-data-layout-to-not-assert.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2-indices-0u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-01u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-0uu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-01uu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-0uuu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-store-i16.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i32.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i64.ll
M llvm/test/Transforms/LoopVectorize/X86/cast-costs.ll
R llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/fold-tail-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/widen-canonical-iv-register-pressure.ll
A llvm/test/Transforms/LoopVectorize/alias-mask-data-tail-folding-style.ll
A llvm/test/Transforms/LoopVectorize/alias-mask-needs-freeze.ll
A llvm/test/Transforms/LoopVectorize/alias-mask-negative-tests.ll
A llvm/test/Transforms/LoopVectorize/alias-mask-small-index.ll
A llvm/test/Transforms/LoopVectorize/alias-mask.ll
M llvm/test/Transforms/LoopVectorize/cast-induction.ll
A llvm/test/Transforms/LoopVectorize/clamped-load-vf-ranges.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
M llvm/test/Transforms/LoopVectorize/early-exit-calls.ll
M llvm/test/Transforms/LoopVectorize/early-exit-load-live-out.ll
M llvm/test/Transforms/LoopVectorize/early-exit-unary-ops.ll
M llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
M llvm/test/Transforms/LoopVectorize/hoist-predicated-loads-with-predicated-stores.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/multi_early_exit.ll
M llvm/test/Transforms/LoopVectorize/multiple-early-exits.ll
M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/predicated-early-exits-interleave.ll
M llvm/test/Transforms/LoopVectorize/predicated-inductions-vs-first-order-recurrences.ll
M llvm/test/Transforms/LoopVectorize/predicated-multiple-exits.ll
M llvm/test/Transforms/LoopVectorize/predicated-single-exit.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
A llvm/test/Transforms/LoopVectorize/remove-redundant-trip-count-scev.ll
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
A llvm/test/Transforms/LoopVectorize/select-cmp-blend-chain.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave-hint.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/sink-to-early-exit.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-masked-mem-opts.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
M llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll
M llvm/test/Transforms/MergeICmps/X86/alias-merge-blocks.ll
M llvm/test/Transforms/MergeICmps/X86/entry-block-shuffled.ll
A llvm/test/Transforms/PGOProfile/Inputs/indirect-call-vp-zeros.ll
A llvm/test/Transforms/PGOProfile/amdgpu-disable-value-profiling.ll
A llvm/test/Transforms/PGOProfile/indirect-call-vp-zeros.ll
M llvm/test/Transforms/PGOProfile/thinlto_indirect_call_promotion.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/Oz-and-forced-vectorize.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/trunc-intrinsics.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-smax.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-smin.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-umax.ll
M llvm/test/Transforms/PhaseOrdering/X86/horizontal-reduce-umin.ll
A llvm/test/Transforms/PhaseOrdering/X86/madd.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-expanded.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
M llvm/test/Transforms/PhaseOrdering/speculative-devirt-then-inliner.ll
M llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-pattern.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/commute.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/invoke-extract.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/lcssa-phi-extract-scale.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/lcssa-phi-inner-loop-scale.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/scalable-type-revec.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/slp-extval-struct-operand-no-scalar-reuse.ll
A llvm/test/Transforms/SLPVectorizer/AMDGPU/inst-count-heuristic.ll
A llvm/test/Transforms/SLPVectorizer/AMDGPU/transform-node-gather-struct.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/buildvector-all-external-scalars.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/complex-nonvect-struct-returned.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/fmuladd_width_prop.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/get-vec-element-size.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/ordered-reduction.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-load.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-store.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-add-saddo.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-add-uaddo.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fp-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fp.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-mul-smulo.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-mul-umulo.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-ssubo.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-sub-usubo.ll
M llvm/test/Transforms/SLPVectorizer/X86/bad-reduction.ll
A llvm/test/Transforms/SLPVectorizer/X86/callbr-extract.ll
M llvm/test/Transforms/SLPVectorizer/X86/copyable_reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/deleted-instructions-clear.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-smax.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
M llvm/test/Transforms/SLPVectorizer/X86/no_alternate_divrem.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-power-of-2-bswap.ll
M llvm/test/Transforms/SLPVectorizer/X86/opaque-ptr.ll
A llvm/test/Transforms/SLPVectorizer/X86/ordered-reduction-replaced.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47642.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr48879-sroa.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/revec-non-power-2-to-power-2-large-vect.ll
M llvm/test/Transforms/SLPVectorizer/X86/scalarize-ctlz.ll
M llvm/test/Transforms/SLPVectorizer/X86/select-copyable-cmp-poison.ll
M llvm/test/Transforms/SLPVectorizer/X86/sitofp.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2_unord_geps.ll
A llvm/test/Transforms/SLPVectorizer/X86/struct-return-extract-dominance.ll
A llvm/test/Transforms/SLPVectorizer/X86/struct-return-ordering-stress.ll
M llvm/test/Transforms/SLPVectorizer/X86/used-reduced-op.ll
M llvm/test/Transforms/SLPVectorizer/X86/user-with-multi-copyable-ops.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-pair-path.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll
M llvm/test/Transforms/SLPVectorizer/alternate-non-profitable.ll
M llvm/test/Transforms/SLPVectorizer/crash_exceed_scheduling.ll
M llvm/test/Transforms/SLPVectorizer/extract-many-users-buildvector.ll
M llvm/test/Transforms/SLPVectorizer/extracts-with-undefs.ll
M llvm/test/Transforms/SLPVectorizer/insertelement-postpone.ll
A llvm/test/Transforms/SLPVectorizer/non-vect-loads.ll
M llvm/test/Transforms/SampleProfile/ctxsplit.ll
A llvm/test/Transforms/SandboxVectorizer/seed_collection_loads.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/lower-gep.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/split-gep-sub.ll
A llvm/test/Transforms/SimpleLoopUnswitch/convergent-controlled.ll
M llvm/test/Transforms/SimpleLoopUnswitch/trivial-unswitch-profmd.ll
A llvm/test/Transforms/SimplifyCFG/jump-threading-live-on-exit.ll
A llvm/test/Transforms/SimplifyCFG/jump-threading-max-jump-threading-live-blocks.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-typeid.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal1.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/unsplittable.ll
M llvm/test/Transforms/VectorCombine/AArch64/partial-reduce-crash.ll
A llvm/test/Transforms/VectorCombine/RISCV/vector-deinterleave2.ll
M llvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll
M llvm/test/Transforms/VectorCombine/X86/fold-equivalent-reduction-cmp.ll
M llvm/test/Transforms/VectorCombine/X86/fold-signbit-reduction-cmp.ll
M llvm/test/Transforms/VectorCombine/X86/icmp-vector-reduce.ll
M llvm/test/Transforms/WholeProgramDevirt/branch-funnel-profile.ll
M llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll
M llvm/test/Transforms/WholeProgramDevirt/export-vcp.ll
A llvm/test/Verifier/amdgpu-stridemark-structured-gep.ll
A llvm/test/Verifier/amdgpu-stridemark-tokenlike.ll
M llvm/test/Verifier/modular-format.ll
M llvm/test/Verifier/structured-gep-indices-bad.ll
M llvm/test/Verifier/value-profile.ll
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/vplan.ll.expected
M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_generated_funcs.ll.generated.expected
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_generated_funcs.ll.nogenerated.expected
A llvm/test/tools/dxil-dis/dbg-declare-undef.ll
A llvm/test/tools/dxil-dis/dbg-value.ll
M llvm/test/tools/dxil-dis/debug-info.ll
A llvm/test/tools/dxil-dis/di-label.ll
M llvm/test/tools/gold/X86/devirt_vcall_vis_export_dynamic.ll
M llvm/test/tools/gold/X86/devirt_vcall_vis_public.ll
M llvm/test/tools/gold/X86/devirt_vcall_vis_shared_def.ll
M llvm/test/tools/gold/X86/thinlto_weak_library.ll
M llvm/test/tools/gold/X86/thinlto_weak_resolution.ll
M llvm/test/tools/gold/X86/v1.16/devirt_vcall_vis_export_dynamic.ll
M llvm/test/tools/llubi/alloca_large_count.ll
M llvm/test/tools/llubi/alloca_large_size.ll
M llvm/test/tools/llubi/alloca_poison_count.ll
M llvm/test/tools/llubi/alloca_size_overflow.ll
M llvm/test/tools/llubi/assume_false.ll
M llvm/test/tools/llubi/assume_invalid_align.ll
M llvm/test/tools/llubi/assume_misalign.ll
M llvm/test/tools/llubi/assume_misalign_all_ones.ll
M llvm/test/tools/llubi/assume_nondereferenceable.ll
M llvm/test/tools/llubi/assume_null.ll
M llvm/test/tools/llubi/assume_null_all_ones.ll
M llvm/test/tools/llubi/assume_poison.ll
M llvm/test/tools/llubi/assume_poison_align.ll
M llvm/test/tools/llubi/attribute_dereferenceable_ub_nullary_provenance.ll
M llvm/test/tools/llubi/attribute_dereferenceable_ub_oob1.ll
M llvm/test/tools/llubi/attribute_dereferenceable_ub_oob2.ll
M llvm/test/tools/llubi/attribute_dereferenceable_ub_oob3.ll
M llvm/test/tools/llubi/attribute_dereferenceable_ub_poison.ll
M llvm/test/tools/llubi/attribute_noundef_agg_ub.ll
M llvm/test/tools/llubi/attribute_noundef_ub.ll
M llvm/test/tools/llubi/br_poison.ll
M llvm/test/tools/llubi/call_mismatched_signature.ll
M llvm/test/tools/llubi/call_poison.ll
M llvm/test/tools/llubi/divrem_ub1.ll
M llvm/test/tools/llubi/divrem_ub2.ll
M llvm/test/tools/llubi/divrem_ub3.ll
M llvm/test/tools/llubi/divrem_ub4.ll
M llvm/test/tools/llubi/indirectbr_invalid.ll
M llvm/test/tools/llubi/indirectbr_poison.ll
M llvm/test/tools/llubi/infinite_loop.ll
M llvm/test/tools/llubi/int_arith.ll
M llvm/test/tools/llubi/invoke_poison.ll
M llvm/test/tools/llubi/lib_cxx_memory_large_size.ll
M llvm/test/tools/llubi/lib_double_free.ll
M llvm/test/tools/llubi/lib_free_nullary_pointer.ll
M llvm/test/tools/llubi/lib_free_out_of_bound.ll
M llvm/test/tools/llubi/lib_free_stack.ll
M llvm/test/tools/llubi/lib_poison_argument.ll
M llvm/test/tools/llubi/lib_printf_not_enough_argument.ll
M llvm/test/tools/llubi/lib_printf_unknown_specifier.ll
M llvm/test/tools/llubi/lib_read_nullary_string.ll
M llvm/test/tools/llubi/lib_uninit_string.ll
M llvm/test/tools/llubi/load_noundef_ub_poison.ll
M llvm/test/tools/llubi/load_noundef_ub_poison_padding.ll
M llvm/test/tools/llubi/load_noundef_ub_undef.ll
M llvm/test/tools/llubi/loadstore_misaligned.ll
M llvm/test/tools/llubi/loadstore_null.ll
M llvm/test/tools/llubi/loadstore_oob1.ll
M llvm/test/tools/llubi/loadstore_poison.ll
M llvm/test/tools/llubi/loadstore_uaf.ll
M llvm/test/tools/llubi/metadata_noundef_ub.ll
M llvm/test/tools/llubi/stack_overflow.ll
M llvm/test/tools/llubi/store_dead.ll
M llvm/test/tools/llubi/switch_poison.ll
M llvm/test/tools/llubi/unreachable.ll
A llvm/test/tools/llvm-dwarfdump/X86/debug-names-verify-completeness-llvm-annotation.ll
A llvm/test/tools/llvm-lto/Inputs/sample-profile-module.ll
A llvm/test/tools/llvm-lto/Inputs/sample-profile.proftext
A llvm/test/tools/llvm-lto/sample-profile-file-thinlto.ll
A llvm/test/tools/llvm-lto/sample-profile-file.ll
M llvm/test/tools/llvm-mca/AArch64/Cortex/A510-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A53-carry-over.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A53-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-add-sequence.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-all-views.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-in-order-retire.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-load-readadv.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-load-store-alias.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-load-store-noalias.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-out-of-order-retire.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-store-readadv.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A57-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-writeback.s
M llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N1-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N1-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-clear-upper-regs.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-zero-dependency.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-clear-upper-regs.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-clear-upper-regs.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-clear-upper-regs.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-forwarding.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-writeback.s
M llvm/test/tools/llvm-mca/AArch64/Olympus/clear-upper-regs.s
M llvm/test/tools/llvm-mca/AArch64/Olympus/forwarding-idioms.s
M llvm/test/tools/llvm-mca/AArch64/Olympus/writeback-loads-stores.s
M llvm/test/tools/llvm-mca/AArch64/cortex-a55-carry-over.s
M llvm/test/tools/llvm-mca/AMDGPU/carried-over.s
M llvm/test/tools/llvm-mca/AMDGPU/gfx10-add-sequence.s
M llvm/test/tools/llvm-mca/AMDGPU/gfx10-double.s
M llvm/test/tools/llvm-mca/AMDGPU/gfx10-trans.s
M llvm/test/tools/llvm-mca/AMDGPU/gfx11-double.s
M llvm/test/tools/llvm-mca/AMDGPU/gfx12-permlane16-cycles.s
M llvm/test/tools/llvm-mca/AMDGPU/gfx12-pseudo-scalar-trans.s
Log Message:
-----------
Merge branch 'main' into users/hvdijk/aaw-emitmdnodeannot
Compare: https://github.com/llvm/llvm-project/compare/cd2b96297ecd...048902dbbc19
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