[all-commits] [llvm/llvm-project] 074218: [libc][math] Refactor ldexpf16 implementation to h...
Michael Berg via All-commits
all-commits at lists.llvm.org
Mon Jul 21 17:33:12 PDT 2025
Branch: refs/heads/users/mcberg2021_LoopDistribute
Home: https://github.com/llvm/llvm-project
Commit: 074218dd1071722ab0dea2a1acb71079ff212bb4
https://github.com/llvm/llvm-project/commit/074218dd1071722ab0dea2a1acb71079ff212bb4
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/ldexpf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/ldexpf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/ldexpf16.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor ldexpf16 implementation to header-only in src/__support/math folder. (#147901)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Please merge #147895 first
Commit: 47c9609a8637b68c0170744ce5c06902512e71ca
https://github.com/llvm/llvm-project/commit/47c9609a8637b68c0170744ce5c06902512e71ca
Author: Callum Fare <callum at codeplay.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M offload/liboffload/src/OffloadImpl.cpp
Log Message:
-----------
[Offload] Check plugins aren't already deinitialized when tearing down (#148642)
This is a hotfix for #148615 - it fixes the issue for me locally.
I think a broader issue is that in the test environment we're calling
olShutDown from a global destructor in the test binaries. We should do
something more controlled, either calling olInit/olShutDown in every
test, or move those to a GTest global environment. I didn't do that
originally because it looked like it needed changes to LLVM's GTest
wrapper.
Commit: b1ef5a8890f26b6430d95696d8ff4e99e270a80e
https://github.com/llvm/llvm-project/commit/b1ef5a8890f26b6430d95696d8ff4e99e270a80e
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir
M mlir/test/Dialect/Vector/vector-emulate-narrow-type.mlir
Log Message:
-----------
[mlir][MemRef] Add support for emulating narrow floats (#148036)
This enables memref.load/store + vector.load/store support for sub-byte
float types. Since the memref types don't matter for loads/stores, we
still use the same types as integers with equivalent widths, with a few
extra bitcasts needed around certain operations.
There is no direct change needed for vector.load/store support. The
tests added for them are to verify that float types are
supported as well.
Commit: b1369b603076542ca5ca251b62d3a5e614827f9e
https://github.com/llvm/llvm-project/commit/b1369b603076542ca5ca251b62d3a5e614827f9e
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/test/MC/AArch64/armv9.6a-ras.s
M llvm/test/MC/Disassembler/AArch64/armv9.6a-ras.txt
Log Message:
-----------
[AArch64][llvm] Fix DC CIGDVAPS instruction to require FEAT_MTE2 (#148636)
Commit: 3e43915be62ef355029b61bebe78637a885b8b6c
https://github.com/llvm/llvm-project/commit/3e43915be62ef355029b61bebe78637a885b8b6c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M .github/workflows/build-ci-container-windows.yml
M .github/workflows/containers/github-action-ci-windows/Dockerfile
Log Message:
-----------
[CI][Github] Bump Windows Container to Server 2022
This patch bumps the windows CI container to windows server 2022 from
windows server 2019. This is necessary as Github has sunsetted support
for sever 2019, so we cannot build the container through GHA without
updating. Using more recent versions is just good practice anyways.
This will not roll out immediately and we'll have to make some TF
changes to get deployed, but some additional validation first will be
good anyways.
Reviewers: lnihlen, tstellar, cmtice
Reviewed By: cmtice
Pull Request: https://github.com/llvm/llvm-project/pull/148318
Commit: cfcda5d0ffd9e714ef10b33f7028a0d8bb11df7c
https://github.com/llvm/llvm-project/commit/cfcda5d0ffd9e714ef10b33f7028a0d8bb11df7c
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/ldexpf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/ldexpf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/ldexpf.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor ldexpf implementation to header-only in src/__support/math folder (#147906)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Please merge #147901 first
@lntue
Commit: f8c2c4f161a6a98f623a6263a248fb24927eeaec
https://github.com/llvm/llvm-project/commit/f8c2c4f161a6a98f623a6263a248fb24927eeaec
Author: John Brawn <john.brawn at arm.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
A llvm/test/CodeGen/Thumb2/LowOverheadLoops/lsr-le-cost.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/sibling-loops.ll
M llvm/test/DebugInfo/ARM/hardware-loop-phi-insertion.ll
Log Message:
-----------
[LSR] Account for hardware loop instructions (#147958)
A hardware loop instruction combines a subtract, compare with zero, and
branch. We currently account for the compare and branch being combined
into one in Cost::RateFormula, as part of more general handling for
compare-branch-zero, but don't account for the subtract, leading to
suboptimal decisions in some cases.
Fix this in Cost::RateRegister by noticing when we have such a subtract
and discounting the AddRecCost in such a case.
Commit: 735736fbad93ec640c8585a6f8a0610d93fa9cbb
https://github.com/llvm/llvm-project/commit/735736fbad93ec640c8585a6f8a0610d93fa9cbb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/test/CodeGen/Mips/ldexp.ll
Log Message:
-----------
Mips: Remove test for ldexp with x86_fp80 (#148641)
This was a copy paste error from the x86 test, and
it compiled accidentally to ldexpl. Delete this
since it will start to error in a future change.
Commit: 91d017a7c0af8fb0251363ad1289e0a1c55026ad
https://github.com/llvm/llvm-project/commit/91d017a7c0af8fb0251363ad1289e0a1c55026ad
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Remove __muloti4 from default libcall set (#148562)
The current logic says it's only available on wasm, so only
explicitly add it there. Also fix a misnomer in the compiler-rt
call list.
Commit: 301a1d565fccaf517d1c587d1599d595407c178b
https://github.com/llvm/llvm-project/commit/301a1d565fccaf517d1c587d1599d595407c178b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Invert handling of 64-bit only libcalls (#148571)
Switch the default set to exclude these conditionally available
calls, so they are opt-in instead of opt-out.
Commit: d5ac1b5e2872fdafca7804d486c55334b228aaf6
https://github.com/llvm/llvm-project/commit/d5ac1b5e2872fdafca7804d486c55334b228aaf6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/test/CodeGen/RISCV/sextw-removal.ll
Log Message:
-----------
[RISCV] Improve hasAllNBitUsers for SLLIW. (#148344)
Commit: 96096550a112426c4110ee3fced6f3128df49aa7
https://github.com/llvm/llvm-project/commit/96096550a112426c4110ee3fced6f3128df49aa7
Author: Yi Zhang <cathyzhyi at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[bazel] Add targets for transform.tune python extension (#148656)
Commit: a76dfde9366d022307d9f45ec21b4016b46c9e0c
https://github.com/llvm/llvm-project/commit/a76dfde9366d022307d9f45ec21b4016b46c9e0c
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/exp.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/exp.h
A libc/src/__support/math/exp_constants.h
A libc/src/__support/math/exp_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/common_constants.cpp
M libc/src/math/generic/common_constants.h
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/explogxf.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor exp implementation to header-only in src/__support/math folder. (#148091)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 1f97c9432d010c7c5eefc5ebe2648af2d9d5863d
https://github.com/llvm/llvm-project/commit/1f97c9432d010c7c5eefc5ebe2648af2d9d5863d
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M libc/fuzzing/math/CMakeLists.txt
A libc/fuzzing/math/exp10_fuzz.cpp
A libc/fuzzing/math/exp2_fuzz.cpp
A libc/fuzzing/math/exp_fuzz.cpp
A libc/fuzzing/math/expm1_fuzz.cpp
Log Message:
-----------
[libc] exp fuzz tests (#148086)
Created fuzz tests for exp functions
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: fc99ef7411e7f33e03e639a22f83a271ea8aaaa8
https://github.com/llvm/llvm-project/commit/fc99ef7411e7f33e03e639a22f83a271ea8aaaa8
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/test/Fir/fir-ops.fir
Log Message:
-----------
[flang] Allow embox's source_box to be a !fir.box. (#148305)
In order to create temporary copies of assumed-type arrays
(e.g. for `-frepack-arrays`), we have to allow the source_box
to be a !fir.box.
This patch replaces #147618.
Commit: 9e56d0d2ab125377740245599e3cc950fcf406bc
https://github.com/llvm/llvm-project/commit/9e56d0d2ab125377740245599e3cc950fcf406bc
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
A flang/test/Transforms/tbaa-derived-with-descriptor.fir
Log Message:
-----------
[flang] Fixed TBAA tags for derived types with descriptors. (#148093)
We cannot attach any "data" or "descriptor" tag to accesses
of derived types that contain descriptors, because this
will make them non-aliasing with any generic "data" or "descriptor"
accesses, which is not correct. We have to skip TBAA tags attachment
for such accesses same way we do it for boxes.
Commit: 4775b9689844e1ec7b425e039aff4fcbb758b4d4
https://github.com/llvm/llvm-project/commit/4775b9689844e1ec7b425e039aff4fcbb758b4d4
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
A flang/lib/Optimizer/Transforms/OptimizeArrayRepacking.cpp
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-cshift.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-matmul.fir
A flang/test/Transforms/optimize-array-repacking.fir
Log Message:
-----------
[flang] Optimize redundant array repacking. (#147881)
This patch allows optimizing redundant array repacking, when
the source array is statically known to be contiguous.
This is part of the implementation plan for the array repacking
feature, though, it does not affect any real life use case
as long as FIR inlining is not a thing. I experimented with
simple cases of FIR inling using `-inline-all`, and I recorded
these cases in optimize-array-repacking.fir tests.
Commit: f4630baaa2aad34a76d376b06dd44b42d08c6e95
https://github.com/llvm/llvm-project/commit/f4630baaa2aad34a76d376b06dd44b42d08c6e95
Author: lntue <lntue at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M libc/shared/math.h
R libc/shared/math/exp.h
M libc/src/__support/math/CMakeLists.txt
R libc/src/__support/math/exp.h
R libc/src/__support/math/exp_constants.h
R libc/src/__support/math/exp_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/common_constants.cpp
M libc/src/math/generic/common_constants.h
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/explogxf.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Revert "[libc][math] Refactor exp implementation to header-only in src/__support/math folder." (#148668)
Reverts llvm/llvm-project#148091
Full build bots are failing.
Commit: 6640b0a293c07c9a6e4ea3476453781f979726b7
https://github.com/llvm/llvm-project/commit/6640b0a293c07c9a6e4ea3476453781f979726b7
Author: jjasmine <jjasmine at igalia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
A llvm/test/CodeGen/WebAssembly/simd-relaxed-fma.ll
Log Message:
-----------
[WebAssembly] Add patterns for relaxed madd (#147487)
[WebAssembly] Fold fadd contract (fmul contract) to relaxed madd w/
-mattr=+simd128,+relaxed-simd
Fixes #121311
- Precommit test for #121311
- Fold fadd contract (fmul contract) to relaxed madd w/
-mattr=+simd128,+relaxed-simd
- Move PatFrag of fadd_contract in ARM.td and WebAssembly.td to
TargetSelectionDAG.td for reuse of pattern
Commit: 3d6aac31fcb5f7a988be5e484e44bdc9033265c5
https://github.com/llvm/llvm-project/commit/3d6aac31fcb5f7a988be5e484e44bdc9033265c5
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/lib/Lower/Support/ReductionProcessor.cpp
Log Message:
-----------
[flang][Lower] fix warning (#148667)
GCC 9.3.0
```
.../flang/lib/Lower/Support/ReductionProcessor.cpp:137:1: error: control reaches end of non-void function [-Werror=return-type]
```
Commit: f78d6caadc60b58a6cf390efc2b3d2da7a21caef
https://github.com/llvm/llvm-project/commit/f78d6caadc60b58a6cf390efc2b3d2da7a21caef
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
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
A clang/test/CIR/CodeGen/destructors.cpp
Log Message:
-----------
[CIR] Add Minimal Destructor Definition Support (#144719)
This patch upstreams support for writing inline and out of line C++
destructor definitions. Calling a destructor implcitly or explicitly is
left for a future patch.
Because of that restriction complete destructors (D2 in Itanium
mangling) do not call into the base (D1) destructors yet but simply
behave like a base destructor. Deleting (D0) destructor support is not
part of this patch.
Destructor aliases aren't supported, either. Because of this compilation
with -mno-constructor-aliases may be required to avoid running into NYI
errors.
Commit: 76f1ddc79cc00c78354bfae0a5cb08fae41dc4fd
https://github.com/llvm/llvm-project/commit/76f1ddc79cc00c78354bfae0a5cb08fae41dc4fd
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/test/SemaHLSL/RootSignature-resource-ranges-err.hlsl
Log Message:
-----------
[NFC][SemaHLSL] Remove check dependent on non-deterministic root element association (#148649)
- when there are duplicate (equivalent) `RangeInfo`s created we will
attempt to `llvm::sort` or `llvm::stable_sort` them, it does not appear
deterministic in which order they will be sorted (because they are
equivalent)
- when `DLLVM_ENABLE_EXSTENSIVE_CHECKS` is enabled, it appears to deal
with this tie-breaker sorting the list differently than when it is not
enabled, this causes one of the test cases to fail because the
diagnostic is produced, not in a different order, but with a different
root element associated with an identical `RangeInfo`
- functionally this makes no difference to the diagnostic being produced
and the removed test-case was added just as a nicety to demonstrate how
the diagnostics might look
- the test above the removed will correctly demonstrate that the
`SourceLocation` will be set to the correct column, and, the `-verify`
portion of this testcase will ensure that we still generate a diagnostic
for each duplicate
- therefore, it is safe to remove this portion of the test-case that can
have a non-deterministic association of root element
This resolves the build issues reported
[here](https://github.com/llvm/llvm-project/pull/147115#issuecomment-3069543491)
and
[here](https://github.com/llvm/llvm-project/pull/147800#issuecomment-3069797406)
Commit: 6862afa00897821ed9459eb2d564932ae44ba68d
https://github.com/llvm/llvm-project/commit/6862afa00897821ed9459eb2d564932ae44ba68d
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix 9609655
Commit: 2244f57130a5bc01f1c7713b6d7d55da926814cf
https://github.com/llvm/llvm-project/commit/2244f57130a5bc01f1c7713b6d7d55da926814cf
Author: Bogdan Vetrenko <b.vetrenko at yandex.ru>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/lib/AST/ASTDiagnostic.cpp
Log Message:
-----------
[clang][NFC] Fix typos and grammar in comments in ASTDiagnostic (#148359)
Commit: 968b2389ce521e7730e4069760c278c8d2abf0f3
https://github.com/llvm/llvm-project/commit/968b2389ce521e7730e4069760c278c8d2abf0f3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M .github/workflows/containers/github-action-ci-windows/Dockerfile
Log Message:
-----------
[CI][Github] Version pin packages in windows container
I spent several hours debugging failures in the server 2022 container
today that turned out to be related to a new ninja release from a couple
weeks ago. This patch version pins all the packages so they do not
spuriously upgrade and we can control the process to waste less effort
debugging changes due to version changes.
Reviewers: cmtice, tstellar, lnihlen
Reviewed By: cmtice
Pull Request: https://github.com/llvm/llvm-project/pull/148319
Commit: 22b221d4b7dfc719638614b08c49cd7a6450a989
https://github.com/llvm/llvm-project/commit/22b221d4b7dfc719638614b08c49cd7a6450a989
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/complex.cpp
Log Message:
-----------
[CIR] Upstream ComplexImagPtrOp for ComplexType (#144236)
This change adds support for ComplexImagPtrOp for ComplexType
https://github.com/llvm/llvm-project/issues/141365
Commit: b54cfa46a7eba293b6f2086856a36cc553444939
https://github.com/llvm/llvm-project/commit/b54cfa46a7eba293b6f2086856a36cc553444939
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/include/flang/Optimizer/OpenACC/FIROpenACCTypeInterfaces.h
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
Log Message:
-----------
[flang][acc] Implement MappableType's generatePrivateInit (#148302)
The recipe body generation was moved from lowering into FIR's
implementation of MappableType API. And now since all Fortran variable
types implement this type, lowering of OpenACC was updated to use this
API directly. No test changes were needed - all of the private,
firstprivate, and recipe tests get the same body as before.
Commit: fdbd9c19c9baf9c6007161a4ac6d961e1e0474f2
https://github.com/llvm/llvm-project/commit/fdbd9c19c9baf9c6007161a4ac6d961e1e0474f2
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/bitfields.c
Log Message:
-----------
[CIR] Add support for unary operations on bitfield members (#148083)
This PR introduces support for unary operations on bitfield members.
Support for binary operations is planned for a future PR.
Commit: 4328b69df6fd52815fd934350ef4d4ce3966045a
https://github.com/llvm/llvm-project/commit/4328b69df6fd52815fd934350ef4d4ce3966045a
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang-tools-extra/clang-tidy/misc/ConfusableTable/confusables.txt
Log Message:
-----------
[clang-tidy] Update `confusables.txt` in `misc-confusable-identifiers` (#148399)
We're currently on Unicode 14.0.0. This PR updates it to Unicode 16.0.0.
Commit: e86bd05bdc110abcf6c6d2b6b48ede4361ce42e4
https://github.com/llvm/llvm-project/commit/e86bd05bdc110abcf6c6d2b6b48ede4361ce42e4
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/lib/Analysis/models/seedEmbeddingVocab75D.json
M llvm/test/Analysis/IR2Vec/Inputs/dummy_2D_vocab.json
A llvm/test/Analysis/IR2Vec/Inputs/dummy_3D_nonzero_arg_vocab.json
A llvm/test/Analysis/IR2Vec/Inputs/dummy_3D_nonzero_opc_vocab.json
A llvm/test/Analysis/IR2Vec/Inputs/dummy_3D_nonzero_type_vocab.json
A llvm/test/Analysis/IR2Vec/Inputs/reference_default_vocab_print.txt
A llvm/test/Analysis/IR2Vec/Inputs/reference_wtd1_vocab_print.txt
A llvm/test/Analysis/IR2Vec/Inputs/reference_wtd2_vocab_print.txt
M llvm/test/Analysis/IR2Vec/basic.ll
M llvm/test/Analysis/IR2Vec/dbg-inst.ll
M llvm/test/Analysis/IR2Vec/if-else.ll
M llvm/test/Analysis/IR2Vec/unreachable.ll
M llvm/test/Analysis/IR2Vec/vocab-test.ll
M llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp
M llvm/unittests/Analysis/IR2VecTest.cpp
Log Message:
-----------
[IR2Vec] Restructuring Vocabulary (#145119)
This PR restructures the vocabulary.
* String based look-ups are removed. Vocabulary is changed from a map to vector. (#141832)
* Grouped all the vocabulary related methods under a single class - `ir2vec::Vocabulary`. This replaces `IR2VecVocabResult`.
* `ir2vec::Vocabulary` effectively abstracts out the _layout_ and other internal details of the vector structure. Exposes necessary APIs for accessing the Vocabulary.
These changes ensure that _all_ known opcodes and types are present in the vocabulary. We have retained the original operands. This can be extended going forward.
(Tracking issue - #141817)
Commit: 4dceb25dd1b96c93a7bd302c5d81bb1aacf75f4d
https://github.com/llvm/llvm-project/commit/4dceb25dd1b96c93a7bd302c5d81bb1aacf75f4d
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/include/flang/Parser/char-block.h
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
A flang/test/Preprocessing/bug1126.F90
Log Message:
-----------
[flang] Don't create bogus tokens from token pasting (##) (#147596)
When blank tokens arise from macro replacement in token sequences with
token pasting (##), the preprocessor is producing some bogus tokens
(e.g., "name(") that can lead to subtle bugs later when macro names are
not recognized as such.
The fix is to not paste tokens together when the result would not be a
valid Fortran or C token in the preprocessing context.
Commit: 69f38443e5f96913d85650b2f73fb472b54cad24
https://github.com/llvm/llvm-project/commit/69f38443e5f96913d85650b2f73fb472b54cad24
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Evaluate/fold.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Support/Fortran-features.cpp
A flang/test/Evaluate/transfer-boz.f90
Log Message:
-----------
[flang] Extension: TRANSFER(boz, integer or real scalar) (#147604)
Interpret TRANSFER(SOURCE=BOZ literal, MOLD=integer or real scalar) as
if it had been a reference to the standard INT or REAL intrinsic
functions, for which a BOZ literal is an acceptable argument, with a
warning about non-conformance. It's a needless extension that has
somehow crept into some other compilers and real applications.
Commit: 18286e0c2a079e3b2bea9e9f6763333b5e855a2e
https://github.com/llvm/llvm-project/commit/18286e0c2a079e3b2bea9e9f6763333b5e855a2e
Author: jjasmine <jjasmine at igalia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstSimplify/ConstProp/WebAssembly/any_all_true.ll
Log Message:
-----------
[WebAssembly] Constant fold SIMD intrinsics: any/alltrue (#148074)
Constant fold SIMD wasm intrinsics: any/alltrue
Added test in `llvm/test/Transforms/InstSimplify`
Commit: 2e53a68c09b1bb4bc6c31146c8e69789ae9848ae
https://github.com/llvm/llvm-project/commit/2e53a68c09b1bb4bc6c31146c8e69789ae9848ae
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/type-info.h
M flang-rt/include/flang-rt/runtime/work-queue.h
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/lib/runtime/work-queue.cpp
Log Message:
-----------
[flang][runtime] Speed up initialization & destruction (#148087)
Rework derived type initialization in the runtime to just initialize the
first element of any array, and then memcpy it to the others, rather
than exercising the per-component paths for each element.
Reword derived type destruction in the runtime to detect and exploit a
fast path for allocatable components whose types themselves don't need
nested destruction.
Small tweaks were made in hot paths exposed by profiling in descriptor
operations and derived type assignment.
Commit: 309bb1ed6844a5936158a2a8406d1b77bda37b94
https://github.com/llvm/llvm-project/commit/309bb1ed6844a5936158a2a8406d1b77bda37b94
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
Log Message:
-----------
[scudo] Fix c wrappers double free test. (#148066)
The previous test simply tried to double free the pointer in the
EXPECT_DEATH macro. Unfortunately, the gtest infrastructure can allocate
a pointer that happens to be the previously freed pointer. Thus the free
doesn't fail since the spawned process does not attempt to free all of
the pointers allocated in the original test.
NOTE: Scudo should be checked to make sure that the TSD is not always
returning pointers in the same order they are freed. Although this
appears to be a problem with a program that only does a small number of
allocations.
Commit: f25fc5fe1ea1efd18a18d5cf58ee483fd33ccfc3
https://github.com/llvm/llvm-project/commit/f25fc5fe1ea1efd18a18d5cf58ee483fd33ccfc3
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/lib/Analysis/LifetimeSafety.cpp
M clang/test/Sema/warn-lifetime-safety-dataflow.cpp
Log Message:
-----------
[LifetimeSafety] Implement dataflow analysis for loan propagation (#148065)
This patch introduces the core dataflow analysis infrastructure for the C++ Lifetime Safety checker. This change implements the logic to propagate "loan" information across the control-flow graph. The primary goal is to compute a fixed-point state that accurately models which pointer (Origin) can hold which borrow (Loan) at any given program point.
Key components
* `LifetimeLattice`: Defines the dataflow state, mapping an `OriginID` to a `LoanSet` using `llvm::ImmutableMap`.
* `Transferer`: Implements the transfer function, which updates the `LifetimeLattice` by applying the lifetime facts (Issue, AssignOrigin, etc.) generated for each basic block.
* `LifetimeDataflow`: A forward dataflow analysis driver that uses a worklist algorithm to iterate over the CFG until the lattice state converges.
The existing test suite has been extended to check the final dataflow results.
This work is a prerequisite for the final step of the analysis: consuming these results to identify and report lifetime violations.
Commit: 7615503409f19ad7e2e2f946437919d0689d4b3e
https://github.com/llvm/llvm-project/commit/7615503409f19ad7e2e2f946437919d0689d4b3e
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
A clang/test/Analysis/LifetimeSafety/CMakeLists.txt
A clang/test/Analysis/LifetimeSafety/benchmark.py
A clang/test/Analysis/LifetimeSafety/requirements.txt
M clang/test/CMakeLists.txt
Log Message:
-----------
[LifetimeSafety] Add script for performance benchmarking (#147315)
This patch introduces a new Python-based benchmarking tool for Clang's Lifetime Safety analysis. This script automates the process of generating targeted C++ test cases, measuring the performance of the analysis, and determining its empirical computational complexity.
The tool helps track and validate the performance of the dataflow analysis, ensuring that future optimizations have a measurable impact and that the analysis scales efficiently.
Components:
* **Generate**: Creates pathological C++ test cases with specific patterns (pointer cycles and CFG merges) designed to stress-test the analysis.
* **Compile & Trace**: Compiles the generated code using `-ftime-trace`.
* **Analyze & Report**: Performs a curve-fit on the timing data to determine the empirical complexity ( **O(n<sup>k</sup>)**) and outputs a markdown report.
---
**Usage**:
<details>
<summary>ninja benchmark_lifetime_safety_analysis</summary>
[12/13] Running Lifetime Analysis performance benchmarks...
Benchmark files will be saved in: <BUILD_DIR_REDACTED>/tools/clang/test/Analysis/LifetimeSafety/benchmark_results
Running performance benchmarks...
--- Running Test: Cycle with N=10 ---
Total: 10.11 ms | Analysis: 2.70 ms
--- Running Test: Cycle with N=25 ---
Total: 61.51 ms | Analysis: 53.05 ms
--- Running Test: Cycle with N=50 ---
Total: 688.56 ms | Analysis: 677.32 ms
--- Running Test: Cycle with N=75 ---
Total: 3.09 s | Analysis: 3.07 s
--- Running Test: Cycle with N=100 ---
Total: 9.31 s | Analysis: 9.30 s
--- Running Test: Cycle with N=150 ---
Total: 44.92 s | Analysis: 44.91 s
--- Running Test: Merge with N=10 ---
Total: 8.54 ms | Analysis: 0.00 ms
--- Running Test: Merge with N=50 ---
Total: 38.79 ms | Analysis: 27.13 ms
--- Running Test: Merge with N=100 ---
Total: 219.45 ms | Analysis: 205.20 ms
--- Running Test: Merge with N=200 ---
Total: 1.67 s | Analysis: 1.65 s
--- Running Test: Merge with N=400 ---
Total: 12.57 s | Analysis: 12.55 s
--- Running Test: Merge with N=800 ---
Total: 100.48 s | Analysis: 100.43 s
Generating Markdown Report...
</details>
<details>
<summary>Sample Report: </summary>
# Lifetime Analysis Performance Report
> Generated on: 2025-07-08 14:18:52
---
## Test Case: Pointer Cycle in Loop
| N | Analysis Time | Total Clang Time |
|:----|--------------:|-----------------:|
| 10 | 2.70 ms | 10.11 ms |
| 25 | 53.05 ms | 61.51 ms |
| 50 | 677.32 ms | 688.56 ms |
| 75 | 3.07 s | 3.09 s |
| 100 | 9.30 s | 9.31 s |
| 150 | 44.91 s | 44.92 s |
**Complexity Analysis:**
- The performance for this case scales approx. as **O(n<sup>3.88</sup>)**.
- **95% Confidence interval for exponent:** `[3.86, 3.90]`.
---
## Test Case: CFG Merges
| N | Analysis Time | Total Clang Time |
|:----|--------------:|-----------------:|
| 10 | 0.00 ms | 8.54 ms |
| 50 | 27.13 ms | 38.79 ms |
| 100 | 205.20 ms | 219.45 ms |
| 200 | 1.65 s | 1.67 s |
| 400 | 12.55 s | 12.57 s |
| 800 | 100.43 s | 100.48 s |
**Complexity Analysis:**
- The performance for this case scales approx. as **O(n<sup>3.00</sup>)**.
- **95% Confidence interval for exponent:** `[2.99, 3.01]`.
---
</details>
Commit: ec2e21a14d3685cdfa953ede3627aaa23f26f5ec
https://github.com/llvm/llvm-project/commit/ec2e21a14d3685cdfa953ede3627aaa23f26f5ec
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] No target-specific size limit for atomics (#136864)
According to the current LangRef, atomics of sizes larger than a
target-dependent limit are non-conformant IR. Presumably, that size
limit is `TargetLoweringBase::getMaxAtomicSizeInBitsSupported()`. As a
consequence, one would not even know whether IR is valid without
instantiating the Target backend.
To get around this, Clang's CGAtomic uses a constant "16 bytes" for the
maximally supported atomic. The verifier only checks the power-of-two
requirement.
In a discussion with jyknight, the intention is rather that the
AtomicExpandPass will just lower everything larger than the
target-supported atomic sizes to libcall (such as `__atomic_load`).
According to this interpretation, the size limit needs only be known by
the lowering and does not affect the IR specification.
The original "target-specific size limit" had been added in
59b66883eacbc62a09c09f08bcbfdce7af46cf31. The LangRef change is needed
for #134455 because otherwise frontends need to pass a TargetLowering
object to the helper functions just to know what the target-specific
limit is.
This also changes the LangRef for atomicrmw. Are there libatomic
fallbacks for these? If not, LLVM-IR validity still depends on
instantiating the actual backend. There are also some intrinsics such as
`llvm.memcpy.element.unordered.atomic` that have this constraint but do
not change in this PR.
Commit: ce8c19ffc591f069dad72d03697f67f7ecb87524
https://github.com/llvm/llvm-project/commit/ce8c19ffc591f069dad72d03697f67f7ecb87524
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
Log Message:
-----------
[clang][deps] Fix dependency scanner misidentifying 'import::' as module partition (#148674)
The dependency directive scanner was incorrectly classifying namespaces
such as `import::inner xi` as directives. According to P1857R3, `import` should
not be treated as a directive when followed by `::`.
This change fixes that behavior.
Commit: 6ac286cd491b419dd18a6e8de3aaef4caa44e093
https://github.com/llvm/llvm-project/commit/6ac286cd491b419dd18a6e8de3aaef4caa44e093
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-coro.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-rethrow.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-throw.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
Log Message:
-----------
[clang-tidy] Improve `bugprone-exception-escape`: add stacktrace of escaped exception (#134375)
This PR add stacktrace of escaped exception to
`bugprone-exception-escape` check.
Changes:
1. Modified `ExceptionAnalyzer` and `ExceptionInfo` classes to hold
stacktrace of escaped exception in `llvm::MapVector`. `llvm::MapVector`
is needed to hold relative positions of functions in stack as well as
have fast lookup.
2. Added new diagnostics based of `misc-no-recursion` check.
Fixes https://github.com/llvm/llvm-project/issues/87422.
Commit: 0c2560b29b3d15eca766eea306d8525b1c71d4ae
https://github.com/llvm/llvm-project/commit/0c2560b29b3d15eca766eea306d8525b1c71d4ae
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/TextAPI/TextStubV5.cpp
A llvm/test/tools/llvm-readtapi/stubify-v4-to-v5.test
Log Message:
-----------
[TextAPI] print symbols in a stable order in v5 format (#148687)
resolves: rdar://151765704
Commit: d4f5ed6a23464cbe831820cb695aa1d39b11e4aa
https://github.com/llvm/llvm-project/commit/d4f5ed6a23464cbe831820cb695aa1d39b11e4aa
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M libcxx/src/atomic.cpp
Log Message:
-----------
Revert "[libc++][NFC] atomic::wait use public API on macOS" (#148705)
Reverts llvm/llvm-project#147146
This is failing to build on our public macOS CI:
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/lldb-cmake-sanitized/
```
06:48:56 FAILED: libcxx/src/CMakeFiles/cxx_shared.dir/atomic.cpp.o
06:48:56 /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/lldb-build/bin/clang++ --target=arm64-apple-darwin23.1.0 -DLIBCXX_BUILDING_LIBCXXABI -DLIBC_NAMESPACE=__llvm_libc_common_utils -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_LIBCPP_BUILDING_LIBRARY -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/libcxx/src -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/lldb-build/include/c++/v1 -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/libcxxabi/include -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/cmake/Modules/../../libc -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -O3 -DNDEBUG -std=c++23 -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk -mmacosx-version-min=14.1 -fPIC -UNDEBUG -faligned-allocation -nostdinc++ -fvisibility-inlines-hidden -fvisibility=hidden -fsized-deallocation -Wall -Wextra -Wnewline-eof -Wshadow -Wwrite-strings -Wno-unused-parameter -Wno-long-long -Werror=return-type -Wextra-semi -Wundef -Wunused-template -Wformat-nonliteral -Wzero-length-array -Wdeprecated-redundant-constexpr-static-def -Wno-nullability-completeness -Wno-user-defined-literals -Wno-covered-switch-default -Wno-suggest-override -Wno-error -fdebug-prefix-map=/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/lldb-build/include/c++/v1=/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/libcxx/include -MD -MT libcxx/src/CMakeFiles/cxx_shared.dir/atomic.cpp.o -MF libcxx/src/CMakeFiles/cxx_shared.dir/atomic.cpp.o.d -o libcxx/src/CMakeFiles/cxx_shared.dir/atomic.cpp.o -c /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/libcxx/src/atomic.cpp
06:48:56 /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/libcxx/src/atomic.cpp:46:12: fatal error: 'os/os_sync_wait_on_address.h' file not found
06:48:56 46 | # include <os/os_sync_wait_on_address.h>
06:48:56 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
06:48:56 1 error generated.
```
This is the configuration the failing bots are running:
```
06:25:12 + sw_vers
06:25:12 ProductName: macOS
06:25:12 ProductVersion: 14.1
06:25:12 BuildVersion: 23B74
06:25:12 + xcodebuild -version
06:25:12 Xcode 15.2
06:25:12 Build version 15C5500c
```
The Intel bots are building fine though. Probably because they're on a
newer OS where the headers are available?
```
10:03:35 + sw_vers
10:03:35 ProductName: macOS
10:03:35 ProductVersion: 15.1.1
10:03:35 BuildVersion: 24B91
10:03:35 + xcodebuild -version
10:03:39 Xcode 16.2
10:03:39 Build version 16C5031c
10:03:39 + cmake --version
10:03:39 cmake version 3.30.2
```
Commit: ae810dde5d83cc61a48b30ae7de36364215b4a24
https://github.com/llvm/llvm-project/commit/ae810dde5d83cc61a48b30ae7de36364215b4a24
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
Log Message:
-----------
[IA][NFC] Factoring out helper functions that extract (de)interleaving factors (#148689)
Factoring out and combining `isInterleaveIntrinsic`,
`isDeinterleaveIntrinsic`, and `getIntrinsicFactor` into
`getInterleaveIntrinsicFactor` and `getDeinterleaveIntrinsicFactor`
inside VectorUtils.
NFC.
Commit: 5d59cb6ae2bfcd08f832fcaf5c34c22967d9fa8e
https://github.com/llvm/llvm-project/commit/5d59cb6ae2bfcd08f832fcaf5c34c22967d9fa8e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-zip.ll
M llvm/test/CodeGen/AArch64/combine-mul.ll
M llvm/test/CodeGen/AArch64/fast-isel-cmp-vec.ll
M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
Log Message:
-----------
[AArch64] computeKnownBitsForTargetNode - add AArch64ISD::MOVIshift support (#148634)
Fixes #148596
Commit: db15c23a5734da141bf4d8b9fc16d193502a7f92
https://github.com/llvm/llvm-project/commit/db15c23a5734da141bf4d8b9fc16d193502a7f92
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/include/module.modulemap
Log Message:
-----------
[DebugInfo][DWARF] Add DWARF/LowLevel to module.modulemap (#148693)
This ensures the generation of Attributes.inc when using
-DLLVM_ENABLE_MODULES=ON.
Commit: 641ff6db383d0730ae2587c86aa59b6b3cf8341d
https://github.com/llvm/llvm-project/commit/641ff6db383d0730ae2587c86aa59b6b3cf8341d
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/CodeGen/debug-info-file-checksum.c
Log Message:
-----------
[DebugInfo] Add option for producing no source-file hash (#148657)
Clang can chose which sort of source-file hash is attached to a DIFile
metadata node. However, whenever hashing is possible, we /always/ attach
a hash. This patch permits users who want DWARF5 but don't want the file
hashes to opt out, by adding a "none" option to the -gsrc-hash option
that skips hash computation.
Commit: 671072e830dace589f3b85d674c356e33330aa9a
https://github.com/llvm/llvm-project/commit/671072e830dace589f3b85d674c356e33330aa9a
Author: Ahmad Yasin <ahmad.yasin at apple.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
A llvm/test/Transforms/LoopUnroll/AArch64/vector.ll
Log Message:
-----------
[AArch64] Unrolling of loops with vector instructions. (#147420)
This patch permits loops with vector instructions to be unrolled.
Today there is an early exit in `getUnrollingPreferences()` of AArch64
targets if a vector instruction is observed in any of the loop blocks.
This patch fixes that so common loops like this one get a chance to be
unrolled:
void saxpy (float * dst, const float * src, const float a, const int
len) {
float32x4_t * vdst = (float32x4_t *)dst;
float32x4_t * vsrc = (float32x4_t *)src;
float32x4_t vk = vdupq_n_f32(a);
for (int i = 0; i < (len >> 2); i++)
{
vdst[i] = vaddq_f32(vdst[i], vmulq_f32(vsrc[i], vk));
}
}
Auto-vectorized loops are still not unrolled, unless they were not
interleaved when vectorized.
The provided test case shows the enhancement on top of runtime/partial
unrolling, depending on the CPU.
PR: https://github.com/llvm/llvm-project/pull/147420
Commit: 2edd4a25dd0bb4e5f49ce0d5ff8a95803ac88d27
https://github.com/llvm/llvm-project/commit/2edd4a25dd0bb4e5f49ce0d5ff8a95803ac88d27
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/lib/Parse/ParseDecl.cpp
Log Message:
-----------
[clang] NFC, avoid create a new FunctionTypeInfo object in the function call.
FunctionTypeInfo is a large object, no need to create a new one for this case.
Commit: 08a8e1c6b62215bf0b410f297add76f4e3b068d7
https://github.com/llvm/llvm-project/commit/08a8e1c6b62215bf0b410f297add76f4e3b068d7
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/X86/blend_x86.ll
M llvm/test/Transforms/InstCombine/fold-shuffle-ext.ll
M llvm/test/Transforms/PhaseOrdering/X86/blendv-select.ll
Log Message:
-----------
[InstCombine] Move extends across identity shuffles. (#146901)
Add a new fold to instcombine to move SExt/ZExt across identity
shuffles, applying the cast after the shuffle. This sinks extends and
can enable more general additional folding of both shuffles (and
related instructions) and extends. If backends prefer splitting up doing
casts first, the extends can be hoisted again in VectorCombine for
example.
A larger example is included in the load_i32_zext_to_v4i32. The wider
extend is easier to compute an accurate cost for and targets (like
AArch64) can lower a single wider extend more efficiently than multiple
separate extends.
This is a generalization of a VectorCombine version
(https://github.com/llvm/llvm-project/pull/141109) as suggested by
@preames.
PR: https://github.com/llvm/llvm-project/pull/146901
Commit: 9d778089db1e1d44d5e70372b28c5524dbdfbf0c
https://github.com/llvm/llvm-project/commit/9d778089db1e1d44d5e70372b28c5524dbdfbf0c
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
A mlir/test/Target/LLVMIR/omptarget-debug-target-task.mlir
Log Message:
-----------
[OMPIRBuilder] Don't use invalid debug loc in task proxy function. (#148284)
This is similar to https://github.com/llvm/llvm-project/pull/147950 but
for task proxy function.
Commit: f5b6b896de383113d243a413aa15684809618baa
https://github.com/llvm/llvm-project/commit/f5b6b896de383113d243a413aa15684809618baa
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/DWARFCFIChecker/DWARFCFIAnalysis.h
M llvm/include/llvm/DWARFCFIChecker/DWARFCFIFunctionFrameAnalyzer.h
M llvm/include/llvm/DWARFCFIChecker/DWARFCFIFunctionFrameStreamer.h
M llvm/include/llvm/DWARFCFIChecker/DWARFCFIState.h
M llvm/include/llvm/Frontend/HLSL/RootSignatureValidations.h
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/Target/RegisterTargetPassConfigCallback.h
Log Message:
-----------
[llvm] annotate new symbols for DLL export (#148658)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates symbols that were added to
LLVM in the last two weeks and were missed by previous code-mods. The
annotations currently have no meaningful impact on the LLVM build;
however, they are a prerequisite to support an LLVM Windows DLL (shared
library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
## Overview
These changes were generated automatically using the [Interface
Definition Scanner (IDS)](https://github.com/compnerd/ids) tool,
followed formatting with `git clang-format`.
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
Commit: dadaa7941dfd1355569d8bee5d8e199db93364f5
https://github.com/llvm/llvm-project/commit/dadaa7941dfd1355569d8bee5d8e199db93364f5
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M bolt/runtime/instr.cpp
Log Message:
-----------
[BOLT][instr] Add optional arguments to __bolt_instr_data_dump() (#148700)
`__bolt_instr_data_dump()` will find instrumented binary name by
iterating through entries under directory `/proc/self/map_files`,
and then open the binary and memory map it onto heap in order
to locate `.bolt.instr.tables` section to read the descriptions.
If binary name is already known and/or binary is already opened
as memory mapped, we can pass binary name and/or memory
buffer directly to `__bolt_instr_data_dump()` to save some work.
Commit: de31584001478d37f6dd645a864d160528979efe
https://github.com/llvm/llvm-project/commit/de31584001478d37f6dd645a864d160528979efe
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/aarch64/emupac.cpp
M compiler-rt/lib/builtins/int_types.h
A compiler-rt/test/builtins/Unit/aarch64/emupac.c
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/sources.gni
M llvm/utils/gn/secondary/compiler-rt/test/builtins/BUILD.gn
Log Message:
-----------
Reapply "compiler-rt: Introduce runtime functions for emulated PAC."
This reverts commit 0c0aa56cdcf1fe3970a5f3875db412530512fc07.
This time with the following fixes for buildbot failures:
- Add underscore prefixes to symbol names on Apple platforms.
- Modify the test so that it skips the crash tests on platforms where
they are not expected to pass:
- Platforms that implement FEAT_PAuth but not FEAT_FPAC (e.g.
Apple M1, Cortex-A78C)
- Platforms where DA key is disabled (e.g. older Linux kernels,
Linux kernels with PAC disabled, likely Windows)
Original commit message follows:
The emulated PAC runtime functions emulate the ARMv8.3a pointer
authentication instructions and are intended for use in heterogeneous
testing environments. For more information, see the associated RFC:
https://discourse.llvm.org/t/rfc-emulated-pac/85557
Reviewers: mstorsjo, pawosm-arm, atrosinenko
Reviewed By: atrosinenko
Pull Request: https://github.com/llvm/llvm-project/pull/148094
Commit: 455105f1c67ccb625a1dccbf55cc2266bf9eaba2
https://github.com/llvm/llvm-project/commit/455105f1c67ccb625a1dccbf55cc2266bf9eaba2
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
Log Message:
-----------
[clang-tidy] Improve --verify-config documentation (#148699)
Previously it wasn't clear that passing this disables otherwise running
clang-tidy.
Commit: a73aa721d65a82a37cdb7d8bba7bae748cd27907
https://github.com/llvm/llvm-project/commit/a73aa721d65a82a37cdb7d8bba7bae748cd27907
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Analysis/IR2Vec.cpp
Log Message:
-----------
[Analysis] Fix a warning
This patch fixes:
llvm/lib/Analysis/IR2Vec.cpp:280:3: error: default label in switch
which covers all enumeration values
[-Werror,-Wcovered-switch-default]
Commit: 5a4586f468344da04c904fefbba788a854bb319e
https://github.com/llvm/llvm-project/commit/5a4586f468344da04c904fefbba788a854bb319e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/accesses-completely-before-or-after.ll
M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
M llvm/test/Analysis/LoopAccessAnalysis/different_strides.ll
M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
M llvm/test/Transforms/LoopVectorize/global_alias.ll
Log Message:
-----------
Reapply "[LAA] Remove loop-invariant check added in 234cc40adc61."
This reverts commit d43a80936d437d217d5a6dbbaa5fb131c27e7085.
With the correctness issue blocking the recommit finally fixed
(5d01697ec6cb), again unconditionally check if accesses are completely
before or after each other.
Commit: d7ec80c8972a6633841b69476ef60d32cff4f271
https://github.com/llvm/llvm-project/commit/d7ec80c8972a6633841b69476ef60d32cff4f271
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/TargetParser/TargetParser.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tanh.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_tanh_bf16` on gfx1250 (#147425)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: 711132dfa43211bce312db01a473aed51bae7b8c
https://github.com/llvm/llvm-project/commit/711132dfa43211bce312db01a473aed51bae7b8c
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wcstol.cpp
A libc/src/wchar/wcstol.h
A libc/src/wchar/wcstoll.cpp
A libc/src/wchar/wcstoll.h
A libc/src/wchar/wcstoul.cpp
A libc/src/wchar/wcstoul.h
A libc/src/wchar/wcstoull.cpp
A libc/src/wchar/wcstoull.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/WcstolTest.h
A libc/test/src/wchar/wcstol_test.cpp
A libc/test/src/wchar/wcstoll_test.cpp
A libc/test/src/wchar/wcstoul_test.cpp
A libc/test/src/wchar/wcstoull_test.cpp
Log Message:
-----------
[libc] Implement widechar to integer public functions (#148683)
Implement public wchar -> integer public functions using templated
internal wcs_to_integer function
Commit: c4fc35815695bc2170be9ffc5a04985f62ff3a1e
https://github.com/llvm/llvm-project/commit/c4fc35815695bc2170be9ffc5a04985f62ff3a1e
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
R flang/include/flang/Optimizer/OpenACC/FIROpenACCTypeInterfaces.h
R flang/include/flang/Optimizer/OpenACC/RegisterOpenACCExtensions.h
A flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.h
A flang/include/flang/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/OpenACC/CMakeLists.txt
R flang/lib/Optimizer/OpenACC/FIROpenACCAttributes.cpp
R flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
R flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
A flang/lib/Optimizer/OpenACC/Support/CMakeLists.txt
A flang/lib/Optimizer/OpenACC/Support/FIROpenACCAttributes.cpp
A flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
A flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
Log Message:
-----------
[flang][acc][nfc] Move FIROpenACCSupport to Support subfolder (#148710)
In order to prepare for adding FIROpenACCTransforms, move the FIR
OpenACC support library to its own subfolder.
Commit: 19b2dd9d798c124406b0124a1b8debb711675281
https://github.com/llvm/llvm-project/commit/19b2dd9d798c124406b0124a1b8debb711675281
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
Log Message:
-----------
[RISCV] Use emplace_back instead of push_back+make_pair. NFC (#148711)
Commit: ada514b0af120e92b4d94653f8e272d6cec9f321
https://github.com/llvm/llvm-project/commit/ada514b0af120e92b4d94653f8e272d6cec9f321
Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/docs/OpenACC.md
Log Message:
-----------
[flang][acc][NFC] Add deviation to the spec that declaring the same variable is permitted (#148288)
OpenACC spec says `A var may appear at most once in all the clauses of
declare directives for a function, subroutine, program, or module.` but
our implementation allows it with a warning generated. Add this to the
diviation list for record.
Commit: 2464313eef01c5b1edf0eccf57a32cdee01472c7
https://github.com/llvm/llvm-project/commit/2464313eef01c5b1edf0eccf57a32cdee01472c7
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/lib/Sema/AnalysisBasedWarnings.cpp
A clang/test/SemaCXX/warn-no-sometimes-uninitialized.cpp
Log Message:
-----------
[clang] Fix suppressing diagnostics for uninitialized variables (#148336)
When one kind of diagnostics is disabled, this should not preclude other
diagnostics from displaying, even if they have lower priority. For
example, this should print a warning about passing an uninitialized
variable as a const reference:
```
> cat test.cpp
void foo(const int &);
int f(bool a) {
int v;
if (a) {
foo(v);
v = 5;
}
return v;
}
> clang test.cpp -fsyntax-only -Wuninitialized -Wno-sometimes-uninitialized
```
Commit: 92ef8e3419ee316089501a79446151c895902681
https://github.com/llvm/llvm-project/commit/92ef8e3419ee316089501a79446151c895902681
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/InterfacesGlobalInitCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/interfaces-global-init.cpp
Log Message:
-----------
[clang-tidy] Teach `cppcoreguidelines-interfaces-global-init` about `constinit` (#148334)
This check already understands how `constexpr` makes initialization
order problems impossible, and C++20's `constinit` provides the exact
same guarantees.
Commit: 40ceaf1d995c22a3fab3e1c5df4651cf7d1e895c
https://github.com/llvm/llvm-project/commit/40ceaf1d995c22a3fab3e1c5df4651cf7d1e895c
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/work-queue.h
Log Message:
-----------
[flang][runtime] Fix bad instance of std::optional in runtime (#148724)
The runtime needs to use common::optional, not std::optional.
Commit: 45fa0b29bc33ca6619543139792fa38204df2731
https://github.com/llvm/llvm-project/commit/45fa0b29bc33ca6619543139792fa38204df2731
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
R mlir/test/Target/LLVMIR/omptarget-debug-target-task.mlir
Log Message:
-----------
Revert "[OMPIRBuilder] Don't use invalid debug loc in task proxy function." (#148728)
There is a sanitizer fail in CI after this which I need to investigate.
Reverting for now.
Reverts llvm/llvm-project#148284
Commit: 834591e062d27db2b66aa37aef2e917e0af1e6ff
https://github.com/llvm/llvm-project/commit/834591e062d27db2b66aa37aef2e917e0af1e6ff
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[MLIR] [Vector] Linearization patterns for vector.load and vector.store (#145115)
This PR add inearizarion pattern for vector.load and vector.store. It is
follow up PR to
https://github.com/llvm/llvm-project/pull/143420#issuecomment-2967406606
Commit: 0d5325bb203fe92c75f47b473d1f77d9d4f4a5d0
https://github.com/llvm/llvm-project/commit/0d5325bb203fe92c75f47b473d1f77d9d4f4a5d0
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M bolt/lib/Core/BinaryFunctionCallGraph.cpp
Log Message:
-----------
[BOLT] Directly use call count in buildCallGraph (#134966)
In call graph construction, call block count is used for call graph edge
weight. Change that to use call count directly if it's available,
falling back to block count if not.
Test Plan:
This change together with disabling `fix-block-counts` improves profile
quality metrics, e.g. for large binaries and sampled LBR profiles:
`br_inst_retired.near_taken:uppp` trigger event
- Ads1:
- Profiled functions 58096
- CFG imbalance 2.63% -> 2.45%
- CG imbalance 8.23% -> 7.44%
- Ads2:
- Profiled functions 54358
- CFG imbalance 3.12% -> 2.77%
- CG imbalance 8.22% -> 7.06%
- uwsgi:
- Profiled functions 78103
- CFG imbalance 4.42% -> 4.03%
- CG imbalance 100.00% -> 100.00%
`cycles:u` trigger event:
- web:
- Profiled functions 31306
- CG flow imbalance: 31.16% -> 20.29%
- CFG flow imbalance: 7.04% -> 6.44%
Commit: 4b52d221a09b71c9dc0c0bb842ec706de663167c
https://github.com/llvm/llvm-project/commit/4b52d221a09b71c9dc0c0bb842ec706de663167c
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Support/BLAKE3/llvm_blake3_prefix.h
Log Message:
-----------
[Support][BLAKE3] Prefix blake3_xof_many_avx512 (#148607)
This symbol was introduced in #147948, but not prefixed, resulting in
conflicts if libblake3 and LLVM are both linked statically into the same
binary.
Commit: 13b720d255c48c67606fddeaf4abb1d496945c81
https://github.com/llvm/llvm-project/commit/13b720d255c48c67606fddeaf4abb1d496945c81
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/X86/X86FrameLowering.cpp
A llvm/test/CodeGen/WinEH/wineh-reuse-catch-alloca.ll
Log Message:
-----------
[win][x64] Re-use fixed object if multiple catchpads use the same alloca for their catch objects (#147849)
Addresses
<https://github.com/llvm/llvm-project/pull/147421#discussion_r2191234968>
for x86
If more than one `catchpad ` uses the same `alloca` for their catch
objects, then we will allocate more than one object in the fixed area
resulting in wasted stack space.
As a follow up, Clang could be updated to re-use the same `alloca` for
all by-reference and by-pointer catch objects.
Commit: 027f5ba24ecef88489913d41a54b44bb8df6f71e
https://github.com/llvm/llvm-project/commit/027f5ba24ecef88489913d41a54b44bb8df6f71e
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/test/CodeGen/WinEH/lit.local.cfg
M llvm/test/CodeGen/WinEH/wineh-cloning.ll
M llvm/test/CodeGen/WinEH/wineh-demotion.ll
M llvm/test/CodeGen/WinEH/wineh-empty-seh-scope.ll
M llvm/test/CodeGen/WinEH/wineh-nested-unwind.ll
M llvm/test/CodeGen/WinEH/wineh-no-demotion.ll
M llvm/test/CodeGen/WinEH/wineh-noret-cleanup.ll
Log Message:
-----------
[win][aarch64] Enable the llvm/test/CodeGen/WinEH tests for AArch64 (#147860)
Enabled AArch64 runs for these tests where it made sense.
Also removed the "temporary" suffixes filter that was added over 10
years ago, I believe the "misched-copy.s output file" has been cleaned
from the runners by now...
Commit: 99875733fce0c6c72c50244ceaffe0cc5e1fa277
https://github.com/llvm/llvm-project/commit/99875733fce0c6c72c50244ceaffe0cc5e1fa277
Author: James Newling <james.newling at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/EmulateUnsupportedFloats.cpp
M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/test/Dialect/NVGPU/transform-matmul-to-nvvm.mlir
Log Message:
-----------
[mlir][vector] Use vector.broadcast in place of vector.splat (#148028)
Part of deprecation of vector.splat
RFC:
https://discourse.llvm.org/t/rfc-mlir-vector-deprecate-then-remove-vector-splat/87143/4
More complete deprecation:
https://github.com/llvm/llvm-project/pull/147818
Commit: 633728f3b5e71aa998a894de294bbd6e49b9a5e5
https://github.com/llvm/llvm-project/commit/633728f3b5e71aa998a894de294bbd6e49b9a5e5
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[NFC][TableGen][DecoderEmitter] Eliminate `indent` for a few functions (#148718)
Eliminate the `indent` argument for functions which are always called
with `indent(0)`.
Commit: 5277021c3c75a19a3db5e097e4b4e73eeb1f8ffa
https://github.com/llvm/llvm-project/commit/5277021c3c75a19a3db5e097e4b4e73eeb1f8ffa
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/test/CodeGen/AMDGPU/fma.f64.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop2.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop2.txt
Log Message:
-----------
[AMDGPU] Add gfx1250 v_fmac_f64 implementation (#148725)
Commit: 244ebef1ddbc6a77f17c36562d4a4292654940a6
https://github.com/llvm/llvm-project/commit/244ebef1ddbc6a77f17c36562d4a4292654940a6
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
Log Message:
-----------
Reapply [mlir][vector] Refactor WarpOpScfForOp to support unused or swapped forOp results. (#148313)
Reapply attempt for : https://github.com/llvm/llvm-project/pull/148291
Fix for the build failure reported in :
https://lab.llvm.org/buildbot/#/builders/116/builds/15477
-----
This crash is caused by mismatch of distributed type returned by
`getDistributedType` and intended distributed type for forOp results.
Solution diff:
https://github.com/llvm/llvm-project/commit/20c2cf67662c3b3fdecf95a0e280809f98d8db50
Example:
```
func.func @warp_scf_for_broadcasted_result(%arg0: index) -> vector<1xf32> {
%c128 = arith.constant 128 : index
%c1 = arith.constant 1 : index
%c0 = arith.constant 0 : index
%2 = gpu.warp_execute_on_lane_0(%arg0)[32] -> (vector<1xf32>) {
%ini = "some_def"() : () -> (vector<1xf32>)
%0 = scf.for %arg3 = %c0 to %c128 step %c1 iter_args(%arg4 = %ini) -> (vector<1xf32>) {
%1 = "some_op"(%arg4) : (vector<1xf32>) -> (vector<1xf32>)
scf.yield %1 : vector<1xf32>
}
gpu.yield %0 : vector<1xf32>
}
return %2 : vector<1xf32>
}
```
In this case the distributed type for forOp result is `vector<1xf32>`
(result is not distributed and broadcasted to all lanes instead).
However, in this case `getDistributedType` will return NULL type.
Therefore, if the distributed type can be recovered from warpOp, we
should always do that first before using `getDistributedType`
Commit: 00dacf8c22f065cb52efb14cd091d441f19b319e
https://github.com/llvm/llvm-project/commit/00dacf8c22f065cb52efb14cd091d441f19b319e
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/include/clang/Analysis/Analyses/UninitializedValues.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Analysis/UninitializedValues.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/Misc/warning-wall.c
A clang/test/SemaCXX/warn-uninitialized-const-pointer.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.volatile.pass.cpp
Log Message:
-----------
[clang] Add -Wuninitialized-const-pointer (#148337)
This option is similar to -Wuninitialized-const-reference, but diagnoses
the passing of an uninitialized value via a const pointer, like in the
following code:
```
void foo(const int *);
void test() {
int v;
foo(&v);
}
```
This is an extract from #147221 as suggested in [this
comment](https://github.com/llvm/llvm-project/pull/147221#discussion_r2190998730).
Commit: 56a4f8d8c149a35b73e795a427238182d5284aae
https://github.com/llvm/llvm-project/commit/56a4f8d8c149a35b73e795a427238182d5284aae
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/wchar/CMakeLists.txt
M libc/src/__support/wchar/character_converter.cpp
M libc/src/__support/wchar/character_converter.h
A libc/src/__support/wchar/string_converter.h
M libc/test/src/__support/wchar/CMakeLists.txt
A libc/test/src/__support/wchar/string_converter_test.cpp
Log Message:
-----------
[libc] Wchar Stringconverter (#146388)
Implemented a string converter class to encapsulate the logic of
converting between utf8 <-> utf32
Commit: a32040e483f4fb53031b390c66722ac27d839023
https://github.com/llvm/llvm-project/commit/a32040e483f4fb53031b390c66722ac27d839023
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/test/CodeGen/AMDGPU/code-size-estimate.ll
A llvm/test/CodeGen/AMDGPU/literal64.ll
Log Message:
-----------
[AMDGPU] Use 64-bit literals in codegen on gfx1250 (#148727)
Commit: ad9a9537e6222853da3966abd978548f0b62eab8
https://github.com/llvm/llvm-project/commit/ad9a9537e6222853da3966abd978548f0b62eab8
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/lib/Analysis/UninitializedValues.cpp
M clang/test/SemaCXX/uninitialized.cpp
Log Message:
-----------
[clang] Fix -Wuninitialized for values passed by const pointers (#147221)
This enables producing a "variable is uninitialized" warning when a
value is passed to a pointer-to-const argument:
```
void foo(const int *);
void test() {
int *v;
foo(v);
}
```
Fixes #37460
Commit: 085e8f1e520b91f5ed40e5b09f458bb2c4d7c0e0
https://github.com/llvm/llvm-project/commit/085e8f1e520b91f5ed40e5b09f458bb2c4d7c0e0
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcilia-valid.s
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[RISCV] Relax destination instruction dag operand matching in CompresInstEmitter (#148660)
We have some 48-bit instructions in the `Xqci` spec that currently
cannot be compressed to their 32-bit variants due to the constraint in
`CompressInstEmitter` on destination instruction operands not being
allowed to mismatch with the DAG operands.
For eg. the` QC_E_ADDI` instruction can be compressed to the `ADDI`
instruction when the immediate is signed-12 bit but this is currently
not possible since the `QC_E_ADDI` instruction has `GPRNoX0` register
operands while the `ADDI` instruction has `GPR` register operands
leading to an operand type validation error.
I think we can remove the check that only source instruction operands
can mismatch with the corresponding DAG operands and rely on the fact
that we check if the DAG register operand type is a subclass of the
instruction register operand type.
Commit: d1db176e82fa02188471ca014582016b0b1ace7b
https://github.com/llvm/llvm-project/commit/d1db176e82fa02188471ca014582016b0b1ace7b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
ARM: Stop setting sincos_stret calling convention (#147457)
This was going out of its way to explicitly mark these as
ARM_AAPCS_VFP. This has been explicitly set since 8b40366b54bd4,
where the commit message states that "sincos" (not sincos_stret)
has a special calling convention. However, that commit also sets
the calling convention for all libcalls to ARM_AAPCS_VFP, and
getEffectiveCallingConv returns the same for CCC anyway in tests
using isWatchABI triples.
The net result of this appears to be a change in behavior when
using -float-abi=soft with isWatchABI, which have no tests so
I assume this is a theoretical combination.
If I assert
```
if (getTargetMachine().getTargetTriple().isWatchABI()) {
assert(!useSoftFloat());
assert(getEffectiveCallingConv(CallingConv::C, false) == CallingConv::ARM_AAPCS_VFP);
}
```
Only 2 tests fail the second condition, which look like copy paste
accidents
using v7k triples with linux and only needed a filler triple. This is a
consequence
of strangely using the target architecture in place of the OS ABI check,
as was done in 042a6c1fe19caf48af7e287dc8f6fd5fec158093
Commit: 8ae8b50d360431c748bf2ebb18b4105968bcb76b
https://github.com/llvm/llvm-project/commit/8ae8b50d360431c748bf2ebb18b4105968bcb76b
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/lib/Analysis/IR2Vec.cpp
Log Message:
-----------
[NFC][IR2Vec] Minor refactoring of opcode access in vocabulary (#147585)
Refactored IR2Vec vocabulary handling to improve code organization and error handling. This would help in upcoming PRs related to the IR2Vec tool.
(Tracking issue - #141817)
Commit: ec90786ad1da16b655de11bc9590773fdc0e72a0
https://github.com/llvm/llvm-project/commit/ec90786ad1da16b655de11bc9590773fdc0e72a0
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/lib/Analysis/IR2Vec.cpp
Log Message:
-----------
[NFC][IR2Vec] Exposing helpers in IR2Vec Vocabulary (#147841)
Minor refactoring IR2Vec vocabulary. This would help in upcoming PRs related to the IR2Vec tool.
(Tracking issue - #141817)
Commit: 352215c6eb291a20f62e7744dc2f7e4a6de46f8d
https://github.com/llvm/llvm-project/commit/352215c6eb291a20f62e7744dc2f7e4a6de46f8d
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
M llvm/test/CodeGen/DirectX/flatten-array.ll
M llvm/test/CodeGen/DirectX/flatten-bug-117273.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
M llvm/test/CodeGen/DirectX/scalar-bug-117273.ll
M llvm/test/CodeGen/DirectX/scalarize-alloca.ll
Log Message:
-----------
[DirectX] Simplify and correct the flattening of GEPs in DXILFlattenArrays (#146173)
In tandem with #146800, this PR fixes #145370
This PR simplifies the logic for collapsing GEP chains and replacing
GEPs to multidimensional arrays with GEPs to flattened arrays. This
implementation avoids unnecessary recursion and more robustly computes
the index to the flattened array by using the GEPOperator's
collectOffset function, which has the side effect of allowing "i8 GEPs"
and other types of GEPs to be handled naturally in the flattening /
collapsing of GEP chains.
Furthermore, a handful of LLVM DirectX CodeGen tests have been edited to
fix incorrect GEP offsets, mismatched types (e.g., loading i32s from a
an array of floats), and typos.
Commit: 6b7c6fd8b450d1577a11fb979192a4f84b6d0b6e
https://github.com/llvm/llvm-project/commit/6b7c6fd8b450d1577a11fb979192a4f84b6d0b6e
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/MC/MCAsmStreamer.cpp
Log Message:
-----------
[PseudoProbe] use print to emit function name (#147873)
This PR is part of #123870.
For COFF Asm, function name should be wrapped in quotes.
MCSymbol::print will automatically do that.
Commit: f07107337fc163d45265d04e92a974c481ad8653
https://github.com/llvm/llvm-project/commit/f07107337fc163d45265d04e92a974c481ad8653
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAGCombiner] Pass SDNodeFlags to getSelect instead of modifying the node returned. (#148733)
Commit: 43206d1b2ece9894ecacd8ed0cc76b853b17cd7d
https://github.com/llvm/llvm-project/commit/43206d1b2ece9894ecacd8ed0cc76b853b17cd7d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
A llvm/test/CodeGen/Hexagon/llvm.exp10.ll
Log Message:
-----------
Hexagon: Add test for llvm.exp10 intrinsic (#148664)
This is mostly to test the libcall behavior
Commit: ee5b9369cd4a75b7bacd7e4eefffe15c9ebfc44e
https://github.com/llvm/llvm-project/commit/ee5b9369cd4a75b7bacd7e4eefffe15c9ebfc44e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
A llvm/test/CodeGen/Hexagon/llvm.frexp.ll
Log Message:
-----------
Hexagon: Add frexp intrinsic test (#148671)
Commit: 49d2b5f1cd597a0612830819399effcd21d724a7
https://github.com/llvm/llvm-project/commit/49d2b5f1cd597a0612830819399effcd21d724a7
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__configuration/availability.h
A libcxx/include/__log_hardening_failure
M libcxx/include/module.modulemap.in
M libcxx/lib/abi/CHANGELOG.TXT
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/CMakeLists.txt
A libcxx/src/log_hardening_failure.cpp
A libcxx/test/libcxx/assertions/log_hardening_failure.pass.cpp
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libc++][hardening] Introduce a dylib function to log hardening errors. (#148266)
Unlike `verbose_abort`, this function merely logs the error but does not
terminate execution. It is intended to make it possible to implement the
`observe` semantic for Hardening.
Commit: 5eecec8e81ec01444bae0232a43f6619ab4274c4
https://github.com/llvm/llvm-project/commit/5eecec8e81ec01444bae0232a43f6619ab4274c4
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/include/flang/Common/format.h
Log Message:
-----------
[flang] Fix use of __has_builtin and formatting (#148746)
`__has_builtin` is not available on all compilers. Make sure it works
when not defined.
Also fix some formatting issues:
- Use brace initialization where possible
- Fix wrong capitalization of variables.
- Add `std::` for `unit64_t` and `int64_t` as it is mostly done in this
part of the codebase.
Commit: 2c6771889a7bc96c0f7010214c5e1e87d86a7bf1
https://github.com/llvm/llvm-project/commit/2c6771889a7bc96c0f7010214c5e1e87d86a7bf1
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/include/flang/Optimizer/Builder/Runtime/CUDA/Descriptor.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Runtime/CUDA/descriptor.h
M flang/lib/Optimizer/Builder/Runtime/CUDA/Descriptor.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-alloc-free.fir
Log Message:
-----------
[flang][cuda] Introduce cuf.set_allocator_idx operation (#148717)
Commit: cbba8f0acb537be00f649a640e98f8c92692fe9b
https://github.com/llvm/llvm-project/commit/cbba8f0acb537be00f649a640e98f8c92692fe9b
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/test/CodeGen/AMDGPU/literal64.ll
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
A llvm/test/CodeGen/AMDGPU/shrink-fma-f64.mir
M llvm/test/CodeGen/AMDGPU/twoaddr-fma-f64.mir
Log Message:
-----------
[AMDGPU] Codegen support for v_fmaak_f64/f_fmamk_f64 (#148734)
Commit: 22707fd4a594a1b00cc68893dd1887c8971b4c98
https://github.com/llvm/llvm-project/commit/22707fd4a594a1b00cc68893dd1887c8971b4c98
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features-andes.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Andes XAndesBFHCvt (Andes Scalar BFLOAT16) extension (#148563)
The spec can be found at:
https://github.com/andestech/andes-v5-isa/releases/tag/ast-v5_4_0-release.
The extension includes only two instructions: one for converting from
f32 to f16, and another for converting from f16 to f32.
This patch only implements MC support for XAndesBFHCvt.
Commit: 7ba0c98265977651540c64795b244166af329ca8
https://github.com/llvm/llvm-project/commit/7ba0c98265977651540c64795b244166af329ca8
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vcpop.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vcpopv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vcpop.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vcpopv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vcpop.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vcpopv.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vcpop.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vcpopv.c
Log Message:
-----------
[RISCV] Rename the vector crypto intrinsic test vcpopv.c to vcpop.c. NFC.
To be consistent with https://github.com/riscv-non-isa/rvv-intrinsic-doc/tree/post-1.0-dev/auto-generated/vector-crypto/llvm-api-tests
Commit: 27b3b4a665f144b968a04502e5461ab8d1cd1471
https://github.com/llvm/llvm-project/commit/27b3b4a665f144b968a04502e5461ab8d1cd1471
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
M llvm/test/CodeGen/DirectX/scalar-store.ll
Log Message:
-----------
[DirectX] Move the scalarizer pass to before dxil-flatten-arrays (#146800)
Fixes #145924 and #140416
Depends on #146173 being merged first.
This PR moves the scalarizer pass to immediately before the
dxil-flatten-arrays pass to allow the dxil-flatten-arrays pass to turn
scalar GEPs (including i8 GEPs) into flattened array GEPs where
applicable.
A number of LLVM DirectX CodeGen tests have been edited to remove scalar
GEPs and also correct previously uncaught incorrectly-transformed GEPs.
No more validation errors of the form `Access to out-of-bounds memory is
disallowed` or `TGSM pointers must originate from an unambiguous TGSM
global variable` appear anymore after this PR when compiling DML
shaders.
Commit: 14dc3e3d5f84fe4e52bcccdc514efdd27ed7a45c
https://github.com/llvm/llvm-project/commit/14dc3e3d5f84fe4e52bcccdc514efdd27ed7a45c
Author: Florian Mayer <fmayer at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/X86/kcfi.ll
Log Message:
-----------
[SelectionDAG] [KCFI] Allow "kcfi" on invoke (#148742)
This is handled in CallBase, so it is valid for both call and invoke
Commit: 1ddb909a422853bd8e2692a8d369b45d62cec3e5
https://github.com/llvm/llvm-project/commit/1ddb909a422853bd8e2692a8d369b45d62cec3e5
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/utils/remote-exec.py
Log Message:
-----------
remote-exec: Detect and propagate signal death in the remote process.
If the remote process died with a signal, this will be exposed by ssh
as an exit code in the range 128 < rc < 160. We may be running under
`not --crash` which will expect us to also die with a signal, so send
the signal to ourselves so that wait4() in `not` will detect the signal.
Speculative fix for failing buildbot:
https://lab.llvm.org/buildbot/#/builders/193/builds/9070
Commit: 7cde97423347d8f7eb4a3967f98b274be8ff621f
https://github.com/llvm/llvm-project/commit/7cde97423347d8f7eb4a3967f98b274be8ff621f
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
A clang/docs/CXXTypeAwareAllocators.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/index.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/type-aware-class-scoped-mismatched-constraints.cpp
M clang/test/SemaCXX/type-aware-coroutines.cpp
M clang/test/SemaCXX/type-aware-new-constexpr.cpp
M clang/test/SemaCXX/type-aware-new-delete-arrays.cpp
M clang/test/SemaCXX/type-aware-new-delete-basic-free-declarations.cpp
M clang/test/SemaCXX/type-aware-new-delete-basic-in-class-declarations.cpp
M clang/test/SemaCXX/type-aware-new-delete-basic-resolution.cpp
M clang/test/SemaCXX/type-aware-new-delete-qualifiers.cpp
M clang/test/SemaCXX/type-aware-new-delete-transparent-contexts.cpp
M clang/test/SemaCXX/type-aware-new-invalid-type-identity.cpp
M clang/test/SemaCXX/type-aware-placement-operators.cpp
Log Message:
-----------
[clang] Update diagnostics and documentation for type aware allocators (#148576)
Alas reflection pushed p2719 out of C++26, so this PR changes the
diagnostics to reflect that for now type aware allocation is
functionally a clang extension.
Commit: 90ef114a33805b67eea29564193ad6d4c6975a30
https://github.com/llvm/llvm-project/commit/90ef114a33805b67eea29564193ad6d4c6975a30
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Lower/ConvertVariable.cpp
A flang/test/Lower/CUDA/cuda-set-allocator.cuf
Log Message:
-----------
[flang][cuda] Add cuf.set_allocator_idx for device component (#148750)
Commit: 451a9ce9ffcf18db365f32a5a01dd025ab26c1d0
https://github.com/llvm/llvm-project/commit/451a9ce9ffcf18db365f32a5a01dd025ab26c1d0
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Headers/ptrauth.h
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/test/CodeGenObjC/arc.m
M clang/test/CodeGenObjC/matrix-type-operators.m
A clang/test/CodeGenObjC/ptrauth-attr-exception.m
A clang/test/CodeGenObjC/ptrauth-block-isa.m
A clang/test/CodeGenObjC/ptrauth-class-ro.m
A clang/test/CodeGenObjC/ptrauth-class.m
A clang/test/CodeGenObjC/ptrauth-objc-interface-selector.m
A clang/test/CodeGenObjC/ptrauth-objc-isa-super.m
A clang/test/CodeGenObjC/ptrauth-objc-method-list-pointer.m
A clang/test/CodeGenObjC/ptrauth-property-backing.m
A clang/test/CodeGenObjCXX/ptrauth-objc-interface-selector.mm
A clang/test/SemaObjC/ptrauth-pointers.m
M clang/test/SemaObjC/ptrauth-qualifier.m
Log Message:
-----------
[clang][ObjC][PAC] Add ptrauth protections to objective-c (#147899)
This PR introduces the use of pointer authentication to objective-c[++].
This includes:
* __ptrauth qualifier support for ivars
* protection of isa and super fields
* protection of SEL typed ivars
* protection of class_ro_t data
* protection of methodlist pointers and content
Commit: 91b3dbe273be721bdaea58c9f3c1d8309f496034
https://github.com/llvm/llvm-project/commit/91b3dbe273be721bdaea58c9f3c1d8309f496034
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libc/docs/headers/search.rst
Log Message:
-----------
[libc] Update some implementation status for `search.h` (#148414)
- `VISIT` was implemented in
https://github.com/llvm/llvm-project/pull/132746.
- `lsearch` was implemented in
https://github.com/llvm/llvm-project/pull/131431.
At first, I thought this would be updated automatically, but it seems
that the header status needs to be added manually.
Commit: eb6da944af31dd684be3ab2f93f453a3837a72c6
https://github.com/llvm/llvm-project/commit/eb6da944af31dd684be3ab2f93f453a3837a72c6
Author: tedwoodward <56049650+tedwoodward at users.noreply.github.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
A lldb/examples/python/filter_disasm.py
M lldb/include/lldb/Core/Opcode.h
M lldb/source/Core/Disassembler.cpp
M lldb/source/Core/Opcode.cpp
M lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
M lldb/source/Utility/ArchSpec.cpp
A lldb/test/Shell/Commands/Inputs/dis_filt.py
A lldb/test/Shell/Commands/command-disassemble-riscv32-bytes.s
A lldb/test/Shell/Commands/command-disassemble-x86-bytes.s
M lldb/unittests/Disassembler/RISCV/TestMCDisasmInstanceRISCV.cpp
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Improve disassembly of unknown instructions (#145793)
LLDB uses the LLVM disassembler to determine the size of instructions and
to do the actual disassembly. Currently, if the LLVM disassembler can't
disassemble an instruction, LLDB will ignore the instruction size, assume
the instruction size is the minimum size for that device, print no useful
opcode, and print nothing for the instruction.
This patch changes this behavior to separate the instruction size and
"can't disassemble". If the LLVM disassembler knows the size, but can't
dissasemble the instruction, LLDB will use that size. It will print out
the opcode, and will print "<unknown>" for the instruction. This is much
more useful to both a user and a script.
The impetus behind this change is to clean up RISC-V disassembly when
the LLVM disassembler doesn't understand all of the instructions.
RISC-V supports proprietary extensions, where the TD files don't know
about certain instructions, and the disassembler can't disassemble them.
Internal users want to be able to disassemble these instructions.
With llvm-objdump, the solution is to pipe the output of the disassembly
through a filter program. This patch modifies LLDB's disassembly to look
more like llvm-objdump's, and includes an example python script that adds
a command "fdis" that will disassemble, then pipe the output through a
specified filter program. This has been tested with crustfilt, a sample
filter located at https://github.com/quic/crustfilt .
Changes in this PR:
- Decouple "can't disassemble" with "instruction size".
DisassemblerLLVMC::MCDisasmInstance::GetMCInst now returns a bool for
valid disassembly, and has the size as an out paramter.
Use the size even if the disassembly is invalid.
Disassemble if disassemby is valid.
- Always print out the opcode when -b is specified.
Previously it wouldn't print out the opcode if it couldn't disassemble.
- Print out RISC-V opcodes the way llvm-objdump does.
Code for the new Opcode Type eType16_32Tuples by Jason Molenda.
- Print <unknown> for instructions that can't be disassembled, matching
llvm-objdump, instead of printing nothing.
- Update max riscv32 and riscv64 instruction size to 8.
- Add example "fdis" command script.
- Added disassembly byte test for x86 with known and unknown instructions.
- Added disassembly byte test for riscv32 with known and unknown instructions,
with and without filtering.
- Added test from Jason Molenda to RISC-V disassembly unit tests.
Commit: 10b5558b61baab59c7d3dff37ffdf0861c0cc67a
https://github.com/llvm/llvm-project/commit/10b5558b61baab59c7d3dff37ffdf0861c0cc67a
Author: Trevor Gross <tmgross at umich.edu>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/test/CodeGen/X86/i128-fp128-abi.ll
Log Message:
-----------
[X86] Update the fp128/i128 test to show stack alignment (NFC) (#148753)
Adding an extra argument before a `fp128` only changes the stack offset
by four bytes, while it should instead go in the next 16-aligned slot.
Add a test demonstrating the current behavior.
`no_x86_scrub_sp` is added because offset from the stack pointer is
needed to show the problem.
Relevant issue: https://github.com/llvm/llvm-project/issues/77401
Commit: 96148f92146e5211685246722664e51ec730e7ba
https://github.com/llvm/llvm-project/commit/96148f92146e5211685246722664e51ec730e7ba
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
Log Message:
-----------
[RISCV] Use cond_code instead for PseudoCCNDS_BFOS and PseudoCCNDS_BFOZ.
Commit: d2bcc51a5ae42157e9a0178186e5cb711c018c93
https://github.com/llvm/llvm-project/commit/d2bcc51a5ae42157e9a0178186e5cb711c018c93
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M lld/ELF/Arch/Hexagon.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Target.h
A lld/test/ELF/hexagon-attributes.s
Log Message:
-----------
[LLD] Merge .hexagon.attributes sections (#148098)
Merge the attributes of object files being linked together. The
`.hexagon.attributes` section can be used by loaders and analysis tools.
This is similar to the .riscv.attributes, introduced in
8a900f2438b4a167b98404565ad4da2645cc9330 /
https://reviews.llvm.org/D138550.
Commit: be200e2b80c5f5e460fb361a14fb3c94d0ca1a67
https://github.com/llvm/llvm-project/commit/be200e2b80c5f5e460fb361a14fb3c94d0ca1a67
Author: Florian Mayer <fmayer at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/X86/invalid-operand-bundle-invoke.ll
Log Message:
-----------
[SelectionDAG] improve error message for invalid op bundles (#148722)
Commit: 25b00c033c3cdd1a5c67ecc32b1dd13e3cd2df61
https://github.com/llvm/llvm-project/commit/25b00c033c3cdd1a5c67ecc32b1dd13e3cd2df61
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
A llvm/test/CodeGen/AArch64/unsupported-object-format-err.ll
Log Message:
-----------
AArch64: Fix asserting on unexpected triples (#147880)
Commit: 9a9db2a39c7640ebd803741e4f058598bca04f0b
https://github.com/llvm/llvm-project/commit/9a9db2a39c7640ebd803741e4f058598bca04f0b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/test/Driver/riscv-cpus.c
Log Message:
-----------
[RISCV] Prefix mcpu/mtune/march/mabi with '-' in comments. NFC (#148723)
Commit: eea5c291bbf5177061021a980bc1369bac2d75b9
https://github.com/llvm/llvm-project/commit/eea5c291bbf5177061021a980bc1369bac2d75b9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAGCombiner] Pass SDNodeFlags to getNode instead of modifying nodes. (#148744)
getNode has logic to intersect flags correctly if the new node happens
to CSE with an existing node. Setting node flags after getNode bypasses
this logic and may change the node for other uses where the flags don't
hold.
Commit: 3265a36c55d0fc96078fd4752583e26ab6cdb016
https://github.com/llvm/llvm-project/commit/3265a36c55d0fc96078fd4752583e26ab6cdb016
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Refactor RISCVDAGToDAGISel::selectSimm5Shl2. NFC (#148731)
Return from the for loop body instead of using a break and checking the
shift amount after.
Commit: 31944ac45bb986122da639f195b19df4621fbfa8
https://github.com/llvm/llvm-project/commit/31944ac45bb986122da639f195b19df4621fbfa8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/test/MC/RISCV/rv32p-valid.s
M llvm/test/MC/RISCV/rv64p-valid.s
Log Message:
-----------
[RISCV] Render P-ext simm10_unsigned as a simm10 after parsing. (#148749)
Instead of allowing a parsed MCInst to have a either uimm10 or simm10,
always render as simm10. This avoids a mismatch between parsed MCInst
and disassembled MCInst when a uimm10 value is used.
Commit: 49233137274d82f77ed0f011135a3d53cb4f8254
https://github.com/llvm/llvm-project/commit/49233137274d82f77ed0f011135a3d53cb4f8254
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Fix typo in comment. NFC (#148754)
'unsigned' was misspelled, but it seemed easier to write uimm9 than to
spell it out.
Commit: 3faaa5cdb094b60971bb357aca651123e23855b6
https://github.com/llvm/llvm-project/commit/3faaa5cdb094b60971bb357aca651123e23855b6
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/Relocations/mc-dump.s
A llvm/test/MC/RISCV/xqci-fixups.s
M llvm/test/MC/RISCV/xqcibi-relocations.s
M llvm/test/MC/RISCV/xqcilb-relocations.s
M llvm/test/MC/RISCV/xqcili-relocations.s
Log Message:
-----------
[RISCV] Fix QC.E.LI -> C.LI with Bare Symbol Compression (#146763)
There's a long comment explaining this approach in RISCVInstrInfoXqci.td
This change also fixes some problems when fixups are able to be resolved for `qc.e.li` and `qc.li`.
Commit: 9ba45c5c5e6cf8f8c800260e8c84e19e33e2fa34
https://github.com/llvm/llvm-project/commit/9ba45c5c5e6cf8f8c800260e8c84e19e33e2fa34
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Move RISCVDAGToDAGISel::SelectAddrRegRegScale definition later. NFC
This function was placed between some static functions and their
callers. Reorder to keep the related code together.
Commit: 9e9fdd433adfd4c1da46e475f4bbe8fdbf7c04f9
https://github.com/llvm/llvm-project/commit/9e9fdd433adfd4c1da46e475f4bbe8fdbf7c04f9
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang-rt/lib/cuda/descriptor.cpp
Log Message:
-----------
[flang][cuda] Fix definition of CUFSetAllocatorIndex (#148778)
Commit: 028dfd7756e3113ea8fe12bec20ec00c68a98c6a
https://github.com/llvm/llvm-project/commit/028dfd7756e3113ea8fe12bec20ec00c68a98c6a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Replace tab character. NFC
Commit: 769bd90f8b2fbb345b115586e81edf3a70ec8cc1
https://github.com/llvm/llvm-project/commit/769bd90f8b2fbb345b115586e81edf3a70ec8cc1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M flang/lib/Lower/ConvertVariable.cpp
Log Message:
-----------
[flang] Fix a warning
This patch fixes:
flang/lib/Lower/ConvertVariable.cpp:787:22: error: unused variable
'fieldTy' [-Werror,-Wunused-variable]
Commit: b1a25ce73c6a4fd123b92682e465215d39154244
https://github.com/llvm/llvm-project/commit/b1a25ce73c6a4fd123b92682e465215d39154244
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[Sema] Remove unnecessary casts (NFC) (#148762)
getAsmLabel() already returns Expr *.
Commit: 7e7340d276b5cf85816fd7cb8f6d22f9f810f16a
https://github.com/llvm/llvm-project/commit/7e7340d276b5cf85816fd7cb8f6d22f9f810f16a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
Log Message:
-----------
[AArch64] Remove an unnecessary cast (NFC) (#148763)
OpcA is already of unsigned.
Commit: a869f7e82143e836d5c8c145cbe69c4786e545e7
https://github.com/llvm/llvm-project/commit/a869f7e82143e836d5c8c145cbe69c4786e545e7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
Log Message:
-----------
[CodeGen] Remove an unnecessary cast (NFC) (#148764)
getExpression() already returns DIExpression *.
Commit: c4450aa96e40cf1652bc27d73fa5948f330cad84
https://github.com/llvm/llvm-project/commit/c4450aa96e40cf1652bc27d73fa5948f330cad84
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Target/Lanai/LanaiFrameLowering.cpp
Log Message:
-----------
[Lanai] Remove unnecessary casts (NFC) (#148765)
getInstrInfo() already returns const LanaiInstrInfo *.
Likewise, getRegisterInfo() already returns const LanaiRegisterInfo *.
Commit: c8d3e61216f08f228278aa5da9eb24540737259e
https://github.com/llvm/llvm-project/commit/c8d3e61216f08f228278aa5da9eb24540737259e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/DWARFCFIChecker/Registers.h
Log Message:
-----------
[DWARFCFIChecker] Use llvm::unique (NFC) (#148766)
While I am at it, this patch replaces resize with erase, which is a
lot shorter and idiomatic.
Commit: 7c83d66719e1ccf75bb25d427f1b0cce57028b4a
https://github.com/llvm/llvm-project/commit/7c83d66719e1ccf75bb25d427f1b0cce57028b4a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M llvm/lib/Analysis/CallGraph.cpp
M llvm/lib/Analysis/LoopInfo.cpp
M llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp
M llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp
M llvm/lib/DebugInfo/DWARF/LowLevel/DWARFCFIProgram.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/ARM/ARMTargetObjectFile.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
M llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
Log Message:
-----------
[llvm] Remove unused includes (NFC) (#148768)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: c06d3a7b728293cbc53ff91239d6cd87c0982ffb
https://github.com/llvm/llvm-project/commit/c06d3a7b728293cbc53ff91239d6cd87c0982ffb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M mlir/lib/Dialect/PDL/IR/PDL.cpp
M mlir/lib/Dialect/PDLInterp/IR/PDLInterp.cpp
M mlir/lib/Dialect/Ptr/IR/PtrAttrs.cpp
M mlir/lib/Dialect/Ptr/IR/PtrDialect.cpp
M mlir/lib/Dialect/Ptr/IR/PtrTypes.cpp
M mlir/lib/Dialect/Quant/IR/QuantDialectBytecode.cpp
M mlir/lib/Dialect/Quant/IR/QuantTypes.cpp
M mlir/lib/Dialect/Quant/Transforms/NormalizeQuantTypes.cpp
M mlir/lib/Dialect/Quant/Transforms/StripFuncQuantTypes.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
M mlir/lib/Dialect/SCF/Transforms/BufferDeallocationOpInterfaceImpl.cpp
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
M mlir/lib/Dialect/SCF/Transforms/ParallelLoopCollapsing.cpp
M mlir/lib/Dialect/SCF/Transforms/UpliftWhileToFor.cpp
M mlir/lib/Dialect/SCF/Utils/AffineCanonicalizationUtils.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Dialect/SMT/IR/SMTAttributes.cpp
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/lib/Dialect/Shape/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Shape/Transforms/OutlineShapeComputation.cpp
M mlir/lib/Dialect/Shape/Transforms/ShapeToShapeLowering.cpp
M mlir/lib/Dialect/Traits.cpp
M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
M mlir/lib/Dialect/Vector/IR/ScalableValueBoundsConstraintSet.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorGather.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorScan.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorMaskElimination.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
M mlir/lib/Dialect/X86Vector/IR/X86VectorDialect.cpp
M mlir/lib/Dialect/X86Vector/Transforms/AVXTranspose.cpp
M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
Log Message:
-----------
[mlir] Remove unused includes (NFC) (#148769)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: da283b54d964c4b08395baa57d8b33dcb59dfd07
https://github.com/llvm/llvm-project/commit/da283b54d964c4b08395baa57d8b33dcb59dfd07
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-07-14 (Mon, 14 Jul 2025)
Changed paths:
M clang/test/Format/multiple-inputs-error.cpp
M clang/test/Format/ranges.cpp
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
Revert "[clang-format] Fix an off-by-1 bug with -length option (#143302)"
This reverts commit 1fae5918b3d6fbed8ce6d8a2edf31bdf304ca8db because it may
break VSCode.
Closes #146036
Commit: 977cfea786401eab2b167307221a15fa6747e28e
https://github.com/llvm/llvm-project/commit/977cfea786401eab2b167307221a15fa6747e28e
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/AnalysisBasedWarnings.cpp
A clang/test/SemaCXX/noreturn-vars.cpp
Log Message:
-----------
[Analysis] Avoid some warnings about exit from noreturn function (#144408)
Compiler sometimes issues warnings on exit from 'noreturn' functions, in
the code like:
[[noreturn]] extern void nonreturnable();
void (*func_ptr)();
[[noreturn]] void foo() {
func_ptr = nonreturnable;
(*func_ptr)();
}
where exit cannot take place because the function pointer is actually a
pointer to noreturn function.
This change introduces small data analysis that can remove some of the
warnings in the cases when compiler can prove that the set of reaching
definitions consists of noreturn functions only.
Commit: 0be51cff91293eb0f4ee11088d4d9edade590b48
https://github.com/llvm/llvm-project/commit/0be51cff91293eb0f4ee11088d4d9edade590b48
Author: quic_hchandel <quic_hchandel at quicinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/CodeGen/RISCV/xqcicli.ll
Log Message:
-----------
[RISCV] Add ISel patterns for Qualcomm uC Xqcicli extension (#148121)
Add CodeGen patterns for conditional load immediate instructions
Commit: 3d50e1f3e83eaa77a09ab8336fac45a52ee9c1e5
https://github.com/llvm/llvm-project/commit/3d50e1f3e83eaa77a09ab8336fac45a52ee9c1e5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
A llvm/test/CodeGen/ARM/stack-protector-target.ll
A llvm/test/CodeGen/LoongArch/stack-protector-target.ll
A llvm/test/CodeGen/PowerPC/stack-protector-target.ll
M llvm/test/CodeGen/RISCV/stack-protector-target.ll
A llvm/test/CodeGen/SPARC/stack-protector-target.ll
A llvm/test/CodeGen/X86/stack-protector-target-openbsd.ll
Log Message:
-----------
RuntimeLibcalls: Add some tests for OpenBSD stack protectors (#147888)
7dce16f69dc3e26cb74d5ad38b0648a6f47f9640 removed a libcall for
STACKPROTECTOR_CHECK_FAIL from OpenBSD but added no tests.
Add a basic test copied from RISCV into all the backends on
the OpenBSD page of supported architectures before I potentially
break in in RuntimeLibcalls refactoring.
Commit: 0b674f4c52237fed91c142ca3766b58f335fe120
https://github.com/llvm/llvm-project/commit/0b674f4c52237fed91c142ca3766b58f335fe120
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430ELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaAsmBackend.cpp
Log Message:
-----------
MCFixup: Replace getTargetKind with getKind
MCFixupKind is now a type alias (fixup kinds are inherently
target-specific). getTargetKind is no longer necessary.
Commit: dae72bc659d79f59e3b26a948158e3f37b33471b
https://github.com/llvm/llvm-project/commit/dae72bc659d79f59e3b26a948158e3f37b33471b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/test/CodeGen/X86/freeze-unary.ll
Log Message:
-----------
[X86] freeze-unary.ll - show tests failing to remove freeze from ISD::ABS node
Unlike the abs intrinsic, the ISD::ABS node defines ABS(INT_MIN) -> INT_MIN, not poison is generated
Commit: acf07dc77cba07d67c85e120c2eb8094438572e9
https://github.com/llvm/llvm-project/commit/acf07dc77cba07d67c85e120c2eb8094438572e9
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/Sema/Overload.h
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
Log Message:
-----------
[Clang] Do not treat Foo -> const Foo conversion sequences as perfect (#148613)
For implicit object arguments.
This fixes a regression introduced by the "perfect match" overload
resolution mechanism introduced in 8c5a307.
Note that GCC allows the ambiguity between a const and non-const
candidate to be resolved. But this patch focuses on restoring the Clang
20 behavior, and to fix the cases which we did resolve incorrectly.
Fixes #147374
Commit: 0991435fc3e638caad036085f73d8e7a62bfb60f
https://github.com/llvm/llvm-project/commit/0991435fc3e638caad036085f73d8e7a62bfb60f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Mostly move x86 configuration into tablegen (#148575)
This is getting pretty ugly, but seems to be the worst of the
cases. Opting out of the base set of calls for the various windows
cases is really ugly. We need to apply that to the arm cases as well.
It also may make sense to go back to transposing the architecture
and operating system (i.e. make isOSWindows the SystemLibrary
and then modify based on architecture).
Commit: 5ba458c559b04efca307dc86f8265cf6dffaf666
https://github.com/llvm/llvm-project/commit/5ba458c559b04efca307dc86f8265cf6dffaf666
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
Log Message:
-----------
MCFixup: Replace getTargetKind with getKind
Commit: 16798ee7bf86d8c9c68e7b668a52039f2dce35f9
https://github.com/llvm/llvm-project/commit/16798ee7bf86d8c9c68e7b668a52039f2dce35f9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/MC/MCContext.cpp
M llvm/test/CodeGen/AArch64/unsupported-object-format-err.ll
Log Message:
-----------
MC: Use reportFatalUsageError for COFF with non-windows (#147911)
Commit: 13d818806dbe24d58d92d9f533c61afab0e429a1
https://github.com/llvm/llvm-project/commit/13d818806dbe24d58d92d9f533c61afab0e429a1
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCFixup.h
Log Message:
-----------
MCFixup: Remove getTargetKind
MCFixupKind is now a type alias (fixup kinds are inherently
target-specific). getTargetKind is no longer necessary.
Commit: b0769aa290fd11d1154f7d2779e59bfcc4314e8f
https://github.com/llvm/llvm-project/commit/b0769aa290fd11d1154f7d2779e59bfcc4314e8f
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/IR/Instructions.cpp
Log Message:
-----------
[IR] Make intrinsic checks more efficient (NFC) (#148682)
Directly cast the callee operand instead of going through
getCalledFunction(). We can do this because for intrinsics the function
type between the call and the function is guaranteed to match.
This is a minor compile-time improvement as is, but has a much bigger
impact with a future change that makes getCalledFunction() more
expensive.
There is some code duplication between these four uses, but they are
each just different enough that representing one in terms of another
would be less efficient.
Commit: c8d0e247453af3c5c031ed210736f650e6be2289
https://github.com/llvm/llvm-project/commit/c8d0e247453af3c5c031ed210736f650e6be2289
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-vmla.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
Log Message:
-----------
[VPlan] Preserve trunc nuw/nsw in VPRecipeWithIRFlags (#144700)
This preserves the nuw/nsw flags on widened truncs by checking for
TruncInst in the VPIRFlags constructor
The motivation for this is to be able to fold away some redundant truncs
feeding into uitofps (or potentially narrow the inductions feeding them)
Commit: ee9b84f5bed7027b4a81f68bf853f35d6e749eef
https://github.com/llvm/llvm-project/commit/ee9b84f5bed7027b4a81f68bf853f35d6e749eef
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
A llvm/include/llvm/BinaryFormat/SFrame.h
M llvm/unittests/BinaryFormat/CMakeLists.txt
A llvm/unittests/BinaryFormat/SFrameTest.cpp
Log Message:
-----------
[BinaryFormat] Add "SFrame" structures and constants (#147264)
This patch defines the structures and constants used by the SFrame
unwind info format supported by GNU binutils. For more information about
the format, see https://sourceware.org/binutils/wiki/sframe and
https://discourse.llvm.org/t/rfc-adding-sframe-support-to-llvm/86900
The patch uses the GNU names for all relevant entities, but I've converted
them to the llvm naming convention, and I've replaced macros with enums.
Commit: 9ef293ea249d19b795ff217bad6e7f6d0a723d29
https://github.com/llvm/llvm-project/commit/9ef293ea249d19b795ff217bad6e7f6d0a723d29
Author: Ami-zhang <zhanglimin at loongson.cn>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lld/docs/ReleaseNotes.rst
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[LoongArch] Add supplemental release notes for LLVM 21 (#148771)
Commit: 5e303e80e685a4d0b7035ef73058f42218bc2daa
https://github.com/llvm/llvm-project/commit/5e303e80e685a4d0b7035ef73058f42218bc2daa
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/test/Analysis/stream.c
Log Message:
-----------
[clang][analyzer] Add C standard streams to the internal memory space (#147766)
Variables `stdin`, `stdout`, `stderr` are now added to internal memory space
instead of system memory space. The system memory space is invalidated
at calls to system-defined functions which is not the correct behavior for
the standard stream variables.
Commit: b80b02536b20d2170820e56ef776f43640ee2495
https://github.com/llvm/llvm-project/commit/b80b02536b20d2170820e56ef776f43640ee2495
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
A llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32.s
A llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32_err.s
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_wmma_w32.txt
Log Message:
-----------
AMDGPU: Implement MC layer support for gfx1250 wmma instructions. (#148570)
Regular wmma/swmmac plus matrix reuse only.
---------
Co-authored-by: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Co-authored-by: Shilei Tian <Shilei.Tian at amd.com>
Commit: de551c640349e6fe898c87db2b527d87f42c138e
https://github.com/llvm/llvm-project/commit/de551c640349e6fe898c87db2b527d87f42c138e
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/test/CodeGen/AMDGPU/opencl-printf.ll
Log Message:
-----------
[AMDGPU] Support 'F' and 'A' conversion specifiers with ocl printf (#148784)
Runtime support in progress downstream..
Commit: 5fc844acd8163373e74d16042df9e17ae9e18ad4
https://github.com/llvm/llvm-project/commit/5fc844acd8163373e74d16042df9e17ae9e18ad4
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__type_traits/is_core_convertible.h
M libcxx/include/optional
M libcxx/test/std/utilities/optional/optional.comp_with_t/equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/greater.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/greater_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/less_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/less_than.pass.cpp
M libcxx/test/std/utilities/optional/optional.comp_with_t/not_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/greater_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/greater_than.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/less_equal.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/less_than.pass.cpp
M libcxx/test/std/utilities/optional/optional.relops/not_equal.pass.cpp
Log Message:
-----------
[libc++] P2944R3: Constrained comparisons - `optional` (#144249)
Partially implements [P2944R3](https://wg21.link/P2944R3) which adds
constrained comparisons to std::optional.
Closes #136767
# References
[optional.relops](https://wg21.link/optional.relops)
[optional.comp.with.t](https://wg21.link/optional.comp.with.t)
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: cbdc18542c485282d1834c347156d77a97bf2615
https://github.com/llvm/llvm-project/commit/cbdc18542c485282d1834c347156d77a97bf2615
Author: Matthias Springer <me at m-sp.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[mlir][arith] Fix bug in `arith.bitcast` canonicalizer (#148795)
`bitcast(bitcast(x))` was incorrectly folded to `x`.
Commit: 8ee32c7b367336f7281aa78c823f7bae4d5287c2
https://github.com/llvm/llvm-project/commit/8ee32c7b367336f7281aa78c823f7bae4d5287c2
Author: Matthias Springer <me at m-sp.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Dialect Conversion: Store materialization metadata separately (#148415)
Store metadata about unresolved materializations in a separate data
structure. This is in preparation of the One-Shot Dialect Conversion
refactoring, which no longer maintains a stack of `IRRewrite` objects.
Therefore, metadata about unresolved materializations can no longer be
retrieved from `UnresolvedMaterializationRewrite` objects.
This commit also removes a pointer indirection and may slightly improve
the performance of the existing driver.
Commit: e74520fae690392f43936bb3c4c02b0ba088ccfa
https://github.com/llvm/llvm-project/commit/e74520fae690392f43936bb3c4c02b0ba088ccfa
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/freeze-unary.ll
Log Message:
-----------
[DAG] canCreateUndefOrPoison - add handling for ISD::ABS nodes (#148791)
Unlike the abs intrinsic, the ISD::ABS node defines ABS(INT_MIN) -> INT_MIN, so no undef/poison is created by the node itself
Commit: a789b3f381bfb98009d72115c1f47b7516dd6af3
https://github.com/llvm/llvm-project/commit/a789b3f381bfb98009d72115c1f47b7516dd6af3
Author: Trevor Gross <tmgross at umich.edu>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/test/CodeGen/ARM/llvm.frexp.ll
M llvm/test/CodeGen/Mips/ldexp.ll
Log Message:
-----------
[test] Add missing tests for Arm frexpf128 and Mips ldexpf128 (#148793)
These platforms have tests for the rest of the float sizes but not
`f128`. Add them here.
Commit: 7c30897b4cff758321d864adf1d58533eedbdb98
https://github.com/llvm/llvm-project/commit/7c30897b4cff758321d864adf1d58533eedbdb98
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/test/Transforms/InferFunctionAttrs/no-proto.ll
Log Message:
-----------
[TLI] Handle cabs without parameters gracefully
Check that the function has at least one parameter before trying
to access its type.
Fixes https://github.com/llvm/llvm-project/issues/148770.
Commit: 29436737baf8675ec98c8f738e291acb44eacd85
https://github.com/llvm/llvm-project/commit/29436737baf8675ec98c8f738e291acb44eacd85
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
Log Message:
-----------
[NFC][-Wunsafe-buffer-usage] Refactor safe pattern check for pointer-size pairs (#145626)
Refactor the safe pattern analysis of pointer and size expression pairs
so that the check can be re-used in more places. For example, it can be
used to check whether the following cases are safe:
- `std::span<T>{ptr, size} // span construction`
- `snprintf(ptr, size, "%s", ...) // unsafe libc call`
- `printf("%.*s", size, ptr) // unsafe libc call`
Commit: 69ea174bf07533b7f63139f78b0ec3d3766aedc4
https://github.com/llvm/llvm-project/commit/69ea174bf07533b7f63139f78b0ec3d3766aedc4
Author: Keno Fischer <keno at juliahub.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/tools/llvm-shlib/CMakeLists.txt
Log Message:
-----------
llvm-shlib: Fix mingw dll exports (#148772)
In c87d198cd964f37343083848f8fdd58bb0b00156, the `__jit_debug_*` symbols
gained explicit dllexport annotations. Unfortunately, mingw's linkers
have a quirk where the presence of any dllexport symbols at all will
switch off the `-export-all-symbols` flag, so without a full conversion
to dllexport annotations (#109483), the mingw LLVM dll build is broken
in LLVM 20+ when building with GCC (when building with clang,
LLVM_ALWAYS_EXPORT expands to the default visibility attribute,
see extended discussion in #148772).
Fix this by adding the flag explicitly as was done for
clang-shlib earlier in https://reviews.llvm.org/D151620.
Commit: c363a3f9c858b38afa34f3a8ebcc3fa7a4062315
https://github.com/llvm/llvm-project/commit/c363a3f9c858b38afa34f3a8ebcc3fa7a4062315
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
Log Message:
-----------
[LV] Ensure getScaledReductions only matches extends inside the loop (#148264)
In getScaledReductions for the case where we try to match a partial
reduction of the form:
%phi = phi i32 ...
...
%add = add i32 %phi, %zext
where
%zext = i8 %some_val to i32
we should ensure that %zext is actually inside the loop.
Fixes https://github.com/llvm/llvm-project/issues/148260
Commit: 8aeab8faeebfa737a388041e5b37717ab15d387e
https://github.com/llvm/llvm-project/commit/8aeab8faeebfa737a388041e5b37717ab15d387e
Author: WhatAmISupposedToPutHere <fnkl.kernel at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/test/Driver/mingw.cpp
Log Message:
-----------
[Driver][MinGW] Allow using clang driver to link ARM64X PEs. (#148064)
Similar to how clang-cl driver does it, make it possible to build arm64x
binaries with a mingw-style invocation.
Signed-off-by: Sasha Finkelstein <fnkl.kernel at gmail.com>
Commit: aa0629dabeed0088674d23340c9c3c9932681d0f
https://github.com/llvm/llvm-project/commit/aa0629dabeed0088674d23340c9c3c9932681d0f
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
[CodeGen][NPM] Read TargetMachine's EnableIPRA option (#148108)
same as https://github.com/llvm/llvm-project/pull/138670,
Co-authored-by : Oke, Akshat
<[Akshat.Oke at amd.com](mailto:Akshat.Oke at amd.com)>
Commit: 7345508c6febc57eaac985ef2fb14beabdc4d461
https://github.com/llvm/llvm-project/commit/7345508c6febc57eaac985ef2fb14beabdc4d461
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
A libcxx/cmake/caches/Generic-hardening-mode-extensive-observe-semantic.cmake
M libcxx/docs/Hardening.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__config
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_array.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_integral.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.extents.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.layout_right.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.extents.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.layout_left.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.non_unique.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.non_unique.pass.cpp
M libcxx/test/libcxx/thread/thread.barrier/assert.arrive.pass.cpp
M libcxx/test/libcxx/thread/thread.latch/assert.arrive_and_wait.pass.cpp
M libcxx/test/libcxx/thread/thread.latch/assert.ctor.pass.cpp
M libcxx/test/libcxx/thread/thread.semaphore/assert.ctor.pass.cpp
M libcxx/test/support/check_assertion.h
M libcxx/test/support/test.support/test_check_assertion.pass.cpp
M libcxx/utils/ci/run-buildbot
M libcxx/utils/libcxx/test/params.py
M libcxx/vendor/llvm/default_assertion_handler.in
M libcxxabi/src/demangle/DemangleConfig.h
Log Message:
-----------
[libc++][hardening] Introduce assertion semantics (#148268)
Assertion semantics closely mimic C++26 Contracts evaluation semantics.
This brings our implementation closer in line with C++26 Library
Hardening (one particular benefit is that using the `observe` semantic
makes adopting hardening easier for projects).
Commit: 58d79aaba6765606f78fc6ec6b9ae1db3b44d834
https://github.com/llvm/llvm-project/commit/58d79aaba6765606f78fc6ec6b9ae1db3b44d834
Author: David Green <david.green at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-div.ll
Log Message:
-----------
[AArch64] Guard against non-simple types in udiv sve costs. (#148580)
The code here probably needs to change to handle types more uniformly,
but this patch prevents it from trying to use a simple type where it does
not exist.
Fixes #148438.
Commit: a1c61ac7563220f3b0180d4367937d910dc85849
https://github.com/llvm/llvm-project/commit/a1c61ac7563220f3b0180d4367937d910dc85849
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-composite-simd-if.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-reduction.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[mlir][OpenMP] Allow composite SIMD REDUCTION and IF (#147568)
Reduction support: https://github.com/llvm/llvm-project/pull/146671
If Support is fixed in this PR
The problem for the IF clause in composite constructs was that wsloop
and simd both operate on the same CanonicalLoopInfo structure: with the
SIMD processed first, followed by the wsloop. Previously the IF clause
generated code like
```
if (cond) {
while (...) {
simd_loop_body;
}
} else {
while (...) {
nonsimd_loop_body;
}
}
```
The problem with this is that this invalidates the CanonicalLoopInfo
structure to be processed by the wsloop later. To avoid this, in this
patch I preserve the original loop, moving the IF clause inside of the
loop:
```
while (...) {
if (cond) {
simd_loop_body;
} else {
non_simd_loop_body;
}
}
```
On simple examples I tried LLVM was able to hoist the if condition
outside of the loop at -O3.
The disadvantage of this is that we cannot add the
llvm.loop.vectorize.enable attribute on either the SIMD or non-SIMD
loops because they both share a loop back edge. There's no way of
solving this without keeping the old design of having two different
loops: which cannot be represented using only one CanonicalLoopInfo
structure. I don't think the presence or absence of this attribute makes
much difference. In my testing it is the llvm.loop.parallel_access
metadata which makes the difference to vectorization. LLVM will
vectorize if legal whether or not this attribute is there in the TRUE
branch. In the FALSE branch this means the loop might be vectorized even
when the condition is false: but I think this is still standards
compliant: OpenMP 6.0 says that when the if clause is false that should
be treated like the SIMDLEN clause is one. The SIMDLEN clause is defined
as a "hint". For the same reason, SIMDLEN and SAFELEN clauses are
silently ignored when SIMD IF is used.
I think it is better to implement SIMD IF and ignore SIMDLEN and SAFELEN
and some vectorization encouragement metadata when combined with IF than
to ignore IF because IF could have correctness consequences whereas the
rest are optimiztion hints. For example, the user might use the IF
clause to disable SIMD programatically when it is known not safe to
vectorize the loop. In this case it is not at all safe to add the
parallel access or SAFELEN metadata.
Commit: 259a11db5e8f558072a2253c02c775e39e23f05d
https://github.com/llvm/llvm-project/commit/259a11db5e8f558072a2253c02c775e39e23f05d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/CodeGen/StackProtector.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
A llvm/test/CodeGen/NVPTX/no-stack-protector-libcall-error.ll
Log Message:
-----------
StackProtector: Use RuntimeLibcalls to query libcall names (#147913)
The compiler should not introduce calls to arbitrary strings
that aren't defined in RuntimeLibcalls. Previously OpenBSD was
disabling the default __stack_chk_fail, but there was no record
of the alternative __stack_smash_handler function it emits instead.
This also avoids a random triple check in the pass.
Commit: e68ef116b3f0701d9a2bfc5fb96597cff4ac8e4a
https://github.com/llvm/llvm-project/commit/e68ef116b3f0701d9a2bfc5fb96597cff4ac8e4a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
Log Message:
-----------
RuntimeLibcalls: Add entries for some exception related functions (#147914)
SjLjEHPrepare and WasmEHPrepare directly emit calls to these by
name, and these are not tracked in RuntimeLibcalls. It will be easier
to fix this when RuntimeLibcalls is turned into an analysis, so just
add the entries for now.
Commit: d7dc5367eda08e9c688d0055df44156c9508487b
https://github.com/llvm/llvm-project/commit/d7dc5367eda08e9c688d0055df44156c9508487b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SafeStack.cpp
A llvm/test/Transforms/SafeStack/NVPTX/lit.local.cfg
A llvm/test/Transforms/SafeStack/NVPTX/safestack-libcall-error.ll
Log Message:
-----------
SafeStack: Emit call to __stack_chk_fail through RuntimeLibcalls (#147915)
Avoid hardcoding the function name, and query if it's really
supported or not.
Commit: 0c3a2faa8505bb4a6d56682b7e63368a246e7ba1
https://github.com/llvm/llvm-project/commit/0c3a2faa8505bb4a6d56682b7e63368a246e7ba1
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libcxx/include/__new/allocate.h
Log Message:
-----------
[libc++] Simplify the implementation of __libcpp_{,de}allocate (#147989)
GCC 15 also supports `__buitin_operator_{new,delete}` now, so the
`#else` cases are dead code. This patch inlines the calls to the wrapper
functions and simplifies some surrounding code.
Commit: 148708493a80f9d75513f2e3721d043dd5b969a7
https://github.com/llvm/llvm-project/commit/148708493a80f9d75513f2e3721d043dd5b969a7
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/Target/TargetLoweringObjectFile.cpp
Log Message:
-----------
[NFC] Hoist pseudo probe desc emission code for reuse (#148756)
This PR is part of #123870.
The pseudo probe desc emission code can be reused by other target.
Commit: b2eb7b070115cd6c17b9d1d164d52ac5e0d16b14
https://github.com/llvm/llvm-project/commit/b2eb7b070115cd6c17b9d1d164d52ac5e0d16b14
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
Log Message:
-----------
SPIRV: Define runtime libcalls to be (almost) empty (#148631)
This is a behavior change; previously SPIRV inherited
a default set of calls which seems like a mistake. This
defines a library set with no calls. Add memcpy and memset
as a hack; this avoids PreISelIntrinsicLowering performing
the default expansion. SPIRVPrepareFunctions also calls
the utilities to expand these but the resulting output
is slightly different. The backend specific version
can probably be removed, it for some reason has a larger
output than the default one.
Commit: a64bfd8a5186bc5b967878689509db81b9d1922c
https://github.com/llvm/llvm-project/commit/a64bfd8a5186bc5b967878689509db81b9d1922c
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
Log Message:
-----------
[lldb] Fix Disasembler build error on 32-bit systems
After changes in https://github.com/llvm/llvm-project/pull/145793.
/home/david.spickett/llvm-project/lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp:1360:49: error: non-const lvalue reference to type 'uint64_t' (aka 'unsigned long long') cannot bind to a value of unrelated type 'size_t' (aka 'unsigned int')
1360 | status = m_disasm_up->getInstruction(mc_inst, size, data, pc, llvm::nulls());
| ^~~~
/home/david.spickett/llvm-project/llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h:135:64: note: passing argument to parameter 'Size' here
135 | virtual DecodeStatus getInstruction(MCInst &Instr, uint64_t &Size,
| ^
1 error generated.
The type used in the LLVM method we call is uin64_t so use that instead.
It's overkill for what it is, but that's a separate issue if anyone cares.
Also removed the unused form of GetMCInst.
Commit: 92501396b42411d404729608d0456c9c29b06386
https://github.com/llvm/llvm-project/commit/92501396b42411d404729608d0456c9c29b06386
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/CodeGen/SafeStack.cpp
A llvm/test/Transforms/SafeStack/NVPTX/safestack-pointer-address-libcall-error.ll
Log Message:
-----------
SafeStack: Emit __safestack_pointer_address call through RuntimeLibcalls (#147916)
Stop using hardcoded function named and check availability. This only fixes
the forced usage via command line in the pass itself; the implementations
inside of TargetLoweringBase hide additional call emission.
Commit: bd4e7f5f5d90644b4899836776b30826f89bc154
https://github.com/llvm/llvm-project/commit/bd4e7f5f5d90644b4899836776b30826f89bc154
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/load-combine.ll
Log Message:
-----------
[LLVM][DAGCombiner] Fix size calculations in calculateByteProvider. (#148425)
calculateByteProvider only cares about scalars or a single element
within a vector. For the later there is the VectorIndex parameter to
identify the element. All other properties, and specificially Index, are
related to the underyling scalar type and thus when taking the size of a
type it's the scalar size that matters.
Fixes https://github.com/llvm/llvm-project/issues/148387
Commit: a40dc05898b58a0e9534d8fda3bc1b28c398347b
https://github.com/llvm/llvm-project/commit/a40dc05898b58a0e9534d8fda3bc1b28c398347b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Mark canonical IV and reduction phis as not writing memory (NFC).
Both recipes do not write to memory. Should be NFC at the moment, as
they cannot be removed currently due to being in a cycle.
Commit: fda3fbee6f4ae241f46f1328efdc1aae1e49ea92
https://github.com/llvm/llvm-project/commit/fda3fbee6f4ae241f46f1328efdc1aae1e49ea92
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__configuration/availability.h
R libcxx/include/__log_hardening_failure
M libcxx/include/module.modulemap.in
M libcxx/lib/abi/CHANGELOG.TXT
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/CMakeLists.txt
R libcxx/src/log_hardening_failure.cpp
R libcxx/test/libcxx/assertions/log_hardening_failure.pass.cpp
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
Revert "[libc++][hardening] Introduce a dylib function to log hardening errors." (#148787)
Reverts llvm/llvm-project#148266
I'm reverting this temporarily, since the release branch is today and
this is ABI sensitive. Let's wait until after the branch so that we have
plenty time to discuss the patch.
Commit: c6ac07b95a544c4ea3603792622d99c5cecb7a41
https://github.com/llvm/llvm-project/commit/c6ac07b95a544c4ea3603792622d99c5cecb7a41
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/dex/tools/TestToolBase.py
Log Message:
-----------
[Dexter] Add option to Dexter to name results based on directory (#148611)
As a legacy of Dexter's role as a test runner, it selects a name for
result files based on the relative path from the test root to each
individual test. Since Dexter no longer takes a test directory as an
argument, only the basename for each test is ever used. This patch adds
an optional --test-root-dir argument, allowing for relative paths to be
used for result files again.
Commit: af99f18d91a440504f2e375ee78a2a744e39ab65
https://github.com/llvm/llvm-project/commit/af99f18d91a440504f2e375ee78a2a744e39ab65
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
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/LoweringPrepare.cpp
M clang/lib/CIR/Lowering/CIRPasses.cpp
Log Message:
-----------
[CIR] Upstream the basic structure of LoweringPrepare pass (#148545)
Upstream, the basic structure of the LoweringPrepare pass as a
prerequisite for other ComplexType PR's
https://github.com/llvm/llvm-project/issues/141365
Commit: 97d44e316676833c11be72111c944844862ae12a
https://github.com/llvm/llvm-project/commit/97d44e316676833c11be72111c944844862ae12a
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lldb/test/Shell/Commands/command-disassemble-riscv32-bytes.s
Log Message:
-----------
[lldb][test] Disable riscv32 disassembly filter test on Windows
Added by https://github.com/llvm/llvm-project/pull/145793
Failing on our Windows on Arm bot:
https://github.com/llvm/llvm-project/pull/145793
Shebang lines don't work on Windows and we can't pass "python script_name"
to the "fdis set" commadn because of the way arguments are parsed currently.
I can fix that but that needs review, disable the test for now.
Commit: adb6efeac92ba13d65ecacc12f8f84e83a2286d0
https://github.com/llvm/llvm-project/commit/adb6efeac92ba13d65ecacc12f8f84e83a2286d0
Author: Gaëtan Bossu <gaetan.bossu at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/segmented-loads.ll
Log Message:
-----------
[SLP] Fix cost estimation of external uses with wrong VF (#148185)
It assumed that the VF remains constant throughout the tree. That's not
always true. This meant that we could query the extraction cost for a
lane that is out of bounds.
While experimenting with re-vectorisation for AArch64, we ran into this
issue. We cannot add a proper AArch64 test as more changes would need to
be brought in.
This commit is only fixing the computation of VF and adding an assert.
Some tests were failing after adding the assert:
- foo() in llvm/test/Transforms/SLPVectorizer/X86/horizontal.ll
- test() in
llvm/test/Transforms/SLPVectorizer/X86/reduction-with-removed-extracts.ll
- test_with_extract() in
llvm/test/Transforms/SLPVectorizer/RISCV/segmented-loads.ll
Commit: 339a1f2e8f5c8f6a55e3f801e55c659bd526956c
https://github.com/llvm/llvm-project/commit/339a1f2e8f5c8f6a55e3f801e55c659bd526956c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
R libcxx/cmake/caches/Generic-hardening-mode-extensive-observe-semantic.cmake
M libcxx/docs/Hardening.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__config
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_array.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_integral.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.extents.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.layout_right.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.extents.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.layout_left.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.non_unique.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.non_unique.pass.cpp
M libcxx/test/libcxx/thread/thread.barrier/assert.arrive.pass.cpp
M libcxx/test/libcxx/thread/thread.latch/assert.arrive_and_wait.pass.cpp
M libcxx/test/libcxx/thread/thread.latch/assert.ctor.pass.cpp
M libcxx/test/libcxx/thread/thread.semaphore/assert.ctor.pass.cpp
M libcxx/test/support/check_assertion.h
M libcxx/test/support/test.support/test_check_assertion.pass.cpp
M libcxx/utils/ci/run-buildbot
M libcxx/utils/libcxx/test/params.py
M libcxx/vendor/llvm/default_assertion_handler.in
M libcxxabi/src/demangle/DemangleConfig.h
Log Message:
-----------
Revert "[libc++][hardening] Introduce assertion semantics" (#148822)
Reverts llvm/llvm-project#148268
It looks like this was based on #148266, which I reverted in #148787.
Commit: 0425a5df4d435461f772b5719de96ba2dce582cf
https://github.com/llvm/llvm-project/commit/0425a5df4d435461f772b5719de96ba2dce582cf
Author: William Huynh <William.Huynh at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCTestRules.cmake
Log Message:
-----------
[libc] Add hooks for extra options in running hermetic tests (#147931)
Part of #145349. These hooks are required downstream in order to run
hermetic tests. See https://github.com/arm/arm-toolchain/pull/420 for
more context on how this PR will be used.
Commit: ec149d5ef8930986bc3dc404cdb8f7e925333f6e
https://github.com/llvm/llvm-project/commit/ec149d5ef8930986bc3dc404cdb8f7e925333f6e
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M .github/workflows/libclang-python-tests.yml
M clang/CMakeLists.txt
R clang/bindings/python/tests/CMakeLists.txt
R clang/bindings/python/tests/__init__.py
R clang/bindings/python/tests/cindex/INPUTS/a.inc
R clang/bindings/python/tests/cindex/INPUTS/b.inc
R clang/bindings/python/tests/cindex/INPUTS/compile_commands.json
R clang/bindings/python/tests/cindex/INPUTS/header1.h
R clang/bindings/python/tests/cindex/INPUTS/header2.h
R clang/bindings/python/tests/cindex/INPUTS/header3.h
R clang/bindings/python/tests/cindex/INPUTS/hello.cpp
R clang/bindings/python/tests/cindex/INPUTS/include.cpp
R clang/bindings/python/tests/cindex/INPUTS/parse_arguments.c
R clang/bindings/python/tests/cindex/INPUTS/testfile.c
R clang/bindings/python/tests/cindex/__init__.py
R clang/bindings/python/tests/cindex/test_access_specifiers.py
R clang/bindings/python/tests/cindex/test_cdb.py
R clang/bindings/python/tests/cindex/test_code_completion.py
R clang/bindings/python/tests/cindex/test_comment.py
R clang/bindings/python/tests/cindex/test_cursor.py
R clang/bindings/python/tests/cindex/test_cursor_kind.py
R clang/bindings/python/tests/cindex/test_diagnostics.py
R clang/bindings/python/tests/cindex/test_enums.py
R clang/bindings/python/tests/cindex/test_exception_specification_kind.py
R clang/bindings/python/tests/cindex/test_file.py
R clang/bindings/python/tests/cindex/test_index.py
R clang/bindings/python/tests/cindex/test_lib.py
R clang/bindings/python/tests/cindex/test_linkage.py
R clang/bindings/python/tests/cindex/test_location.py
R clang/bindings/python/tests/cindex/test_rewrite.py
R clang/bindings/python/tests/cindex/test_source_range.py
R clang/bindings/python/tests/cindex/test_tls_kind.py
R clang/bindings/python/tests/cindex/test_token_kind.py
R clang/bindings/python/tests/cindex/test_tokens.py
R clang/bindings/python/tests/cindex/test_translation_unit.py
R clang/bindings/python/tests/cindex/test_type.py
R clang/bindings/python/tests/cindex/util.py
M clang/test/CMakeLists.txt
A clang/test/bindings/python/bindings.sh
A clang/test/bindings/python/lit.local.cfg
A clang/test/bindings/python/tests/__init__.py
A clang/test/bindings/python/tests/cindex/INPUTS/a.inc
A clang/test/bindings/python/tests/cindex/INPUTS/b.inc
A clang/test/bindings/python/tests/cindex/INPUTS/compile_commands.json
A clang/test/bindings/python/tests/cindex/INPUTS/header1.h
A clang/test/bindings/python/tests/cindex/INPUTS/header2.h
A clang/test/bindings/python/tests/cindex/INPUTS/header3.h
A clang/test/bindings/python/tests/cindex/INPUTS/hello.cpp
A clang/test/bindings/python/tests/cindex/INPUTS/include.cpp
A clang/test/bindings/python/tests/cindex/INPUTS/parse_arguments.c
A clang/test/bindings/python/tests/cindex/INPUTS/testfile.c
A clang/test/bindings/python/tests/cindex/__init__.py
A clang/test/bindings/python/tests/cindex/test_access_specifiers.py
A clang/test/bindings/python/tests/cindex/test_cdb.py
A clang/test/bindings/python/tests/cindex/test_code_completion.py
A clang/test/bindings/python/tests/cindex/test_comment.py
A clang/test/bindings/python/tests/cindex/test_cursor.py
A clang/test/bindings/python/tests/cindex/test_cursor_kind.py
A clang/test/bindings/python/tests/cindex/test_diagnostics.py
A clang/test/bindings/python/tests/cindex/test_enums.py
A clang/test/bindings/python/tests/cindex/test_exception_specification_kind.py
A clang/test/bindings/python/tests/cindex/test_file.py
A clang/test/bindings/python/tests/cindex/test_index.py
A clang/test/bindings/python/tests/cindex/test_lib.py
A clang/test/bindings/python/tests/cindex/test_linkage.py
A clang/test/bindings/python/tests/cindex/test_location.py
A clang/test/bindings/python/tests/cindex/test_rewrite.py
A clang/test/bindings/python/tests/cindex/test_source_range.py
A clang/test/bindings/python/tests/cindex/test_tls_kind.py
A clang/test/bindings/python/tests/cindex/test_token_kind.py
A clang/test/bindings/python/tests/cindex/test_tokens.py
A clang/test/bindings/python/tests/cindex/test_translation_unit.py
A clang/test/bindings/python/tests/cindex/test_type.py
A clang/test/bindings/python/tests/cindex/util.py
Log Message:
-----------
[clang][python][test] Move python binding tests to lit framework (#148802)
As discussed in PR #142353, the current testsuite of the `clang` Python
bindings has several issues:
- It `libclang.so` cannot be loaded into `python` to run the testsuite,
the whole `ninja check-all` aborts.
- The result of running the testsuite isn't report like the `lit`-based
tests, rendering them almost invisible.
- The testsuite is disabled in a non-obvious way (`RUN_PYTHON_TESTS`) in
`tests/CMakeLists.txt`, which again doesn't show up in the test results.
All these issues can be avoided by integrating the Python bindings tests
with `lit`, which is what this patch does:
- The actual test lives in `clang/test/bindings/python/bindings.sh` and
is run by `lit`.
- The current `clang/bindings/python/tests` directory (minus the
now-subperfluous `CMakeLists.txt`) is moved into the same directory.
- The check if `libclang` is loadable (originally from PR #142353) is
now handled via a new `lit` feature, `libclang-loadable`.
- The various ways to disable the tests have been turned into `XFAIL`s
as appropriate. This isn't complete and not completely tested yet.
Tested on `sparc-sun-solaris2.11`, `sparcv9-sun-solaris2.11`,
`i386-pc-solaris2.11`, `amd64-pc-solaris2.11`, `i686-pc-linux-gnu`, and
`x86_64-pc-linux-gnu`.
Co-authored-by: Rainer Orth <ro at gcc.gnu.org>
Commit: b3240b4889bb4b700e655d21e908ae07cfda5a55
https://github.com/llvm/llvm-project/commit/b3240b4889bb4b700e655d21e908ae07cfda5a55
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Passes.td
Log Message:
-----------
[CIR][NFC] Fix LoweringPrepare pass multi lines summary (#148826)
Fix the Lowering Prepare a multi-line summary
Commit: 8a7a64873b13e6fd931b748fbf50b3da26fe7fca
https://github.com/llvm/llvm-project/commit/8a7a64873b13e6fd931b748fbf50b3da26fe7fca
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libclc/CMakeLists.txt
A libclc/utils/CMakeLists.txt
Log Message:
-----------
[libclc] Move CMake for prepare_builtins to a subdirectory (#148815)
This simply makes things better self-contained.
Commit: 2f70e074f21ab00a3377a3a6dec32ab3684e33da
https://github.com/llvm/llvm-project/commit/2f70e074f21ab00a3377a3a6dec32ab3684e33da
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
A llvm/test/CodeGen/XCore/llvm.frexp.ll
Log Message:
-----------
XCore: Add frexp intrinsic test (#148676)
Commit: 8cbcaee7fe3629554fa21e7a82efaf1be300af42
https://github.com/llvm/llvm-project/commit/8cbcaee7fe3629554fa21e7a82efaf1be300af42
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
[CodeGen][NPM] Register Function Passes (#148109)
same as https://github.com/llvm/llvm-project/pull/138828,
Co-authored-by : Oke, Akshat
<[Akshat.Oke at amd.com](mailto:Akshat.Oke at amd.com)>
Commit: 57d81c23f4c8d3ad88210aab29f0809974e7d1ce
https://github.com/llvm/llvm-project/commit/57d81c23f4c8d3ad88210aab29f0809974e7d1ce
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaType.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[Clang] Remove explicit object from non member function. (#148807)
To avoid crashing later (as we assume only member functions can have
explicit object parameters)
Fixes #113185
Commit: 2a9afdb7937710a4af5ebe5ab3a4fdd235fbf08e
https://github.com/llvm/llvm-project/commit/2a9afdb7937710a4af5ebe5ab3a4fdd235fbf08e
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/Sema/ParsedAttr.h
Log Message:
-----------
[clang] Reduce the size of ParsedAttributesView and AttributePool (#148726)
These objects are used as local stack variables during parsing, and they
are not small. This patch reduces their sizes:
* `ParsedAttributesView`: 72 → 40 bytes
* `AttributePool`: 72 → 40 bytes
No negative performance impact has been
[observed](https://llvm-compile-time-tracker.com/compare.php?from=a709621cd545b061782b03136286227867b452a6&to=f50500b3c178e97c0c861301e853e6d5b859040b&stat=instructions:u).
**Context:**
We have some verilator-generated code with extremely deep nesting of
parenthesized expressions, e.g.:
```cpp
bool s =
(...(bool)(i[0])
|(bool)(i[1]))
|(bool)(i[2]))
| ...
|(bool)(i[n]));
```
Before this patch, on my local machine, Clang begins emitting
`-Wstack-exhausted` when `n` is 715. After the patch, that threshold
increases to `950`.
Commit: a2b31109458a10197e038959c1ccbcf9a84284a8
https://github.com/llvm/llvm-project/commit/a2b31109458a10197e038959c1ccbcf9a84284a8
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/Sema/DeclSpec.h
Log Message:
-----------
[clang] Reduce the small vector size for DeclTypeInfo. (#148788)
The `Declarator` class is large (4584 bytes) and used as a stack-local
variable during parsing.
This patch reduces the default size of its `DeclTypeInfo` member,
reducing the overall size down to 3880 bytes. This allows clang handle
more deeply nested expressions without exhausting the stack.
Combined with #148726, the nesting threshold for such expressions
increases to `~1100`.
No performance impact being
[observed](https://llvm-compile-time-tracker.com/compare.php?from=d4f5ed6a23464cbe831820cb695aa1d39b11e4aa&to=66ba54b8a295cc2759387ef2a4a162de2ad4946e&stat=instructions:u).
Commit: a9cfe84d8891cf40366354002cae85cac2332634
https://github.com/llvm/llvm-project/commit/a9cfe84d8891cf40366354002cae85cac2332634
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[llvm][docs] Correct formatting in lldb release note
When you use <> in markdown it thinks it's an HTML tag
and does not show anything.
Commit: cfdd5ca2edb1d427ae1879dcd38b71b73e928be3
https://github.com/llvm/llvm-project/commit/cfdd5ca2edb1d427ae1879dcd38b71b73e928be3
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/fmin-without-fast-math-flags.ll
A llvm/test/Transforms/LoopVectorize/fmin-without-fast-math-flags.ll
Log Message:
-----------
[LV] Add tests for fmin reductions without fast-math flags.
Some of those reductions can be vectorized with extra checks.
Extra tests for https://github.com/llvm/llvm-project/pull/148239 and
follow-ups.
Commit: 17d9f2aee9bcc52ac73ee8f1003fe36646912fda
https://github.com/llvm/llvm-project/commit/17d9f2aee9bcc52ac73ee8f1003fe36646912fda
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[clang][docs] Fix formatting in breaking changes note
Need to use double backticks to get plain text in RST.
Commit: acffe8324b6213db3bf39e8ef72545ffc0ef9ceb
https://github.com/llvm/llvm-project/commit/acffe8324b6213db3bf39e8ef72545ffc0ef9ceb
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/docs/HowToUpdateDebugInfo.rst
A llvm/docs/KeyInstructionsDebugInfo.md
M llvm/docs/UserGuides.rst
Log Message:
-----------
[KeyInstr] Add docs (#137991)
This document explains the core ideas and some implementation details
of the Key Instructions project. The LLVM document also outlines the two
main limitations of our approach.
RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
Commit: 0b784269f16f0555d33e259f0b194ad4ad1a8e94
https://github.com/llvm/llvm-project/commit/0b784269f16f0555d33e259f0b194ad4ad1a8e94
Author: Hugo Melder <service at hugomelder.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGObjCGNU.cpp
A clang/test/CodeGenObjC/gnustep2-class-exts.m
Log Message:
-----------
[CodeGen][ObjC] Include all referenced protocols in protocol list (#148827)
When constructing the protocol list in the class metadata generation
(`GenerateClass`), only the protocols from the base class are added but
not protocols declared in class extensions.
This is fixed by using `all_referenced_protocol_{begin, end}` instead of
`protocol_{begin, end}`, matching the behaviour on Apple platforms.
A unit test is included to check if all protocol metadata was emitted
and that no duplication occurs in the protocol list.
Fixes https://github.com/gnustep/libobjc2/issues/339
CC: @davidchisnall
Commit: 9eb0fc8e57679c5539173bdd13057b523209a596
https://github.com/llvm/llvm-project/commit/9eb0fc8e57679c5539173bdd13057b523209a596
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/docs/HowToUpdateDebugInfo.rst
Log Message:
-----------
Fix link in docs after #137991
Commit: b3c293c5b977dd8ea824c66e932719ee8245b6ca
https://github.com/llvm/llvm-project/commit/b3c293c5b977dd8ea824c66e932719ee8245b6ca
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/reductions-non-wrapped-operations.ll
A llvm/test/Transforms/LoopInterchange/reductions-with-nowraps.ll
Log Message:
-----------
[LoopInterchange] Drop nuw/nsw flags from reduction ops when interchanging (#148612)
Before this patch, when a reduction exists in the loop, the legality
check of LoopInterchange only verified if there exists a
non-reassociative floating-point instruction in the reduction
calculation. However, it is insufficient, because reordering integer
reductions can also lead to incorrect transformations. Consider the
following example:
```c
int A[2][2] = {
{ INT_MAX, INT_MAX },
{ INT_MIN, INT_MIN },
};
int sum = 0;
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++)
sum += A[j][i];
```
To make this exchange legal, we must drop nuw/nsw flags from the
instructions involved in the reduction operations.
This patch extends the legality check to correctly handle such cases. In
particular, for integer addition and multiplication, it verifies that
the nsw and nuw flags are set on involved instructions, and drop them
when the transformation actually performed. This patch also introduces
explicit checks for the kind of reduction and permits only those that
are known to be safe for interchange. Consequently, some "unknown"
reductions (at the moment, `FindFirst*` and `FindLast*`) are rejected.
Fix #148228
Commit: 8226fbee4b6254bc3cd4806de623937262028883
https://github.com/llvm/llvm-project/commit/8226fbee4b6254bc3cd4806de623937262028883
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/TargetLoweringObjectFile.cpp
Log Message:
-----------
[NFC] Extract pseudo probe using mdconst::extract (#148821)
mdconst::extract is more rigorous than mdconst::dyn_exract in this
context.
Commit: 5977766bf6753c525ccc12856ce159c5e45a8b06
https://github.com/llvm/llvm-project/commit/5977766bf6753c525ccc12856ce159c5e45a8b06
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
A clang/test/DebugInfo/KeyInstructions/array-cookie.cpp
Log Message:
-----------
[KeyInstr][Clang][NFC] Add test for array cookie store (#146517)
It doesn't need to be a Key Instruction.
Commit: 612afab512eddfd82f51cce76668a14b928748c6
https://github.com/llvm/llvm-project/commit/612afab512eddfd82f51cce76668a14b928748c6
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/RISCV/RISCVVectorMaskDAGMutation.cpp
Log Message:
-----------
[RISCV] Use MachineInstr::isFullCopy in a few places. NFC
Instead of checking that there's no subregisters.
Commit: 94b15a1ece37963c9804fc7f0c498d140ea5fd9d
https://github.com/llvm/llvm-project/commit/94b15a1ece37963c9804fc7f0c498d140ea5fd9d
Author: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.h
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.h
M mlir/test/Dialect/SPIRV/IR/availability.mlir
M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
M mlir/test/Target/SPIRV/constant.mlir
M mlir/test/Target/SPIRV/spec-constant.mlir
Log Message:
-----------
[mlir][spirv] Add basic support for SPV_EXT_replicated_composites (#147067)
This patch introduces two new ops to the SPIR-V dialect:
- `spirv.EXT.ConstantCompositeReplicate`
- `spirv.EXT.SpecConstantCompositeReplicate`
These ops represent composite constants and specialization constants,
respectively, constructed by replicating a single splat constant across
all elements. They correspond to `SPV_EXT_replicated_composites`
extension instructions:
- `OpConstantCompositeReplicatedEXT`
- `OpSpecConstantCompositeReplicatedEXT`
No transformation to these new ops has been introduced in this patch.
This approach is chosen as per the discussions on RFC
https://discourse.llvm.org/t/rfc-basic-support-for-spv-ext-replicated-composites-in-mlir-spir-v-compile-time-constant-lowering-only/86987
---------
Signed-off-by: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Commit: bda56023c90168ef4eb34442c5e37e3c36d9c825
https://github.com/llvm/llvm-project/commit/bda56023c90168ef4eb34442c5e37e3c36d9c825
Author: Martin Erhart <martin.erhart at sifive.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/include/mlir/Analysis/SliceAnalysis.h
M mlir/lib/Analysis/SliceAnalysis.cpp
M mlir/test/Dialect/Affine/slicing-utils.mlir
Log Message:
-----------
[mlir][SliceAnalysis] Fix stack overflow in graph regions (#139694)
This analysis currently just crashes when applied to a graph region that
has a use-def cycle. This PR fixes that by keeping track of the
operations the DFS has already visited when following use-def edges and
stopping once we visit an operation again.
Commit: 50e345ef95596f9d416700cf9bc8bc6d3ef25591
https://github.com/llvm/llvm-project/commit/50e345ef95596f9d416700cf9bc8bc6d3ef25591
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/spillfill-sve.mir
Log Message:
-----------
[AArch64] Use correct regclass for spills of ZPR2/ZPR4 (#148806)
Commit a6293228fdd5aba8c04c63f02f3d017443feb3f2 forced the register
class of ZPR[24]StridedOrContiguous for spills/fills of ZPR2 and ZPR4,
but this may result in issues when the regclass for the fill is a
ZPR2/ZPR4 which would allow the register allocator to pick `z1_z2`,
which is not a supported register for ZPR2StridedOrContiguous that only
supports tuples of the form (strided) `z0_z8`, `z1_z9` or (contiguous,
start at multiple of 2) `z0_z1`, `z2_z3`. For spills we could add a new
register class that supports any of the tuple forms, but I've decided
to use two pseudos similar to the fills for consistency.
Fixes https://github.com/llvm/llvm-project/issues/148655
Commit: 1fbe87b1d0edac9d9af29eb51b27747cb8c630c6
https://github.com/llvm/llvm-project/commit/1fbe87b1d0edac9d9af29eb51b27747cb8c630c6
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/test/CodeGen/AArch64/sve-pseudos-expand-undef.mir
Log Message:
-----------
[AArch64] Ensure bundle expansion of MOVPRFX gets correct implicit ops (#148824)
By finalizing the bundle _after_ copying over the implicit-ops, it also
adds any implicit-defs to the BUNDLE.
Fixes https://github.com/llvm/llvm-project/issues/148645
Commit: d26106dbf002d71915f2c8a78629111f6b540db3
https://github.com/llvm/llvm-project/commit/d26106dbf002d71915f2c8a78629111f6b540db3
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
Log Message:
-----------
[AArch64] Set the cache line size to 64 for the V2 and V3. (#148213)
This sets the cache line size to 64 for the Neoverse V2 and V3. I've
tested this with loop-interchange: it doesn't result in extra
compile-times, but it does enable a lot more interchange.
Commit: face93e724f42f46ec619c788db3cec03beb396c
https://github.com/llvm/llvm-project/commit/face93e724f42f46ec619c788db3cec03beb396c
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.h
Log Message:
-----------
[Frontend][OpenMP] Move isPrivatizingClause to OMP.h, NFC (#148644)
Commit: 01f36b39bd2475a271bbeb95fb9db8ed65e2d065
https://github.com/llvm/llvm-project/commit/01f36b39bd2475a271bbeb95fb9db8ed65e2d065
Author: Tobias Hieta <tobias at hieta.se>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M cmake/Modules/LLVMVersion.cmake
M libcxx/include/__config
M llvm/utils/gn/secondary/llvm/version.gni
M llvm/utils/lit/lit/__init__.py
M llvm/utils/mlgo-utils/mlgo/__init__.py
Log Message:
-----------
Bump version to 22.0.0-git
Commit: 51b6f64b892bf57879389e7031051a3922aa5061
https://github.com/llvm/llvm-project/commit/51b6f64b892bf57879389e7031051a3922aa5061
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/program-parsers.cpp
M flang/lib/Parser/type-parsers.h
M flang/test/Parser/OpenMP/fail-construct1.f90
Log Message:
-----------
[flang][OpenMP] Avoid unnecessary parsing of OpenMP constructs (#148629)
When parsing a specification part, the parser will look ahead to see if
the next construct is an executable construct. In doing so it will
invoke OpenMPConstruct parser, whereas the only necessary thing to check
would be the directive alone.
Commit: 5004c59803fdeb3389d30439a6cc8b1ff874df0c
https://github.com/llvm/llvm-project/commit/5004c59803fdeb3389d30439a6cc8b1ff874df0c
Author: bd1976bris <Ben.Dunbobbin at sony.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/docs/ThinLTO.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/CommonArgs.cpp
A clang/test/Driver/DTLTO/dtlto.c
M cross-project-tests/dtlto/ld-dtlto.c
Log Message:
-----------
[DTLTO][Clang] Add support for Integrated Distributed ThinLTO (#147265)
This patch introduces support for Integrated Distributed ThinLTO (DTLTO)
in Clang.
DTLTO enables the distribution of ThinLTO backend compilations via
external distribution systems, such as Incredibuild, during the
traditional link step: https://llvm.org/docs/DTLTO.html.
Testing:
- `lit` test coverage has been added to Clang's Driver tests.
- The DTLTO cross-project tests will use this Clang support.
For the design discussion of the DTLTO feature, see:
https://github.com/llvm/llvm-project/pull/126654
Commit: 20b47bfdb5aee6e66d06342c275d56477371dc4e
https://github.com/llvm/llvm-project/commit/20b47bfdb5aee6e66d06342c275d56477371dc4e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
Log Message:
-----------
DXIL: Do not define any available runtime libcalls (#148628)
Previously this was reporting a default set of calls
as available.
Commit: 67aee6bcb8c3f12b66631c5e4480717053c51157
https://github.com/llvm/llvm-project/commit/67aee6bcb8c3f12b66631c5e4480717053c51157
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
Log Message:
-----------
[CIR] Refactor include guards to use a consistent naming (NFC) (#148849)
Commit: 9f7937401b62d95f2ebe86072d6f277eb9745cd0
https://github.com/llvm/llvm-project/commit/9f7937401b62d95f2ebe86072d6f277eb9745cd0
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
A clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
Log Message:
-----------
[CIR] Separate CIR EnumAttr definitions to be includable without the rest of attributes (#148850)
This change allows enum definition classes to be included in type definitions without creating cyclic dependencies between CIRTypes.td and CIRAttrs.td, since attributes already include CIRTypes.td. In the pull request mentioned below, this is used to define the AddressSpace enum alongside PointerType.
Additionally, this introduces `DefaultValuedEnumParameter`.
This mirrors some parts of incubator change from https://github.com/llvm/clangir/pull/1733
Commit: 02d3738be92eac38cebfb7b670673abb9538ca76
https://github.com/llvm/llvm-project/commit/02d3738be92eac38cebfb7b670673abb9538ca76
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/test/Analysis/CostModel/AArch64/reduce-and.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-or.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-xor.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-select.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/ext-trunc.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/external-use-icmp.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/extract-subvector-long-input.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr2.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/memory-runtime-checks.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/multiple_reduction.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/phi-node-bitwidt-op-not.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-loads.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/unreachable-blocks-with-phis.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vector-getelementptr.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
A llvm/test/Transforms/SLPVectorizer/X86/extract-subvector-long-input.ll
A llvm/test/Transforms/SLPVectorizer/X86/icmp-altopcode-after-reordering.ll
A llvm/test/Transforms/SLPVectorizer/X86/phi-node-bitwidt-op-not.ll
M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
R llvm/test/Transforms/SLPVectorizer/extract-subvector-long-input.ll
R llvm/test/Transforms/SLPVectorizer/icmp-altopcode-after-reordering.ll
R llvm/test/Transforms/SLPVectorizer/phi-node-bitwidt-op-not.ll
M llvm/test/Transforms/VectorCombine/AArch64/load-extractelement-scalarization.ll
Log Message:
-----------
[AArch64,TTI] Remove RealUse check for vector insert/extract costs. (#146526)
getVectorInstrCostHelper would return costs of zero for vector
inserts/extracts that move data between GPR and vector registers, if
there was no 'real' use, i.e. there was no corresponding existing
instruction.
This meant that passes like LoopVectorize and SLPVectorizer, which
likely are the main users of the interface, would understimate the cost
of insert/extracts that move data between GPR and vector registers,
which has non-trivial costs.
The patch removes the special case and only returns costs of zero for
lane 0 if it there is no need to transfer between integer and vector
registers.
This impacts a number of SLP test, and most of them look like general
improvements.I think the change should make things more accurate for any
AArch64 target, but if not it could also just be Apple CPU specific.
I am seeing +2% end-to-end improvements on SLP-heavy workloads.
PR: https://github.com/llvm/llvm-project/pull/146526
Commit: af56fd0c1abb6fc9d06b555d5b30ef5ad963a5c1
https://github.com/llvm/llvm-project/commit/af56fd0c1abb6fc9d06b555d5b30ef5ad963a5c1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/TableGen/StringToOffsetTable.h
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/TableGen/StringToOffsetTable.cpp
M llvm/test/TableGen/RuntimeLibcallEmitter.td
M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
Log Message:
-----------
TableGen: Use StringOffsetTable for RuntimeLibcall names (#148839)
Commit: f4a394fc0c83765187741cb8a6aafc27ba333f47
https://github.com/llvm/llvm-project/commit/f4a394fc0c83765187741cb8a6aafc27ba333f47
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/test/Transforms/SafeStack/NVPTX/safestack-pointer-address-libcall-error.ll
Log Message:
-----------
SafeStack: Check if __safestack_pointer_address is available (#147917)
Start using RuntimeLibcalls in the base implementation of
getSafeStackPointerLocation instead of hardcoding the function
names.
Commit: 8db92a7d99f2b1a64d34c2fe3c295e555caa35f2
https://github.com/llvm/llvm-project/commit/8db92a7d99f2b1a64d34c2fe3c295e555caa35f2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/TableGen/StringToOffsetTable.cpp
Log Message:
-----------
TableGen: Avoid emitting trailing whitespace in StringToOffsetTable (#148840)
Commit: 57a5f9c47e063701ac7d13a5efd993e839e148eb
https://github.com/llvm/llvm-project/commit/57a5f9c47e063701ac7d13a5efd993e839e148eb
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGBlocks.cpp
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h
M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86WinEHState.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/ValueProfilePlugins.inc
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/FuzzMutate/RandomIRBuilderTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Suppress getNextNonDebugInfoInstruction (#144383)
There are no longer debug-info instructions, thus we don't need this
skipping. Horray!
Commit: 88ee17c24ef32b96a62f493d1c34d6380e4fdff8
https://github.com/llvm/llvm-project/commit/88ee17c24ef32b96a62f493d1c34d6380e4fdff8
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
Log Message:
-----------
[RISCV][IA] Prefer getElementCount over getNumElements [nfc]
Small cleanup, with the eventual goal of making code easier to merge
between the various routines.
Commit: 6291b63a9a104fe93f8e4e279ef2237dc081304f
https://github.com/llvm/llvm-project/commit/6291b63a9a104fe93f8e4e279ef2237dc081304f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libcxx/include/fstream
A libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/overflow.writefail.pass.cpp
Log Message:
-----------
[libc++] Ensure that we restore invariants in basic_filebuf::overflow (#147389)
In rare circumstances, the invariants could fail to be restored.
Commit: 2463309c4d0d95d6947faa54733788fb1f1162ae
https://github.com/llvm/llvm-project/commit/2463309c4d0d95d6947faa54733788fb1f1162ae
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/PostRAMachineSink.h
M llvm/include/llvm/CodeGen/VirtRegMap.h
M llvm/lib/CodeGen/MachineSink.cpp
Log Message:
-----------
[CodeGen] Use setNoVRegs. NFC. (#148831)
Commit: d145f716aefce8633aed24ea5d009a76453572bf
https://github.com/llvm/llvm-project/commit/d145f716aefce8633aed24ea5d009a76453572bf
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libcxx/docs/index.rst
M libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__configuration/compiler.h
M libcxx/test/libcxx/algorithms/vectorization.compile.pass.cpp
M libcxx/test/libcxx/memory/shared_ptr_array.pass.cpp
M libcxx/test/libcxx/vendor/apple/disable-availability.sh.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_unary.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete.pass.cpp
M libcxx/test/std/numerics/c.math/signbit.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.pass.cpp
M libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.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
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/reference_constructs_from_temporary.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/reference_converts_from_temporary.pass.cpp
Log Message:
-----------
[libc++] Bump Xcode support (#148651)
Libc++'s policy is to support only the latest released Xcode, which is
Xcode 16.x. We did update our CI jobs to Xcode 16.x, but we forgot to
update the documentation, which still mentioned Xcode 15. This patch
updates the documentation and cleans up outdated mentions of
apple-clang-15 in the test suite.
Commit: a606f4441aad63208722a4504e1e6a66044d6eda
https://github.com/llvm/llvm-project/commit/a606f4441aad63208722a4504e1e6a66044d6eda
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
Log Message:
-----------
[RISCV][VLOPT] Add support for vector integer add-with-carry/subtract-with-borrow instructions (#148247)
This PR adds support for the vmadc.vim, vmadc.vvm, vmadc.vxm, vmsbc.vvm,
vmsbc.vxm, vsbc.vvm, vsbc.vxm instructions in the RISC-V VLOptimizer.
Commit: 2435ea6975b9bfb7a81efb8a168b4a5b92dbefa1
https://github.com/llvm/llvm-project/commit/2435ea6975b9bfb7a81efb8a168b4a5b92dbefa1
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
Log Message:
-----------
[RISCV][VLOPT] Add support for vfclass.v (#148246)
This PR adds support for the vfclass.v instruction in the RISC-V
VLOptimizer.
Commit: 6350bb3ed362ef5063ebd07d444d7dd4f5342541
https://github.com/llvm/llvm-project/commit/6350bb3ed362ef5063ebd07d444d7dd4f5342541
Author: Nicholas Junge <nicholas.junge at web.de>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
M mlir/test/python/dialects/python_test.py
M mlir/test/python/lib/PythonTestModuleNanobind.cpp
Log Message:
-----------
[mlir][py] Mark all type caster `from_{cpp,python}` methods as noexcept (#143866)
This is mentioned as a "must" in
https://nanobind.readthedocs.io/en/latest/porting.html#type-casters when
implementing type casters.
While most of the existing `from_cpp` methods were already marked
noexcept, many of the `from_python` methods were not. This commit adds
the missing noexcept declarations to all type casters found in
`NanobindAdaptors.h`.
---------
Co-authored-by: Maksim Levental <maksim.levental at gmail.com>
Commit: 2b952753f8392a789debb9d8e2544f37b4d76f65
https://github.com/llvm/llvm-project/commit/2b952753f8392a789debb9d8e2544f37b4d76f65
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/Hexagon/HexagonPatterns.td
A llvm/test/CodeGen/Hexagon/thread-pointer.ll
Log Message:
-----------
[hexagon] Add support for llvm.thread.pointer (#148752)
UGP contains the pointer for thread data:
> The TLS area is accessed at the processor level through the special
register UGP This register is set to the address one location above the
TLS area, which grows downwards from UGP.
>From the Hexagon ABI spec -
https://docs.qualcomm.com/bundle/publicresource/80-N2040-23_REV_K_Qualcomm_Hexagon_Application_Binary_Interface_User_Guide.pdf
Also: disable clang-format for `NodeType` enum in
`llvm/lib/Target/Hexagon/HexagonISelLowering.h` to avoid disruptive
formatting.
Commit: 1c6422c4bdd39b91fee90ce3adeb8404ee92c341
https://github.com/llvm/llvm-project/commit/1c6422c4bdd39b91fee90ce3adeb8404ee92c341
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
Log Message:
-----------
[Scalar] Fix a warning
This patch fixes:
llvm/lib/Transforms/Scalar/LoopInterchange.cpp:863:20: error: unused
variable 'OpCode' [-Werror,-Wunused-variable]
Commit: ff5f355d9bac7f10d971284b97d83db68e25ed27
https://github.com/llvm/llvm-project/commit/ff5f355d9bac7f10d971284b97d83db68e25ed27
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
Log Message:
-----------
[AMDGPU] Use a range-based for loop (NFC) (#148767)
Commit: e282cdb0a2f80a2eb3b6bab40b16b538f202ac3a
https://github.com/llvm/llvm-project/commit/e282cdb0a2f80a2eb3b6bab40b16b538f202ac3a
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
Log Message:
-----------
[RISCV][IA] Avoid use of redundant variables which differ solely by type [nfc]
Instead of using dyn_cast, just use isa combined with accessors on the base
VectotType class. Working towards being able to merge code from some of
these routines.
Commit: 1db9eb23209826d9e799e68a9a4090f0328bf70c
https://github.com/llvm/llvm-project/commit/1db9eb23209826d9e799e68a9a4090f0328bf70c
Author: Raphael Moreira Zinsly <rzinsly at ventanamicro.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.h
A llvm/test/CodeGen/RISCV/stack-probing-frame-setup.mir
Log Message:
-----------
[RISCV] Pass the MachineInstr flag as argument to allocateStack (#147531)
When not in the prologue we do not want to set the FrameSetup flag, by
passing the flag as argument we can use allocateStack correctly on those
cases.
This fixes the allocation and probe in eliminateCallFramePseudoInstr.
Commit: e2eade42b660795a656798331782931983d07443
https://github.com/llvm/llvm-project/commit/e2eade42b660795a656798331782931983d07443
Author: Raghu Maddhipatla <7686592+raghavendhra at users.noreply.github.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[MLIR] [OpenMP] Initial support for OMP ALLOCATE directive op. (#147900)
This patch includes adding support for OMP ALLOCATE directive along with
ALIGN clause and ALLOCATOR clause which are used within OMP ALLOCATE
directive
Commit: 3248a6d76abccbbe78e853c76bc022b70d594347
https://github.com/llvm/llvm-project/commit/3248a6d76abccbbe78e853c76bc022b70d594347
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[CI][Github] Switch windows to server 2022 (#148743)
This patch switches the windows testing over to server 2022 by switching
to the recently introduced runner set.
Commit: 3d688233bd746ec024fd625590272833d8bccd2c
https://github.com/llvm/llvm-project/commit/3d688233bd746ec024fd625590272833d8bccd2c
Author: A. Jiang <de34 at live.cn>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
Log Message:
-----------
[libc++][docs] Add missing entry for status pages, fix bad formatting, and deduplicate (#148186)
In a previously PR, the entry for P3491R3 define_static_{string,object,array} was missing.
This patch adds it back.
The number of LWG2687, LWG2709, LWG3315, LWG3395, LWG3987, and LWG4113
were duplicated in the title. It seems better to avoid such duplicates.
Also fixes some formatting to properly use italic and code styles, and
remove one improper leading space from the title of P3682R0 (which
caused incorrect alignment in the generated page).
Commit: f5c676d6d95dc63b8dcb43dd2e4dfc913a9c5a50
https://github.com/llvm/llvm-project/commit/f5c676d6d95dc63b8dcb43dd2e4dfc913a9c5a50
Author: cmtice <cmtice at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lldb/source/Target/TargetProperties.td
M lldb/source/ValueObject/DILEval.cpp
M lldb/test/API/commands/frame/var-dil/basics/QualifiedId/TestFrameVarDILQualifiedId.py
M lldb/test/API/commands/frame/var-dil/basics/QualifiedId/main.cpp
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/Shell/SymbolFile/DWARF/TestDedupWarnings.test
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[LLDB] Switch to using DIL as default implementation for 'frame var'. (#147887)
Commit: c2e41be50f2cc3d1e99c30b1996b8873b05c4b0e
https://github.com/llvm/llvm-project/commit/c2e41be50f2cc3d1e99c30b1996b8873b05c4b0e
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
A flang/test/Preprocessing/omp-sentinel-fixed-form.F
Log Message:
-----------
[flang][Parser] Add whitespace token after the sentinel in fixed form (#148825)
Fixes #148386
The first time the line was classified (using
`Prescanner::ClassifyLine(const char *)`) the line was correctly
classified as a compiler directive. But then later on the token form is
invoked (`Prescanner::ClassifyLine(TokenSequence, Provenance)`). This
one incorrectly classified the line as a comment because there was no
whitespace token right after the sentinel. This fixes the issue by
ensuring this whitespace is added.
Commit: be4d754fe6c79a9cc994703157979cbad01a743a
https://github.com/llvm/llvm-project/commit/be4d754fe6c79a9cc994703157979cbad01a743a
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
Log Message:
-----------
[CIR] Reformat Ops to use common `CIR_` prefix and definition traits style (#148865)
- This adds common CIR_ prefix to all operation disambiguating them when used with other dialects.
- Unifies traits style in operation definitions.
This mirrors incubator changes from https://github.com/llvm/clangir/pull/1741
Commit: 55f1b91d50a0f3706ad62d497d3c8a5ec572d59e
https://github.com/llvm/llvm-project/commit/55f1b91d50a0f3706ad62d497d3c8a5ec572d59e
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/Parse/ParseDeclCXX.cpp
A clang/test/Parser/gh114815.cpp
Log Message:
-----------
[Clang] Fix a crash when parsing an invalid `decltype` (#148798)
We would try to exact an annotated token before checking if it was
valid, leading to a crash when `decltype` was the only token that was
parsed (which can happen in the absense of opening paren)
Fixes #114815
Commit: d969ec942224cb85f8e7dc8553aa9ea3952c37e6
https://github.com/llvm/llvm-project/commit/d969ec942224cb85f8e7dc8553aa9ea3952c37e6
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/exp.h
M libc/src/__support/FPUtil/multiply_add.h
M libc/src/__support/FPUtil/nearest_integer.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/exp.h
A libc/src/__support/math/exp_constants.h
A libc/src/__support/math/exp_utils.h
M libc/src/__support/math/expf16_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/common_constants.cpp
M libc/src/math/generic/common_constants.h
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/explogxf.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor exp implementation to header-only in src/__support/math folder. (#148761)
- **[libc][math] Refactor exp implementation to header-only in
src/__support/math folder.**
- **Reapply "[libc][math] Refactor exp implementation to header-only in
src/__support/math folder." (#148668)**
Commit: e6fcd59a18f18fc1c2e3075e372504fd5ca3d8c4
https://github.com/llvm/llvm-project/commit/e6fcd59a18f18fc1c2e3075e372504fd5ca3d8c4
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[github][CIR] Add xlauko and andykaylor as CIR reviewers (#148852)
Commit: eec98bef84b8a68533d9176468c1d2010f26717f
https://github.com/llvm/llvm-project/commit/eec98bef84b8a68533d9176468c1d2010f26717f
Author: nerix <nerixdev at outlook.de>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
A lldb/source/Plugins/Language/CPlusPlus/MsvcStlTuple.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/tuple/TestDataFormatterStdTuple.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/tuple/main.cpp
Log Message:
-----------
[LLDB] Add formatters for MSVC STL std::tuple (#148548)
Adds synthetic children for MSVC STL's
[`std::tuple`](https://github.com/microsoft/STL/blob/313964b78a8fd5a52e7965e13781f735bcce13c5/stl/inc/tuple).
A `tuple` is a chain of base classes:
```cpp
template <>
class tuple<> {};
template <class _This, class... _Rest>
class tuple<_This, _Rest...> : private tuple<_Rest...> {
_Tuple_val<_This> _Myfirst;
};
```
So the provider walks the base classes to the desired one.
The implementation makes it hard to detect if the empty tuple is from
this STL. Fortunately, libstdc++'s synthetic children provider works for
empty MSVC STL tuples as well.
Towards #24834.
Commit: a35b290c3c3150248979e0ea52322b339d937cc7
https://github.com/llvm/llvm-project/commit/a35b290c3c3150248979e0ea52322b339d937cc7
Author: Bogdan Vetrenko <b.vetrenko at yandex.ru>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
Log Message:
-----------
[CIR][NFC] Fix typo in assertion message (Must) (#148704)
Commit: 8612926c306c5191a5fb385dd11467728c59e982
https://github.com/llvm/llvm-project/commit/8612926c306c5191a5fb385dd11467728c59e982
Author: athierry-oct <adrien.thierry at octasic.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lldb/include/lldb/Utility/Listener.h
M lldb/source/Utility/Broadcaster.cpp
M lldb/source/Utility/Listener.cpp
M lldb/unittests/Utility/ListenerTest.cpp
Log Message:
-----------
[lldb] Fix race condition in Process::WaitForProcessToStop() (#144919)
This PR addresses a race condition encountered when using LLDB through
the Python scripting interface.
I'm relatively new to LLDB, so feedback is very welcome, especially if
there's a more appropriate way to address this issue.
### Bug Description
When running a script that repeatedly calls
`debugger.GetListener().WaitForEvent()` in a loop, and at some point
invokes `process.Kill()` from within that loop to terminate the session,
a race condition can occur if `process.Kill()` is called around the same
time a breakpoint is hit.
### Race Condition Details
The issue arises when the following sequence of events happens:
1. The process's **private state** transitions to `stopped` when the
breakpoint is hit.
2. `process.Kill()` calls `Process::Destroy()`, which invokes
`Process::WaitForProcessToStop()`. At this point:
- `private_state = stopped`
- `public_state = running` (the public state has not yet been updated)
3. The **public stop event** is broadcast **before** the hijack listener
is installed.
4. As a result, the stop event is delivered to the **non-hijack
listener**.
5. The interrupt request sent by `Process::StopForDestroyOrDetach()` is
ignored because the process is already stopped (`private_state =
stopped`).
6. No public stop event reaches the hijack listener.
7. `Process::WaitForProcessToStop()` hangs waiting for a public stop
event, but the event is never received.
8. `process.Kill()` times out after 20 seconds
### Fix Summary
This patch modifies `Process::WaitForProcessToStop()` to ensure that any
pending events in the non-hijack listener queue are processed before
checking the hijack listener. This guarantees that any missed public
state change events are handled, preventing the hang.
### Additional Context
A discussion of this issue, including a script to reproduce the bug, can
be found here:
[LLDB hangs when killing process at the same time a breakpoint is
hit](https://discourse.llvm.org/t/lldb-hangs-when-killing-process-at-the-same-time-a-breakpoint-is-hit)
Commit: 31e6fe78b2e2d83cdbb1a4b0f6b712c537f8de9c
https://github.com/llvm/llvm-project/commit/31e6fe78b2e2d83cdbb1a4b0f6b712c537f8de9c
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libcxx/test/libcxx/time/time.zone/time.zone.exception/time.zone.exception.ambig/assert.ctor.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.exception/time.zone.exception.nonexist/assert.ctor.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/assert.to_local.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/assert.to_sys.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/assert.to_sys_choose.pass.cpp
Log Message:
-----------
[libc++] Add missing unsupported attributes to hardening timezone tests. (#148406)
Before this patch, these tests fail under `extensive` and `debug`
hardening modes.
Commit: a4dab509d360a06d189352a4e4d23e5a6bbb34a3
https://github.com/llvm/llvm-project/commit/a4dab509d360a06d189352a4e4d23e5a6bbb34a3
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
Log Message:
-----------
[DirectX] Replace `getNextNonDebugInstruction` with `getNextNode` (#148890)
Fixes the DirectX backend build failure due to #144383
Commit: 20c8e3c2a4744524396cc473a370cfb7855850b6
https://github.com/llvm/llvm-project/commit/20c8e3c2a4744524396cc473a370cfb7855850b6
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/constant-expression-cxx14.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
Log Message:
-----------
[clang] Fix pointer comparisons between pointers to constexpr-unknown (#147663)
A constexpr-unknown reference can be equal to an arbitrary value, except
values allocated during constant evaluation. Fix the handling.
The standard is unclear exactly which pointer comparisons count as
"unknown" in this context; for example, in some cases we could use
alignment to prove two constexpr-unknown references are not equal. I
decided to ignore all the cases involving variables not allocated during
constant evaluation.
While looking at this, I also spotted that there might be issues with
lifetimes, but I didn't try to address it.
Commit: 6260d8ff8277d35ff783ba7c6febb1489eb94b24
https://github.com/llvm/llvm-project/commit/6260d8ff8277d35ff783ba7c6febb1489eb94b24
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
A clang/test/SemaTemplate/gh138371.cpp
Log Message:
-----------
[C++] Fix a failed assertion with nullability checking (#148881)
This fixes a failed assertion with an operator call expression which
comes from a macro expansion when performing analysis for nullability
attributes.
Fixes #138371
Commit: 0967957d7a94e1b5c749c6e963bdca25f3c6d749
https://github.com/llvm/llvm-project/commit/0967957d7a94e1b5c749c6e963bdca25f3c6d749
Author: David Green <david.green at arm.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Analysis/CostModel/AArch64/arith-overflow.ll
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/Analysis/CostModel/AArch64/fcmp.ll
M llvm/test/Analysis/CostModel/AArch64/fshl.ll
M llvm/test/Analysis/CostModel/AArch64/fshr.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cmpsel.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fcmp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
M llvm/test/Analysis/CostModel/AMDGPU/reduce-and.ll
M llvm/test/Analysis/CostModel/AMDGPU/reduce-or.ll
M llvm/test/Analysis/CostModel/ARM/arith-overflow.ll
M llvm/test/Analysis/CostModel/ARM/arith-ssat.ll
M llvm/test/Analysis/CostModel/ARM/arith-usat.ll
M llvm/test/Analysis/CostModel/ARM/cmps.ll
M llvm/test/Analysis/CostModel/ARM/intrinsic-cost-kinds.ll
M llvm/test/Analysis/CostModel/ARM/mve-abs.ll
M llvm/test/Analysis/CostModel/ARM/mve-minmax.ll
M llvm/test/Analysis/CostModel/ARM/select.ll
M llvm/test/CodeGen/Thumb2/mve-pred-vselect.ll
M llvm/test/CodeGen/X86/div-rem-pair-recomposition-unsigned.ll
M llvm/test/CodeGen/X86/test-shrink-bug.ll
M llvm/test/Transforms/SimplifyCFG/ARM/phi-eliminate.ll
Log Message:
-----------
[CostModel] Handle all cost kinds in getCmpSelInstrCost (#148233)
Currently we always produce a cost of 1 for all CostKinds that are not
RecipThroughput, which can underestimate the cost if the type has a
higher legalization cost (like larger vectors). This relaxes it to cover
all cost kinds.
Commit: 0d2e11f3e834e0c1803a6e00da35525b0d476eb2
https://github.com/llvm/llvm-project/commit/0d2e11f3e834e0c1803a6e00da35525b0d476eb2
Author: Brad Smith <brad at comstyle.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/OSTargets.h
R clang/lib/Basic/Targets/PNaCl.cpp
R clang/lib/Basic/Targets/PNaCl.h
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/TargetInfo.h
R clang/lib/CodeGen/Targets/PNaCl.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
R clang/lib/Driver/ToolChains/NaCl.cpp
R clang/lib/Driver/ToolChains/NaCl.h
M clang/lib/Lex/InitHeaderSearch.cpp
R clang/test/CodeGen/X86/x86_64-arguments-nacl.c
M clang/test/CodeGen/X86/x86_64-longdouble.c
M clang/test/CodeGen/arm-aapcs-vfp.c
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGen/long_double_fp128.cpp
R clang/test/CodeGen/malign-double-x86-nacl.c
M clang/test/CodeGen/target-data.c
R clang/test/CodeGenCXX/x86_64-arguments-nacl-x32.cpp
M clang/test/Driver/arm-alignment.c
R clang/test/Driver/nacl-direct.c
M clang/test/Driver/unsupported-target-arch.c
R clang/test/Driver/x86_64-nacl-defines.cpp
R clang/test/Frontend/x86_64-nacl-types.cpp
M clang/test/Preprocessor/predefined-macros-no-warnings.c
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/BinaryFormat/MinidumpConstants.def
M llvm/include/llvm/CodeGen/AtomicExpandUtils.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMFastISel.cpp
M llvm/lib/Target/ARM/ARMFeatures.td
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMPredicates.td
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/ARM/ARMSubtarget.h
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
M llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
R llvm/lib/Target/Mips/MCTargetDesc/MipsMCNaCl.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
R llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.h
M llvm/lib/Target/Mips/MipsBranchExpansion.cpp
M llvm/lib/Target/Mips/MipsCallingConv.td
M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
M llvm/lib/Target/Mips/MipsInstrFPU.td
M llvm/lib/Target/Mips/MipsInstrInfo.td
M llvm/lib/Target/Mips/MipsRegisterInfo.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86Subtarget.cpp
M llvm/lib/Target/X86/X86Subtarget.h
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/test/CodeGen/ARM/fast-isel-align.ll
M llvm/test/CodeGen/ARM/struct_byval.ll
M llvm/test/CodeGen/ARM/trap.ll
R llvm/test/CodeGen/ARM/varargs-spill-stack-align-nacl.ll
M llvm/test/CodeGen/Mips/fastcc.ll
M llvm/test/CodeGen/Mips/fp-indexed-ls.ll
M llvm/test/CodeGen/Mips/indirect-jump-hazard/long-branch.ll
M llvm/test/CodeGen/Mips/longbranch.ll
R llvm/test/CodeGen/Mips/nacl-align.ll
R llvm/test/CodeGen/Mips/nacl-branch-delay.ll
R llvm/test/CodeGen/Mips/nacl-reserved-regs.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-1.ll
M llvm/test/CodeGen/X86/constructor.ll
M llvm/test/CodeGen/X86/fast-isel-x32.ll
M llvm/test/CodeGen/X86/frameaddr.ll
M llvm/test/CodeGen/X86/lea-2.ll
M llvm/test/CodeGen/X86/lea-3.ll
M llvm/test/CodeGen/X86/lea-4.ll
M llvm/test/CodeGen/X86/lea-5.ll
M llvm/test/CodeGen/X86/lea.ll
M llvm/test/CodeGen/X86/stack-align2.ll
M llvm/test/CodeGen/X86/x86-64-baseptr.ll
M llvm/test/CodeGen/X86/x86-64-stack-and-frame-ptr.ll
M llvm/test/MC/ARM/arm_instructions.s
R llvm/test/MC/Mips/nacl-mask.s
M llvm/test/MC/X86/AlignedBundling/labeloffset.s
R llvm/test/MC/X86/AlignedBundling/rodata-section.s
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
Remove Native Client support (#133661)
Remove the Native Client support now that it has finally reached end of life.
Commit: 66850d0c06eef6d46b330af57bb675330b15b2cc
https://github.com/llvm/llvm-project/commit/66850d0c06eef6d46b330af57bb675330b15b2cc
Author: Thurston Dang <thurston at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512bw-intrinsics-upgrade.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512bw-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512vl-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/x86-vpermi2.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
Log Message:
-----------
[msan] Fix 'Simplify 'maskedCheckAVXIndexShadow' #147839' (#148785)
https://github.com/llvm/llvm-project/pull/147839/ incorrectly checked
the (lower bits of the) concrete value rather than the shadow.
Commit: 09f7cab9a34ed0837375f1677a4322d40b37ed5f
https://github.com/llvm/llvm-project/commit/09f7cab9a34ed0837375f1677a4322d40b37ed5f
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/test/CodeGen/DirectX/legalize-i8.ll
A llvm/test/CodeGen/DirectX/legalize-load-store-array-alloca.ll
Log Message:
-----------
[DirectX] Add a GEP to loads and stores on array allocas (#148059)
Fixes #147114 by inserting a GEP between any direct loads and stores on
an alloca.
Commit: d9e21a92a7b1b68bc61771c4a9320f879850ea90
https://github.com/llvm/llvm-project/commit/d9e21a92a7b1b68bc61771c4a9320f879850ea90
Author: RolandF77 <55763885+RolandF77 at users.noreply.github.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/lib/CodeGen/TargetBuiltins/PPC.cpp
M clang/test/CodeGen/PowerPC/builtins-ppc-dmf.c
A clang/test/CodeGen/PowerPC/ppc-dmf-future-builtin-err.c
A clang/test/CodeGen/PowerPC/ppc-dmf-mma-builtin-err.c
R clang/test/CodeGen/PowerPC/ppc-future-mma-builtin-err.c
Log Message:
-----------
[PowerPC] Add DMF basic builtins (#145372)
Add support for PPC Dense Math basic builtins dmsetdmrz, dmmr, dmxor.
Commit: 63d099af146a19bc8fd5a791d6184125e6cc42e7
https://github.com/llvm/llvm-project/commit/63d099af146a19bc8fd5a791d6184125e6cc42e7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Remove incorrect and untested FrameIndex support from SelectAddrRegImm9. (#148779)
To fold a FrameIndex, we need to teach eliminateFrameIndex to respect
the uimm9 range.
Commit: c3dde3cf843656a08fced1702e09d8b80d2f6829
https://github.com/llvm/llvm-project/commit/c3dde3cf843656a08fced1702e09d8b80d2f6829
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
[bazel] Add tanpif rules after #147192 (#148909)
Commit: fad0fbc9371c6a3289e6dc8a5018cc00733be14f
https://github.com/llvm/llvm-project/commit/fad0fbc9371c6a3289e6dc8a5018cc00733be14f
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Analysis/IR2Vec.cpp
Log Message:
-----------
[NFC][IR2Vec] Fix warnings on MSVC compilation (#148911)
Commit: bcd0a7ae2a3ae81545190a0b2796eb63656b5d42
https://github.com/llvm/llvm-project/commit/bcd0a7ae2a3ae81545190a0b2796eb63656b5d42
Author: jimingham <jingham at apple.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lldb/include/lldb/Utility/Listener.h
M lldb/source/Utility/Broadcaster.cpp
M lldb/source/Utility/Listener.cpp
M lldb/unittests/Utility/ListenerTest.cpp
Log Message:
-----------
Revert "[lldb] Fix race condition in Process::WaitForProcessToStop() … (#148915)
…(#144919)"
This was causing a couple of failures on the Ubuntu bots. Reverting
while we wait on a fix for those issues.
This reverts commit 8612926c306c5191a5fb385dd11467728c59e982.
Commit: bc2004c2e42f633ee4099ea5652df41dba29c79c
https://github.com/llvm/llvm-project/commit/bc2004c2e42f633ee4099ea5652df41dba29c79c
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
Log Message:
-----------
[RISCV] Handle LHS == 0 in isVLKnownLE (#148860)
If a VL is zero then it's known to be less than or equal to every other
VL.
This looks weird on its own since a VL of zero isn't that common. The
test diffs come from a type being split resulting in a VP intrinsic's
EVL being zero.
The motivation for this is to split off part of an upcoming patch I plan
on submitting for RISCVVLOptimizer, which generalizes it to handle
recurrences, and needs to reason about an initial state of demanded VLs
set to zero.
Commit: c9f03b8c6ece968a6a413f5ea3a33e23f0aed5ef
https://github.com/llvm/llvm-project/commit/c9f03b8c6ece968a6a413f5ea3a33e23f0aed5ef
Author: Nico Weber <thakis at chromium.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn] port 5951c44573
Commit: 183f1ac412c1a0c69c7dc6aef85c28c0749609cb
https://github.com/llvm/llvm-project/commit/183f1ac412c1a0c69c7dc6aef85c28c0749609cb
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/ADT/StringTable.h
M llvm/lib/IR/Intrinsics.cpp
M llvm/unittests/IR/IntrinsicsTest.cpp
Log Message:
-----------
[LLVM] Fix an ASAN error in `lookupLLVMIntrinsicByName` (#147444)
Fix unnecessary conversion of C-String to StringRef in the `Cmp` lambda
inside `lookupLLVMIntrinsicByName`. This both fixes an ASAN error in the
code that happens when the `Name` StringRef passed in is not a Null
terminated StringRef, and additionally can potentially speed up the code
as well by eliminating the unnecessary computation of string length
every time a C String is converted to StringRef in this code (It seems
practically this computation is eliminated in optimized builds, but this
will avoid it in O0 builds as well).
Added a unit test that demonstrates this issue by building LLVM with
these options:
```
CMAKE_BUILD_TYPE=Debug
LLVM_USE_SANITIZER=Address
LLVM_OPTIMIZE_SANITIZED_BUILDS=OFF
```
The error reported is as follows:
```
==462665==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x5030000391a2 at pc 0x56525cc30bbf bp 0x7fff9e4ccc60 sp 0x7fff9e4cc428
READ of size 19 at 0x5030000391a2 thread T0
#0 0x56525cc30bbe in strlen (upstream-llvm-second/llvm-project/build/unittests/IR/IRTests+0x713bbe) (BuildId: 0651acf1e582a4d2)
#1 0x7f8ff22ad334 in std::char_traits<char>::length(char const*) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/char_traits.h:399:9
#2 0x7f8ff22a34a0 in llvm::StringRef::StringRef(char const*) /home/rjoshi/upstream-llvm-second/llvm-project/llvm/include/llvm/ADT/StringRef.h:96:33
#3 0x7f8ff28ca184 in _ZZL25lookupLLVMIntrinsicByNameN4llvm8ArrayRefIjEENS_9StringRefES2_ENK3$_0clIjPKcEEDaT_T0_ upstream-llvm-second/llvm-project/llvm/lib/IR/Intrinsics.cpp:673:18
```
Commit: 041a8a9e5a00358491fb98e4f6156f0882bf5bea
https://github.com/llvm/llvm-project/commit/041a8a9e5a00358491fb98e4f6156f0882bf5bea
Author: Remy Farley <one-d-wide at protonmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-query/trailing-comma.c
M clang/lib/ASTMatchers/Dynamic/Parser.cpp
Log Message:
-----------
[clang-query] Allow for trailing comma in matchers (#148018)
Allow AST matches in clang-query to have a trailing comma at the end of
matcher arguments. Makes it nicer to work with queries that span
multiple lines.
So, for example, the following is possible:
```clang-query
match namedDecl(
isExpansionInMainFile(),
anyOf(
varDecl().bind("var"),
functionDecl().bind("func"),
# enumDecl().bind("enum"),
),
)
```
Commit: edfec9c5829f4778bd38f3ca4019105eb481df49
https://github.com/llvm/llvm-project/commit/edfec9c5829f4778bd38f3ca4019105eb481df49
Author: bd1976bris <Ben.Dunbobbin at sony.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/test/Driver/DTLTO/dtlto.c
Log Message:
-----------
[DTLTO][TEST] Fix Clang driver test failing on some build bots (#148908)
Not all builds name the compiler executable `clang`. For example, the
Fuchsia build bots use `llvm` as their single toolchain executable name,
as they combine everything together in a busybot-style binary.
Update the Clang driver test to simply check that a non-empty path is
provided for the `--thinlto-remote-compiler` argument, rather than
hardcoding the executable name. The cross-project test will verify that
the path is valid later.
Should fix #147265.
Commit: 339711fbd07bb2deb092800a5af20daa85e589af
https://github.com/llvm/llvm-project/commit/339711fbd07bb2deb092800a5af20daa85e589af
Author: Thurston Dang <thurston at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/docs/HowToSubmitABug.rst
Log Message:
-----------
[docs] Linkify llvm-reduce and mention it is multi-threaded (#148904)
Commit: a9021e5373f814a7bce561147828dcb7ec2abb24
https://github.com/llvm/llvm-project/commit/a9021e5373f814a7bce561147828dcb7ec2abb24
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/test/CodeGen/DirectX/legalize-memcpy.ll
M llvm/test/CodeGen/DirectX/legalize-memset.ll
Log Message:
-----------
Emit array GEPs in memcpy/memset legalization (#148886)
Fixes #148089
Commit: 95fa67603c4ab5d75a2f8df328d7da5580466d50
https://github.com/llvm/llvm-project/commit/95fa67603c4ab5d75a2f8df328d7da5580466d50
Author: nerix <nerixdev at outlook.de>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/test/API/functionalities/data-formatter/data-formatter-advanced/main.cpp
Log Message:
-----------
[LLDB] Compile API tests with exceptions enabled on Windows (#148691)
>From #148554 - compile tests with exceptions on Windows
(`-fno-exceptions` was added 11 years ago in
c7826524acda6a9c8816261d5c48b94dc92935ed). The variant test uses `try {}
catch {}` to create variants that are valueless by exception. On other
platforms, exceptions are enabled as well.
I have no clue why compiling with exceptions will optimize out
`a_long_guy` in the changed test (even with `-O0`). Taking the address
of that value will ensure it's kept.
Commit: efa94cf703a510083f411444650f3a8d21dfcfee
https://github.com/llvm/llvm-project/commit/efa94cf703a510083f411444650f3a8d21dfcfee
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Support/rpmalloc/rpmalloc.c
Log Message:
-----------
[Support/rpmalloc] Updated fake atomics with Interlocked functions (#148303)
Most atomic functions used Interlocked functions in case of MSVC (since MSVC does not do C11 yet).
But few load/store functions are dummy.
Use Interlocked functions for these atomics to ensure they are thread-safe.
This PR fixes #146205.
LLVM is on VS 2019 version 16.7 currently and eventually we require VS 2022 if we wanted to use stdatomics in rpmalloc, etc. In the meanwhile, we use the Interlocked intrinsics when building with MSVC.
Commit: 28463928a9c355d6b5f8cd0e551235dda76acb14
https://github.com/llvm/llvm-project/commit/28463928a9c355d6b5f8cd0e551235dda76acb14
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/Mips/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn build] Port 0d2e11f3e834
Commit: d64a236445d48ff55efb2278216e429bca746054
https://github.com/llvm/llvm-project/commit/d64a236445d48ff55efb2278216e429bca746054
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/BinaryFormat/BUILD.gn
Log Message:
-----------
[gn build] Port ee9b84f5bed7
Commit: 8917f84d293c2fa6b77536d7053b5c41f4e785b8
https://github.com/llvm/llvm-project/commit/8917f84d293c2fa6b77536d7053b5c41f4e785b8
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
Log Message:
-----------
[gn build] Port eec98bef84b8
Commit: d67d91a9906366585162cebf292f923a3f28c8a6
https://github.com/llvm/llvm-project/commit/d67d91a9906366585162cebf292f923a3f28c8a6
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/CodeGen/RISCV/xqcibm-cto-clo-brev.ll
M llvm/test/CodeGen/RISCV/xqcibm-insert.ll
Log Message:
-----------
[RISCV] Fix issues in ORI to QC.INSBI transformation (#148809)
The transformation done in #147349 was incorrect since we were not
passing the input node of the `OR` instruction to the `QC.INSBI`
instruction leading to the generated instruction doing the wrong thing.
In order to do this we first needed to add the output register to
`QC.INSBI` as being both an input and output.
The code produced after the above fix will need a copy (mv) to preserve
the register input to the OR instruction if it has more than one use
making the transformation net neutral ( `6-byte QC.E.ORI/ORAI` vs
`2-byte C.MV + 4-byte QC.INSB`I). Avoid doing the transformation if
there is more than one use of the input register to the OR instruction.
Commit: fccae859bc949ba390184614e07234267a734b86
https://github.com/llvm/llvm-project/commit/fccae859bc949ba390184614e07234267a734b86
Author: David Peixotto <peix at meta.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Interpreter/CommandCompletions.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/source/Commands/CommandCompletions.cpp
M lldb/source/Commands/CommandObjectPlugin.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/test/API/commands/plugin/TestPlugin.py
Log Message:
-----------
[lldb] Add completions for plugin list/enable/disable (#147775)
This commit adds completion support for the plugin commands. It will try
to complete partial namespaces to the full namespace string. If the
completion input is already a full namespace string then it will add all
the matching plugins in that namespace as completions.
This lets the user complete to the namespace first and then tab-complete
to the next level if desired.
```
(lldb) plugin list a<tab>
Available completions:
abi
architecture
(lldb) plugin list ab<tab>
(lldb) plugin list abi<tab>
(lldb) plugin list abi.<tab>
Available completions:
abi.SysV-arm64
abi.ABIMacOSX_arm64
abi.SysV-arm
...
```
Commit: c592b61fc82c79366216ae12b25b0130359b0a26
https://github.com/llvm/llvm-project/commit/c592b61fc82c79366216ae12b25b0130359b0a26
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DebugOptions.def
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Basic/CodeGenOptions.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/test/PCH/no-validate-pch.cl
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
A llvm/clang/test/Modules/implicit-opt-level.c
Log Message:
-----------
[clang][modules] Serialize `CodeGenOptions` (#146422)
Some `LangOptions` duplicate their `CodeGenOptions` counterparts. My
understanding is that this was done solely because some infrastructure
(like preprocessor initialization, serialization, module compatibility
checks, etc.) were only possible/convenient for `LangOptions`. This PR
implements the missing support for `CodeGenOptions`, which makes it
possible to remove some duplicate `LangOptions` fields and simplify the
logic. Motivated by https://github.com/llvm/llvm-project/pull/146342.
Commit: 52432b02a9bdc234d1038ed2e72afe28779ca031
https://github.com/llvm/llvm-project/commit/52432b02a9bdc234d1038ed2e72afe28779ca031
Author: David Pagan <dave.pagan at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/Basic/OpenMPKinds.cpp
Log Message:
-----------
[clang][NFC] Updated incorrect llvm-unreachable message in getOpenMPSimpleClauseType() (#148056)
Commit: 70e1a3ceada92c200e575e4fdcc1f27022b3c8f2
https://github.com/llvm/llvm-project/commit/70e1a3ceada92c200e575e4fdcc1f27022b3c8f2
Author: Paul Trojahn <paul.trojahn at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/CodeGen/AMDGPU/fold-commute-sgpr.mir
Log Message:
-----------
[AMDGPU] Check legality of both operands before swap (#148843)
When trying to fold an SGPR into the second operand to a DPP add,
si-fold-operands correctly determines that this is not possible and
attempts to swap the second and third operand. This succeeds even if the
third operand is an SGPR, creating an illegal dpp add with two SGPR
operands. We need to check both operands if they are legal in their new
position.
This causes a crash at compile time for a test in triton on gfx12:
https://github.com/triton-lang/triton/blob/345c633787e90a7f94864de3035346eb5de1781f/python/test/unit/language/test_core.py#L2718
Co-authored-by: Paul Trojahn <paul.trojahn at amd.com>
Commit: ad1cbc020493b39266f7b259737bf5c7ad0a3d56
https://github.com/llvm/llvm-project/commit/ad1cbc020493b39266f7b259737bf5c7ad0a3d56
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.h
Log Message:
-----------
[clang] Attempt to fix build after c592b61f
Commit: e5bc7e7df3adf1777194ccd4ffa4e69f39b811f0
https://github.com/llvm/llvm-project/commit/e5bc7e7df3adf1777194ccd4ffa4e69f39b811f0
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/test/Transforms/InterleavedAccess/RISCV/addrspace.ll
M llvm/test/Transforms/InterleavedAccess/RISCV/interleaved-accesses.ll
Log Message:
-----------
[RISCV][IA] Always generate masked versions of segment LD/ST [nfc-ish] (#148905)
Goal is to be able to eventually merge some of these code path. Having
the mask operand should get dropped cleanly via pattern match.
Commit: ba95df17ece2f6a137ccf88dd95841889e285953
https://github.com/llvm/llvm-project/commit/ba95df17ece2f6a137ccf88dd95841889e285953
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M libc/fuzzing/math/CMakeLists.txt
R libc/fuzzing/math/atan_fuzz.cpp
A libc/fuzzing/math/log10_fuzz.cpp
A libc/fuzzing/math/log1p_fuzz.cpp
A libc/fuzzing/math/log2_fuzz.cpp
A libc/fuzzing/math/log_fuzz.cpp
M libc/fuzzing/math/sincos_fuzz.cpp
A libc/fuzzing/math/sqrt_fuzz.cpp
Log Message:
-----------
[libc] sqrt and log functions fuzz tests (#148006)
added fuzz tests for sqrt and log functions
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 859dcfc17f0098ac52196af584b343f1416c19b0
https://github.com/llvm/llvm-project/commit/859dcfc17f0098ac52196af584b343f1416c19b0
Author: higher-performance <higher.performance.github at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Decl.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/lib/AST/Decl.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
Log Message:
-----------
Check if clang::FieldDecl has constant-integer bit width before getting the width (#148692)
This avoids crashing due to template-dependent bit widths
Commit: dabc8e2ec1e15a46b7d8aaa9d216d002a2ce8b99
https://github.com/llvm/llvm-project/commit/dabc8e2ec1e15a46b7d8aaa9d216d002a2ce8b99
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rcp.bf16.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_rcp_bf16` on gfx1250 (#148916)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: 23ac7b938d08db633ae6b99dfbce84ec76c0e702
https://github.com/llvm/llvm-project/commit/23ac7b938d08db633ae6b99dfbce84ec76c0e702
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sqrt.bf16.ll
A llvm/test/CodeGen/AMDGPU/llvm.sqrt.bf16.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_sqrt_bf16` on gfx1250 (#148921)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: 1fe366d884728e37aca216891c77b16dc21ed03a
https://github.com/llvm/llvm-project/commit/1fe366d884728e37aca216891c77b16dc21ed03a
Author: cmtice <cmtice at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lldb/test/API/commands/frame/var-dil/basics/QualifiedId/TestFrameVarDILQualifiedId.py
Log Message:
-----------
[LLDB] Disable DIL QualifiedId test on Windows. (#148940)
The lldb-x86_64-win buildbot is failing on this one DIL test. Disable
the test on Windows until we can debug it on Windows.
Commit: 8d61073128f8becdfaf7fb931c40a86d23fdd8e8
https://github.com/llvm/llvm-project/commit/8d61073128f8becdfaf7fb931c40a86d23fdd8e8
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[NFC][SemaHLSL] Fix typo causing float to double conversion (#148941)
- it was noted,
[here](https://github.com/llvm/llvm-project/pull/145795#discussion_r2208118547),
that by accidently not specifying this explicitly as a float it will
cause a build warning on MSVC
- this commit resolves this by explicitly specifying it as a float
Commit: 1a940bfff9176fb38a71b0045d7ae25df9a4ca7d
https://github.com/llvm/llvm-project/commit/1a940bfff9176fb38a71b0045d7ae25df9a4ca7d
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
Log Message:
-----------
[mlir][py] Fix nanobind uninitialized values (#148944)
After #143866, we no longer always write to `value`, causing it to be
uninitialized. This can lead to mysterious crashes, e.g. in
`python_test.py` / `testCustomAttribute` when we attempt to evaluate
`TestAttr(42)`, it does not set `value`, but
`mlirAttributeIsNull(value)` happens to return false for garbage memory,
and we end up trying to interpret it as a function instead of skipping
it.
Fix this by only reading `value` if it has been assigned. If it hasn't,
`return false` seems the right choice for all these methods, i.e.
indicate that `from_python` failed.
Commit: 42d2ae1034b287eb60563c370dbf52c59b66db20
https://github.com/llvm/llvm-project/commit/42d2ae1034b287eb60563c370dbf52c59b66db20
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
A llvm/test/Transforms/InstCombine/ptrauth-call.ll
Log Message:
-----------
[InstCombine] Combine ptrauth constant callee into bundle. (#94706)
Try to optimize a call to a ptrauth constant, into its ptrauth bundle:
call(ptrauth(f)), ["ptrauth"()] -> call f
as long as the key/discriminator are the same in constant and bundle.
Commit: b4e2272271ee85273ca871abac2f6e9342da143d
https://github.com/llvm/llvm-project/commit/b4e2272271ee85273ca871abac2f6e9342da143d
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M flang/lib/Lower/ConvertVariable.cpp
M flang/test/Lower/CUDA/cuda-set-allocator.cuf
Log Message:
-----------
[flang][cuda] Move cuf.set_allocator_idx after derived-type init (#148936)
Derived type initialization overwrite the component descriptor. Place
the `cuf.set_allocator_idx` after the initialization is performed.
Commit: 7f2bcd97cf4afc94e4badb2f6acd229003ef5912
https://github.com/llvm/llvm-project/commit/7f2bcd97cf4afc94e4badb2f6acd229003ef5912
Author: Artem Belevich <tra at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/cuda_wrappers/__utility/declval.h
Log Message:
-----------
[CUDA] add wrapper header for libc++'s __utlility/declval.h (#148918)
Since #116709 more libc++ code relies on std::declval() and it broke
some CUDA compilations.
The new wrapper adds GPU-side overloads for the declval() helper
functions which allows it to continue working when used from CUDA
sources.
Commit: bc187b82705f31b5cd04fe986170f594ab2a51d4
https://github.com/llvm/llvm-project/commit/bc187b82705f31b5cd04fe986170f594ab2a51d4
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
Log Message:
-----------
[RISCV] Use early-return in lowerInterleaveIntrinsicToStore [nfc]
Commit: c0785ea8bd76c36125bc9e5fad7bf787433635a5
https://github.com/llvm/llvm-project/commit/c0785ea8bd76c36125bc9e5fad7bf787433635a5
Author: David Peixotto <peix at meta.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M lldb/test/API/commands/plugin/TestPlugin.py
Log Message:
-----------
[lldb] Fix plugin test to not rely on enabled targets (#148956)
The plugins completion test was checking completions for the abi
plugins. But the available abi plugins will depend on which
[targets](https://github.com/llvm/llvm-project/blob/42d2ae1034b287eb60563c370dbf52c59b66db20/lldb/source/Plugins/ABI/CMakeLists.txt#L7)
are enabled in the cmake build configuration.
This PR updates the test to check for the json object file instead which
should be enabled on all builds.
Commit: 91d82bf4ab6c57a56d5797b40140b7c72b3de705
https://github.com/llvm/llvm-project/commit/91d82bf4ab6c57a56d5797b40140b7c72b3de705
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Log Message:
-----------
[mlir] Fix u_int64_t in OpenMPDialect.cpp (#148963)
Commit: 4aa78c79da557b3fe1d19d2ad008f9e8e1353f1b
https://github.com/llvm/llvm-project/commit/4aa78c79da557b3fe1d19d2ad008f9e8e1353f1b
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
Log Message:
-----------
Fix OpenMPDialect.cpp build error (#148952)
Commit: fd543b3c46844f02404cd3cc91738da8a18e3765
https://github.com/llvm/llvm-project/commit/fd543b3c46844f02404cd3cc91738da8a18e3765
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port 7f2bcd97cf4a
Commit: e685e4a7715ec51575fa37bc9d6bd6cf420cf655
https://github.com/llvm/llvm-project/commit/e685e4a7715ec51575fa37bc9d6bd6cf420cf655
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/TableGen/StringToOffsetTable.cpp
M llvm/test/TableGen/RuntimeLibcallEmitter.td
Log Message:
-----------
TableGen: Fixed the string table definitions visibility. (#148946)
This fixes the buildbots issues reported in #148839.
Commit: 77bcab835aca155b67548c4a3cb1ae583abb1a14
https://github.com/llvm/llvm-project/commit/77bcab835aca155b67548c4a3cb1ae583abb1a14
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
A llvm/test/Transforms/InstCombine/ptrauth-intrinsics-call.ll
Log Message:
-----------
[InstCombine] Combine ptrauth intrin. callee into same-key bundle. (#94707)
Try to optimize a call to the result of a ptrauth intrinsic, potentially
into the ptrauth call bundle:
call(ptrauth.resign(p)), ["ptrauth"()] -> call p, ["ptrauth"()]
call(ptrauth.sign(p)), ["ptrauth"()] -> call p
as long as the key/discriminator are the same in sign and auth-bundle,
and we don't change the key in the bundle (to a potentially-invalid
key.)
Generating a plain call to a raw unauthenticated pointer is generally
undesirable, but if we ended up seeing a naked ptrauth.sign in the first
place, we already have suspicious code. Unauthenticated calls are also
easier to spot than naked signs, so let the indirect call shine.
Note that there is an arguably unsafe extension to this, where we don't
bother checking that the key in bundle and intrinsic are the same (and
also allow folding away an auth into a bundle.)
This can end up generating calls with a bundle that has an invalid key
(which an informed frontend wouldn't have otherwise done), which can be
problematic. The C that generates that is straightforward but arguably
unreasonable. That wouldn't be an issue if we were to bite the bullet
and make these fully AArch64-specific, allowing key knowledge to be
embedded here.
Commit: bec508ad1719dfc8f0d85c5343ce44c3d1f326e1
https://github.com/llvm/llvm-project/commit/bec508ad1719dfc8f0d85c5343ce44c3d1f326e1
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
Log Message:
-----------
[mlir][nvvm] Fix control reaches end of non-void function warning (#148965)
Commit: b64d7baf9c0d37893ebabbe2539e725eb70b46e9
https://github.com/llvm/llvm-project/commit/b64d7baf9c0d37893ebabbe2539e725eb70b46e9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZicbo.td
Log Message:
-----------
[RISCV] Change the InstFormat for Zicbop prefetch instructions to InstFormatOther. (#148934)
The lower 5-bits of the immediate are not part of the address unlike
other InstFormatS instructions.
We use InstFormatS in RISCVRegisterInfo::needsFrameBaseReg and
RISCVRegisterInfo::getFrameIndexInstrOffset which is not aware of this
special encoding. Force the format to InstFormatOther so those functions
will ignore it.
InstFormatS is also used by relocation emission, but I don't believe we
ever emit these instructions with a relocation because of the encoding.
Commit: c36156de45a0f5e24e7a4ee2259c3302ea814785
https://github.com/llvm/llvm-project/commit/c36156de45a0f5e24e7a4ee2259c3302ea814785
Author: Yuxuan Chen <ych at fb.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/test/CodeGenCoroutines/coro-gro.cpp
Log Message:
-----------
[Clang] Fix FE crash during CGCoroutine GRO Alloca Emission (#148962)
Fixes: https://github.com/llvm/llvm-project/issues/148953
Currently when coroutine return object type is const qualified, we don't
do direct emission. The regular emission logic assumed that the auto var
emission will always result in an `AllocaInst`. However, based on my
findings, NRVO var emissions don't result in `AllocaInst`s. Therefore,
this
[assertion](https://github.com/llvm/llvm-project/blob/1a940bfff9176fb38a71b0045d7ae25df9a4ca7d/clang/lib/CodeGen/CGCoroutine.cpp#L712)
will fail.
Since the NRVOed returned object don't live on the coroutine frame, we
won't have the problem of it outliving the coroutine frame, therefore,
we can safely omit this metadata.
Commit: ae3bba4d15a10646ea91c6c0795633b82939857b
https://github.com/llvm/llvm-project/commit/ae3bba4d15a10646ea91c6c0795633b82939857b
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
Log Message:
-----------
WebKit checkers: recgonize @YES / @NO as safe constants (#148721)
Commit: 868793fa8e2f5aedb76fae09df6ca2128a165861
https://github.com/llvm/llvm-project/commit/868793fa8e2f5aedb76fae09df6ca2128a165861
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SISchedule.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1250.w32.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imm.gfx1250.w32.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imod.gfx1250.w32.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.index.gfx1250.w32.ll
Log Message:
-----------
AMDGPU: Support intrinsic selection for gfx1250 wmma instructions (#148957)
Co-authored-by: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Co-authored-by: Shilei Tian <Shilei.Tian at amd.com>
Commit: 5c4877ee0d2b5afcf23038b5cb0e82a03297657d
https://github.com/llvm/llvm-project/commit/5c4877ee0d2b5afcf23038b5cb0e82a03297657d
Author: Thurston Dang <thurston at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/or.ll
Log Message:
-----------
[msan] Re-fix disjoint OR instrumentation from #145990 (#148760)
When disjoint OR was specified and a bit position contained a 1 in both
operands, #145990 would set the corresponding shadow bit to
uninitialized. However, the output of the operation is (LLVM) 'poison'
for the entire result, hence the entire shadow ought to be
uninitialized. This patch corrects the issue.
Commit: 116110e1a93531a64d82f049b6e36403bc14f278
https://github.com/llvm/llvm-project/commit/116110e1a93531a64d82f049b6e36403bc14f278
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/tools/libclang/libclang.map
Log Message:
-----------
[libclang] Fix version for symbol clang_visitCXXMethods (#148958)
Happened to spot this while looking at libclang.map for other reasons.
clang_visitCXXMethods was added in LLVM 21, not LLVM 20.
Commit: 3b41e4d4b5e57e4dc1a48a55f3bb683227863d81
https://github.com/llvm/llvm-project/commit/3b41e4d4b5e57e4dc1a48a55f3bb683227863d81
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/barrier
M libcxx/src/barrier.cpp
Log Message:
-----------
[libc++] Annotate barrier functions that are defined in the dylib (#148542)
This can improve code gen slightly.
Commit: 66e707ec68d6dc8d8f70083b68daf52559a862c1
https://github.com/llvm/llvm-project/commit/66e707ec68d6dc8d8f70083b68daf52559a862c1
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaRISCV.cpp
Log Message:
-----------
[NFC] Remove getDefaultCallingConvention IsBuiltin (#145904)
ASTContext::getDefaultCallingConvention() was documented as returning
"the default calling convention for the current target", but did not do
this, and was never intended to do this, it has always been controlled
by command-line options to deviate from the target default.
This commit changes ASTContext::getDefaultCallingConvention() to reflect
the fact that it returns the context's default calling convention, not
the target's default calling convention. The IsBuiltin parameter, which
was used to return the target's default calling convention rather than
the context's, is removed in favor of
getTargetInfo().getDefaultCallingConv() which is more explicit of the
intent.
Commit: 91ee01fda8b8801805708a51bba90796da376ae7
https://github.com/llvm/llvm-project/commit/91ee01fda8b8801805708a51bba90796da376ae7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaM68k.cpp
M clang/lib/Sema/SemaMSP430.cpp
M clang/lib/Sema/SemaType.cpp
Log Message:
-----------
[Sema] Remove unnecessary casts (NFC) (#148871)
getArgAsExpr already returns Expr *.
Commit: 4bd0e9e7f354e8824af506f4ee6816fb0351ed78
https://github.com/llvm/llvm-project/commit/4bd0e9e7f354e8824af506f4ee6816fb0351ed78
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Add early out to reduce indentation in SelectAddrRegRegScale. NFC
Commit: 0f1b16dd5f83fd931ecb111bb925ac9e1d56f589
https://github.com/llvm/llvm-project/commit/0f1b16dd5f83fd931ecb111bb925ac9e1d56f589
Author: Akshay Deodhar <adeodhar at nvidia.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXUtilities.h
M llvm/test/CodeGen/NVPTX/atomicrmw-expand.ll
M llvm/test/CodeGen/NVPTX/atomics-sm70.ll
M llvm/test/CodeGen/NVPTX/atomics-sm90.ll
M llvm/test/CodeGen/NVPTX/cmpxchg-sm60.ll
M llvm/test/CodeGen/NVPTX/cmpxchg-sm70.ll
M llvm/test/CodeGen/NVPTX/cmpxchg-sm90.ll
M llvm/test/CodeGen/NVPTX/cmpxchg.ll
M llvm/test/CodeGen/NVPTX/cmpxchg.py
M llvm/test/CodeGen/NVPTX/distributed-shared-cluster.ll
Log Message:
-----------
[NVPTX] Add syncscope support for cmpxchg (#140812)
This MR adds support for cmpxchg instructions with syncscope.
- Adds a new definition for atomic 3-operand instructions, with constant
operands for sem, scope and addsp.
- Lowers cmpxchg SDNodes populating sem, scope and addsp using
SDNodeXForms.
- Handle syncscope correctly for emulation loops in AtomicExpand, in
bracketInstructionWithFences.
- Modifies emitLeadingFence, emitTrailingFence to accept SyncScope as a
parameter. Modifies implementation of these in other backends, with the
parameter being ignored.
- Tests for a _slice_ of all possible combinations of the cmpxchg
instruction (with modifications to cmpxchg.py)
---------
Co-authored-by: gonzalobg <65027571+gonzalobg at users.noreply.github.com>
Commit: c7d1eae4fc442a99085bae16be53a8087b9e5f25
https://github.com/llvm/llvm-project/commit/c7d1eae4fc442a99085bae16be53a8087b9e5f25
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Use masked segment LD/ST intrinsics in (de)interleaveN lowering [nfc] (#148966)
Follow up on the work from e5bc7e7d, and extend it to the lowering used
for interleave and deinterleave when we can't combine with a nearby
memory operation.
Commit: 2d6534b7daa0483f11f84d218fa1dc65eee44a93
https://github.com/llvm/llvm-project/commit/2d6534b7daa0483f11f84d218fa1dc65eee44a93
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
A llvm/test/CodeGen/AMDGPU/global-address.ll
M llvm/test/CodeGen/MIR/AMDGPU/target-flags.mir
A llvm/test/MC/AMDGPU/fixup64.s
Log Message:
-----------
[AMDGPU] gfx1250 64-bit relocations and fixups (#148951)
Commit: 82d7405b3bb911c86d0b07c8a6bec5044acbdf66
https://github.com/llvm/llvm-project/commit/82d7405b3bb911c86d0b07c8a6bec5044acbdf66
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
A llvm/test/CodeGen/AMDGPU/branch-relaxation-gfx1250.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_sop1.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_sop1.txt
Log Message:
-----------
[AMDGPU] Use S_ADD_PC_I64 for long branches in gfx1250 (#148961)
Commit: 5458151817c5f46c05a6b7c472085e51aa55c892
https://github.com/llvm/llvm-project/commit/5458151817c5f46c05a6b7c472085e51aa55c892
Author: Florian Mayer <fmayer at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/X86/invalid-operand-bundle-call.ll
M llvm/test/CodeGen/X86/invalid-operand-bundle-callbr.ll
Log Message:
-----------
[SelectionDAG] improve error messages for invalid operator bundle (#148945)
Commit: b1a93cfc32fbe912bb9b97796145501ea453d1bd
https://github.com/llvm/llvm-project/commit/b1a93cfc32fbe912bb9b97796145501ea453d1bd
Author: Ross Kirsling <ross.kirsling at sony.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
A llvm/test/Transforms/InstCombine/fold-icmp-without-constant-into-phi.ll
Log Message:
-----------
[InstCombine] foldOpIntoPhi should apply to icmp with non-constant operand (#147676)
Alive2: https://alive2.llvm.org/ce/z/4MeCzA
Fixes #146263.
Commit: 386f73d4fb67649d5518d9a0cd5a49498bf608ca
https://github.com/llvm/llvm-project/commit/386f73d4fb67649d5518d9a0cd5a49498bf608ca
Author: Ross Kirsling <ross.kirsling at sony.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/test/tools/llvm-objcopy/ELF/strip-preserve-atime.test
Log Message:
-----------
[llvm-objcopy] Explain that strip-preserve-atime.test fails with Crowdstrike (#145783)
Related to #82372.
Not a fix per se, but an acknowledgment and a workaround.
Commit: 4b81dc75f4a5b8651d6a4c4ac8840049dc9ae289
https://github.com/llvm/llvm-project/commit/4b81dc75f4a5b8651d6a4c4ac8840049dc9ae289
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
Log Message:
-----------
[IA] Use a single callback for lowerDeinterleaveIntrinsic [nfc] (#148978)
This essentially merges the handling for VPLoad - currently in
lowerInterleavedVPLoad which is shared between shuffle and intrinsic
based interleaves - into the existing dedicated routine.
My plan is that if we like this factoring is that I'll do the same for
the intrinsic store paths, and then remove the excess generality from
the shuffle paths since we don't need to support both modes in the
shared VPLoad/Store callbacks. We can probably even fold the VP versions
into the non-VP shuffle variants in the analogous way.
Commit: 01dd892734614cad30d7b50e5acc1c533a3fd39c
https://github.com/llvm/llvm-project/commit/01dd892734614cad30d7b50e5acc1c533a3fd39c
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
Log Message:
-----------
AMDGPU: Remove a non-existent wmma instruction from gfx1250 (#148989)
Commit: c962f2b29d55138d0b3849a7b8b557108188bb4f
https://github.com/llvm/llvm-project/commit/c962f2b29d55138d0b3849a7b8b557108188bb4f
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
A clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-wmma-w32-param.cl
Log Message:
-----------
AMDGPU: Implement builtins for gfx1250 wmma instructions (#148991)
Co-authored-by: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Co-authored-by: Shilei Tian <Shilei.Tian at amd.com>
Commit: 36e4174989f866c9f97acb35c0d3b80ef61e9459
https://github.com/llvm/llvm-project/commit/36e4174989f866c9f97acb35c0d3b80ef61e9459
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AArch64/pr148949.ll
Log Message:
-----------
[DAGCombiner][AArch64] Prevent SimplifyVCastOp from creating illegal scalar types after type legalization. (#148970)
Fixes #148949
Commit: a87b8398f9e94ea363c170625e015074fecfd318
https://github.com/llvm/llvm-project/commit/a87b8398f9e94ea363c170625e015074fecfd318
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Simplify conversion from ISD::Constant to ISD::TargetConstant in SelectAddrRegRegScale. NFC
Directly copy the underlying ConstantInt instead of reconstructing it.
Commit: 5ff99f2757a62c52079397602dbd0c2e9d9f0ae7
https://github.com/llvm/llvm-project/commit/5ff99f2757a62c52079397602dbd0c2e9d9f0ae7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Remove duplicate check in an if statement. NFC
Commit: 513a6465ba09d63ca179aa8122845e3abd5bd62b
https://github.com/llvm/llvm-project/commit/513a6465ba09d63ca179aa8122845e3abd5bd62b
Author: yronglin <yronglin777 at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/test/CXX/module/module.interface/p1.cpp
Log Message:
-----------
[NFC][clang] Refactor CXX/module/module.interface/p1.cpp with split-file (#148861)
Refine CXX/module/module.interface/p1.cpp with split-file.
This MR is a part of https://github.com/llvm/llvm-project/pull/107168.
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 0f6a2db2594f5ffaf9bcd03f8233a850aa7d32af
https://github.com/llvm/llvm-project/commit/0f6a2db2594f5ffaf9bcd03f8233a850aa7d32af
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/merge-tbuffer-gfx10.mir
A llvm/test/CodeGen/AMDGPU/merge-tbuffer-gfx11.mir
A llvm/test/CodeGen/AMDGPU/merge-tbuffer-gfx9.mir
R llvm/test/CodeGen/AMDGPU/merge-tbuffer.mir
Log Message:
-----------
[NFC][AMDGPU] Split merge-tbuffer.mir into separate tests for gfx9, gfx10, and gfx11 (#148786)
For https://github.com/llvm/llvm-project/pull/145078
Commit: 28e1473e8e523150914e8c7ea50b44fb0d2a8d65
https://github.com/llvm/llvm-project/commit/28e1473e8e523150914e8c7ea50b44fb0d2a8d65
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCELFStreamer.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
R llvm/test/MC/ARM/AlignedBundling/group-bundle-arm.s
R llvm/test/MC/ARM/AlignedBundling/illegal-subtarget-change.s
R llvm/test/MC/ARM/AlignedBundling/lit.local.cfg
R llvm/test/MC/ARM/AlignedBundling/pad-align-to-bundle-end.s
R llvm/test/MC/ARM/AlignedBundling/subtarget-change.s
M llvm/test/MC/AsmParser/AArch64/directive-parse-err.s
R llvm/test/MC/X86/AlignedBundling/align-mode-argument-error.s
R llvm/test/MC/X86/AlignedBundling/asm-printing-bundle-directives.s
R llvm/test/MC/X86/AlignedBundling/autogen-inst-offset-align-to-end.s
R llvm/test/MC/X86/AlignedBundling/autogen-inst-offset-padding.s
R llvm/test/MC/X86/AlignedBundling/bundle-group-too-large-error.s
R llvm/test/MC/X86/AlignedBundling/bundle-lock-option-error.s
R llvm/test/MC/X86/AlignedBundling/bundle-subtarget-change-error.s
R llvm/test/MC/X86/AlignedBundling/different-sections.s
R llvm/test/MC/X86/AlignedBundling/labeloffset.s
R llvm/test/MC/X86/AlignedBundling/lit.local.cfg
R llvm/test/MC/X86/AlignedBundling/lock-without-bundle-mode-error.s
R llvm/test/MC/X86/AlignedBundling/long-nop-pad.s
R llvm/test/MC/X86/AlignedBundling/misaligned-bundle-group.s
R llvm/test/MC/X86/AlignedBundling/misaligned-bundle.s
R llvm/test/MC/X86/AlignedBundling/nesting.s
R llvm/test/MC/X86/AlignedBundling/pad-align-to-bundle-end.s
R llvm/test/MC/X86/AlignedBundling/pad-bundle-groups.s
R llvm/test/MC/X86/AlignedBundling/relax-at-bundle-end.s
R llvm/test/MC/X86/AlignedBundling/relax-in-bundle-group.s
R llvm/test/MC/X86/AlignedBundling/section-alignment.s
R llvm/test/MC/X86/AlignedBundling/single-inst-bundling.s
R llvm/test/MC/X86/AlignedBundling/switch-section-locked-error.s
R llvm/test/MC/X86/AlignedBundling/unlock-without-lock-error.s
R llvm/test/MC/X86/align-branch-bundle.s
Log Message:
-----------
MC: Remove bundle alignment mode
The being-removed PNaCl has a Software Fault Isolation mechanism, which
requires that certain instructions and groups of instructions do not
cross a bundle boundary. When `.bundle_align_mode` is in effect, each
instruction is placed in its own fragment, allowing flexible NOP
padding.
This feature has significantly complicated our refactoring of MCStreamer
and MCFragment, leading to considerable effort spent untangling
it (including flushPendingLabels (75006466296ed4b0f845cbbec4bf77c21de43b40),
MCAssembler iteration improvement, and recent MCFragment refactoring).
* Make MCObjectStreamer::emitInstToData non-virtual and delete
MCELFStreamer::emitInstTodata
* Delete MCELFStreamer::emitValueImpl and emitValueToAlignment
Minor instructions:u decrease for both -O0 -g and -O3 builds
https://llvm-compile-time-tracker.com/compare.php?from=c06d3a7b728293cbc53ff91239d6cd87c0982ffb&to=9b078c7f228bc5b6cdbfe839f751c9407f8aec3e&stat=instructions:u
Pull Request: https://github.com/llvm/llvm-project/pull/148781
Commit: 968d38d1d7d9de2d5717457876bba2663b36f620
https://github.com/llvm/llvm-project/commit/968d38d1d7d9de2d5717457876bba2663b36f620
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M compiler-rt/test/lit.common.cfg.py
Log Message:
-----------
compiler-rt: test: Use the host instead of the target to select %expect_crash.
When running tests in a cross-compiled build, %expect_crash is
run on the host, not the target, so we need to check the host
OS. config.host_os surprisingly refers to the target OS because it
is derived from CMAKE_SYSTEM_NAME which specifies the target. See:
https://cmake.org/cmake/help/latest/variable/CMAKE_SYSTEM_NAME.html
Another speculative fix for:
https://lab.llvm.org/buildbot/#/builders/193/builds/9070
Commit: fa88c188de33b00e133973129338efd48a2c7d0b
https://github.com/llvm/llvm-project/commit/fa88c188de33b00e133973129338efd48a2c7d0b
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Analysis/AffineAnalysis.h
M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
Log Message:
-----------
[MLIR][Affine] Add default null init for mlir::affine::MemRefAccess (#147922)
Add default null init for `mlir::affine::MemRefAccess`. This is
consistent with various other MLIR structures and had been missing for
`mlir::affine::MemRefAccess`.
Commit: 8ec03f49dc417897a9ecffb3c5bc63c8e3e43ab7
https://github.com/llvm/llvm-project/commit/8ec03f49dc417897a9ecffb3c5bc63c8e3e43ab7
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
Clarify semantics for overflowing constrained lrint etc. (#148979)
This fixes llvm.experimental.constrained.lrint and friends to use the
same semantics as llvm.lrint and friends, as defined in
ba5c26da7ce85dbdcee3d964282e5f0981792702.
Commit: 156e4cb10e5863daf94154892e1d859ab1a4b57a
https://github.com/llvm/llvm-project/commit/156e4cb10e5863daf94154892e1d859ab1a4b57a
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTX.h
Log Message:
-----------
NVPTX: Fix clang -Wcovered-switch-default
Commit: 9b3064aec821fafca868b472eec209db373353e6
https://github.com/llvm/llvm-project/commit/9b3064aec821fafca868b472eec209db373353e6
Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
A llvm/test/tools/llvm-objdump/ELF/RISCV/rv32-plt.test
A llvm/test/tools/llvm-objdump/ELF/RISCV/rv64-plt.test
Log Message:
-----------
[llvm-objdump][RISCV] Display `@plt' symbols when disassembling .plt section (#147933)
This patch adds dummy symbols for PLT entries for RISC-V 32-bit and
64-bit targets so llvm-objdump can show the function symbol that
corresponds to each PLT entry.
Commit: 228c45f13dc92546661b6825b7b32c3808b0d2eb
https://github.com/llvm/llvm-project/commit/228c45f13dc92546661b6825b7b32c3808b0d2eb
Author: James Newling <james.newling at gmail.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/EmulateUnsupportedFloats.cpp
M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/test/Dialect/NVGPU/transform-matmul-to-nvvm.mlir
Log Message:
-----------
Revert [mlir][vector] Use vector.broadcast in place of vector.splat (#148937)
This reverts PR/commit https://github.com/llvm/llvm-project/commit/99875733fce0c6c72c50244ceaffe0cc5e1fa277
This PR/commit should only be landed after
https://github.com/llvm/llvm-project/pull/148027, at which point we
don't need to assume that vector.broadcast has been lowered to another
form.
Commit: 7da8f7394f8f0847dd1a29a9fbab5043fe307bae
https://github.com/llvm/llvm-project/commit/7da8f7394f8f0847dd1a29a9fbab5043fe307bae
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
Log Message:
-----------
[AMDGPU] Remove an unnecessary cast (NFC) (#148868)
STI is already of const GCNSubtarget *.
Commit: 39dd6cdd57b2587c48cbea01838d77611055e72f
https://github.com/llvm/llvm-project/commit/39dd6cdd57b2587c48cbea01838d77611055e72f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
Log Message:
-----------
[ARM] Remove an unnecessary cast (NFC) (#148869)
TII is already of const ARMBaseInstrInfo *. This patch removes AII in
favor of TII.
Commit: b454062456ceb8a093e292f8035c0f2a0bb08d03
https://github.com/llvm/llvm-project/commit/b454062456ceb8a093e292f8035c0f2a0bb08d03
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp
Log Message:
-----------
[Hexagon] Remove an unnecessary cast (NFC) (#148870)
SB is already of MachineBasicBlock *SB.
Commit: 606e7f90b1d59799829eb9485eccfca5101b775f
https://github.com/llvm/llvm-project/commit/606e7f90b1d59799829eb9485eccfca5101b775f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M mlir/lib/Debug/BreakpointManagers/FileLineColLocBreakpointManager.cpp
M mlir/lib/Debug/ExecutionContext.cpp
M mlir/lib/Debug/Observers/ActionProfiler.cpp
M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
M mlir/lib/Interfaces/LoopLikeInterface.cpp
M mlir/lib/Interfaces/SideEffectInterfaces.cpp
M mlir/lib/Pass/Pass.cpp
M mlir/lib/Pass/PassCrashRecovery.cpp
M mlir/lib/Pass/PassTiming.cpp
M mlir/lib/Query/Matcher/ErrorBuilder.cpp
M mlir/lib/Query/Query.cpp
M mlir/lib/Reducer/ReductionNode.cpp
M mlir/lib/Reducer/ReductionTreePass.cpp
M mlir/lib/Rewrite/FrozenRewritePatternSet.cpp
M mlir/lib/Support/Timing.cpp
M mlir/lib/Tools/PDLL/CodeGen/CPPGen.cpp
M mlir/lib/Tools/PDLL/ODS/Context.cpp
M mlir/lib/Tools/PDLL/ODS/Dialect.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/lib/Tools/lsp-server-support/Logging.cpp
M mlir/lib/Tools/lsp-server-support/Protocol.cpp
M mlir/lib/Tools/lsp-server-support/Transport.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/LSPServer.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/Protocol.cpp
M mlir/lib/Tools/mlir-reduce/MlirReduceMain.cpp
M mlir/lib/Tools/mlir-translate/Translation.cpp
M mlir/lib/Tools/tblgen-lsp-server/LSPServer.cpp
Log Message:
-----------
[mlir] Remove unused includes (NFC) (#148872)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: 7a9bef0166951a61bc7094514a20471ae45f6090
https://github.com/llvm/llvm-project/commit/7a9bef0166951a61bc7094514a20471ae45f6090
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M .github/workflows/libclang-python-tests.yml
M clang/CMakeLists.txt
A clang/bindings/python/tests/CMakeLists.txt
A clang/bindings/python/tests/__init__.py
A clang/bindings/python/tests/cindex/INPUTS/a.inc
A clang/bindings/python/tests/cindex/INPUTS/b.inc
A clang/bindings/python/tests/cindex/INPUTS/compile_commands.json
A clang/bindings/python/tests/cindex/INPUTS/header1.h
A clang/bindings/python/tests/cindex/INPUTS/header2.h
A clang/bindings/python/tests/cindex/INPUTS/header3.h
A clang/bindings/python/tests/cindex/INPUTS/hello.cpp
A clang/bindings/python/tests/cindex/INPUTS/include.cpp
A clang/bindings/python/tests/cindex/INPUTS/parse_arguments.c
A clang/bindings/python/tests/cindex/INPUTS/testfile.c
A clang/bindings/python/tests/cindex/__init__.py
A clang/bindings/python/tests/cindex/test_access_specifiers.py
A clang/bindings/python/tests/cindex/test_cdb.py
A clang/bindings/python/tests/cindex/test_code_completion.py
A clang/bindings/python/tests/cindex/test_comment.py
A clang/bindings/python/tests/cindex/test_cursor.py
A clang/bindings/python/tests/cindex/test_cursor_kind.py
A clang/bindings/python/tests/cindex/test_diagnostics.py
A clang/bindings/python/tests/cindex/test_enums.py
A clang/bindings/python/tests/cindex/test_exception_specification_kind.py
A clang/bindings/python/tests/cindex/test_file.py
A clang/bindings/python/tests/cindex/test_index.py
A clang/bindings/python/tests/cindex/test_lib.py
A clang/bindings/python/tests/cindex/test_linkage.py
A clang/bindings/python/tests/cindex/test_location.py
A clang/bindings/python/tests/cindex/test_rewrite.py
A clang/bindings/python/tests/cindex/test_source_range.py
A clang/bindings/python/tests/cindex/test_tls_kind.py
A clang/bindings/python/tests/cindex/test_token_kind.py
A clang/bindings/python/tests/cindex/test_tokens.py
A clang/bindings/python/tests/cindex/test_translation_unit.py
A clang/bindings/python/tests/cindex/test_type.py
A clang/bindings/python/tests/cindex/util.py
M clang/test/CMakeLists.txt
R clang/test/bindings/python/bindings.sh
R clang/test/bindings/python/lit.local.cfg
R clang/test/bindings/python/tests/__init__.py
R clang/test/bindings/python/tests/cindex/INPUTS/a.inc
R clang/test/bindings/python/tests/cindex/INPUTS/b.inc
R clang/test/bindings/python/tests/cindex/INPUTS/compile_commands.json
R clang/test/bindings/python/tests/cindex/INPUTS/header1.h
R clang/test/bindings/python/tests/cindex/INPUTS/header2.h
R clang/test/bindings/python/tests/cindex/INPUTS/header3.h
R clang/test/bindings/python/tests/cindex/INPUTS/hello.cpp
R clang/test/bindings/python/tests/cindex/INPUTS/include.cpp
R clang/test/bindings/python/tests/cindex/INPUTS/parse_arguments.c
R clang/test/bindings/python/tests/cindex/INPUTS/testfile.c
R clang/test/bindings/python/tests/cindex/__init__.py
R clang/test/bindings/python/tests/cindex/test_access_specifiers.py
R clang/test/bindings/python/tests/cindex/test_cdb.py
R clang/test/bindings/python/tests/cindex/test_code_completion.py
R clang/test/bindings/python/tests/cindex/test_comment.py
R clang/test/bindings/python/tests/cindex/test_cursor.py
R clang/test/bindings/python/tests/cindex/test_cursor_kind.py
R clang/test/bindings/python/tests/cindex/test_diagnostics.py
R clang/test/bindings/python/tests/cindex/test_enums.py
R clang/test/bindings/python/tests/cindex/test_exception_specification_kind.py
R clang/test/bindings/python/tests/cindex/test_file.py
R clang/test/bindings/python/tests/cindex/test_index.py
R clang/test/bindings/python/tests/cindex/test_lib.py
R clang/test/bindings/python/tests/cindex/test_linkage.py
R clang/test/bindings/python/tests/cindex/test_location.py
R clang/test/bindings/python/tests/cindex/test_rewrite.py
R clang/test/bindings/python/tests/cindex/test_source_range.py
R clang/test/bindings/python/tests/cindex/test_tls_kind.py
R clang/test/bindings/python/tests/cindex/test_token_kind.py
R clang/test/bindings/python/tests/cindex/test_tokens.py
R clang/test/bindings/python/tests/cindex/test_translation_unit.py
R clang/test/bindings/python/tests/cindex/test_type.py
R clang/test/bindings/python/tests/cindex/util.py
Log Message:
-----------
Revert "Move python binding tests to lit framework" (#149012)
This reverts commit f8707f994af2582f6dc58190106946efeb43bf05.
Commit: dc3a4c0fcf4953645bc81ae99db10e48acd4961f
https://github.com/llvm/llvm-project/commit/dc3a4c0fcf4953645bc81ae99db10e48acd4961f
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCCodeView.h
M llvm/include/llvm/MC/MCContext.h
M llvm/include/llvm/MC/MCELFStreamer.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCWasmStreamer.h
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/MC/MCSymbol.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/test/MC/ELF/mc-dump.s
Log Message:
-----------
MC: Restructure MCFragment as a fixed part and a variable tail
Refactor the fragment representation of `push rax; jmp foo; nop; jmp foo`,
previously encoded as
`MCDataFragment(nop); MCRelaxableFragment(jmp foo); MCDataFragment(nop); MCRelaxableFragment(jmp foo)`,
to
```
MCFragment(fixed: push rax, variable: jmp foo)
MCFragment(fixed: nop, variable: jmp foo)
```
Changes:
* Eliminate MCEncodedFragment, moving content and fixup storage to MCFragment.
* The new MCFragment contains a fixed-size content (similar to previous
MCDataFragment) and an optional variable-size tail.
* The variable-size tail supports FT_Relaxable, FT_LEB, FT_Dwarf, and
FT_DwarfFrame, with plans to extend to other fragment types.
dyn_cast/isa should be avoided for the converted fragment subclasses.
* In `setVarFixups`, source fixup offsets are relative to the variable part's start.
Stored fixup (in `FixupStorage`) offsets are relative to the fixed part's start.
A lot of code does `getFragmentOffset(Frag) + Fixup.getOffset()`,
expecting the fixup offset to be relative to the fixed part's start.
* HexagonAsmBackend::fixupNeedsRelaxationAdvanced needs to know the
associated instruction for a fixup. We have to add a `const MCFragment &` parameter.
* In MCObjectStreamer, extend `absoluteSymbolDiff` to apply to
FT_Relaxable as otherwise there would be many more FT_DwarfFrame
fragments in -g compilations.
https://llvm-compile-time-tracker.com/compare.php?from=28e1473e8e523150914e8c7ea50b44fb0d2a8d65&to=778d68ad1d48e7f111ea853dd249912c601bee89&stat=instructions:u
```
stage2-O0-g instructins:u geomeon (-0.07%)
stage1-ReleaseLTO-g (link only) max-rss geomean (-0.39%)
```
```
% /t/clang-old -g -c sqlite3.i -w -mllvm -debug-only=mc-dump &| awk '/^[0-9]+/{s[$2]++;tot++} END{print "Total",tot; n=asorti(s, si); for(i=1;i<=n;i++) print si[i],s[si[i]]}'
Total 59675
Align 2215
Data 29700
Dwarf 12044
DwarfCallFrame 4216
Fill 92
LEB 12
Relaxable 11396
% /t/clang-new -g -c sqlite3.i -w -mllvm -debug-only=mc-dump &| awk '/^[0-9]+/{s[$2]++;tot++} END{print "Total",tot; n=asorti(s, si); for(i=1;i<=n;i++) print si[i],s[si[i]]}'
Total 32287
Align 2215
Data 2312
Dwarf 12044
DwarfCallFrame 4216
Fill 92
LEB 12
Relaxable 11396
```
Pull Request: https://github.com/llvm/llvm-project/pull/148544
Commit: 6d0f573535e27171e4ef927baeab3edc928beebb
https://github.com/llvm/llvm-project/commit/6d0f573535e27171e4ef927baeab3edc928beebb
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
MCFragment: Remove MCDataFragment/MCRelaxableFragment type aliases
Follow-up to #148544
Commit: dbb6ed76317a52ada7045611649e50c2afe51496
https://github.com/llvm/llvm-project/commit/dbb6ed76317a52ada7045611649e50c2afe51496
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Refactor SelectAddrRegRegScale. NFC
Rename UnwrapShl->SelectShl. Make it only responsible for matching
a SHL by constant.
Handle the fallback case of reg+reg with no scale outside of SelectShl.
Reorder the check so RHS is checked for shift first. The base pointer
is most likely on the LHS. It's very unlikely both operands are shifts.
This is preparation for adding better costing decisions to this code.
Commit: 5480fc6bb8ef6a6a895be7952d50d557116dcb38
https://github.com/llvm/llvm-project/commit/5480fc6bb8ef6a6a895be7952d50d557116dcb38
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[mlir][tosa] Interpret boolean values correctly in cast folder (#147078)
Previously the cast folder would sign extend boolean values, leading
"true" to be casted to a value of -1 instead of 1. This change ensures
i1 values are zero extended, since i1 is used as a boolean value in
TOSA. According to the TOSA spec, the result of a boolean cast with
value "true" to another integer type should give a result of 1.
Fixes https://github.com/llvm/llvm-project/issues/57951
Commit: 871038759afb491c16fb2cd14b78e51e410efbf3
https://github.com/llvm/llvm-project/commit/871038759afb491c16fb2cd14b78e51e410efbf3
Author: Marco Elver <elver at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
Log Message:
-----------
Thread Safety Analysis: Fix pointer handling of variables with deprecated attributes (#148974)
de10e44b6fe7 ("Thread Safety Analysis: Support warning on
passing/returning pointers to guarded variables") added checks for
passing pointer to guarded variables. While new features do not
necessarily need to support the deprecated attributes (`guarded_var`,
and `pt_guarded_var`), we need to ensure that such features do not cause
the compiler to crash.
As such, code such as this:
struct {
int v __attribute__((guarded_var));
} p;
int *g() {
return &p.v; // handleNoMutexHeld() with POK_ReturnPointer
}
Would crash in debug builds with the assertion in handleNoMutexHeld()
triggering. The assertion is meant to capture the fact that this helper
should only be used for warnings on variables (which the deprecated
attributes only applied to).
To fix, the function handleNoMutexHeld() should handle all POK cases
that apply to variables explicitly, and produce a best-effort warning.
We refrain from introducing new warnings to avoid unnecessary code bloat
for deprecated features.
Fixes: https://github.com/llvm/llvm-project/issues/140330
Commit: 17d3029331a65ea54ad1bdbf79add03d5a71dcd4
https://github.com/llvm/llvm-project/commit/17d3029331a65ea54ad1bdbf79add03d5a71dcd4
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/unions.cpp
Log Message:
-----------
[clang][bytecode] Make union activation more granular (#148835)
Only activate things if the syntactical structure suggests so. This adds
a bunch of new opcodes to control whether to activate in stores, etc.
Fixes #134789
Commit: d4a8a01cef1e417dd8c76fd2c5cde568122c27e3
https://github.com/llvm/llvm-project/commit/d4a8a01cef1e417dd8c76fd2c5cde568122c27e3
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/Object/ELF.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/test/tools/llvm-objdump/ELF/program-headers.test
M llvm/test/tools/llvm-readobj/ELF/section-types.test
M llvm/test/tools/yaml2obj/ELF/program-header.yaml
M llvm/tools/llvm-objdump/ELFDump.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[elf] Add support for {SHT,PT}_GNU_SFRAME constants (#148803)
Reference:
https://sourceware.org/git/?p=gnu-gabi.git;a=blob;f=program-loading-and-dynamic-linking.txt;h=3357d865720285df2d29c4e8f92de49ddf1beb40;hb=refs/heads/master
Commit: afe81507809fb845ee3368291adaa9671e6732c0
https://github.com/llvm/llvm-project/commit/afe81507809fb845ee3368291adaa9671e6732c0
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
Log Message:
-----------
[VPlan] Simplify exituser handling by generating all extracts first(NFCI)
Simplify the handling of exit users by generating all extracts first
(safe option), and have FOR handling optimize the extracts, similar to
already done for reductions and inductions.
NFC modulo first-order recurrence extract order in middle block.
Commit: f223411e2e005ecd54523801db603b54d69f3159
https://github.com/llvm/llvm-project/commit/f223411e2e005ecd54523801db603b54d69f3159
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/ptr-replace-alloca.ll
Log Message:
-----------
[InstCombine]PtrReplacer: Correctly handle select with unavailable operands (#148829)
The testcase I added previously failed because a SelectInst with invalid
operands was created (one side `addrspace(4)`, the other
`addrspace(5)`).
PointerReplacer needs to dig deeper if the true and/or false
instructions of the select are not available.
Fixes SWDEV-542957
Commit: db2eb4d031028f9ad9b9ad6f6283f81598a404f0
https://github.com/llvm/llvm-project/commit/db2eb4d031028f9ad9b9ad6f6283f81598a404f0
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/__new/launder.h
M libcxx/test/std/language.support/support.dynamic/ptr.launder/launder.types.verify.cpp
Log Message:
-----------
[libc++] Simplify std::launder (#147985)
Both Clang and GCC diagnose invalid calls to `__builtin_launder`, which
causes duplicate diagnostics when using `std::launder` in an invalid
way. While the diagnostic message for the builtin isn't perferct, it's
definitely good enough to understand the problem and adding our own
diagnostic doesn't really make things any clearer. Because of that, this
patch simply removes the `static_assert`s and lets the compiler handle
diagnosing incorrect arguments instead. This not only simplifies our
implementation, but also improves compile times a bit, since we avoid
instantiating some type traits.
Commit: 5d367080a8475600bae9cf1c793f2dacfde76c90
https://github.com/llvm/llvm-project/commit/5d367080a8475600bae9cf1c793f2dacfde76c90
Author: Tomás Longeri <tlongeri at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[MLIR][Vector] Fix bug in ExtractStrideSlicesOp canonicalization (#147591)
The pattern would produce an invalid slice when some dimensions were
both sliced and broadcast.
Commit: 4aa85cc3136e1b6d389ed0a9a109a17b1199a242
https://github.com/llvm/llvm-project/commit/4aa85cc3136e1b6d389ed0a9a109a17b1199a242
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
A llvm/include/llvm/CodeGen/ProcessImplicitDefs.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/ProcessImplicitDefs.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
M llvm/test/CodeGen/X86/unreachable-mbb-undef-phi.mir
Log Message:
-----------
[CodeGen][NPM] Port ProcessImplicitDefs to NPM (#148110)
same as https://github.com/llvm/llvm-project/pull/138829
Co-authored-by : Oke, Akshat
<[Akshat.Oke at amd.com](mailto:Akshat.Oke at amd.com)>
Commit: 7d52b72239caba92a48e2cacbe5758e18efaed1c
https://github.com/llvm/llvm-project/commit/7d52b72239caba92a48e2cacbe5758e18efaed1c
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/known-bits-sbfe.mir
Log Message:
-----------
[AMDGPU] Compute GISel KnownBits for S_BFE instructions (#141588)
Next patches in the stack will emit them in the RegBankCombiner. With this, S_BFE instructions will hopefully interfere less with optimizations.
Commit: cee679aa3f2b98b191873ecfeaa3d821a9156431
https://github.com/llvm/llvm-project/commit/cee679aa3f2b98b191873ecfeaa3d821a9156431
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/__tree
A libcxx/test/extensions/libcxx/always_initialize_iterators.pass.cpp
Log Message:
-----------
[libc++] Always initialize __tree::{,const_}iterator (#147167)
This was probably added to support https://wg21.link/n3644 but there's
no reason not to initialize the pointer in all standard modes. This is
technically an extension since n3644 only required value-initialized
iterators to be comparable, but supporting this as an extension should
be uncontroversial since it avoids potential reads of uninitialized
memory in C++03/C++11 without doing any harm.
Commit: ffcb0a4559b850c5ba51003ae1877c7c2ae9836f
https://github.com/llvm/llvm-project/commit/ffcb0a4559b850c5ba51003ae1877c7c2ae9836f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/__memory_resource/polymorphic_allocator.h
A libcxx/test/libcxx/mem/mem.res/ctor.nullptr.assert.pass.cpp
A libcxx/test/libcxx/mem/mem.res/nonnull.verify.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/resource.pass.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/select_on_container_copy_construction.pass.cpp
Log Message:
-----------
[libc++] Update polymorphic_allocator to never contain a nullptr (#148423)
According to `[mem.poly.allocator.ctor]` the pointer contained in
`polymorphic_allocator` can never be null. The default constructor uses
`get_default_resource()`, which never returns null and the constructor
taking a pointer explicitly has a precondition that the pointer is
non-null.
This patch adds a warning and an assertion in case a user passes a null
pointer to `polymorphic_allocator` as well as marking `resource()` to
never return null.
This also fixes some tests which contained UB.
Fixes #148420
Commit: 7c69c3b0baa5a99680aa8c6972a6b3ea41393943
https://github.com/llvm/llvm-project/commit/7c69c3b0baa5a99680aa8c6972a6b3ea41393943
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libc/src/string/memory_utils/CMakeLists.txt
A libc/src/string/memory_utils/arm/common.h
M libc/src/string/memory_utils/arm/inline_memcpy.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][NFC] refactor Cortex `memcpy` code (#148204)
This patch is in preparation for the Cortex `memset` implementation.
It improves the codegen by generating a prefetch for large sizes.
Commit: d7f6660c34b84c0e04843ba29cfc60b4aacd870c
https://github.com/llvm/llvm-project/commit/d7f6660c34b84c0e04843ba29cfc60b4aacd870c
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
Log Message:
-----------
[mlir][tosa] Remove profile compliance of cond_if and while_loop (#148212)
The requirement for a boolean condition is already checked for both
operators elsewhere. `cond_if` requires a boolean condition at
construction. `while_loop` cond_graph is checked in the verifier for a
scalar boolean output type.
Commit: 3e4153c97b54d456cfaf6ae21391122582b0ab28
https://github.com/llvm/llvm-project/commit/3e4153c97b54d456cfaf6ae21391122582b0ab28
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsRISCV.td
A clang/include/clang/Basic/BuiltinsRISCVXAndes.td
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/riscv_nds.h
A clang/test/CodeGen/RISCV/riscv-xandesbfhcvt-c-api.c
A clang/test/CodeGen/RISCV/riscv-xandesbfhcvt.c
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
A llvm/test/CodeGen/RISCV/xandesbfhcvt.ll
Log Message:
-----------
[RISCV] Implement Builtins for XAndesBFHCvt extension. (#148804)
XAndesBFHCvt provides two builtins functions for converting between
float and bf16. Users can use them to convert bf16 values loaded from
memory to float, perform arithmetic operations, then convert them back
to bf16 and store them to memory.
The load/store and move operations for bf16 will be handled in a later
patch.
Commit: 29e14c3b447af604774a7f4f8ed961f204d6b5b4
https://github.com/llvm/llvm-project/commit/29e14c3b447af604774a7f4f8ed961f204d6b5b4
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll
R llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-i16-to-i32.ll
Log Message:
-----------
[AMDGPU] Remove widen-16-bit-ops from CGP (#145483)
This was already off by default so there is no codegen change.
Commit: 1c223829b817be3174ec7c6056524058358b90b1
https://github.com/llvm/llvm-project/commit/1c223829b817be3174ec7c6056524058358b90b1
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Fix transpose_conv2d verifier when output channels are dynamic (#147062)
This commit fixes a transpose_conv2d verifier check which compares the
output channels size to the bias size. The check didn't make sure output
channels were static before performing the comparison. This lead to
failures such as:
```
'tosa.transpose_conv2d' op bias channels expected to be equal to output channels (-9223372036854775808) or 1, got 5
```
when the output channels size was dynamic.
Commit: 999a8fb812df766c5cdfda3cea8e71548e89fc8b
https://github.com/llvm/llvm-project/commit/999a8fb812df766c5cdfda3cea8e71548e89fc8b
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libc/src/string/memory_utils/CMakeLists.txt
R libc/src/string/memory_utils/arm/common.h
M libc/src/string/memory_utils/arm/inline_memcpy.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Revert "[libc][NFC] refactor Cortex `memcpy` code" (#149035)
Reverts llvm/llvm-project#148204
`libc-arm32-qemu-debian-dbg` is failing, reverting and investigating
Commit: 50096134f869f4ccb5e5f650edd0dd512c5a751d
https://github.com/llvm/llvm-project/commit/50096134f869f4ccb5e5f650edd0dd512c5a751d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++][NFC] Remove some __tree internal accessor functions (#147266)
Commit: c364e6234e727cbf54ca666fa706693711a31119
https://github.com/llvm/llvm-project/commit/c364e6234e727cbf54ca666fa706693711a31119
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port 3e4153c97b54
Commit: de4b458aa5e52812aa9c392f62a616b6c6c1716f
https://github.com/llvm/llvm-project/commit/de4b458aa5e52812aa9c392f62a616b6c6c1716f
Author: Nashe Mncube <nashe.mncube at arm.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/saturating-vec-smull.ll
Log Message:
-----------
[AArch64][Codegen]Transform saturating smull to sqdmulh (#143671)
This patch adds a pattern for recognizing saturating vector
smull. Prior to this patch these were performed using a
combination of smull+smull2+uzp+smin like the following
```
smull2 v5.2d, v1.4s, v2.4s
smull v1.2d, v1.2s, v2.2s
uzp2 v1.4s, v1.4s, v5.4s
smin v1.4s, v1.4s, v0.4s
```
which now optimizes to
```
sqdmulh v0.4s, v1.4s, v0.4s
```
This only operates on vectors containing int32 and int16 types
Commit: 828a867ee010cdd832c43f7d844959adb4884b2e
https://github.com/llvm/llvm-project/commit/828a867ee010cdd832c43f7d844959adb4884b2e
Author: David Green <david.green at arm.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/reduce-and.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-or.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-xor.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
Log Message:
-----------
[AArch64] Reduce the costs of and/or/xor reductions (#148553)
Since the costs were added the codegen for i8/i16 and/or/xor reductions
has improved. This updates the cost model to produce the same costs in
terms of number of instructions.
Commit: 905bb5bddb690765cab5416d55ab017d7c832eb3
https://github.com/llvm/llvm-project/commit/905bb5bddb690765cab5416d55ab017d7c832eb3
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/fpenv-xlen.ll
Log Message:
-----------
[RISCV][FPEnv] Lowering of fpmode intrinsics (#148569)
The change implements custom lowering of `get_fpmode`, `set_fpmode` and
`reset_fpmode` for RISCV target. The implementation is aligned with the
functions `fegetmode` and `fesetmode` in GLIBC.
Commit: 5ae49393957c6b4d47ace7aaf5fc1e0388d3a695
https://github.com/llvm/llvm-project/commit/5ae49393957c6b4d47ace7aaf5fc1e0388d3a695
Author: nerix <nerixdev at outlook.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
A lldb/source/Plugins/Language/CPlusPlus/MsvcStlVector.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/TestDataFormatterStdVBool.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vbool/main.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/vector/TestDataFormatterStdVector.py
Log Message:
-----------
[LLDB] Add formatters for MSVC STL std::vector (#147538)
This adds synthetic child providers for `std::vector<T>` and
`std::vector<bool>` for MSVC's STL.
The structure of a `std::vector<T>` is relatively similar to libc++'s
implementation that uses `__begin` and `__end`.
`std::vector<bool>` is different. It's a `std::vector<unsigned int>`
wrapper instead of `std::vector<uint8_t>`. This makes the calculation
slightly less simple. I put a comment in the `GetChildAtIndex` to make
this clear.
- [NatVis for
`std::vector<T>`](https://github.com/microsoft/STL/blob/313964b78a8fd5a52e7965e13781f735bcce13c5/stl/debugger/STL.natvis#L1193-L1205)
- [NatVis for
`std::vector<bool>`](https://github.com/microsoft/STL/blob/313964b78a8fd5a52e7965e13781f735bcce13c5/stl/debugger/STL.natvis#L1167-L1179)
Towards #24834.
Commit: f98cf07b7dc7af7716e1da9a1257b8c6416f9a46
https://github.com/llvm/llvm-project/commit/f98cf07b7dc7af7716e1da9a1257b8c6416f9a46
Author: nerix <nerixdev at outlook.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/examples/synthetic/gnu_libstdcpp.py
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.h
Log Message:
-----------
[LLDB] Convert libstdc++ std::variant summary to C++ (#148929)
This PR converts the `std::variant` summary from Python to C++.
Split from #148554. MSVC's STL and libstdc++ use the same type name for
`std::variant`, thus they need one "dispatcher" function that checks the
type and calls the appropriate summary. For summaries, both need to be
implemented in C++.
This is mostly a 1:1 translation. The main difference is that in C++,
the summary returns `false` if it can't inspect the object properly
(e.g. a member could not be found). In Python, this wasn't possible.
Commit: 3483ac50e396f395008cd9456ca575891fb2d24b
https://github.com/llvm/llvm-project/commit/3483ac50e396f395008cd9456ca575891fb2d24b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
Log Message:
-----------
[gn build] Port 5ae49393957c
Commit: 46b4bd2882447c46138f7272bc915ce6f74bf7bc
https://github.com/llvm/llvm-project/commit/46b4bd2882447c46138f7272bc915ce6f74bf7bc
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++] Implement _LIBCPP_SUPPRESS_DEPRECATED macros in terms of _LIBCPP_DIAGNOSTIC macros (#143857)
This makes the code a bit more consistent, since we use the
`_LIBCPP_DIAGNOSTIC` macros everywhere else.
Commit: bbfbe7d789f7b6ade715f3656db0bdd657eeef68
https://github.com/llvm/llvm-project/commit/bbfbe7d789f7b6ade715f3656db0bdd657eeef68
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
Log Message:
-----------
[clang][bytecode][NFC] Remove unused function prototypes (#149031)
Commit: 60579ec3059b2b6cc9dad90eaac1ed363fc395a7
https://github.com/llvm/llvm-project/commit/60579ec3059b2b6cc9dad90eaac1ed363fc395a7
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Support/BLAKE3/llvm_blake3_prefix.h
Log Message:
-----------
[Support][BLAKE3] Prefix more blake3 methods (#149007)
Added by #147948, blake3_xof_many and blake3_compress_subtree_wide cause
conflicts when linking llvm and blake3 statically into the same binary.
Similar to #148607.
Commit: 653872f782e1faaabc1da23769e6b35b10e74bde
https://github.com/llvm/llvm-project/commit/653872f782e1faaabc1da23769e6b35b10e74bde
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/DebugInfo/KeyInstructions/Generic/verify.ll
Log Message:
-----------
[KeyInstr] Fix verifier check (#149043)
The verifier check was in the wrong place, meaning it wasn't actually
checking many instructions.
Fixing that causes a test failure (coro-dwarf-key-instrs.cpp) because
coros turn off the feature but still annotate instructions with the
metadata (which is a supported situation, but the verifier doesn't like
it, and it's hard to teach the verifier to like it).
Fix that by avoiding emitting any key instruction metadata if the
DISubprogram has opted out of key instructions.
Commit: 38be53aa04de8c6d494de8074328ac8907f3f631
https://github.com/llvm/llvm-project/commit/38be53aa04de8c6d494de8074328ac8907f3f631
Author: Artemiy Bulavin <artemiyb at graphcore.ai>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/IR/MLIRContext.cpp
M mlir/lib/Pass/PassCrashRecovery.cpp
M mlir/unittests/IR/CMakeLists.txt
A mlir/unittests/IR/DistinctAttributeAllocatorTest.cpp
Log Message:
-----------
[MLIR] Fix use-after-frees when accessing DistinctAttr storage (#148666)
This PR fixes a use-after-free error that happens when `DistinctAttr`
instances are created within a `PassManager` running with crash recovery
enabled. The root cause is that `DistinctAttr` storage is allocated in a
thread_local allocator, which is destroyed when the crash recovery
thread joins, invalidating the storage.
Moreover, even without crash reproduction disabling multithreading on
the context will destroy the context's thread pool, and in turn delete
the threadlocal storage. This means a call to
`ctx->disableMulthithreading()` breaks the IR.
This PR replaces the thread local allocator with a synchronised
allocator that's shared between threads. This persists the lifetime of
allocated DistinctAttr storage instances to the lifetime of the context.
### Problem Details:
The `DistinctAttributeAllocator` uses a
`ThreadLocalCache<BumpPtrAllocator>` for lock-free allocation of
`DistinctAttr` storage in a multithreaded context. The issue occurs when
a `PassManager` is run with crash recovery (`runWithCrashRecovery`), the
pass pipeline is executed on a temporary thread spawned by
`llvm::CrashRecoveryContext`. Any `DistinctAttr`s created during this
execution have their storage allocated in the thread_local cache of this
temporary thread. When the thread joins, the thread_local storage is
destroyed, freeing the `DistinctAttr`s' memory. If this attribute is
accessed later, e.g. when printing, it results in a use-after-free.
As mentioned previously, this is also seen after creating some
`DistinctAttr`s and then calling `ctx->disableMulthithreading()`.
### Solution
`DistinctAttrStorageAllocator` uses a synchronised, shared allocator
instead of one wrapped in a `ThreadLocalCache`. The former is what
stores the allocator in transient thread_local storage.
### Testing:
A C++ unit test has been added to validate this fix. (I was previously
reproducing this failure with `mlir-opt` but I can no longer do so and I
am unsure why.)
-----
Note: This is a 2nd attempt at my previous PR
https://github.com/llvm/llvm-project/pull/128566 that was reverted in
https://github.com/llvm/llvm-project/pull/133000. I believe I've
addressed the TSAN and race condition concerns.
Commit: 5b8c15c6e7f3ac17383c12483f466a721b1040ba
https://github.com/llvm/llvm-project/commit/5b8c15c6e7f3ac17383c12483f466a721b1040ba
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/StackProtector.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Log Message:
-----------
[DebugInfo] Remove getPrevNonDebugInstruction (#148859)
With the advent of intrinsic-less debug-info, we no longer need to
scatter calls to getPrevNonDebugInstruction around the codebase. Remove
most of them -- there are one or two that have the "SkipPseudoOp" flag
turned on, however they don't seem to be in positions where skipping
anything would be reasonable.
Commit: e333d6019dafd84f9aef919894d8c82389cde001
https://github.com/llvm/llvm-project/commit/e333d6019dafd84f9aef919894d8c82389cde001
Author: Julian Nagele <j.nagele at apple.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/test/CodeGen/AArch64/arm64-vector-insertion.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
Log Message:
-----------
[AArch64] Replace expensive move from wzr by two moves via floating point immediate (#146538)
We've noticed that inserting 0 into a known vector lane is implemented
via a move from wzr, i.e., moving between register banks. We think it
will be cheaper (and have seen improvements on our benchmarks) to
materialize 0 into a floating point register and insert from there.
PR: https://github.com/llvm/llvm-project/pull/146538
Commit: b117ccf40df16bcd0b24e2a91d8f749ddb7933f3
https://github.com/llvm/llvm-project/commit/b117ccf40df16bcd0b24e2a91d8f749ddb7933f3
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
A llvm/test/tools/llc/new-pm/start-stop-inserted.ll
Log Message:
-----------
[CodeGen][NPM] Account inserted passes for -start/stop options (#148111)
same as https://github.com/llvm/llvm-project/pull/138830
This partly solves the issue
https://github.com/llvm/llvm-project/issues/138831 for -enable-new-pm.
https://github.com/llvm/llvm-project/pull/137290 will not have this
problem, but this needs to be added this till we migrate to the new pass
builder structure.
Even with this, there is no way to -start-after an inserted pass right
now.
Co-authored-by : Oke, Akshat
<[Akshat.Oke at amd.com](mailto:Akshat.Oke at amd.com)>
Commit: 73630d5e20c8f29aec426954f448079665caf3ab
https://github.com/llvm/llvm-project/commit/73630d5e20c8f29aec426954f448079665caf3ab
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Support/raw_socket_stream.cpp
Log Message:
-----------
[Support] Error if SocketPath is too long (#148903)
If the path is longer than sockaddr_un's buffer, it will be truncated,
at which point it may become indistinguishable from similar truncated
paths. This will cause `bind` to fail with an "Address already in use"
error. There is some existing code that checks `fs::exists` to catch
these errors, but since `fs::exists` compares the full un-truncated
paths, a too-long path will prevent those checks from working.
rdar://154397133
Commit: 3b8a18c27a1e70895feac15d48b3a6122e6b377f
https://github.com/llvm/llvm-project/commit/3b8a18c27a1e70895feac15d48b3a6122e6b377f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/placement-new.cpp
M clang/test/SemaCXX/cxx2c-constexpr-placement-new.cpp
Log Message:
-----------
[clang][bytecode] Fix contains check using llvm::find (#149050)
We need to compare to the end() interator.
Commit: 402b989693a0d5d17be6bf996bce52cf3ca73886
https://github.com/llvm/llvm-project/commit/402b989693a0d5d17be6bf996bce52cf3ca73886
Author: macurtis-amd <macurtis at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
A llvm/test/CodeGen/AMDGPU/bug-multi-operands-to-update-after-fold.mir
Log Message:
-----------
AMDGPU: Fix assert when multi operands to update after folding imm (#148205)
In the original motivating test case,
[FoldList](https://github.com/llvm/llvm-project/blob/d8a2141ff98ee35cd1886f536ccc3548b012820b/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp#L1764)
had entries:
```
#0: UseMI: %224:sreg_32 = S_OR_B32 %219.sub0:sreg_64, %219.sub1:sreg_64, implicit-def dead $scc
UseOpNo: 1
#1: UseMI: %224:sreg_32 = S_OR_B32 %219.sub0:sreg_64, %219.sub1:sreg_64, implicit-def dead $scc
UseOpNo: 2
```
After calling
[updateOperand(#0)](https://github.com/llvm/llvm-project/blob/d8a2141ff98ee35cd1886f536ccc3548b012820b/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp#L1773),
[tryConstantFoldOp(#0.UseMI)](https://github.com/llvm/llvm-project/blob/d8a2141ff98ee35cd1886f536ccc3548b012820b/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp#L1786)
removed operand 1, and entry #1.UseOpNo was no longer valid,
resulting in an
[assert](https://github.com/llvm/llvm-project/blob/4a35214bddbb67f9597a500d48ab8c4fb25af150/llvm/include/llvm/ADT/ArrayRef.h#L452).
This change defers constant folding until all operands have been updated
so that UseOpNo values remain stable.
Commit: 62bd778fd46e647bf3c32540651413f848448f19
https://github.com/llvm/llvm-project/commit/62bd778fd46e647bf3c32540651413f848448f19
Author: enh-google <enh at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale_dir/locale_base_api.h
R libcxx/include/__locale_dir/locale_base_api/android.h
M libcxx/include/module.modulemap.in
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
Remove workarounds for NDK versions before 2017's r16. (#148879)
Commit: 949103b45c2f7f1fc28106b5db435660e466b804
https://github.com/llvm/llvm-project/commit/949103b45c2f7f1fc28106b5db435660e466b804
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC] Use range-based `for` in `matchAssociativeReduction` (#149029)
Commit: 7674566c9666e69d274b145ea4744c6ac13c1adb
https://github.com/llvm/llvm-project/commit/7674566c9666e69d274b145ea4744c6ac13c1adb
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC] Simplify `count_if` to `count` (#149072)
Commit: ade2f1023d716bbf1473aaaf46d10faac73b014f
https://github.com/llvm/llvm-project/commit/ade2f1023d716bbf1473aaaf46d10faac73b014f
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFCI] Don't trim indexes, reuse a variable (#149074)
Commit: 5abdce4083ed37203e4893f8f7ef3890586b008a
https://github.com/llvm/llvm-project/commit/5abdce4083ed37203e4893f8f7ef3890586b008a
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/spill-fold.mir
Log Message:
-----------
[LLVM][AArch64InstrInfo] Prevent fill folding when DstReg is SP. (#148885)
We can remove subreg COPY instructions by filling directly into the
COPY's destination register. However, this is only valid when the copy
and fill have compatible register classes.
Fixes https://github.com/llvm/llvm-project/issues/148659
Commit: 9e5470e7d6ea1ad4fe25a9416706d769e41a03c1
https://github.com/llvm/llvm-project/commit/9e5470e7d6ea1ad4fe25a9416706d769e41a03c1
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/lib/AST/ByteCode/State.h
M clang/lib/AST/ExprConstant.cpp
M clang/test/AST/ByteCode/complex.cpp
M clang/test/AST/ByteCode/const-eval.c
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/expr/expr.const/p2-0x.cpp
M clang/test/Sema/const-eval.c
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-cxx14.cpp
M clang/test/SemaCXX/constant-expression-cxx2a.cpp
M clang/test/SemaCXX/constexpr-backtrace-limit.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/increment.pass.cpp
Log Message:
-----------
[Clang] Diagnose forming references to nullptr (#143667)
Per [decl.ref],
> Because a null pointer value or a pointer past the end of an object
does not point to an object, a reference in a well-defined program
cannot refer to such things.
Note this does not fixes the new bytecode interpreter.
Fixes #48665
Commit: 7392a546bb34c6fe569e30341138bb70115ca905
https://github.com/llvm/llvm-project/commit/7392a546bb34c6fe569e30341138bb70115ca905
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/freeze.ll
Log Message:
-----------
[InstCombine] Treat identical operands as one in pushFreezeToPreventPoisonFromPropagating (#145348)
To push a freeze through an instruction, only one operand may produce
poison. However, this currently fails for identical operands which are
treated as separate. This patch fixes this by treating them as a single
operand.
Commit: 4cc9af219fbeece77e0d874d9eb4b479b6e475d1
https://github.com/llvm/llvm-project/commit/4cc9af219fbeece77e0d874d9eb4b479b6e475d1
Author: Chaitanya Koparkar <ckoparkar at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
Log Message:
-----------
[mlir][bufferization] Fix a typo in to_tensor op's summary field (#149082)
Fixes #149081
Commit: c71b92d09f584d41ed8536791e6dac4fa079eedc
https://github.com/llvm/llvm-project/commit/c71b92d09f584d41ed8536791e6dac4fa079eedc
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV][FPE] Remove unused variable (#149054)
It was added by me in 905bb5bddb690765cab5416d55ab017d7c832eb3, which
committed PR https://github.com/llvm/llvm-project/pull/148569.
Commit: 1742966c0df03d1f00a177a8d8a2a2afaec6938d
https://github.com/llvm/llvm-project/commit/1742966c0df03d1f00a177a8d8a2a2afaec6938d
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/test/Lower/amdgcn-complex.f90
Log Message:
-----------
[Flang] Force lowering to Complex for AMDGPU (#144927)
Commit: fc114e4d931ae25f74a15e42371dbead1387ad51
https://github.com/llvm/llvm-project/commit/fc114e4d931ae25f74a15e42371dbead1387ad51
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
A mlir/include/mlir/Conversion/ComplexToROCDLLibraryCalls/ComplexToROCDLLibraryCalls.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/ComplexToROCDLLibraryCalls/CMakeLists.txt
A mlir/lib/Conversion/ComplexToROCDLLibraryCalls/ComplexToROCDLLibraryCalls.cpp
A mlir/test/Conversion/ComplexToROCDLLibraryCalls/complex-to-rocdl-library-calls.mlir
Log Message:
-----------
[MLIR] Add ComplexTOROCDLLibraryCalls pass (#144926)
Commit: dbb12109b947995d5882ca521f7b7716d6ac9ae4
https://github.com/llvm/llvm-project/commit/dbb12109b947995d5882ca521f7b7716d6ac9ae4
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/Target.cpp
Log Message:
-----------
[OpenMP] Add TargetAMDGPU support for Complex argument and return types (#144924)
Commit: 88a498c3b110b73c10362df8c18ca13fe1873744
https://github.com/llvm/llvm-project/commit/88a498c3b110b73c10362df8c18ca13fe1873744
Author: nerix <nerixdev at outlook.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
A lldb/source/Plugins/Language/CPlusPlus/GenericList.cpp
R lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/forward_list/TestDataFormatterGenericForwardList.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/TestDataFormatterGenericList.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/loop/TestDataFormatterGenericListLoop.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/list/loop/main.cpp
Log Message:
-----------
[LLDB] Add formatters for MSVC STL std::(forward_)list (#148285)
Adds synthetic providers for MSVC's `std::forward_list` and `std::list`.
It refactors `LibCxxList` to be generic over the STL type (currently
libc++ or MSVC STL). The libstdc++ synthetic providers use something
similar in Python
[here](https://github.com/llvm/llvm-project/blob/3092b765ba0b2d20bd716944dda86ea8e4ad12e3/lldb/examples/synthetic/gnu_libstdcpp.py#L134).
Eventually, this could be ported to C++ as well.
Towards #24834.
Commit: 9ea27b841cdf3c702b5e0bc696eb404492dbc79f
https://github.com/llvm/llvm-project/commit/9ea27b841cdf3c702b5e0bc696eb404492dbc79f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
Log Message:
-----------
[gn build] Port 88a498c3b110
Commit: 5328c732a47705363cd289cb281cbd0d3ccbb8fc
https://github.com/llvm/llvm-project/commit/5328c732a47705363cd289cb281cbd0d3ccbb8fc
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
Log Message:
-----------
[DebugInfo] Strip more debug-intrinsic code from local utils (#149037)
SROA and a few other facilities use generic-lambdas and some overloaded
functions to deal with both intrinsics and debug-records at the same time.
As part of stripping out intrinsic support, delete a swathe of this code
from things in the Utils directory.
This is a large diff, but is mostly about removing functions that were
duplicated during the migration to debug records. I've taken a few
opportunities to replace comments about "intrinsics" with "records",
and replace generic lambdas with plain lambdas (I believe this makes
it more readable).
All of this is chipping away at intrinsic-specific code until we get to
removing parts of findDbgUsers, which is the final boss -- we can't
remove that until almost everything else is gone.
Commit: 85349b49364d240a2e82981a7d7e0d01b13b1284
https://github.com/llvm/llvm-project/commit/85349b49364d240a2e82981a7d7e0d01b13b1284
Author: zGoldthorpe <zgoldtho at ualberta.ca>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load-lds.cl
M clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-error.cl
M clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
Log Message:
-----------
[clang][amdgpu] Add builtin for struct buffer lds load (#148950)
This is essentially just a revision of #137678 which only exposes a
builtin for the intrinsic `llvm.amdgcn.struct.ptr.buffer.load.lds`,
which expects an `__amdgpu_buffer_rsrc_t` rather than a `v4i32` as its
first argument.
The reason for excluding the other intrinsics exposed by the cited PR is
because the intrinsics taking a `v4i32` are legacy and should be
deprecated.
Commit: 1600450f9098e5c9cb26840bd53f1be8a2559b7d
https://github.com/llvm/llvm-project/commit/1600450f9098e5c9cb26840bd53f1be8a2559b7d
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang-c/Index.h
M clang/tools/libclang/CMakeLists.txt
A clang/tools/libclang/Obsolete.cpp
M llvm/utils/gn/secondary/clang/tools/libclang/BUILD.gn
Log Message:
-----------
[Clang] Reintroduce obsolete libclang symbols to avoid an ABI break (#149079)
For more context, see
https://github.com/llvm/llvm-project/pull/119269#issuecomment-3075444493,
but briefly, when removing ARCMigrate, I also removed some symbols in
libclang, which constitutes an ABI break that we don’t want, so this pr
reintroduces the removed symbols; the declarations are marked as
deprecated for future removal, and the implementations print an error
and do nothing, which is what we used to do when ARCMigrate was
disabled.
Commit: 76058c09071491fd097e85a0f5434b564dfad60b
https://github.com/llvm/llvm-project/commit/76058c09071491fd097e85a0f5434b564dfad60b
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
Log Message:
-----------
[clang] Move `ExceptionHandling` from `LangOptions` to `CodeGenOptions` (#148982)
This PR removes the command line parsing workaround introduced in
https://github.com/llvm/llvm-project/pull/146342 by moving
`LangOptions::ExceptionHandling` to `CodeGenOptions` that get parsed
even for IR input. Additionally, this improves layering, where the
codegen library now checks `CodeGenOptions` instead of `LangOptions` for
exception handling. (This got enabled by
https://github.com/llvm/llvm-project/pull/146422.)
Commit: a944e861f99f2bea9f2f5015deb52c1d82ac4f8a
https://github.com/llvm/llvm-project/commit/a944e861f99f2bea9f2f5015deb52c1d82ac4f8a
Author: Augie Fackler <augie at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] update for 3e4153c97b54d456cfaf6ae21391122582b0ab28
Commit: 752e31c27c0d2888e23db9db63dedc316dbaa1a4
https://github.com/llvm/llvm-project/commit/752e31c27c0d2888e23db9db63dedc316dbaa1a4
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/Analysis/LifetimeSafety.cpp
M clang/test/Sema/warn-lifetime-safety-dataflow.cpp
Log Message:
-----------
[LifetimeSafety] Make the dataflow analysis generic (#148222)
Refactored the lifetime safety analysis to use a generic dataflow framework with a policy-based design.
### Changes
- Introduced a generic `DataflowAnalysis` template class that can be specialized for different analyses
- Renamed `LifetimeLattice` to `LoanPropagationLattice` to better reflect its purpose
- Created a `LoanPropagationAnalysis` class that inherits from the generic framework
- Moved transfer functions from the standalone `Transferer` class into the analysis class
- Restructured the code to separate the dataflow engine from the specific analysis logic
- Updated debug output and test expectations to use the new class names
### Motivation
In order to add more analyses, e.g. [loan expiry](https://github.com/llvm/llvm-project/pull/148712) and origin liveness, the previous implementation would have separate, nearly identical dataflow runners for each analysis. This change creates a single, reusable component, which will make it much simpler to add subsequent analyses without repeating boilerplate code.
This is quite close to the existing dataflow framework!
Commit: 53355ab9328f5dbdaf77c8529b9eb95cce2166d2
https://github.com/llvm/llvm-project/commit/53355ab9328f5dbdaf77c8529b9eb95cce2166d2
Author: Stephen Long <63318318+steplong at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/test/tools/llvm-exegesis/AArch64/setReg_init_check.s
Log Message:
-----------
[llvm-exegesis] fix test when building LLVM for WoA. NFC (#148968)
If building with LLVM_DEFAULT_TARGET_TRIPLE=arm-none-linux-gnueabi on
WoA (Windows on ARM), this test fails, so force it to use aarch64 with
-mtriple.
Commit: f7fc36dca7e40c1b38c2481b65280b396cd8daf8
https://github.com/llvm/llvm-project/commit/f7fc36dca7e40c1b38c2481b65280b396cd8daf8
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/Analysis/LifetimeSafety.cpp
Log Message:
-----------
[LifetimeSafety] Support bidirectional dataflow analysis (#148967)
Generalize the dataflow analysis to support both forward and backward analyses.
Some program analyses would be expressed as backward dataflow problems (like liveness analysis). This change enables the framework to support both forward analyses (like the loan propagation analysis) and backward analyses with the same infrastructure.
Commit: 01ab4238a874450a74a52c5c40a008de8a0e9a83
https://github.com/llvm/llvm-project/commit/01ab4238a874450a74a52c5c40a008de8a0e9a83
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/unittests/ExecutionEngine/JITLink/AArch32Tests.cpp
Log Message:
-----------
[JITLink][AArch32] Add explicit visibility macros to functions needed by unittests (#116557)
Avoid missing symbol errors when building JITLinkTests for windows
shared library builds with explicit symbol visibility macros are
enabled.
This is part of the work to enable LLVM_BUILD_LLVM_DYLIB and LLVM
plugins on window.
Commit: 10d4652144fb5dd93b1996c6805ba805574e2cd7
https://github.com/llvm/llvm-project/commit/10d4652144fb5dd93b1996c6805ba805574e2cd7
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Analysis/HashRecognize.cpp
M llvm/test/Analysis/HashRecognize/cyclic-redundancy-check.ll
Log Message:
-----------
[HashRecognize] Track visited in ValueEvolution (#147812)
Require that all Instructions in the Loop are visited by ValueEvolution,
as any stray instructions would complicate life for the optimization.
Commit: 8ef1a0ec1fd5663a1d85f9cc84bf6d86eb46980d
https://github.com/llvm/llvm-project/commit/8ef1a0ec1fd5663a1d85f9cc84bf6d86eb46980d
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
Log Message:
-----------
[HashRecognize] Track visited in ValueEvolution (#147812)
Require that all Instructions in the Loop are visited by ValueEvolution,
as any stray instructions would complicate life for the optimization.
Commit: 584158f9aeac7df66ca08649b8c082883c66b360
https://github.com/llvm/llvm-project/commit/584158f9aeac7df66ca08649b8c082883c66b360
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Hoist check for SCEV-uncomputable dist (NFC) (#148841)
Hoist the check for SCEVCouldNotCompute distance into
getDependenceDistanceAndSize.
Commit: f995bc802d06448a41846652d5e9a9f30f80a688
https://github.com/llvm/llvm-project/commit/f995bc802d06448a41846652d5e9a9f30f80a688
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/examples/python/filter_disasm.py
M lldb/test/Shell/Commands/command-disassemble-riscv32-bytes.s
Log Message:
-----------
[lldb] Improve setting of program for filtering disassembly (#148823)
This changes the example command added in
https://github.com/llvm/llvm-project/pull/145793 so that the fdis
program does not have to be a single program name.
Doing so also means we can run the test on Windows where the program
needs to be "python.exe script_name".
I've changed "fdis set" to treat the rest of the command as the program.
Then store that as a list to be passed to subprocess. If we just use a
string, Python will think that "python.exe foo" is the name of an actual
program instead of a program and an argument to it.
This will still break if the paths have spaces in, but I'm trying to do
just enough to fix the test here without rewriting all the option
handling.
Commit: 616e4c43dd196450b11376971966d71e501c26b8
https://github.com/llvm/llvm-project/commit/616e4c43dd196450b11376971966d71e501c26b8
Author: Martin Erhart <martin.erhart at sifive.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M mlir/include/mlir-c/Pass.h
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/lib/CAPI/IR/Pass.cpp
Log Message:
-----------
[mlir] Add Python bindings to enable default passmanager timing (#149087)
Commit: 7eb65f470c5e5c6e4b3320c8bbe0eaf7705d8c4e
https://github.com/llvm/llvm-project/commit/7eb65f470c5e5c6e4b3320c8bbe0eaf7705d8c4e
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
Log Message:
-----------
[DebugInfo] Delete a now-unused function after 5328c732a4770
Commit: 7d0a81c508f6268a85e4ad59e4fb78cde0d2e5ba
https://github.com/llvm/llvm-project/commit/7d0a81c508f6268a85e4ad59e4fb78cde0d2e5ba
Author: Augie Fackler <augie at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] update mlir BUILD files for fc114e4d931ae25f74a15e42371dbead1387ad51
Commit: d9190f8141661bd6120dea61d28ae8940fd775d0
https://github.com/llvm/llvm-project/commit/d9190f8141661bd6120dea61d28ae8940fd775d0
Author: Augie Fackler <augie at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] run buildifier on mlir/BUILD.bazel
This reorders a couple of deps lists, but seems worth doing.
Commit: a13712ed88cf6fc37d3789d4c3b54ffdd1a05a1d
https://github.com/llvm/llvm-project/commit/a13712ed88cf6fc37d3789d4c3b54ffdd1a05a1d
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/source/Host/common/NativeProcessProtocol.cpp
M lldb/unittests/Host/NativeProcessProtocolTest.cpp
Log Message:
-----------
[lldb] Fix a crash in lldb-server during RemoveSoftwareBreakpoint() (#148738)
# Lldb-server crash
We have seen stacks like the following in lldb-server core dumps:
```
[
"__GI___pthread_kill at pthread_kill.c:46",
"__GI_raise at raise.c:26",
"__GI_abort at abort.c:100",
"__assert_fail_base at assert.c:92",
"__GI___assert_fail at assert.c:101",
"lldb_private::NativeProcessProtocol::RemoveSoftwareBreakpoint(unsigned long) at /redacted/lldb-server:0"
]
```
# Hypothesis of root cause
In `NativeProcessProtocol::RemoveSoftwareBreakpoint()`
([code](https://github.com/llvm/llvm-project/blob/19b2dd9d798c124406b0124a1b8debb711675281/lldb/source/Host/common/NativeProcessProtocol.cpp#L359-L423)),
a `ref_count` is asserted and reduced. If it becomes zero, the code
first go through a series of memory reads and writes to remove the
breakpoint trap opcode and to restore the original process code, then,
if everything goes fine, removes the entry from the map
`m_software_breakpoints` at the end of the function.
However, if any of the validations for the above reads and writes goes
wrong, the code returns an error early, skipping the removal of the
entry. This leaves the entry behind with a `ref_count` of zero.
The next call to `NativeProcessProtocol::RemoveSoftwareBreakpoint()` for
the same breakpoint[*] would violate the assertion about `ref_count > 0`
([here](https://github.com/llvm/llvm-project/blob/19b2dd9d798c124406b0124a1b8debb711675281/lldb/source/Host/common/NativeProcessProtocol.cpp#L365)),
which would cause a crash.
[*] We haven't found a *regular* way to repro such a next call in lldb
or lldb-dap. This is because both of them remove the breakpoint from
their internal list when they get any response from the lldb-server (OK
or error). Asking the client to delete the breakpoint a second time
doesn't trigger the client to send the `$z` gdb packet to lldb-server.
We are able to trigger the crash by sending the `$z` packet directly,
see "Manual test" below.
# Fix
Lift the removal of the map entry to be immediately after the decrement
of `ref_count`, before the early returns. This ensures that the asserted
case will never happen. The validation errors can still happen, and
whether they happen or not, the breakpoint has been removed from the
perspective of the lldb-server (same as that of lldb and lldb-dap).
# Manual test & unit test
See PR.
Commit: b8b99d83a6d891001d4070e3cac9f029cc57059e
https://github.com/llvm/llvm-project/commit/b8b99d83a6d891001d4070e3cac9f029cc57059e
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/include/__hash_table
M libcxx/include/unordered_map
R libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp
Log Message:
-----------
[libc++] Simplify __hash_table further (#148375)
Commit: a89e6f66722713addd3a7a60377ddbb38add4702
https://github.com/llvm/llvm-project/commit/a89e6f66722713addd3a7a60377ddbb38add4702
Author: Steve O'Brien <steve at obrien.cc>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/any.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/array.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/bit.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/bitset.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/charconv.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/chrono.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cmath.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/compare.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/complex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/concepts.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/coroutine.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstddef.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstdlib.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstring.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/exception.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/execution.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iomanip.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ios.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/istream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iterator.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/limits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/locale.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory_resource.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numbers.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/print.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/queue.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/random.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ratio.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/regex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/scoped_allocator.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/source_location.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/sstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stack.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stdatomic.h.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/syncstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/typeinfo.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
Minor formatting fix in 'generate_feature_test_macro_components' (#148889)
Fixes a small annoyance where generated files have a format which does
not agree with the one checked during `code-formatter` in CI.
For example `libcxx-generate-files` updates (among possibly others) the
`*.version.compile.pass.cpp` files. Previously these files contained an
extra newline which would fail the code format check. If you update that
file manually to remove just that extra trailing newline, then
`check-generated-output` will fail due to the file's contents differing
from what's expected.
Contains a number of changes: one actual change to the py script, and
lots of resulting whitespace changes.
My process for this was:
* Update `generate_feature_test_macro_components`: just remove an extra
newline which causes the code-format step to fail
* Run `$NINJA libcxx-generate-files` to rebuild all these
`.version.pass.cpp`'s
* Watch this PR's CI run to ensure things pass (i.e. this didn't break
things worse)
Commit: cfc20ea15eea5704a79dd4e8d0eaeef4cf053268
https://github.com/llvm/llvm-project/commit/cfc20ea15eea5704a79dd4e8d0eaeef4cf053268
Author: Doug Wyatt <doug at sonosphere.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/Sema/attr-nonblocking-sema.cpp
Log Message:
-----------
[Clang] FunctionEffects: Make a separate diagnostic group for redeclarations/overrides where effects are implicit. (#148690)
The current function effect diagnostics include these behaviors:
When you declare a function `nonblocking` (typically in a header) and
then omit the attribute on the implementation (or any other
redeclaration), Clang warns: attribute 'nonblocking' on function does
not match previous declaration.
But if a `nonblocking` function is a C++ virtual method, then overrides
are implicitly nonblocking; the attribute doesn't need to be explicitly
stated.
These behaviors are arguably inconsistent -- and also, both, more
pedantic than the rest of the function effect diagnostics.
This PR accomplishes two things:
- Separates the diagnostic on a redeclaration into a new group,
`-Wfunction-effect-redeclarations`, so it can be disabled independently.
- Adds a second diagnostic to this new group, for the case of an
override method missing the attribute. (This helps in a situation where
I'm trying to add `nonblocking` via a macro that does other things and I
want to know that the macro is missing on an override declaration.)
---------
Co-authored-by: Doug Wyatt <dwyatt at apple.com>
Co-authored-by: Sirraide <aeternalmail at gmail.com>
Commit: 372e99938f53bada5788a063e539ccc477ec3af9
https://github.com/llvm/llvm-project/commit/372e99938f53bada5788a063e539ccc477ec3af9
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
Remove unused variable (#149115)
Commit: 33396d71e9aef624670380e11348a11b8ff74246
https://github.com/llvm/llvm-project/commit/33396d71e9aef624670380e11348a11b8ff74246
Author: cmtice <cmtice at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[LLDB] Update release note about DIL as requested. (#149117)
A post-commit review on PR #147887 requested a minor update to the
formatting of the LLDB DIL implementation release note.
Commit: 2206c7d4afc28d78c23db48de29d600ce1e8791b
https://github.com/llvm/llvm-project/commit/2206c7d4afc28d78c23db48de29d600ce1e8791b
Author: jjasmine <jjasmine at igalia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/ConstProp/atan-intrinsic.ll
M llvm/test/Transforms/InstSimplify/ConstProp/sinh-cosh-intrinsics.ll
M llvm/test/Transforms/InstSimplify/fold-intrinsics.ll
M llvm/test/Transforms/InstSimplify/sincos.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[InstSimplify] Fold trig functions call of poison to poison (#148969)
Fold trig functions call of poison to poison.
This includes sin, cos, asin, acos, atan, atan2, sinh, cosh, sincos,
sincospi.
Test cases are fixed and also added to
llvm/test/Transforms/InstSimplify/fold-intrinsics.ll just like in
https://github.com/llvm/llvm-project/pull/146750
Commit: 9f2039755fc8a872d0a768581b5a09340a4f30be
https://github.com/llvm/llvm-project/commit/9f2039755fc8a872d0a768581b5a09340a4f30be
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
Log Message:
-----------
[flang] Add missing symbol names to the error message (#148888)
Fixes #140485
Commit: dd3d26bc8973ed18a527d61a1d8e5961060f138a
https://github.com/llvm/llvm-project/commit/dd3d26bc8973ed18a527d61a1d8e5961060f138a
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Support/raw_socket_stream.cpp
Log Message:
-----------
Revert "[Support] Error if SocketPath is too long" (#149096)
Reverts llvm/llvm-project#148903 due to bot failure
https://lab.llvm.org/buildbot/#/builders/187/builds/8162
Commit: 1754a7d5733d5305e4ec25ef0945b39d6882bb28
https://github.com/llvm/llvm-project/commit/1754a7d5733d5305e4ec25ef0945b39d6882bb28
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Support/BLAKE3/blake3_neon.c
Log Message:
-----------
[Support][BLAKE3] Restore static on blake3_hash4_neon (#149046)
This was dropped in #147948 and causes symbol conflicts if libblake3 is
also linked.
Commit: 82404e3c69168b9fdb779174d3499f5f87f818d2
https://github.com/llvm/llvm-project/commit/82404e3c69168b9fdb779174d3499f5f87f818d2
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
A llvm/test/CodeGen/AArch64/cgdata-no-merge-unnamed.ll
Log Message:
-----------
[CGData][GMF] Skip merging unnamed functions (#148995)
Skip merging unnamed functions to fix an assertion issue, since unnamed
functions would otherwise receive the same merged name --
https://github.com/llvm/llvm-project/blob/main/llvm/lib/CodeGen/GlobalMergeFunctions.cpp#L191
Commit: 64c273a6191bd0036deed7847d39440d36bbc604
https://github.com/llvm/llvm-project/commit/64c273a6191bd0036deed7847d39440d36bbc604
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang-tools-extra/clang-doc/JSONGenerator.cpp
Log Message:
-----------
[clang-doc] fix ASan complaints from passing RepositoryURL as reference (#148923)
Passing RepositoryURL around as an optional reference triggered
stack-use-after-return complaints.
Commit: 78b9128250c9fe5c7f9e460a27cc28c6450fd8fd
https://github.com/llvm/llvm-project/commit/78b9128250c9fe5c7f9e460a27cc28c6450fd8fd
Author: Trevor Gross <tmgross at umich.edu>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Document the difference between `<abi>` and `<pref>` (#147929)
Document how LLVM expects to use `<abi>` and `<pref>`, as well as the
`pref >= abi` requirement.
Commit: 6e0b0ec66ac8de046cc95080166e2012819f7d93
https://github.com/llvm/llvm-project/commit/6e0b0ec66ac8de046cc95080166e2012819f7d93
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Semantics/tools.cpp
A flang/test/Semantics/bug148559.f90
Log Message:
-----------
[flang] Fix crash in Semantics (#148706)
Allow for renaming in USE association of Cray pointers.
Fixes https://github.com/llvm/llvm-project/issues/148559.
Commit: fc7f9d795d37cd119831e77e475e4690e4120bdb
https://github.com/llvm/llvm-project/commit/fc7f9d795d37cd119831e77e475e4690e4120bdb
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/bug148675.f90
Log Message:
-----------
[flang] Better error message for ambiguous ASSIGNMENT(=) (#148720)
When a type-bound generic ASSIGNMENT(=) procedure is ambiguous for a
particular reference, say so, rather than claiming that no specific
procedure matched the types and ranks of the LHS and RHS.
Fixes https://github.com/llvm/llvm-project/issues/148675.
Commit: 52a46dc57f29e87a5a298ce325562fa2e3d057c9
https://github.com/llvm/llvm-project/commit/52a46dc57f29e87a5a298ce325562fa2e3d057c9
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/non-tbp-dio.h
M flang-rt/include/flang-rt/runtime/type-info.h
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/non-tbp-dio.cpp
M flang-rt/lib/runtime/type-info.cpp
M flang/include/flang/Semantics/runtime-type-info.h
M flang/lib/Lower/IO.cpp
M flang/lib/Semantics/runtime-type-info.cpp
M flang/module/__fortran_type_info.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/namelist.f90
M flang/test/Lower/volatile-openmp.f90
M flang/test/Semantics/typeinfo01.f90
M flang/test/Semantics/typeinfo02.f90
M flang/test/Semantics/typeinfo09.f90
M flang/test/Semantics/typeinfo13.f90
Log Message:
-----------
[flang] Allow -fdefault-integer-8 with defined I/O (#148927)
Defined I/O subroutines have UNIT= and IOSTAT= dummy arguments that are
required to have type INTEGER with its default kind. When that default
kind is modified via -fdefault-integer-8, calls to defined I/O
subroutines from the runtime don't work.
Add a flag to the two data structures shared between the compiler and
the runtime support library to indicate that a defined I/O subroutine
was compiled under -fdefault-integer-8. This has been done in a
compatible manner, so that existing binaries are compatible with the new
library and new binaries are compatible with the old library, unless of
course -fdefault-integer-8 is used.
Fixes https://github.com/llvm/llvm-project/issues/148638.
Commit: bbcdad1f8eab303a9d56c76a0bced7b17c6d2656
https://github.com/llvm/llvm-project/commit/bbcdad1f8eab303a9d56c76a0bced7b17c6d2656
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang-rt/lib/runtime/extensions.cpp
M flang/docs/Intrinsics.md
M flang/include/flang/Runtime/extensions.h
Log Message:
-----------
[flang][runtime] MCLOCK library routine (#148960)
Add MCLOCK as an interface to std::clock().
Commit: 3de11b70620d911613a48d493048cb48bb76ec19
https://github.com/llvm/llvm-project/commit/3de11b70620d911613a48d493048cb48bb76ec19
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
A flang/test/Semantics/bind-c18.f90
Log Message:
-----------
[flang] Catch bad members of BIND(C) COMMON block (#148971)
Variables that can't be BIND(C), like pointers, can't be in a BIND(C)
common block, either.
Fixes https://github.com/llvm/llvm-project/issues/148922.
Commit: 4f8597f071bab5113a945bd653bec84bd820d4a3
https://github.com/llvm/llvm-project/commit/4f8597f071bab5113a945bd653bec84bd820d4a3
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/test/Transforms/LoopInterchange/reductions-non-wrapped-operations.ll
Log Message:
-----------
[LoopInterchange] Add test for floating point math flags (#149090)
Adding a test where both `ninf` and `reassoc` flags are present on the
instruction. We don't know yet if it is legal to interchange. Prima
facie, it does not look like it should be legal but more analysis is
needed.
Commit: e8dc96d9de14c4b2317b11b8bc6e9310113697b3
https://github.com/llvm/llvm-project/commit/e8dc96d9de14c4b2317b11b8bc6e9310113697b3
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/docs/use/mcp.md
Log Message:
-----------
[lldb] Document MCP tools & resources (#148708)
Add documentation for the tools and resources exposed by LLDB's MCP
server.
Commit: b470ac419d7e8eec6c8a27539096e38a1751ee12
https://github.com/llvm/llvm-project/commit/b470ac419d7e8eec6c8a27539096e38a1751ee12
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
[DebugInfo] Delete debug-intrinsic verifier checks (#149066)
We no longer produce debug-intrinsics, and whenever they're spotted in
bitcode or textual IR they get autoupgraded. We could quite reasonably
reject them out of hand as a construct that shouldn't be present.
However, the DXIL folks are likely to be converting records back to
intrinsics for years to come, and there's no need to make that an error.
There's no value in verifying them IMO.
Commit: 6f660e269242d51a8d36a9a1f98a2244e8311a1a
https://github.com/llvm/llvm-project/commit/6f660e269242d51a8d36a9a1f98a2244e8311a1a
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M third-party/benchmark/src/sysinfo.cc
Log Message:
-----------
Fix MSVC warning in benchmark (#147357)
Building LLVM with MSVC is raising the following warning:
```
llvm\third-party\benchmark\src\sysinfo.cc(375): warning C4062: enumerator 'CacheUnknown' in switch of enum '_PROCESSOR_CACHE_TYPE' is not handled
```
This change resolves the warning by moving the `Unknown` type into a
case block for `CacheUnknown`.
Not sure how this code flows back into the original source.
Commit: 8519143a9fd368e7cfcf61582683c4e48e7d67d0
https://github.com/llvm/llvm-project/commit/8519143a9fd368e7cfcf61582683c4e48e7d67d0
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/builtin_bit.cpp
Log Message:
-----------
[CIR] Add rotate operation (#148426)
This patch adds `cir.rotate` operation for the `__builtin_rotateleft`
and `__builtin_rotateright` families of builtin calls.
Commit: 97922a7d401a4bbbc74013d92f98119e5bdfaebd
https://github.com/llvm/llvm-project/commit/97922a7d401a4bbbc74013d92f98119e5bdfaebd
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/docs/resources/build.rst
Log Message:
-----------
[lldb][docs] Add CAMKE_BUILD_TYPE to standlone build instructions
The first stage requires it, the second appears to default to
debug mode, which works but it's better we advise release mode
to match.
Commit: 9f364fe9c446d498f46efff327871dc62db8212f
https://github.com/llvm/llvm-project/commit/9f364fe9c446d498f46efff327871dc62db8212f
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/docs/resources/qemu-testing.rst
Log Message:
-----------
[lldb][docs] Add section on testing with QEMU user (#149057)
This is not recommended to basically anyone but on occasion it's useful
and could be used for testing with other simulator programs for example
bare metal simulators.
It is not something we do officially support or make any quality
guarantees for.
Adding this is also an excuse to document the limitations and make the
time spent setting up system mode look more worthwhile and might be good
to cite in future discussions about testing in simulation.
Commit: bd6c16c6cfe28105d992fa997dce6e18ea86a5a4
https://github.com/llvm/llvm-project/commit/bd6c16c6cfe28105d992fa997dce6e18ea86a5a4
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/machine-outliner-safe-range-in-middle.mir
Log Message:
-----------
[MachineOutliner] Avoid ranges that cross bundle boundary (#148977)
We found some code that was hitting this assert because
`getOutlinableRanges()` was trying to create a range that crossed a
bundle boundary.
https://github.com/llvm/llvm-project/blob/ae3bba4d15a10646ea91c6c0795633b82939857b/llvm/include/llvm/CodeGen/MachineInstrBundleIterator.h#L133-L135
Avoid creating those ranges and add a test that hit the assert.
Commit: 8349bbd0b98c84836d55593c7eb035c2b0f4e87a
https://github.com/llvm/llvm-project/commit/8349bbd0b98c84836d55593c7eb035c2b0f4e87a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Lower/ConvertVariable.cpp
Log Message:
-----------
[flang][cuda] Exit early when there is no device components (#149005)
- Exit early when there is no device components
- Make the retrieval of the record type more robust
Commit: 0f0305021c6e880f8787b9be6606c27e1a0641ed
https://github.com/llvm/llvm-project/commit/0f0305021c6e880f8787b9be6606c27e1a0641ed
Author: Udit Kumar Agarwal <udit.agarwal at intel.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M .github/workflows/email-check.yaml
Log Message:
-----------
[CI] Make email check workflow fail when author's email is private in Github UI (#148694)
**Problem**
Currently, the email check workflow uses `git` to see email used for the
last commit but the email address used when merging is actually governed
by GitHub settings not what's stored in `git`. Due to this, the email
check workflow passes even when the author's email is private in Github.
We saw several such cases in our fork of llvm. See
https://github.com/intel/llvm/issues/17675
**Solution**
Try to find user's email using GH's GraphQL APIs. User's email will be
null if it's hidden in the profile.
---------
Signed-off-by: Agarwal, Udit <udit.agarwal at intel.com>
Commit: 8d21025c3aeb1c98caef08f8446ec138c62288d1
https://github.com/llvm/llvm-project/commit/8d21025c3aeb1c98caef08f8446ec138c62288d1
Author: Brad Richardson <everythingfunctional at protonmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
A flang/docs/ParallelMultiImageFortranRuntime.md
M flang/docs/index.md
Log Message:
-----------
[flang] Parallel runtime library design doc (PRIF) (#76088)
The Parallel Runtime Interface for Fortran (PRIF) specifies the interface design for
supporting Fortran's multi-image parallel features in flang.
---------
Co-authored-by: Katherine Rasmussen <krasmussen at lbl.gov>
Co-authored-by: Damian Rouson <rouson at lbl.gov>
Co-authored-by: Dan Bonachea <dobonachea at lbl.gov>
Commit: fdec9fd4f81fd336d6d5d50bbd48cd0e095f46b9
https://github.com/llvm/llvm-project/commit/fdec9fd4f81fd336d6d5d50bbd48cd0e095f46b9
Author: duhbbx <duhbbx at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/CXX/drs/cwg8xx.cpp
M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.interface/p1.cppm
M clang/test/CXX/module/module.interface/p1.cpp
M clang/test/Modules/cxx20-10-2-ex1.cpp
M clang/test/Modules/cxx20-export-import.cpp
M clang/test/Modules/cxx20-import-diagnostics-a.cpp
M clang/test/Modules/export-in-non-modules.cpp
Log Message:
-----------
[Clang] Fix export declaration diagnostic message (#149059)
Change the error message from "export declaration can only be used
within a module purview" to "export declaration can only be used within
a module interface" to be technically accurate.
The previous message was misleading because export declarations are
actually within a module purview when used in module implementation
units, but they are only allowed in module interface units.
This addresses the issue pointed out in GitHub issue #149008 where
Bigcheese noted that the diagnostic wording was incorrect.
Fixes #149008
Commit: bd0f9dd86b16660debca39ce76abdd9da1c157a3
https://github.com/llvm/llvm-project/commit/bd0f9dd86b16660debca39ce76abdd9da1c157a3
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
A clang/test/CIR/CodeGen/complex-unary.cpp
Log Message:
-----------
[CIR] Upstream unary not for ComplexType (#148857)
Upstream unary not for ComplexType
https://github.com/llvm/llvm-project/issues/141365
Commit: 55b417a75fb4cbd13066510cba13d1c214095eab
https://github.com/llvm/llvm-project/commit/55b417a75fb4cbd13066510cba13d1c214095eab
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M offload/liboffload/src/OffloadImpl.cpp
M offload/unittests/OffloadAPI/symbol/olGetSymbol.cpp
Log Message:
-----------
[Offload] Cache symbols in program (#148209)
When creating a new symbol, check that it already exists. If it does,
return that pointer rather than building a new symbol structure.
Commit: 037d34815efc6b2c0b3f9f4d19945e49aac831d1
https://github.com/llvm/llvm-project/commit/037d34815efc6b2c0b3f9f4d19945e49aac831d1
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libc/fuzzing/math/acos_fuzz.cpp
M libc/fuzzing/math/asin_fuzz.cpp
M libc/fuzzing/math/cos_fuzz.cpp
M libc/fuzzing/math/log10_fuzz.cpp
M libc/fuzzing/math/log1p_fuzz.cpp
M libc/fuzzing/math/log2_fuzz.cpp
M libc/fuzzing/math/log_fuzz.cpp
M libc/fuzzing/math/sin_fuzz.cpp
M libc/fuzzing/math/sincos_fuzz.cpp
M libc/fuzzing/math/sqrt_fuzz.cpp
M libc/fuzzing/math/tan_fuzz.cpp
Log Message:
-----------
[libc] Updated fuzz tests for trig functions (#148891)
Fuzz tests were set up incorrectly so updated trig functions to match
the correct format.
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: ba271cc07334c74df55741701e5b22032c0cddbb
https://github.com/llvm/llvm-project/commit/ba271cc07334c74df55741701e5b22032c0cddbb
Author: Jun Wang <jwang86 at yahoo.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-bswap.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fshr.mir
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/MC/AMDGPU/gfx10_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx7_err_pos.s
M llvm/test/MC/AMDGPU/gfx8_err_pos.s
M llvm/test/MC/AMDGPU/gfx9_asm_vop3_e64.s
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3.txt
Log Message:
-----------
Revert "[AMDGPU][MC] Allow op_sel in v_alignbit_b32 etc in GFX9 and GFX10 (#142188) (#149138)
This reverts commit ce7851f6b7d59e50f92cb4e8dbfd801576c8b641.
The intrinsic llvm.amdgcn.alignbyte was not properly handled for gfx10.
Commit: 560e7df6893495fabe91bc921f9cc0e28a25eb73
https://github.com/llvm/llvm-project/commit/560e7df6893495fabe91bc921f9cc0e28a25eb73
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
M llvm/test/CodeGen/AMDGPU/llvm.sqrt.bf16.ll
A llvm/test/CodeGen/AMDGPU/trans-coexecution-hazard.mir
Log Message:
-----------
AMDGPU: Handle the co-execution hazards for TRANS for gfx1250 (#149024)
For the co-execution of the TRANS ops, the requirement is: 1 independent
op or V_NOP (since TRANS takes 2 cycles) after the trans op before its
sources can be overwritten or the output of the trans op can be used.
Commit: 22994edb5fd71198c48670255c979fcc962930a1
https://github.com/llvm/llvm-project/commit/22994edb5fd71198c48670255c979fcc962930a1
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenACC.cpp
A clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
Log Message:
-----------
[OpenACC][Sema] Implement warning for non-effective 'private' (#149004)
A 'private' variable reference needs to have a default constructor and a
destructor, else we cannot properly emit them in codegen. This patch
adds a warning-as-default-error to diagnose this.
We'll have to do something similar for firstprivate/reduction, however
it isn't clear whether we could skip the check for default-constructor
for those two (they still need a destructor!). Depending on how we
intend to create them (and we probably have to figure this out?), we
could either require JUST a copy-constructor (then make the init section
just the alloca, and the copy-ctor be the 'copy' section), OR they
require a default-constructor + copy-assignment.
Commit: 056f0a10b320fc2fd75f46aa67d68708303d89ad
https://github.com/llvm/llvm-project/commit/056f0a10b320fc2fd75f46aa67d68708303d89ad
Author: raoanag <127366241+raoanag at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsSPIRVVK.td
M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaSPIRV.cpp
A clang/test/CodeGenHLSL/builtins/refract.hlsl
A clang/test/CodeGenSPIRV/Builtins/refract.c
A clang/test/SemaHLSL/BuiltIns/refract-errors.hlsl
A clang/test/SemaSPIRV/BuiltIns/refract-errors.c
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/refract.ll
A llvm/test/CodeGen/SPIRV/opencl/refract-error.ll
Log Message:
-----------
[HLSL][DXIL] Implement `refract` intrinsic (#147342)
- [x] Implement refract using HLSL source in hlsl_intrinsics.h
- [x] Implement the refract SPIR-V target built-in in
clang/include/clang/Basic/BuiltinsSPIRV.td
- [x] Add sema checks for refract to CheckSPIRVBuiltinFunctionCall in
clang/lib/Sema/SemaSPIRV.cpp
- [x] Add codegen for spv refract to EmitSPIRVBuiltinExpr in
CGBuiltin.cpp
- [x] Add codegen tests to clang/test/CodeGenHLSL/builtins/refract.hlsl
- [x] Add spv codegen test to clang/test/CodeGenSPIRV/Builtins/refract.c
- [x] Add sema tests to clang/test/SemaHLSL/BuiltIns/refract-errors.hlsl
- [x] Add spv sema tests to
clang/test/SemaSPIRV/BuiltIns/refract-errors.c
- [x] Create the int_spv_refract intrinsic in IntrinsicsSPIRV.td
- [x] In SPIRVInstructionSelector.cpp create the refract lowering and
map it to int_spv_refract in SPIRVInstructionSelector::selectIntrinsic.
- [x] Create SPIR-V backend test case in
llvm/test/CodeGen/SPIRV/hlsl-intrinsics/refract.ll
- [x] Check for what OpenCL support is needed.
Resolves https://github.com/llvm/llvm-project/issues/99153
Commit: 82451d0b1341a9b6c01eaa5d27088ff9f3287853
https://github.com/llvm/llvm-project/commit/82451d0b1341a9b6c01eaa5d27088ff9f3287853
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libc/fuzzing/math/exp10_fuzz.cpp
M libc/fuzzing/math/exp2_fuzz.cpp
M libc/fuzzing/math/exp_fuzz.cpp
M libc/fuzzing/math/expm1_fuzz.cpp
Log Message:
-----------
[libc] Updated exp fuzz tests (#148912)
Fuzz tests were previously in the wrong format, updated them to correct
format.
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: c4d4e761ef27d6dd27323cf3efa506db5e9e3457
https://github.com/llvm/llvm-project/commit/c4d4e761ef27d6dd27323cf3efa506db5e9e3457
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/atomic.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/floating-point.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/integer.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-arithmetic.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-bitwise.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-comparison.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-conversion.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fma.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fp.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-mask.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-minmax.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-mul-div.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-permutation.s
A llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-reduction.s
Log Message:
-----------
[RISCV] Pre-commit RVV instructions to the x60 scheduling model and tests
Commit: bcee18a2e268dd106e4b3c2a1d083a4da21f4f23
https://github.com/llvm/llvm-project/commit/bcee18a2e268dd106e4b3c2a1d083a4da21f4f23
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
[flang] Handle SEQUENCE derived types for array repacking. (#148777)
It is possible that a non-polymorphic dummy argument
has a dynamic type that does not match its static type
in a valid Fortran program, e.g. when the actual and
the dummy arguments have different compatible derived
SEQUENCE types:
module mod
type t
sequence
integer x
end type
contains
subroutine test(x)
type t
sequence
integer x
end type
type(t) :: x(:)
end subroutine
end module
'test' may be called with an actual argument of type 'mod::t',
which is the dynamic type of 'x' on entry to 'test'.
If we create the repacking temporary based on the static type of 'x'
('test::t'), then the runtime will report the types mismatch
as an error. Thus, we have to create the temporary using
the dynamic type of 'x'. The fact that the dummy's type
has SEQUENCE or BIND attribute is not easily computable
at this stage, so we use the dynamic type for all derived
type cases. As long as this is done only when the repacking
actually happens, the overhead should not be noticeable.
Commit: fb3972dd06cbc1b0a5305f81b0c2d74e44dbea41
https://github.com/llvm/llvm-project/commit/fb3972dd06cbc1b0a5305f81b0c2d74e44dbea41
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lld/MachO/Arch/ARM64.cpp
M lld/MachO/CMakeLists.txt
A lld/MachO/LinkerOptimizationHints.cpp
A lld/MachO/LinkerOptimizationHints.h
M lld/MachO/Target.h
M lld/MachO/Writer.cpp
M llvm/utils/gn/secondary/lld/MachO/BUILD.gn
Log Message:
-----------
[lld-macho] Move Linker Optimization Hints pass to a separate file
Moving it away from the arm64 `TargetInfo` class will let us enable it
more easily for arm64_32 and the soon-to-be-added arm64e target as well.
This is the NFC part of #148964
Commit: c372a2cd0a1e4502f35bf8ebfc0a5d682223249e
https://github.com/llvm/llvm-project/commit/c372a2cd0a1e4502f35bf8ebfc0a5d682223249e
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M third-party/benchmark/src/sysinfo.cc
Log Message:
-----------
Use default instead of a specific case to fix the MSVC warning in sysinfo.cc (#149159)
#147357 attempted to fix an MSVC in sysinfo.cc by adding a `case` block
for a missing enum value.
However, this resulted in [CI
failures](https://github.com/llvm/llvm-project/pull/147357#issuecomment-3079709852):
```
4.170 [148/4/9] Building CXX object third-party/benchmark/src/CMakeFiles/benchmark.dir/sysinfo.cc.obj
FAILED: third-party/benchmark/src/CMakeFiles/benchmark.dir/sysinfo.cc.obj
C:\Users\tcwg\scoop\shims\ccache.exe C:\Users\tcwg\scoop\apps\llvm-arm64\current\bin\clang-cl.exe /nologo -TP -DBENCHMARK_STATIC_DEFINE -DEXPERIMENTAL_KEY_INSTRUCTIONS -DHAVE_STD_REGEX -DHAVE_STEADY_CLOCK -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:/Users/tcwg/llvm-worker/flang-arm64-windows-msvc/build/third-party/benchmark/src -IC:/Users/tcwg/llvm-worker/flang-arm64-windows-msvc/llvm-project/third-party/benchmark/src -IC:/Users/tcwg/llvm-worker/flang-arm64-windows-msvc/build/include -IC:/Users/tcwg/llvm-worker/flang-arm64-windows-msvc/llvm-project/llvm/include -IC:/Users/tcwg/llvm-worker/flang-arm64-windows-msvc/llvm-project/third-party/benchmark/include /DWIN32 /D_WINDOWS /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /W4 -EHs- -EHa- /O2 /Ob2 -std:c++14 -MD -UNDEBUG /showIncludes /Fothird-party/benchmark/src/CMakeFiles/benchmark.dir/sysinfo.cc.obj /Fdthird-party\benchmark\src\CMakeFiles\benchmark.dir\benchmark.pdb -c -- C:/Users/tcwg/llvm-worker/flang-arm64-windows-msvc/llvm-project/third-party/benchmark/src/sysinfo.cc
C:/Users/tcwg/llvm-worker/flang-arm64-windows-msvc/llvm-project/third-party/benchmark/src/sysinfo.cc(374,12): error: use of undeclared identifier 'CacheUnknown'
374 | case CacheUnknown:
| ^
1 error generated.
```
The root cause is that the enum being switched on is defined in the
Windows SDK, so depending on which version of the SDK you are using
`CacheUnknown` may or may not be defined.
The correct fix here is to use a `default` block in the switch statement
instead.
Commit: b3c72a97c5ac352b89c12f3cf7c3f223219f91ed
https://github.com/llvm/llvm-project/commit/b3c72a97c5ac352b89c12f3cf7c3f223219f91ed
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/include/flang/Parser/message.h
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Parser/message.cpp
M flang/lib/Semantics/semantics.cpp
A flang/test/Driver/fatal-errors-warnings.f90
Log Message:
-----------
[flang][driver] -Werror promotes warnings to error and interopts with -Wfatal-errors (#148748)
This PR changes how `-Werror` promotes warnings to errors so that it
interoperates with `-Wfatal-error`. It maintains the property that
warnings and other messages promoted to errors are displayed as there
original message.
Commit: 362594a10fa5fd8e5f8d31eb5391370c928b639e
https://github.com/llvm/llvm-project/commit/362594a10fa5fd8e5f8d31eb5391370c928b639e
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Remove unnecessary sortAndUniqueRegisters (#149125)
Each of the SRSets is already sorted and unique because it is a filtered
version of RC->getMembers() which is already sorted and unique.
Commit: 43f10639a18b2b8fb0976f3bde84a9d240647915
https://github.com/llvm/llvm-project/commit/43f10639a18b2b8fb0976f3bde84a9d240647915
Author: Daniel Bertalan <dani at danielbertalan.dev>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lld/MachO/LinkerOptimizationHints.cpp
M lld/MachO/Writer.cpp
A lld/test/MachO/loh-arm64-32.s
Log Message:
-----------
[lld-macho] Enable Linker Optimization Hints pass for arm64_32 (#148964)
The backend emits `.loh` directives for arm64_32 as well. Our pass
already handles 32-bit pointer loads correctly (there was an extraneous
sanity check for 8-byte pointer sizes, I removed that here), so we can
enable them for all arm64 subtargets, including our upcoming arm64e
support.
Commit: 4355356d96de1e171f7511a6c41d056871dacc68
https://github.com/llvm/llvm-project/commit/4355356d96de1e171f7511a6c41d056871dacc68
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[TableGen] Add a bitvector of members of CodeGenRegisterClass (#149122)
This makes CodeGenRegisterClass::contains fast. Use this to simplify
inferMatchingSuperRegClass.
Commit: 3a6ef8b359fc3f2459ef60013b8938ebe847831b
https://github.com/llvm/llvm-project/commit/3a6ef8b359fc3f2459ef60013b8938ebe847831b
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/exp10.h
M libc/src/__support/FPUtil/PolyEval.h
M libc/src/__support/FPUtil/double_double.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/exp10.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/exp10.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor exp10 implementation to header-only in src/__support/math folder. (#148400)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 94382c8e56e878d1b6a8cf317e3632df5352e23e
https://github.com/llvm/llvm-project/commit/94382c8e56e878d1b6a8cf317e3632df5352e23e
Author: Leonard Chan <leonardchan at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/StackProtector.cpp
A llvm/test/Transforms/StackProtector/cross-dso-cfi-stack-chk-fail.ll
A llvm/test/Transforms/StackProtector/stack-chk-fail-alias.ll
Log Message:
-----------
[llvm][StackProtector] Add noreturn to __stack_chk_fail call (#143976)
This is a reland for 99e53cb4139eda491f97cb33ee42ea424d352200 with the
appropriate test fixes.
It's possible for __stack_chk_fail to be an alias when using CrossDSOCFI
since it will make a jump table entry for this function and replace it
with an alias. StackProtector can crash since it always expects this to
be a regular function. Instead add the noreturn attribute to the call.
Commit: ececa877083fcbe19aa0394b280630b9d807cd6d
https://github.com/llvm/llvm-project/commit/ececa877083fcbe19aa0394b280630b9d807cd6d
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
Log Message:
-----------
[RISCV][VLOPT] Add support for vrgather (#148249)
This PR adds support for the vrgather.vi, vrgather.vx, vrgather.vv,
vrgatherei16.vv instructions in the RISC-V VLOptimizer.
To support vrgatherei16.vv I also needed to add support for it in
getOperandLog2EEW.
Commit: 6824bcfdb4c8315a990f4b5ce2cb9f528281a823
https://github.com/llvm/llvm-project/commit/6824bcfdb4c8315a990f4b5ce2cb9f528281a823
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/fixed-deinterleave-intrinsics.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/scalable-deinterleave-intrinsics.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-deinterleave4.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
Log Message:
-----------
[IA] Relax the requirement of having ExtractValue users on deinterleave intrinsic (#148716)
There are cases where InstCombine / InstSimplify might sink extractvalue
instructions that use a deinterleave intrinsic into successor blocks,
which prevents InterleavedAccess from kicking in because the current
pattern requires deinterleave intrinsic to be used by extractvalue.
However, this requirement is bit too strict while we could have just
replaced the users of deinterleave intrinsic with whatever generated by
the target TLI hooks.
Commit: 8c28f4920dfda2e3d91c58e8eb5b568dd396fa2d
https://github.com/llvm/llvm-project/commit/8c28f4920dfda2e3d91c58e8eb5b568dd396fa2d
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectExpression.cpp
A lldb/test/Shell/Settings/TestChildCountTruncation.test
Log Message:
-----------
[lldb] Print children-count warning for dwim-print and expr (#149088)
When dumping variables, LLDB will print a one-time warning about
truncating children (when the children count exceeds the default
`target.max-children-count`). But we only do this for `frame variable`.
So if we use `dwim-print` or `expression`, the output gets truncated but
we don't print a warning. But because we store the fact that we
truncated some output on the `CommandInterpreter`, we fire the warning
next time we use `frame variable`. E.g.,:
```
(lldb) p arr
(int[1000]) {
[0] = -5
[1] = 0
[2] = 0
<-- snipped -->
[253] = 0
[254] = 0
[255] = 0
...
}
(lldb) v someLocal
(int) someLocal = 10
*** Some of the displayed variables have more members than the debugger
will show by default. To show all of them, you can either use the
--show-all-children option to frame variable or raise the limit by
changing the target.max-children-count setting.
```
This patch prints the warning for `dwim-print` and `expression`.
I only added a test for the `target.max-children-count` for now because
it seems the `target.max-children-depth` warning is broken (I can't get
it to fire).
Commit: b9f5b39e04d22e9a6ad451bdc0779bed31015372
https://github.com/llvm/llvm-project/commit/b9f5b39e04d22e9a6ad451bdc0779bed31015372
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/TableGen/TGLexer.cpp
Log Message:
-----------
[TableGen] Remove explicit recursion in LexToken (#143697)
When profiling a Release+Asserts build of llvm-tblgen I noticed that it
was recursing hundreds of times to lex a sequence of hundreds of space
characters.
Commit: 7caa0c9a55b33d8d627975e94c3367aa68dc37c7
https://github.com/llvm/llvm-project/commit/7caa0c9a55b33d8d627975e94c3367aa68dc37c7
Author: Udit Kumar Agarwal <udit.agarwal at intel.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M .github/workflows/email-check.yaml
Log Message:
-----------
Revert "[CI] Make email check workflow fail when author's email is private in Github UI" (#149186)
Reverts llvm/llvm-project#148694
The workflow is failing if user's email is not listed publicly on your
GH profile. This is different from not having your email public on
Github (in Github email settings page vs. email field in Github
profile/email settings).
Commit: 1e4e2b332dc08e01498c677a6a375fcbc9d5e9f0
https://github.com/llvm/llvm-project/commit/1e4e2b332dc08e01498c677a6a375fcbc9d5e9f0
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/test/Fir/CUDA/cuda-device-global.f90
Log Message:
-----------
[flang][cuda] Import type descriptor in the gpu module when needed (#149157)
Commit: b7f6abdd052412bebfedc9cac26fc58b9edb618d
https://github.com/llvm/llvm-project/commit/b7f6abdd052412bebfedc9cac26fc58b9edb618d
Author: Daniil Fukalov <dfukalov at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/select-cmp-shared-constant-fp.ll
A llvm/test/CodeGen/AMDGPU/select-cmp-shared-constant-int.ll
Log Message:
-----------
[AMDGPU] Try to reuse register with the constant from compare in v_cndmask (#148740)
For some targets, the optimization X == Const ? X : Y -> X == Const ?
Const : Y can cause extra register usage or redundant immediate encoding
for the constant in cndmask generated from the ternary operation.
This patch detects such cases and reuses the register from the compare
instruction that already holds the constant, instead of materializing it
again for cndmask.
The optimization avoids immediates that can be encoded into cndmask
instruction (including +-0.0), as well as !isNormal() constants.
The change is reworked on the base of #131146
---------
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Commit: cb6d1bbfcd01866ef7a3027968e6480ef1c2c992
https://github.com/llvm/llvm-project/commit/cb6d1bbfcd01866ef7a3027968e6480ef1c2c992
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/test/CodeGen/PowerPC/builtins-ppc-fpconstrained.c
A llvm/test/CodeGen/PowerPC/spe-vsx-incompatibility.ll
Log Message:
-----------
[PowerPC] Test SPE incompatibility with VSX (#147184)
PPCSubtarget is not always initialized, depending on which passes are
running, and in our downstream fork, -enable-matrix is the default
configuration (regardless of whether matrix intrinsics are present in
the IR), which triggers a fatal error in builtins-ppc-fpconstrained.c.
Commit: 9912ccb0b4d17a4dd4ef8df718b63e3a907ad7c5
https://github.com/llvm/llvm-project/commit/9912ccb0b4d17a4dd4ef8df718b63e3a907ad7c5
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vflat.txt
Log Message:
-----------
[AMDGPU] gfx1250 MC support for FLAT GVS addressing (#149173)
Commit: 703501e66198c6d4be48773b617c784370e23d4a
https://github.com/llvm/llvm-project/commit/703501e66198c6d4be48773b617c784370e23d4a
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
Log Message:
-----------
[AMDGPU] Select flat GVS loads on gfx1250 (#149183)
Commit: 038e80cfd37e948d78c70d5a258ffe424a438d51
https://github.com/llvm/llvm-project/commit/038e80cfd37e948d78c70d5a258ffe424a438d51
Author: Ryan Prichard <rprichard at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_bounded_array.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.compile.pass.cpp
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/docker-compose.yml
Log Message:
-----------
[libc++][Android] Update compiler and sysroot (#148998)
* Upgrade from r536225 to r563880.
* Upgrade from ab/12644632 to f8b85cc5262c6e5cbc9a92c1bab2b18b32a4c63f,
the current HEAD commit of
https://android.googlesource.com/platform/prebuilts/ndk/+/refs/heads/mirror-goog-main-ndk
The previous source of sysroots (ci.android.com), deleted its artifacts
after a short period of time, and is currently out-of-date because of
the aosp-main turndown.
Updating the Docker image also fixes two tests.
Commit: 7d2a58e87d7ab5d076adf51705b1b2253cea34bb
https://github.com/llvm/llvm-project/commit/7d2a58e87d7ab5d076adf51705b1b2253cea34bb
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rsq.bf16.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_rsq_bf16` on gfx1250 (#149194)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: ad6d5d28215adb3def221517b1490b8df3fd1190
https://github.com/llvm/llvm-project/commit/ad6d5d28215adb3def221517b1490b8df3fd1190
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
A llvm/test/CodeGen/AMDGPU/bf16-math.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.log.bf16.ll
A llvm/test/CodeGen/AMDGPU/llvm.log2.bf16.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_log_bf16` on gfx1250 (#149201)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: 0110168f6aa5c8a8d02ffd9e62c7929ce6d24d26
https://github.com/llvm/llvm-project/commit/0110168f6aa5c8a8d02ffd9e62c7929ce6d24d26
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
A llvm/test/CodeGen/X86/win32-int-runtime-libcalls.ll
Log Message:
-----------
RuntimeLibcalls: Fix calling conv of win32 div libcalls (#149098)
There's probably an existing test this should be added to,
but our test coverage is really bad that this wasn't caught
by one.
Commit: 7e0fde0c2f6b0b9d727ce9196956b36e91961ac4
https://github.com/llvm/llvm-project/commit/7e0fde0c2f6b0b9d727ce9196956b36e91961ac4
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/tools/libclang/libclang.map
Log Message:
-----------
[Clang] Reintroduce obsolete symbols in libclang.map (#149190)
This is a follow-up to #149079. Seems like we forgot about the fact that
the symbols also need to be in `libclang.map`.
Commit: 86c63e6bd66f9db9c7320155da7a2042407b5a1a
https://github.com/llvm/llvm-project/commit/86c63e6bd66f9db9c7320155da7a2042407b5a1a
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M lldb/source/Interpreter/CommandInterpreter.cpp
Log Message:
-----------
[lldb] [cosmetic] Update help message of `(lldb) b` (#149114)
`(lldb) b` can be used in two different ways:
1. Running `b` without arguments, it lists all existing breakpoints.
2. Running `b` with arguments, it adds breakpoints.
However, the help message doesn't mention the first use case. This patch
adds help message to mention it.
**Without patch**:
```
(lldb) help b
Set a breakpoint using one of several shorthand formats. Expects 'raw' input (see 'help raw-input'.)
Syntax:
_regexp-break <filename>:<linenum>:<colnum>
main.c:12:21 // Break at line 12 and column 21 of main.c
...
```
**With patch**:
```
(lldb) help b
Set a breakpoint using one of several shorthand formats, or list the
existing breakpoints if no arguments are provided. Expects 'raw' input
(see 'help raw-input'.)
Syntax:
_regexp-break <filename>:<linenum>:<colnum>
main.c:12:21 // Break at line 12 and column 21 of main.c
...
_regexp-break
// List the existing breakpoints
```
Commit: 26b0b279deca7cd660efcae5c17bd27a15ead36d
https://github.com/llvm/llvm-project/commit/26b0b279deca7cd660efcae5c17bd27a15ead36d
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
A llvm/test/CodeGen/AMDGPU/flat-saddr-store.ll
Log Message:
-----------
[AMDGPU] Select flat GVS stores on gfx1250 (#149203)
Commit: 81eb7defa23dcf48a8e51391543eb210df232440
https://github.com/llvm/llvm-project/commit/81eb7defa23dcf48a8e51391543eb210df232440
Author: Cristian Assaiante <assaiante at diag.uniroma1.it>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/test/CodeGen/new-pass-manager-opt-bisect.c
M llvm/include/llvm/IR/OptBisect.h
M llvm/include/llvm/Pass.h
M llvm/lib/IR/OptBisect.cpp
M llvm/lib/IR/Pass.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/test/Other/opt-bisect-new-pass-manager.ll
A llvm/test/Other/opt-disable.ll
Log Message:
-----------
[OptBisect][IR] Adding a new OptPassGate for disabling passes via name (#145059)
This commit adds a new pass gate that allows selective disabling
of one or more passes via the clang command line using the
`-opt-disable` option. Passes to be disabled should be specified as a
comma-separated list of their names.
The implementation resides in the same file as the bisection tool. The
`getGlobalPassGate()` function returns the currently enabled gate.
Example: `-opt-disable="PassA,PassB"`
Pass names are matched using case-insensitive comparisons. However, note
that special characters, including spaces, must be included exactly as
they appear in the pass names.
Additionally, a `-opt-disable-enable-verbosity` flag has been introduced to
enable verbose output when this functionality is in use. When enabled,
it prints the status of all passes (either running or NOT running),
similar to the default behavior of `-opt-bisect-limit`. This flag is
disabled by default, which is the opposite of the `-opt-bisect-verbose`
flag (which defaults to enabled).
To validate this functionality, a test file has also been provided. It reuses
the same infrastructure as the opt-bisect test, but disables three
specific passes and checks the output to ensure the expected behavior.
---------
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: 210cf010c3362e5648d037ea5e4b27c2673837ed
https://github.com/llvm/llvm-project/commit/210cf010c3362e5648d037ea5e4b27c2673837ed
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Lower globaltimer to NVVM op (#149217)
Commit: 9d78eb5cc51820bd7076861a9ad175e5666b90d3
https://github.com/llvm/llvm-project/commit/9d78eb5cc51820bd7076861a9ad175e5666b90d3
Author: Wenju He <wenju.he at intel.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Enable -fdiscard-value-names build flag to reduce bitcode size (#149016)
The flag reduces nvptx64--nvidiacl.bc size from 10.6MB to 5.2MB.
Commit: b52cf756ced2aefd05b7e2f01026c941f9a04c47
https://github.com/llvm/llvm-project/commit/b52cf756ced2aefd05b7e2f01026c941f9a04c47
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/CodeGen/AMDGPU/insert-delay-alu-wmma-xdl.mir
Log Message:
-----------
AMDGPU: Treat WMMA XDL ops as TRANS in S_DELAY_ALU insertion for gfx1250 (#149208)
WMMA XDL instructions are tracked as TRANs ops and the compiler should
consider them the same as TRANS in S_DELAY_ALU insertion. We use a searchable
table for the InsertDelayAlu pass to recognize these WMMA XDL instructions.
Co-authored-by: Stefan Stipanovic <Stefan.Stipanovic at amd.com>
Commit: 4cf7670b01fb5b01995cf89fe4304bfb0c69a4c0
https://github.com/llvm/llvm-project/commit/4cf7670b01fb5b01995cf89fe4304bfb0c69a4c0
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Lower clock() to NNVM op (#149228)
Also use a same gen function for all NVVM time ops.
Commit: f56211ebfa7f9ca71b9eeb119012b0f6e1a2b2c9
https://github.com/llvm/llvm-project/commit/f56211ebfa7f9ca71b9eeb119012b0f6e1a2b2c9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/xqcisls.ll
Log Message:
-----------
[RISCV] Add/remove/simplify tests in xqcisls.ll. NFC
-Don't use i64 for GEP indices.
-Remove tests that zero extended GEP indices from i32 to i64.
-Add i64 load/store tests taken from xtheadmemidx that get split into two i32 load/store.
-Don't extend load results to i64.
I'm working on improvements to SelectAddrRegRegScale.
Commit: 0692572e040979b2de0dceb8f0537aa16caf351f
https://github.com/llvm/llvm-project/commit/0692572e040979b2de0dceb8f0537aa16caf351f
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/test/CodeGenCXX/pragma-loop.cpp
Log Message:
-----------
[clang][CodeGen] Fix metadata when vectorization is disabled by pragma (#135163)
Currently, when specifying `vectorize(disable) unroll_count(8)`, the
generated metadata appears as follows:
```
!loop0 = !{!"loop0", !vectorize_width, !followup}
!vectorize_width = !{!"llvm.loop.vectorize.width", i32 1}
!followup = !{!"llvm.loop.vectorize.followup_all", !unroll}
!unroll = !{!"llvm.loop.unroll_count", i32 8}
```
Since the metadata `!vectorize_width` implies that the vectorization is
disabled, the vectorization process is skipped, and the `!followup`
metadata is not processed correctly.
This patch addresses the issue by directly appending properties to the
metadata node when vectorization is disabled, instead of creating a new
follow-up MDNode. In the above case, the generated metadata will now
look like this:
```
!loop0 = !{!"loop0", !vectorize_width, !vectorize_width, !unroll}
!vectorize_width = !{!"llvm.loop.vectorize.width", i32 1}
!unroll = !{!"llvm.loop.unroll_count", i32 8}
```
Commit: b41398294c85eacdb37b9637eed6f0e91edf35cf
https://github.com/llvm/llvm-project/commit/b41398294c85eacdb37b9637eed6f0e91edf35cf
Author: Wenju He <wenju.he at intel.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
A clang/test/CodeGenOpenCL/scoped-atomic.cl
Log Message:
-----------
[SPIR] Set MaxAtomicInlineWidth minimum size to 32 for spir32 and 64 for spir64 (#148997)
Set MaxAtomicInlineWidth the same way as SPIR-V targets in 3cfd0c0d3697.
This PR fixes build warning in scoped atomic built-in in #146814:
`warning: large atomic operation may incur significant performance
penalty; ; the access size (2 bytes) exceeds the max lock-free size (0
bytes) [-Watomic-alignment]`
Commit: b9adc4a59cb50c98ec0e01645ea5eb64e6628afd
https://github.com/llvm/llvm-project/commit/b9adc4a59cb50c98ec0e01645ea5eb64e6628afd
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
Log Message:
-----------
[IA] Use a single callback for lowerInterleaveIntrinsic [nfc] (#148978) (#149168)
This continues in the direction started by commit 4b81dc7. We
essentially merges the handling for VPStore - currently in
lowerInterleavedVPStore which is shared between shuffle and intrinsic
based interleaves - into the existing dedicated routine.
Commit: 34951f7de80c4b4ac2b884d08dd919efed23c024
https://github.com/llvm/llvm-project/commit/34951f7de80c4b4ac2b884d08dd919efed23c024
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Use NVVM op for clock64 (#149223)
Commit: b36188514a76ba979439a1dcab58e68478e3f0ad
https://github.com/llvm/llvm-project/commit/b36188514a76ba979439a1dcab58e68478e3f0ad
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
Log Message:
-----------
[RISCV][IA] Check nuw on multiply when analyzing EVL (#149205)
If we're checking to see if a number is a multiple of a small constant,
we need to be sure the multiply doesn't overflow for the mul logic to
hold. The VL is a unsigned number, so we care about unsigned overflow.
Once we've proven a number of a multiple, we can also use an
exact udiv as we know we're not discarding any bits.
This fixes what is technically a miscompile with EVL vectorization, but
I doubt we'd ever have seen it in practice since most EVLs are going to
much less than UINT_MAX.
Commit: 34b3ea367c4299ebd7c37edc7c748c9627ee66cb
https://github.com/llvm/llvm-project/commit/34b3ea367c4299ebd7c37edc7c748c9627ee66cb
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/common_test.cpp
Log Message:
-----------
[scudo] Make release to OS test more specific. (#147852)
The original version of ResidentMemorySize could be a little flaky.
Replace the test with a version that verifies exactly how much of the
map is resident.
Commit: 1f1fd07c325f174be27d6f10a512882770a976a8
https://github.com/llvm/llvm-project/commit/1f1fd07c325f174be27d6f10a512882770a976a8
Author: Ryan Buchner <buchner.ryan at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/icmp-select.ll
A llvm/test/Transforms/InstCombine/select-fixed-zero.ll
M llvm/test/Transforms/InstCombine/select.ll
Log Message:
-----------
[InstCombine] Optimize (select %x, op(%x), 0) to op(%x) for operations where op(0) == 0 (#147605)
Currently this optimization only occurs for `mul`, but this generalizes
that for any operation that has a fixed point of `0`.
There is similar logic within `EarlyCSE` pass, but that is stricter in
terms of `poison` propagation so will not optimize for many operations.
Alive2 Proofs:
`and`:
https://alive2.llvm.org/ce/z/RraasX ; base-case
https://alive2.llvm.org/ce/z/gzfFTX ; commuted-case
https://alive2.llvm.org/ce/z/63XaoX ; compare against undef
https://alive2.llvm.org/ce/z/MVRVNd ; select undef
https://alive2.llvm.org/ce/z/2bsoYG ; vector
https://alive2.llvm.org/ce/z/xByeX- ; vector compare against undef
https://alive2.llvm.org/ce/z/zNdzmZ ; vector select undef
`fshl`:
https://alive2.llvm.org/ce/z/U3_PG3 ; base-case
https://alive2.llvm.org/ce/z/BWCnxT ; compare against undef
https://alive2.llvm.org/ce/z/8HGAE_ ; select undef
; vector times out
`fshr`:
https://alive2.llvm.org/ce/z/o6F47G ; base-case
https://alive2.llvm.org/ce/z/fVnBXy ; compare against undef
https://alive2.llvm.org/ce/z/suymYJ ; select undef
; vector times out
`umin`:
https://alive2.llvm.org/ce/z/GGMqf6 ; base-case
https://alive2.llvm.org/ce/z/6cx5-k ; commuted-case
https://alive2.llvm.org/ce/z/W5d9tz ; compare against undef
https://alive2.llvm.org/ce/z/nKbaUn ; select undef
https://alive2.llvm.org/ce/z/gxEGqc ; vector
https://alive2.llvm.org/ce/z/_SDpi_ ; vector compare against undef
`sdiv`:
https://alive2.llvm.org/ce/z/5XGs3q
`srem`:
https://alive2.llvm.org/ce/z/vXAnQM
`udiv`:
https://alive2.llvm.org/ce/z/e6_8Ug
`urem`:
https://alive2.llvm.org/ce/z/VmM2SL
`shl`:
https://alive2.llvm.org/ce/z/aCZr3u ; Argument with range
https://alive2.llvm.org/ce/z/YgDy8C ; Instruction with known bits
https://alive2.llvm.org/ce/z/6pIxR6 ; Constant
`lshr`:
https://alive2.llvm.org/ce/z/WCCBej
`ashr:
https://alive2.llvm.org/ce/z/egV4TR
---------
Co-authored-by: Ryan Buchner <rbuchner at ventanamicro.com>
Co-authored-by: Yingwei Zheng <dtcxzyw at qq.com>
Commit: 283a62fa5b9f2b07fb74336dbce91f346801225f
https://github.com/llvm/llvm-project/commit/283a62fa5b9f2b07fb74336dbce91f346801225f
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
Log Message:
-----------
[AMDGPU] NFC: Decouple getRealRegPressure from current region (#149219)
We're already accepting a RegionIdx for the LiveIns, also use this for
the instruction iterators.
Enables querying RP for other regions -- useful for function wide
transformations (e.g. rematerialization, rewriting, etc).
Commit: 1c541aa9f9a2453324724bfb9d661bc672778d10
https://github.com/llvm/llvm-project/commit/1c541aa9f9a2453324724bfb9d661bc672778d10
Author: thetruestblue <bblueconway at gmail.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M compiler-rt/test/lit.common.cfg.py
Log Message:
-----------
[Apple][NFC] Update macOS aligned version for lit config (#143576)
This updates the aligned version for version 26.
Note: This change is for correctness only and has no functional impact
currently. `get_macos_aligned_version` is currently only consumed when
substituting flags based on min version.
rdar://152851947
Commit: 0f09f2cf00caf3e6c755197d7c897ce8e607db4d
https://github.com/llvm/llvm-project/commit/0f09f2cf00caf3e6c755197d7c897ce8e607db4d
Author: Florian Mayer <fmayer at google.com>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
A clang/test/CodeGen/null-sanitizer-debug-info-regression.cpp
Log Message:
-----------
[Sanitize] fix crash in -fsanitize-annotate-debug-info (#149237)
Commit: e51ea1c7571c9d7698ab01317fd4ab3b250cb8f9
https://github.com/llvm/llvm-project/commit/e51ea1c7571c9d7698ab01317fd4ab3b250cb8f9
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/xandesbfhcvt.ll
Log Message:
-----------
[RISCV] Remove unneeded declarations in llvm/test/CodeGen/RISCV/xandesbfhcvt.ll. NFC.
Commit: 9753ea83dd34bfb169fbed3995cc79e621ca6963
https://github.com/llvm/llvm-project/commit/9753ea83dd34bfb169fbed3995cc79e621ca6963
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-16 (Wed, 16 Jul 2025)
Changed paths:
M llvm/test/MC/AArch64/directives-case_insensitive.s
M llvm/test/MC/AArch64/reloc-directive-err.s
M llvm/test/MC/AArch64/reloc-directive.s
M llvm/test/MC/AMDGPU/reloc-directive.s
M llvm/test/MC/ARM/reloc-directive-err.s
M llvm/test/MC/ARM/reloc-directive.s
M llvm/test/MC/AVR/reloc-directive-err.s
M llvm/test/MC/AVR/reloc-directive.s
M llvm/test/MC/LoongArch/Relocations/reloc-directive-err.s
M llvm/test/MC/LoongArch/Relocations/reloc-directive.s
M llvm/test/MC/Mips/reloc-directive-bad.s
M llvm/test/MC/Mips/reloc-directive.s
M llvm/test/MC/PowerPC/ppc32-reloc-directive.s
M llvm/test/MC/PowerPC/ppc64-reloc-directive.s
M llvm/test/MC/RISCV/reloc-directive-err.s
M llvm/test/MC/RISCV/reloc-directive.s
M llvm/test/MC/Sparc/Relocations/reloc-directive.s
M llvm/test/MC/SystemZ/reloc-directive.s
M llvm/test/MC/X86/reloc-directive-elf-32.s
M llvm/test/MC/X86/reloc-directive-elf-64.s
M llvm/test/MC/X86/reloc-directive.s
Log Message:
-----------
MC,test: Migrate away from the .reloc constant hack
The initial .reloc support for MIPS incorrectly interpreted .reloc 0 as .reloc .+0 .
I was misled when porting .reloc to other targets in 2019 and 2020.
Many PRINT: prefixes are unnecessary. The MCAsmStreamer implementation
is generic, and it is unnecessary to test too many variants.
Commit: 4a3cb437a32f5611b909fe7e067a9a9d28c2b845
https://github.com/llvm/llvm-project/commit/4a3cb437a32f5611b909fe7e067a9a9d28c2b845
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Log Message:
-----------
AMDGPU: Avoid hardcoding mov opcode
Commit: 72c61a6a255cd07c449f213bef9439ab0ee85c08
https://github.com/llvm/llvm-project/commit/72c61a6a255cd07c449f213bef9439ab0ee85c08
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
[AMDGPU][NPM] Fill in addPreSched2 passes (#148112)
same as https://github.com/llvm/llvm-project/pull/139516
Co-authored-by : Oke, Akshat
<[Akshat.Oke at amd.com](mailto:Akshat.Oke at amd.com)>
Commit: 34c85337424fde5796154d0cb390b39175291373
https://github.com/llvm/llvm-project/commit/34c85337424fde5796154d0cb390b39175291373
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll
Log Message:
-----------
[Coroutines] Always drop lifetime markers after moving allocas to frame (#149141)
https://github.com/llvm/llvm-project/pull/142551 started always dropping
lifetime markers after moving allocas on the frame, as these are not
useful on non-allocas but can cause issues.
However, this was not done for other ABIs (retcon, retcononce, async)
that go through a different code path. We should treat them the same
way.
Commit: 3cb0c7f45b97802ddc13a15560fbbca2efb75326
https://github.com/llvm/llvm-project/commit/3cb0c7f45b97802ddc13a15560fbbca2efb75326
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M lld/ELF/Relocations.cpp
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCELFStreamer.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/test/MC/ELF/reloc-directive.s
M llvm/test/MC/Mips/reloc-directive-bad-obj.s
M llvm/test/MC/Mips/reloc-directive-label-offset.s
Log Message:
-----------
MC: Rework .reloc directive and fix the offset when it evaluates to a constant
* Fix `.reloc constant` to mean section_symbol+constant instead of
.+constant . The initial .reloc support from MIPS incorrectly
interpreted the offset.
* Delay the evaluation of the offset expression after
MCAssembler::layout, deleting a lot of code working with MCFragment.
* Delete many FIXME from https://reviews.llvm.org/D79625
* Some lld/ELF/Arch/LoongArch.cpp relaxation tests rely on .reloc .,
R_LARCH_ALIGN generating ALIGN relocations at specific location.
Sort the relocations.
Commit: 1653a093def10543d8f958fe7d4cde9ab1dd8bca
https://github.com/llvm/llvm-project/commit/1653a093def10543d8f958fe7d4cde9ab1dd8bca
Author: Daan De Meyer <daan.j.demeyer at gmail.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/SortIncludesTest.cpp
Log Message:
-----------
[clang-format] Add IgnoreExtension to SortIncludes (#137840)
Sorting by stem gives nicer results when various header file names are
substrings of other header file names. For example, a CLI application
with a main header named analyze.h and an analyze-xxx.h header for each
subcommand currently will always put analyze.h last after all the
analyze-xxx.h headers, but putting analyze.h first instead is arguably
nicer to read.
TLDR; Instead of
```
#include "analyze-blame.h"
#include "analyze.h"
```
You'd get
```
#include "analyze.h"
#include "analyze-blame.h"
```
Let's allow sorting by stem instead of full path by adding
IgnoreExtension to SortIncludes.
Commit: 2194bca2b78cf1ada2aa539e2a3ad8128a80f63a
https://github.com/llvm/llvm-project/commit/2194bca2b78cf1ada2aa539e2a3ad8128a80f63a
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__format/range_default_formatter.h
A libcxx/include/__format/range_format.h
M libcxx/include/module.modulemap.in
Log Message:
-----------
[libc++] Granularize `range_format` and `format_kind` declarations (#148876)
While working on #105430 I ran into an issue implementing
[[optional.syn]](https://eel.is/c++draft/optional.syn) because of a
circular include that looked like the following: `optional ->
__format/range_default_formatter.h -> __format/range_formatter.h ->
__format/format_context.h -> optional`. Only `format_kind` and
`range_format` are needed, and so they looked like candidates to be put
into an internal header.
Commit: d218011159105208de38275594c75735929f74aa
https://github.com/llvm/llvm-project/commit/d218011159105208de38275594c75735929f74aa
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fix-xvshuf.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insert-extract-element.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insert-extract-pair-elements.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insert-extract-element.ll
Log Message:
-----------
[LoongArch] Optimize inserting extracted elements (#146018)
Commit: 3071fe55f8321ea18952412a233f7330ce26b522
https://github.com/llvm/llvm-project/commit/3071fe55f8321ea18952412a233f7330ce26b522
Author: Jonathan Wakely <github at kayari.org>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M libcxx/test/std/utilities/template.bitset/bitset.members/to_ullong.pass.cpp
Log Message:
-----------
[libc++] Add missing include <limits> to bitset to_ullong.pass.cpp test (#149149)
This was added to to_ulong.pass.cpp years ago by
cf1dc8d39e2c9870468ca86f7956a65c7745fece but I don't think the other
part of that commit matters here.
Commit: 1d398a96dc6b58d15d289c71e2d9f229a0ba719b
https://github.com/llvm/llvm-project/commit/1d398a96dc6b58d15d289c71e2d9f229a0ba719b
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
Log Message:
-----------
[GVN][NFC] Use early return in phiTranslateImpl() (#149268)
Commit: ace6e20e52c0c343500f68fa053b6be546e5a0db
https://github.com/llvm/llvm-project/commit/ace6e20e52c0c343500f68fa053b6be546e5a0db
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 2194bca2b78c
Commit: bce951c572465c6ccd59b73a58c536641abc43eb
https://github.com/llvm/llvm-project/commit/bce951c572465c6ccd59b73a58c536641abc43eb
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization/linalg-ops.mlir
Log Message:
-----------
[mlir][linalg] Update vectorization logic for linalg.unpack (#149156)
This PR makes sure that we don't generate unnecessary `tensor.empty`
when vectorizing `linalg.unpack`.
To better visualize the changes implemented here, consider this IR:
```mlir
func.func @example(
%source: tensor<8x4x16x16xf32>,
%dest: tensor<64x127xf32>) -> tensor<64x127xf32> {
%res = linalg.unpack %source
outer_dims_perm = [1, 0]
inner_dims_pos = [0, 1]
inner_tiles = [16, 16]
into %dest : tensor<8x4x16x16xf32> -> tensor<64x127xf32>
return %res : tensor<64x127xf32>
}
```
Below is the output after vectorization, BEFORE and AFTER this PR.
BEFORE (note `tensor.empty` and the fact that `%arg1` is not used):
```mlir
func.func @example(%arg0: tensor<8x4x16x16xf32>, %arg1: tensor<64x127xf32>) -> tensor<64x127xf32> {
%cst = arith.constant 0.000000e+00 : f32
%c0 = arith.constant 0 : index
%0 = vector.transfer_read %arg0[%c0, %c0, %c0, %c0], %cst {in_bounds = [true, true, true, true]} : tensor<8x4x16x16xf32>, vector<8x4x16x16xf32>
%1 = vector.transpose %0, [1, 2, 0, 3] : vector<8x4x16x16xf32> to vector<4x16x8x16xf32>
%2 = vector.shape_cast %1 : vector<4x16x8x16xf32> to vector<64x128xf32>
%3 = tensor.empty() : tensor<64x127xf32>
%c0_0 = arith.constant 0 : index
%4 = vector.transfer_write %2, %3[%c0_0, %c0_0] {in_bounds = [true, false]} : vector<64x128xf32>, tensor<64x127xf32>
return %4 : tensor<64x127xf32>
}
```
AFTER (note that `%arg1` is correctly used):
```mlir
func.func @example(%arg0: tensor<8x4x16x16xf32>, %arg1: tensor<64x127xf32>) -> tensor<64x127xf32> {
%cst = arith.constant 0.000000e+00 : f32
%c0 = arith.constant 0 : index
%0 = vector.transfer_read %arg0[%c0, %c0, %c0, %c0], %cst {in_bounds = [true, true, true, true]} : tensor<8x4x16x16xf32>, vector<8x4x16x16xf32>
%1 = vector.transpose %0, [1, 2, 0, 3] : vector<8x4x16x16xf32> to vector<4x16x8x16xf32>
%2 = vector.shape_cast %1 : vector<4x16x8x16xf32> to vector<64x128xf32>
%c0_0 = arith.constant 0 : index
%3 = vector.transfer_write %2, %arg1[%c0_0, %c0_0] {in_bounds = [true, false]} : vector<64x128xf32>, tensor<64x127xf32>
return %3 : tensor<64x127xf32>
}
```
Commit: 8b553c495155a024d22871f22f05187fb785c4fc
https://github.com/llvm/llvm-project/commit/8b553c495155a024d22871f22f05187fb785c4fc
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
Log Message:
-----------
Revert "[GVN][NFC] Use early return in phiTranslateImpl() (#149268)" (#149270)
This reverts commit 1d398a96dc6b58d15d289c71e2d9f229a0ba719b.
Commit: e0cce5cdcb8a7829389d910a9204447646e69407
https://github.com/llvm/llvm-project/commit/e0cce5cdcb8a7829389d910a9204447646e69407
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M libc/src/string/memory_utils/CMakeLists.txt
A libc/src/string/memory_utils/arm/common.h
M libc/src/string/memory_utils/arm/inline_memcpy.h
A libc/src/string/memory_utils/arm/inline_memset.h
M libc/src/string/memory_utils/inline_memset.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Improve Cortex `memset` and `memcpy` functions (#149044)
The code for `memcpy` is the same as in #148204 but it fixes the build
bot error by using `static_assert(cpp::always_false<decltype(access)>)`
instead of `static_assert(false)` (older compilers fails on
`static_assert(false)` in `constexpr` `else` bodies).
The code for `memset` is new and vastly improves performance over the
current byte per byte implementation.
Both `memset` and `memcpy` implementations use prefetching for sizes >=
64. This lowers a bit the performance for sizes between 64 and 256 but
improves throughput for greater sizes.
Commit: 742147ba1bb26d7a69d4289b6ad9a07bd019a2ae
https://github.com/llvm/llvm-project/commit/742147ba1bb26d7a69d4289b6ad9a07bd019a2ae
Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/test/Driver/frame-pointer-elim.c
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/Object/RelocationResolver.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/test/tools/llvm-objcopy/ELF/binary-output-target.test
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/unittests/Object/ELFObjectFileTest.cpp
Log Message:
-----------
[llvm-objcopy][libObject] Add RISC-V big-endian support (#146913)
Add support for big-endian RISC-V ELF files:
- Add riscv32be/riscv64be target architectures to Triple
- Support elf32-bigriscv and elf64-bigriscv output targets in
llvm-objcopy
- Update ELFObjectFile to handle BE RISC-V format strings and
architecture detection
- Add BE RISC-V support to RelocationResolver
- Add tests for new functionality
This is a subset of a bigger RISC-V big-endian support patch, containing
only the llvm-objcopy and libObject changes. Other changes will be added
later.
Commit: 3dc5d687b09af5568e9bd80160addb550a46e341
https://github.com/llvm/llvm-project/commit/3dc5d687b09af5568e9bd80160addb550a46e341
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
R libcxx/test/libcxx/minimal_cxx11_configuration.pass.cpp
Log Message:
-----------
[libc++] Remove minimal_cxx11_configuration.pass.cpp (#149119)
This test doesn't seem to be very useful. If it is the only test that
fails we would just remove the failing parts of the test, and otherwise
it doesn't provide any value either, since there will be another test
that fails.
Commit: b291d1a71f39eb14b89b6aeccfc10bcd3c92a1ef
https://github.com/llvm/llvm-project/commit/b291d1a71f39eb14b89b6aeccfc10bcd3c92a1ef
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/TargetInstrInfo.cpp
A llvm/test/CodeGen/AMDGPU/regalloc-undef-copy-fold.mir
Log Message:
-----------
[TII] Do not fold undef copies (#147392)
RegallocBase::cleanupFailedVReg hacks up the state of the liveness in
order to facilitate producing valid IR. During this process, we may end
up producing undef copies.
If the destination of these copies is a spill candidate, we will attempt
to fold the source register when issuing the spill. The undef of the
source is not propagated to storeRegToStackSlot , thus we end up
dropping the undef, issuing a spill, and producing an illegal liveness
state.
This checks for undef copies, and, if found, inserts a kill instead of
spill.
Commit: 4993f5b12ce4c847bb76f9bd23c188a02b27f2d9
https://github.com/llvm/llvm-project/commit/4993f5b12ce4c847bb76f9bd23c188a02b27f2d9
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M libcxx/include/string
Log Message:
-----------
[libc++][NFC] Use variable templates in <string> (#149038)
Variable templates are a bit lighter on the compiler than class
templates.
Commit: 4695aea28e5cc6ba2841562992c83d3e16dda36a
https://github.com/llvm/llvm-project/commit/4695aea28e5cc6ba2841562992c83d3e16dda36a
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
A libcxx/test/extensions/libcxx/localization/lit.local.cfg
A libcxx/test/extensions/libcxx/localization/locale.convenience/conversions/conversions.string/ctor_move.pass.cpp
R libcxx/test/libcxx/localization/locales/locale.convenience/conversions/conversions.string/ctor_move.pass.cpp
R libcxx/test/libcxx/memory/shared_ptr_array.pass.cpp
R libcxx/test/libcxx/numerics/c.math/fdelayed-template-parsing.pass.cpp
R libcxx/test/libcxx/numerics/rand/rand.req.urng/valid_int_type.verify.cpp
R libcxx/test/libcxx/numerics/rand/rand.req.urng/valid_real_type.verify.cpp
A libcxx/test/std/numerics/c.math/fdelayed-template-parsing.pass.cpp
A libcxx/test/std/numerics/rand/rand.req/rand.req.urng/valid_int_type.verify.cpp
A libcxx/test/std/numerics/rand/rand.req/rand.req.urng/valid_real_type.verify.cpp
A libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/shared_ptr_array.pass.cpp
Log Message:
-----------
[libc++] Move more tests into better places (#148419)
Commit: d87170211dc780341e42f7719c7332416f9cc290
https://github.com/llvm/llvm-project/commit/d87170211dc780341e42f7719c7332416f9cc290
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M lldb/test/API/commands/frame/var-dil/basics/ArraySubscript/TestFrameVarDILArraySubscript.py
M lldb/test/API/functionalities/data-formatter/data-formatter-disabling/TestDataFormatterDisabling.py
M lldb/test/API/lang/cpp/template/TestTemplateArgs.py
Log Message:
-----------
[lldb][test] Remove XFAIL from some Windows tests
These are now passing on Windows x86_64 and Arm64.
Commit: e66eabee0022af60347e83ef2c0d4b6dbfb7f0a5
https://github.com/llvm/llvm-project/commit/e66eabee0022af60347e83ef2c0d4b6dbfb7f0a5
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[llvm][cmake] Add clang if not already present when building lldb (#149055)
Fixes https://github.com/llvm/llvm-project/issues/54555
This follows flang's pattern, it adds clang if you don't have it in
LLVM_ENABLE_PROJECTS.
Commit: a78a0f8d204393a0cce367b63395bad90311c1b8
https://github.com/llvm/llvm-project/commit/a78a0f8d204393a0cce367b63395bad90311c1b8
Author: Trevor Gross <tgross at intrepidcs.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/X86/X86CallingConv.cpp
M llvm/lib/Target/X86/X86CallingConv.td
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/test/CodeGen/X86/abds-neg.ll
M llvm/test/CodeGen/X86/abds.ll
M llvm/test/CodeGen/X86/abdu-neg.ll
M llvm/test/CodeGen/X86/abdu.ll
M llvm/test/CodeGen/X86/abs.ll
M llvm/test/CodeGen/X86/add-sub-bool.ll
M llvm/test/CodeGen/X86/arg-copy-elide.ll
M llvm/test/CodeGen/X86/avx512fp16-cvt.ll
M llvm/test/CodeGen/X86/bitselect.ll
M llvm/test/CodeGen/X86/bsf.ll
M llvm/test/CodeGen/X86/bsr.ll
M llvm/test/CodeGen/X86/bswap-wide-int.ll
M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
M llvm/test/CodeGen/X86/div-rem-pair-recomposition-unsigned.ll
M llvm/test/CodeGen/X86/fp128-cast-strict.ll
M llvm/test/CodeGen/X86/fp128-cast.ll
M llvm/test/CodeGen/X86/fp128-libcalls-strict.ll
M llvm/test/CodeGen/X86/fp128-libcalls.ll
M llvm/test/CodeGen/X86/fshl.ll
M llvm/test/CodeGen/X86/fshr.ll
M llvm/test/CodeGen/X86/funnel-shift.ll
M llvm/test/CodeGen/X86/i128-add.ll
M llvm/test/CodeGen/X86/i128-fp128-abi.ll
M llvm/test/CodeGen/X86/i128-sdiv.ll
M llvm/test/CodeGen/X86/i128-udiv.ll
M llvm/test/CodeGen/X86/iabs.ll
M llvm/test/CodeGen/X86/icmp-shift-opt.ll
M llvm/test/CodeGen/X86/mul128.ll
M llvm/test/CodeGen/X86/neg-abs.ll
M llvm/test/CodeGen/X86/popcnt.ll
M llvm/test/CodeGen/X86/pr46004.ll
M llvm/test/CodeGen/X86/scalar-fp-to-i32.ll
M llvm/test/CodeGen/X86/scalar-fp-to-i64.ll
M llvm/test/CodeGen/X86/scmp.ll
M llvm/test/CodeGen/X86/sdiv_fix.ll
M llvm/test/CodeGen/X86/sdiv_fix_sat.ll
M llvm/test/CodeGen/X86/shift-combine.ll
M llvm/test/CodeGen/X86/shift-i128.ll
M llvm/test/CodeGen/X86/smax.ll
M llvm/test/CodeGen/X86/smin.ll
M llvm/test/CodeGen/X86/ucmp.ll
M llvm/test/CodeGen/X86/udiv_fix.ll
M llvm/test/CodeGen/X86/udiv_fix_sat.ll
M llvm/test/CodeGen/X86/umax.ll
M llvm/test/CodeGen/X86/umin.ll
M llvm/test/CodeGen/X86/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/X86/wide-integer-cmp.ll
Log Message:
-----------
[X86] Align f128 and i128 to 16 bytes when passing on x86-32 (#138092)
The i386 psABI specifies that `__float128` has 16 byte alignment and
must be passed on the stack; however, LLVM currently stores it in a
stack slot that has an offset of 4. Add a custom lowering to correct
this alignment to 16-byte.
i386 does not specify an `__int128`, but it seems reasonable to keep the
same behavior as `__float128` so this is changed as well. There also
isn't a good way to distinguish whether a set of four registers came
from an integer or a float.
The main test demonstrating this change is `store_perturbed` in
`llvm/test/CodeGen/X86/i128-fp128-abi.ll`.
Referenced ABI:
https://gitlab.com/x86-psABIs/i386-ABI/-/wikis/uploads/14c05f1b1e156e0e46b61bfa7c1df1e2/intel386-psABI-2020-08-07.pdf
Fixes: https://github.com/llvm/llvm-project/issues/77401
Commit: 28e1e7e1b4b059a2e42f68061475cddb4ad0a6a3
https://github.com/llvm/llvm-project/commit/28e1e7e1b4b059a2e42f68061475cddb4ad0a6a3
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/include/clang/Sema/Overload.h
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
Log Message:
-----------
Revert "[Clang] Do not treat Foo -> const Foo conversion sequences as perfect" (#149272)
Reverts llvm/llvm-project#148613
Considering object argument conversion qualifications perfect leads to
situations where we prefer a non-template const qualified function over
a non-qualified template function, which is very wrong indeed.
I explored solutions to work around that, but instead, we might want to
go the GCC road and prefer the friend overload in the #147374 example,
as this seems a lot more consistent and reliable
Commit: 2cdcc4f2c6a0d36a5b534e16d5892ff8b03f3c88
https://github.com/llvm/llvm-project/commit/2cdcc4f2c6a0d36a5b534e16d5892ff8b03f3c88
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Allow cloning of VPWidenRecipe without underlying instr (NFC).
Update VPWidenRecipe::clone() to use the constructor w/o mandatory
Instruction, to facilitate cloning VPWidenRecipe without underlying
instructions.
Split off from https://github.com/llvm/llvm-project/pull/148239.
Commit: 4797a6c4e8244ab06829b2e462b1329e94286dbf
https://github.com/llvm/llvm-project/commit/4797a6c4e8244ab06829b2e462b1329e94286dbf
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M lldb/test/Shell/Settings/TestChildCountTruncation.test
Log Message:
-----------
[lldb][test] TestChildCountTruncation.test: add missing command
Commit: efa5063ba7a7151056439b70901219311c531cec
https://github.com/llvm/llvm-project/commit/efa5063ba7a7151056439b70901219311c531cec
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/lasx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
Log Message:
-----------
[LoongArch] Optimize inserting element to high part of 256bits vector (#146816)
Commit: f04650bb799ce867f629a7d564e03057e8d9b4b0
https://github.com/llvm/llvm-project/commit/f04650bb799ce867f629a7d564e03057e8d9b4b0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
A llvm/test/CodeGen/LoongArch/llvm.exp10.ll
Log Message:
-----------
LoongArch: Add test for llvm.exp10 intrinsic (#148606)
Commit: b1fca543f7c34012697afd99c3dfe1306aa2acab
https://github.com/llvm/llvm-project/commit/b1fca543f7c34012697afd99c3dfe1306aa2acab
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/test/CodeGen/AArch64/sve-pseudos-expand-undef.mir
Log Message:
-----------
[LLVM][AArch64ExpandPseudo] Preserve undef flags when expanding SVE 1/2/3-op pseudo instructions. (#149104)
Fixes https://github.com/llvm/llvm-project/issues/149034
Commit: b7c14b6ded300b9190fe0b65881d04c54b2a9fbd
https://github.com/llvm/llvm-project/commit/b7c14b6ded300b9190fe0b65881d04c54b2a9fbd
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/docs/HowToUpdateDebugInfo.rst
A llvm/test/tools/llvm-original-di-preservation/acceptance-test.test
M llvm/test/tools/llvm-original-di-preservation/basic.test
M llvm/utils/llvm-original-di-preservation.py
Log Message:
-----------
[Debugify] Add 'acceptance-test' mode for the debugify report script (#147574)
For the purposes of setting up CI that makes use of debugify, this patch
adds an alternative mode for the llvm-original-di-preservation.py
script, which produces terminal-friendly(-ish) YAML output instead of an
HTML report, and sets the return code to 1 if the input file contains
errors, or 0 if the input file contains no errors or does not exist,
making it simple to use it in CI.
This introduces a small change in existing usage, in that the path for
the HTML report file is now passed with `--report-file <path>` rather
than as a positional argument; I could make the argparse logic work
without this change, but I believe that is simpler to understand this
way, and to my knowledge debugify isn't currently being used in
automated environments where changing this might cause issues. As a
small change while passing by, I also changed `-compress` to
`--compress`, for consistency.
As a note for reviewers, the reason that we treat a non-existent input
file as a pass is that this is actually the expected state: we use clang
to compile numerous files, passing a filepath for debugify errors. Any
errors found by debugify will be written to this file; if none are
found, the file is untouched. This is also mentioned in a code comment,
but I think it useful to state upfront.
Finally, the justification for adding a new mode to this script instead
of adding a separate script for the separate functionality is that this
script understands debugify's output, and performs some deduplication
that is useful for clarifying the resulting output. Writing a new script
would require duplicating logic unnecessarily, and risks the scripts
falling out-of-sync if changes are made to debugify's output.
Commit: e74082703e224740e6281fb04f9a177c42c6467f
https://github.com/llvm/llvm-project/commit/e74082703e224740e6281fb04f9a177c42c6467f
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchFloat32InstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/bitcast-extract-element.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insert-bitcast-element.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/bitcast-extract-element.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insert-bitcast-element.ll
Log Message:
-----------
[LoongArch] Optimize inserting bitcasted integer element or bitcasting extracted fp element (#147043)
Commit: fe1941967267e472f7eee15b43712bdfa2b63544
https://github.com/llvm/llvm-project/commit/fe1941967267e472f7eee15b43712bdfa2b63544
Author: Jie Fu <jiefu at tencent.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/X86/X86CallingConv.cpp
Log Message:
-----------
[X86] Fix an unused-variable warnig (NFC)
/llvm-project/llvm/lib/Target/X86/X86CallingConv.cpp:392:12:
error: unused variable 'NumRegs' [-Werror,-Wunused-variable]
unsigned NumRegs = PendingMembers.size();
^
1 error generated.
Commit: fcabb53f0c349885167ea3d0e53915e6c42271a7
https://github.com/llvm/llvm-project/commit/fcabb53f0c349885167ea3d0e53915e6c42271a7
Author: Abinaya Saravanan <quic_asaravan at quicinc.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
A llvm/test/CodeGen/Hexagon/mpy-operand-hoist.ll
Log Message:
-----------
[HEXAGON] Add AssertSext in sign-extended mpy (#149061)
The pattern i32xi32->i64, should be matched to the sign-extended
multiply op, instead of explicit sign- extension of the operands
followed by non-widening multiply (this takes 4 operations instead of
one). Currently, if one of the operands of multiply inside a loop is a
constant, the sign-extension of this constant is hoisted out of the loop
by LICM pass and this pattern is not matched by the ISEL.
This change handles multiply operand with Opcode of the type AssertSext
which is seen when the sign-extension is hoisted out-of the loop.
Modifies the DetectUseSxtw() to check for this.
Commit: 60ae9c9c632dec978e71d1d3ab3c3d18eca16c77
https://github.com/llvm/llvm-project/commit/60ae9c9c632dec978e71d1d3ab3c3d18eca16c77
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/matched-nodes-updated.ll
Log Message:
-----------
[SLP]Do not consider non-profitable loads slices
If all slices are small and end up with strided or even vectorization
states, better to not consider these candidates for the vectorization
and try to vectorize the whole bunch as gathered loads.
Reviewers: hiraditya, RKSimon, HanKuanChen
Reviewed By: RKSimon, HanKuanChen
Pull Request: https://github.com/llvm/llvm-project/pull/149209
Commit: 2b3a410f5bc8358a9e8594331d70c9c5d59633d8
https://github.com/llvm/llvm-project/commit/2b3a410f5bc8358a9e8594331d70c9c5d59633d8
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/test/Analysis/DependenceAnalysis/DifferentOffsets.ll
M llvm/test/Analysis/DependenceAnalysis/MIVCheckConst.ll
Log Message:
-----------
[DA] Check element size when analyzing deps between same instruction (#148813)
DependenceAnalysis checks whether the given addresses are divisible by
the element size of corresponding load/store instructions. However, this
check was only executed when the two instructions (Src and Dst) are
different. We must also perform the same check when Src and Dst are the
same instruction.
Fix the test added in #147715.
Commit: 145b6cdffaf6711a5b7ad191444ab3e5d97b8992
https://github.com/llvm/llvm-project/commit/145b6cdffaf6711a5b7ad191444ab3e5d97b8992
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/docs/Security.rst
Log Message:
-----------
Improve description of what is considered a security issue (#147035)
This patch improves the description of what the LLVM project considers a
security issue, and what not.
This patch is based on the RFC discussion in
https://discourse.llvm.org/t/improving-documentation-of-what-is-considered-a-security-issue-in-llvm/86714
Commit: a6b5ece75e8289e93ed8233eae186c74c58e4355
https://github.com/llvm/llvm-project/commit/a6b5ece75e8289e93ed8233eae186c74c58e4355
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/bf16-math.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.bf16.ll
A llvm/test/CodeGen/AMDGPU/llvm.exp2.bf16.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_exp_bf16` on gfx1250 (#149229)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: a102342990231f8558361da68e5df92c7b1c737d
https://github.com/llvm/llvm-project/commit/a102342990231f8558361da68e5df92c7b1c737d
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sin.bf16.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_sin_bf16` on gfx1250 (#149241)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: 359dca0dad72d11e41e08136bc6c6cca3f22f038
https://github.com/llvm/llvm-project/commit/359dca0dad72d11e41e08136bc6c6cca3f22f038
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] Move class WaitcntBrackets after class SIInsertWaitcnts. NFC.
This is a prerequisite for "[AMDGPU] Move common fields out of WaitcntBrackets. NFC. (#148864)"
Commit: 935fd986474fa2b6fe9e424ffd5d8cbc875151be
https://github.com/llvm/llvm-project/commit/935fd986474fa2b6fe9e424ffd5d8cbc875151be
Author: George Burgess IV <george.burgess.iv at gmail.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/docs/GettingInvolved.rst
Log Message:
-----------
[Docs] remove beginner office hours from GettingInvolved (#149160)
These were turned down at the beginning of this year; thanks to the
folks on
https://discourse.llvm.org/t/is-the-beginner-office-hours-still-running/87398/2
for flagging this!
---
N.B., I tried testing via `ninja doxygen-llvm`, but that didn't
terminate on my machine within 30mins (either with or without this
patch). I assume it's some local config bug on my end, but it happened
on `main` and `main~1000`, so I'm not sure how to test.
Since the change is pretty trivial, still comfortable uploading for
review.
Commit: 4166df2073b6b3e5c7ab0c25d9bc73980b50ea31
https://github.com/llvm/llvm-project/commit/4166df2073b6b3e5c7ab0c25d9bc73980b50ea31
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-sdnode.ll
Log Message:
-----------
[RISCV][test] Add tests for vector subtraction if above threshold
Commit: fc5c5a934d2560559221bcb334b14ef4aa96a2dd
https://github.com/llvm/llvm-project/commit/fc5c5a934d2560559221bcb334b14ef4aa96a2dd
Author: jyli0116 <yu.li at arm.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/rem-by-const.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i32.ll
Log Message:
-----------
[GlobalISel] Allow expansion of srem by constant in prelegalizer (#148845)
This patch allows srem by a constant to be expanded more efficiently to
avoid the need for expensive sdiv instructions. This is the last part of
the patches which fixes #118090
Commit: 66da9f38f374e786b2f1c0ecdab0b651c94c4f27
https://github.com/llvm/llvm-project/commit/66da9f38f374e786b2f1c0ecdab0b651c94c4f27
Author: Marco Elver <elver at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/pcsections-atomics.ll
Log Message:
-----------
[SelectionDAG] Fix copyExtraInfo where new node has entry as operand (#149307)
Add special case handling where a new replacement node has the entry
node as an operand i.e. does not depend on any other nodes.
This can be observed with the existing X86/pcsections-atomics.ll test
case when targeting Haswell, where certain 128-bit atomics are
transformed into arch-specific instructions, with some operands having
no other dependencies.
Commit: 0f71424280af9e3293ed481399b2b53ca708cd15
https://github.com/llvm/llvm-project/commit/0f71424280af9e3293ed481399b2b53ca708cd15
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/xqcisls.ll
M llvm/test/CodeGen/RISCV/xtheadmemidx.ll
Log Message:
-----------
[RISCV] Teach SelectAddrRegRegScale that ADD is commutable. (#149231)
Commit: ab25de7dec2af661b66b23b9794291f2fd81b6bc
https://github.com/llvm/llvm-project/commit/ab25de7dec2af661b66b23b9794291f2fd81b6bc
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] Move common fields out of WaitcntBrackets. NFC. (#148864)
WaitcntBrackets holds per-basic-block information about the state of
wait counters. It also held a bunch of fields that are constant
throughout a run of the pass. This patch moves them out into the
SIInsertWaitcnts class, for better logical separation and to save a tiny
bit of memory.
Commit: 96a7e954e1501239d1fc4bd6eba60428bd6609f7
https://github.com/llvm/llvm-project/commit/96a7e954e1501239d1fc4bd6eba60428bd6609f7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/lib/Sema/SemaTemplateDeduction.cpp
Log Message:
-----------
[Sema] Remove unnecessary casts (NFC) (#149253)
getParam already returns NamedDecl *.
Commit: 7fa48ce547ef9e0516564eca9c375109e83f2f71
https://github.com/llvm/llvm-project/commit/7fa48ce547ef9e0516564eca9c375109e83f2f71
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
Log Message:
-----------
[AMDGPU] Remove an unnecessary cast (NFC) (#149254)
getTargetLowering() already returns const SITargetLowering *.
Commit: 96bde11e307e53a1263ab6088f172716db7cb0d8
https://github.com/llvm/llvm-project/commit/96bde11e307e53a1263ab6088f172716db7cb0d8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/include/llvm/TargetParser/Host.h
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
[TargetParser] Remove const from a return type (NFC) (#149255)
getHostCPUFeatures constructs and returns a temporary instance of
StringMap<bool>. We don't need const on the return type.
Commit: 73e8ada540acbd60f916ef4b0a5a2b454c8ece44
https://github.com/llvm/llvm-project/commit/73e8ada540acbd60f916ef4b0a5a2b454c8ece44
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/lib/Sema/AnalysisBasedWarnings.cpp
Log Message:
-----------
[Sema] Use llvm::all_of (NFC) (#149256)
We can pass a range to llvm::all_of.
Commit: 577585198637fc2ced2a4fdf20f91c58fb74c717
https://github.com/llvm/llvm-project/commit/577585198637fc2ced2a4fdf20f91c58fb74c717
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/MC/MCContext.cpp
Log Message:
-----------
[llvm] Use *Map::try_emplace (NFC) (#149257)
- try_emplace(Key) is shorter than insert({Key, nullptr}).
- try_emplace performs value initialization without value parameters.
- We overwrite values on successful insertion anyway.
While we are at it, this patch simplifies the code with structured
binding.
Commit: 756e07734b4f2aa64bd1bd5b6a29389c4c642323
https://github.com/llvm/llvm-project/commit/756e07734b4f2aa64bd1bd5b6a29389c4c642323
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M lldb/test/API/python_api/type/main.cpp
Log Message:
-----------
[lldb][test] Adjust TestTypeList.py on Windows with exceptions
Since https://github.com/llvm/llvm-project/pull/148691 enabled
exceptions when compiling the tests, this test has been failing.
Much like was noted there, one of the variables disappeared
from the debug info. Giving it a non-zero size and initialising
it fixed that.
Commit: 9de32d56e4fdf08d88aca74149f5f815eb6505ec
https://github.com/llvm/llvm-project/commit/9de32d56e4fdf08d88aca74149f5f815eb6505ec
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tools-extra] Bump ReleaseNotes to 22.0.0git (#149306)
Move over change post 21.x branch cut.
Commit: 95639b75487895f7ef45c1468d4639f1544a1851
https://github.com/llvm/llvm-project/commit/95639b75487895f7ef45c1468d4639f1544a1851
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Drop CLEAR_CACHE Support in monolithic-* scripts
This patch drops support for clearing the cache with the CLEAR_CACHE
environment variable. This is an artifact of the old infrastructure as
we now do not persist the cache across builds, instead redownloading the
cache directory everytime. This makes the scripts slightly simpler as we
are no longer supporting unneeded functionality.
Reviewers: Endilll, cmtice, dschuff, Keenuts, lnihlen, gburgessiv
Reviewed By: Keenuts, cmtice
Pull Request: https://github.com/llvm/llvm-project/pull/149193
Commit: ba5f31cfaa2452a4a94a482b53d899d6f2ee0e66
https://github.com/llvm/llvm-project/commit/ba5f31cfaa2452a4a94a482b53d899d6f2ee0e66
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M lldb/test/Shell/Settings/TestChildCountTruncation.test
Log Message:
-----------
[lldb][test] Disable TestChildCountTruncation on Windows
This fails because it tells clang to use DWARF which link.exe
then discards.
The test may not need DWARF, but I'm going to confirm that in
a follow up PR review.
Test added by https://github.com/llvm/llvm-project/pull/149088.
Commit: 9fa3971fac27fbe0a6e3b9745d201c16f5f98bc2
https://github.com/llvm/llvm-project/commit/9fa3971fac27fbe0a6e3b9745d201c16f5f98bc2
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-sdnode.ll
Log Message:
-----------
[DAGCombiner] Fold vector subtraction if above threshold to `umin` (#148834)
This extends #134235 and #135194 to vectors.
Commit: 8f18dde6c0b38a67ad0f06aab79cdadb78b35d33
https://github.com/llvm/llvm-project/commit/8f18dde6c0b38a67ad0f06aab79cdadb78b35d33
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
Log Message:
-----------
[RISCV][IA] Rearrange code for readability and ease of merge [nfc]
Commit: 46357438baefbdcf630abc5d74565afcbf1c48dd
https://github.com/llvm/llvm-project/commit/46357438baefbdcf630abc5d74565afcbf1c48dd
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
Log Message:
-----------
[SCEV] Try to re-use existing LCSSA phis when expanding SCEVAddRecExpr. (#147214)
If an AddRec is expanded outside a loop with a single exit block, check
if any of the (lcssa) phi nodes in the exit block match the AddRec. If
that's the case, simply use the existing lcssa phi.
This can reduce the number of instruction created for SCEV expansions,
mainly for runtime checks generated by the loop vectorizer.
Compile-time impact should be mostly neutral
https://llvm-compile-time-tracker.com/compare.php?from=48c7a3187f9831304a38df9bdb3b4d5bf6b6b1a2&to=cf9d039a7b0db5d0d912e0e2c01b19c2a653273a&stat=instructions:u
PR: https://github.com/llvm/llvm-project/pull/147214
Commit: 7817163663b3bb662a46a73cf1903ec900ba6146
https://github.com/llvm/llvm-project/commit/7817163663b3bb662a46a73cf1903ec900ba6146
Author: Jeremy Kun <jkun at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
M mlir/unittests/Analysis/Presburger/IntegerRelationTest.cpp
Log Message:
-----------
[mlir] [presburger] Add IntegerRelation::rangeProduct (#148092)
This is intended to match `isl::map`'s `flat_range_product`.
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: 4bf82aebc0da985cf6b2e70812714875e8fa78fa
https://github.com/llvm/llvm-project/commit/4bf82aebc0da985cf6b2e70812714875e8fa78fa
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M lldb/test/Shell/Settings/TestChildCountTruncation.test
Log Message:
-----------
[lldb][test] Fix TestChildCountTruncation on Windows (#149322)
By not forcing the DWARF debug info format. When left as the default,
the tests pass.
Test added by https://github.com/llvm/llvm-project/pull/149088.
Commit: 149aa7679457e4c434374076fa3ad6d02efbe414
https://github.com/llvm/llvm-project/commit/149aa7679457e4c434374076fa3ad6d02efbe414
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang-tools-extra/README.txt
Log Message:
-----------
[clang-tools-extra][NFC] Fix link to code review in README.txt (#148384)
Commit: 84d65e9d19ab577027238d38d053e293ba656e32
https://github.com/llvm/llvm-project/commit/84d65e9d19ab577027238d38d053e293ba656e32
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/test/CIR/CodeGen/complex-builtins.cpp
Log Message:
-----------
[CIR] Upstream builtin_conj for ComplexType (#149170)
This change adds support for builtin_conj for ComplexType
https://github.com/llvm/llvm-project/issues/141365
Commit: a7f595efd840f7ed2210f2703048fad4d0027fac
https://github.com/llvm/llvm-project/commit/a7f595efd840f7ed2210f2703048fad4d0027fac
Author: nvptm <pmathew at nvidia.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-host-data-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-host-data.f90
A flang/test/Lower/OpenACC/acc-use-device.f90
Log Message:
-----------
[flang][acc] Create UseDeviceOp for both results of hlfir.declare (#148017)
A sample such as
```
program test
integer :: N = 100
real*8 :: b(-1:N)
!$acc data copy(b)
!$acc host_data use_device(b)
call vadd(b)
!$acc end host_data
!$acc end data
end
```
is lowered to
```
%13:2 = hlfir.declare %11(%12) {uniq_name = "_QFEb"} : (!fir.ref<!fir.array<?xf64>>, !fir.shapeshift<1>) -> (!fir.box<!fir.array<?xf64>>, !fir.ref<!fir.array<?xf64>>)
%14 = acc.copyin var(%13#0 : !fir.box<!fir.array<?xf64>>) -> !fir.box<!fir.array<?xf64>> {dataClause = #acc<data_clause acc_copy>, name = "b"}
acc.data dataOperands(%14 : !fir.box<!fir.array<?xf64>>) {
%15 = acc.use_device var(%13#0 : !fir.box<!fir.array<?xf64>>) -> !fir.box<!fir.array<?xf64>> {name = "b"}
acc.host_data dataOperands(%15 : !fir.box<!fir.array<?xf64>>) {
fir.call @_QPvadd(%13#1) fastmath<contract> : (!fir.ref<!fir.array<?xf64>>) -> ()
acc.terminator
}
acc.terminator
}
acc.copyout accVar(%14 : !fir.box<!fir.array<?xf64>>) to var(%13#0 : !fir.box<!fir.array<?xf64>>) {dataClause = #acc<data_clause acc_copy>, name = "b"}
```
Note that while the use_device clause is applied to %13#0, the argument
passed to vadd is %13#1. To avoid problems later in lowering, this
change additionally applies the use_device clause to %13#1, so that the
resulting MLIR is
```
%13:2 = hlfir.declare %11(%12) {uniq_name = "_QFEb"} : (!fir.ref<!fir.array<?xf64>>, !fir.shapeshift<1>) -> (!fir.box<!fir.array<?xf64>>, !fir.ref<!fir.array<?xf64>>)
%14 = acc.copyin var(%13#0 : !fir.box<!fir.array<?xf64>>) -> !fir.box<!fir.array<?xf64>> {dataClause = #acc<data_clause acc_copy>, name = "b"}
acc.data dataOperands(%14 : !fir.box<!fir.array<?xf64>>) {
%15 = acc.use_device var(%13#0 : !fir.box<!fir.array<?xf64>>) -> !fir.box<!fir.array<?xf64>> {name = "b"}
%16 = acc.use_device varPtr(%13#1 : !fir.ref<!fir.array<?xf64>>) -> !fir.ref<!fir.array<?xf64>> {name = "b"}
acc.host_data dataOperands(%15, %16 : !fir.box<!fir.array<?xf64>>, !fir.ref<!fir.array<?xf64>>) {
fir.call @_QPvadd(%13#1) fastmath<contract> : (!fir.ref<!fir.array<?xf64>>) -> ()
acc.terminator
}
acc.terminator
}
acc.copyout accVar(%14 : !fir.box<!fir.array<?xf64>>) to var(%13#0 : !fir.box<!fir.array<?xf64>>) {dataClause = #acc<data_clause acc_copy>, name = "b"}
```
Commit: 7caf12da0bb09d6b6992bf42afd256d453753dcb
https://github.com/llvm/llvm-project/commit/7caf12da0bb09d6b6992bf42afd256d453753dcb
Author: Jeremy Kun <jkun at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M mlir/include/mlir/IR/PatternMatch.h
M mlir/lib/IR/CMakeLists.txt
A mlir/lib/IR/PatternLoggingListener.cpp
M mlir/lib/Rewrite/PatternApplicator.cpp
A mlir/test/IR/test-pattern-logging-listener.mlir
M mlir/test/lit.cfg.py
Log Message:
-----------
[mlir][core] Add an MLIR "pattern catalog" generator (#146228)
This PR adds a feature that attaches a listener to all RewritePatterns that
logs information about the modified operations.
When the MLIR test suite is run, these debug outputs can
be filtered and combined into an index linking operations to the
patterns that insert, modify, or replace them. This index is intended to
be used to create a website that allows one to look up patterns from an
operation name.
The debug logs emitted can be viewed with --debug-only=generate-pattern-catalog,
and the lit config is modified to do this when the env var MLIR_GENERATE_PATTERN_CATALOG is set.
Example usage:
```
mkdir build && cd build
cmake -G Ninja ../llvm \
-DLLVM_ENABLE_PROJECTS="mlir" \
-DLLVM_TARGETS_TO_BUILD="host" \
-DCMAKE_BUILD_TYPE=DEBUG
ninja -j 24 check-mlir
MLIR_GENERATE_PATTERN_CATALOG=1 bin/llvm-lit -j 24 -v -a tools/mlir/test | grep 'pattern-logging-listener' | sed 's/^# | [pattern-logging-listener] //g' | sort | uniq > pattern_catalog.txt
```
Sample pattern catalog output (that fits in a gist):
https://gist.github.com/j2kun/02d1ab8d31c10d71027724984c89905a
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: d97c224e8cbba9158ebda6f12f9a06b09534ae29
https://github.com/llvm/llvm-project/commit/d97c224e8cbba9158ebda6f12f9a06b09534ae29
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M libc/test/src/math/cospif_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinpif_test.cpp
Log Message:
-----------
[libc][NFC]: Correct some comments about SDCOMP-26094. (#149317)
Commit: 011d38bdac95647a872a5faa339465e26535df35
https://github.com/llvm/llvm-project/commit/011d38bdac95647a872a5faa339465e26535df35
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/test/Driver/openacc.c
M clang/test/Preprocessor/openacc.c
Log Message:
-----------
[OpenACC] Update OpenACC macro, remove override macro
As we are now Sema-complete for OpenACC 3.4 (and thus have a conforming
implementation, in all modes), we can now set the _OPENACC macro
correctly.
Additionally, we remove the temporary 'override' functionality, which
was intended to allow people to experiment with this. We aren't having a
deprecation period as OpenACC support is still considered experimental.
Commit: a6fb3b3c18fd48a2eaaa8c969edbc013b9276a09
https://github.com/llvm/llvm-project/commit/a6fb3b3c18fd48a2eaaa8c969edbc013b9276a09
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
M lldb/source/Plugins/Process/minidump/MinidumpParser.h
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
A lldb/test/Shell/Minidump/missing-memory-region.yaml
M lldb/unittests/Process/minidump/MinidumpParserTest.cpp
Log Message:
-----------
[LLDB] Process minidump better error messages (#149206)
Prior, Process Minidump would return
```
Status::FromErrorString("could not parse memory info");
```
For any unsuccessful memory read, with no differentiation between an
error in LLDB and the data simply not being present. This lead to a lot
of user confusion and overall pretty terrible user experience. To fix
this I've refactored the APIs so we can pass an error back in an llvm
expected.
There were also no shell tests for memory read and process Minidump so I
added one.
Commit: e8a891b0f9d2a742ac3904116aaec2c7c9231b24
https://github.com/llvm/llvm-project/commit/e8a891b0f9d2a742ac3904116aaec2c7c9231b24
Author: Jonathan Cohen <joncoh at apple.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
A llvm/test/CodeGen/AArch64/aarch64-combine-gather-lanes.mir
M llvm/test/CodeGen/AArch64/complex-deinterleaving-uniform-cases.ll
M llvm/test/CodeGen/AArch64/concat-vector.ll
M llvm/test/CodeGen/AArch64/fp-maximumnum-minimumnum.ll
M llvm/test/CodeGen/AArch64/fsh.ll
M llvm/test/CodeGen/AArch64/llvm.frexp.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/nontemporal.ll
Log Message:
-----------
[AArch64][Machine-Combiner] Split gather patterns into neon regs to multiple vectors (#142941)
This changes optimizes gather-like sequences, where we load values
separately into lanes of a neon vector. Since each load has serial
dependency, when performing multiple i32 loads into a 128 bit vector for example, it
is more profitable to load into separate vector registers and zip them.
rdar://151851094
Commit: 661cbd5a5254de22ba87a49e89f54b30e2874fb3
https://github.com/llvm/llvm-project/commit/661cbd5a5254de22ba87a49e89f54b30e2874fb3
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/test/TableGen/directive1.td
M llvm/test/TableGen/directive2.td
M llvm/unittests/Frontend/OpenMPDirectiveNameParserTest.cpp
M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
Log Message:
-----------
[utils][TableGen] Make some non-bitmask enums iterable (#148647)
Additionally, add sentinel values <Enum>::First_ and <Enum>::Last_ to
each one of those enums.
This will allow using `enum_seq_inclusive` to generate the list of
enum-typed values of any generated scoped (non-bitmask) enum.
Commit: 0dae924c1f668f74370b642ba91f818b728aca40
https://github.com/llvm/llvm-project/commit/0dae924c1f668f74370b642ba91f818b728aca40
Author: delaram-talaashrafi <dtalaashrafi at nvidia.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-routine.f90
M flang/test/Lower/OpenACC/acc-routine03.f90
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/unittests/Dialect/OpenACC/OpenACCOpsTest.cpp
Log Message:
-----------
[openacc][flang] Support two type bindName representation in acc routine (#149147)
Based on the OpenACC specification — which states that if the bind name
is given as an identifier it should be resolved according to the
compiled language, and if given as a string it should be used unmodified
— we introduce two distinct `bindName` representations for `acc routine`
to handle each case appropriately: one as an array of `SymbolRefAttr`
for identifiers and another as an array of `StringAttr` for strings.
To ensure correct correspondence between bind names and devices, this
patch also introduces two separate sets of device attributes. The
routine operation is extended accordingly, along with the necessary
updates to the OpenACC dialect and its lowering.
Commit: b3a8d0efc907aae8198ff16e5bfb8dc48f08b6ca
https://github.com/llvm/llvm-project/commit/b3a8d0efc907aae8198ff16e5bfb8dc48f08b6ca
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
Log Message:
-----------
[RISCV] Add additional coverage for one hot interleave load cases [nfc]
Add coverage for fixed vector vp.load, and the deinterleave intrinsic paths.
Commit: e4a3541ff88af03c01007a94b6b5f5cea95ecf33
https://github.com/llvm/llvm-project/commit/e4a3541ff88af03c01007a94b6b5f5cea95ecf33
Author: Akshay Khadse <akshayskhadse at gmail.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
M mlir/python/mlir/_mlir_libs/_mlir/passmanager.pyi
M mlir/test/python/ir/operation.py
M mlir/test/python/pass_manager.py
Log Message:
-----------
[MLIR][Python] Support eliding large resource strings in PassManager (#149187)
- Introduces a `large_resource_limit` parameter across Python bindings,
enabling the eliding of resource strings exceeding a specified character
limit during IR printing.
- To maintain backward compatibilty, when using `operation.print()` API,
if `large_resource_limit` is None and the `large_elements_limit` is set,
the later will be used to elide the resource string as well. This change
was introduced by https://github.com/llvm/llvm-project/pull/125738.
- For printing using pass manager, the `large_resource_limit` and
`large_elements_limit` are completely independent of each other.
Commit: d35931c49e5b37243ace2b79bec87463772b6c94
https://github.com/llvm/llvm-project/commit/d35931c49e5b37243ace2b79bec87463772b6c94
Author: T0b1-iOS <T0b1-iOS at users.noreply.github.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/lib/CodeGen/Targets/X86.cpp
A clang/test/CodeGen/X86/i128-debuginfo.c
M clang/test/CodeGen/X86/x86_64-arguments.c
M clang/test/CodeGen/alloc-align-attr.c
M clang/test/CodeGen/builtins.c
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGen/extend-arg-64.c
Log Message:
-----------
[Clang][CodeGen][X86] don't coerce int128 into `{i64,i64}` for SysV-like ABIs (#135230)
Currently, clang coerces (u)int128_t to two i64 IR parameters when they
are passed in registers. This leads to broken debug info for them after
applying SROA+InstCombine. SROA generates IR like this
([godbolt](https://godbolt.org/z/YrTa4chfc)):
```llvm
define dso_local { i64, i64 } @add(i64 noundef %a.coerce0, i64 noundef %a.coerce1) {
entry:
%a.sroa.2.0.insert.ext = zext i64 %a.coerce1 to i128
%a.sroa.2.0.insert.shift = shl nuw i128 %a.sroa.2.0.insert.ext, 64
%a.sroa.0.0.insert.ext = zext i64 %a.coerce0 to i128
%a.sroa.0.0.insert.insert = or i128 %a.sroa.2.0.insert.shift, %a.sroa.0.0.insert.ext
#dbg_value(i128 %a.sroa.0.0.insert.insert, !17, !DIExpression(), !18)
// ...
!17 = !DILocalVariable(name: "a", arg: 1, scope: !10, file: !11, line: 1, type: !14)
// ...
```
and InstCombine then removes the `or`, moving it into the
`DIExpression`, and the `shl` at which point the debug info salvaging in
`Transforms/Local` replaces the arguments with `poison` as it does not
allow constants larger than 64 bit in `DIExpression`s.
I'm working under the assumption that there is interest in fixing this.
If not, please tell me.
By not coercing `int128_t`s into `{i64, i64}` but keeping them as
`i128`, the debug info stays intact and SelectionDAG then generates two
`DW_OP_LLVM_fragment` expressions for the two corresponding argument
registers.
Given that the ABI code for x64 seems to not coerce the argument when it
is passed on the stack, it should not lead to any problems keeping it as
an `i128` when it is passed in registers.
Alternatively, this could be fixed by checking if a constant value fits
in 64 bits in the debug info salvaging code and then extending the value
on the expression stack to the necessary width. This fixes InstCombine
breaking the debug info but then SelectionDAG removes the expression and
that seems significantly more complex to debug.
Another fix may be to generate `DW_OP_LLVM_fragment` expressions when
removing the `or` as it gets marked as disjoint by InstCombine. However,
I don't know if the KnownBits information is still available at the time
the `or` gets removed and it would probably require refactoring of the
debug info salvaging code as that currently only seems to replace single
expressions and is not designed to support generating new debug records.
Converting `(u)int128_t` arguments to `i128` in the IR seems like the
simpler solution, if it doesn't cause any ABI issues.
Commit: ff5784bb9094f6035851dc7abc4a5760fdc21e45
https://github.com/llvm/llvm-project/commit/ff5784bb9094f6035851dc7abc4a5760fdc21e45
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
Log Message:
-----------
[flang][OpenMP] Move extractOmpDirective to Utils.cpp, NFC (#148653)
Commit: 871d65bfdd580cec349e63d687e6829e0ef62824
https://github.com/llvm/llvm-project/commit/871d65bfdd580cec349e63d687e6829e0ef62824
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M .ci/monolithic-linux.sh
M .github/workflows/premerge.yaml
Log Message:
-----------
[CI] Migrate monolithic-linux script to sccache
This is in preparation for migrating to Google Cloud Storage (GCS) based
caching soon which is only supported by sccache.
Reviewers: Keenuts, gburgessiv, dschuff, lnihlen, cmtice
Reviewed By: cmtice
Pull Request: https://github.com/llvm/llvm-project/pull/149195
Commit: fcb7ed69d0b4b0eb6cf7802b660d92a29bca718f
https://github.com/llvm/llvm-project/commit/fcb7ed69d0b4b0eb6cf7802b660d92a29bca718f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[CI][Github] Use newer sccache version in CI container
I was having trouble with the version that ships in the ubuntu apt repository
and GCS based caching. The newer version works, so reintroduce the infra that
we had in 2c1d4b0404187f0162d3b2df64dae062e53c3c79 to download it.
Reviewers: tstellar, lnihlen, gburgessiv, dschuff, cmtice, Keenuts
Reviewed By: cmtice, Keenuts
Pull Request: https://github.com/llvm/llvm-project/pull/149196
Commit: b84f72a7f51e2ea829feb12ecbb8be0cfc835e2c
https://github.com/llvm/llvm-project/commit/b84f72a7f51e2ea829feb12ecbb8be0cfc835e2c
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/test/CIR/CodeGen/complex-unary.cpp
Log Message:
-----------
[CIR] Upstream Unary Inc/Dec for ComplexType (#149162)
This change adds support for unary inc/dec operators for ComplexType
https://github.com/llvm/llvm-project/issues/141365
Commit: 46c059f925d18afc99db90dd9b9be989f7f62536
https://github.com/llvm/llvm-project/commit/46c059f925d18afc99db90dd9b9be989f7f62536
Author: Robert Konicar <rkonicar at mail.muni.cz>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Dialect/LLVMIR/ifunc.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
A mlir/test/Target/LLVMIR/Import/ifunc.ll
A mlir/test/Target/LLVMIR/ifunc.mlir
Log Message:
-----------
[mlir][LLVMIR] Add IFuncOp to LLVM dialect (#147697)
Add IFunc to LLVM dialect and add support for lifting/exporting LLVMIR
IFunc.
Commit: b8bc3ff9bedf0b8f1d38273f7920cb0bba1a5a9e
https://github.com/llvm/llvm-project/commit/b8bc3ff9bedf0b8f1d38273f7920cb0bba1a5a9e
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/exp10f.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/exp10f.h
A libc/src/__support/math/exp10f_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/coshf.cpp
M libc/src/math/generic/exp10f.cpp
R libc/src/math/generic/exp10f_impl.h
R libc/src/math/generic/explogxf.cpp
M libc/src/math/generic/explogxf.h
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/sinhf.cpp
M libc/test/src/math/explogxf_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor exp10f implementation to header-only in src/__support/math folder. (#148405)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 13549fd90af45d2200159cac14a12cf01db56aa1
https://github.com/llvm/llvm-project/commit/13549fd90af45d2200159cac14a12cf01db56aa1
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/MC/MCAssembler.cpp
Log Message:
-----------
MCAssembler: Modify Contents when VarFixups is not empty
When there is no VarFixup, VarContentStart is zero.
`slice(F.VarContentStart - Contents.size(), F.getSize())`
might lead to "runtime error: addition of unsigned offset to" in ubsan builds after #148544
Commit: 6f28eec6dc68c64ebe108be3fdb7d0affb1e3349
https://github.com/llvm/llvm-project/commit/6f28eec6dc68c64ebe108be3fdb7d0affb1e3349
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M libc/src/__support/wchar/string_converter.h
M libc/test/src/__support/wchar/string_converter_test.cpp
Log Message:
-----------
[libc] Fixed StringConverter Error Edge Case (#149356)
Fixed StringConverter edge case related to destination limit
If we call pop() but there is no space in the dest array, we should
always return the "no space in destination" error even if the following
character is invalid (since we shouldn't really have to look at the next
character)
Commit: 163da8796bed51f82d7c07d0ac6db6de7879bd21
https://github.com/llvm/llvm-project/commit/163da8796bed51f82d7c07d0ac6db6de7879bd21
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/docs/LibClang.rst
Log Message:
-----------
[Docs] Mention security of libclang (#149357)
Libclang is a wrapper around the Clang frontend, and frontends are not
security-sensitive components of the LLVM project. However, libclang is
often embedded in people's downstream tools, so it's best to mention
that explicitly.
Commit: aa3978573e15205b43c6a7e3b4a6f940ccded7a2
https://github.com/llvm/llvm-project/commit/aa3978573e15205b43c6a7e3b4a6f940ccded7a2
Author: tyb0807 <sontuan.vu119 at gmail.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/IR/CommonAttrConstraints.td
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/MemRef/ops.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/ops.mlir
Log Message:
-----------
[mlir][vector][memref] Add `alignment` attribute to memory access ops (#144344)
Alignment information is important to allow LLVM backends such as AMDGPU
to select wide memory accesses (e.g., dwordx4 or b128). Since this info
is not always inferable, it's better to inform LLVM backends explicitly
about it. Furthermore, alignment is not necessarily a property of the
element type, but of each individual memory access op (we can have
overaligned and underaligned accesses compared to the natural/preferred
alignment of the element type).
This patch introduces `alignment` attribute to memref/vector.load/store
ops.
Follow-up PRs will
1. Propagate the attribute to LLVM/SPIR-V.
2. Introduce `alignment` attribute to other vector memory access ops:
vector.gather + vector.scatter
vector.transfer_read + vector.transfer_write
vector.compressstore + vector.expandload
vector.maskedload + vector.maskedstore
3. Replace `--convert-vector-to-llvm='use-vector-alignment=1` with a
simple pass to populate alignment attributes based on the vector
types.
Commit: e73d1a5341fafb1eadb77b787eb6e65630b4db3a
https://github.com/llvm/llvm-project/commit/e73d1a5341fafb1eadb77b787eb6e65630b4db3a
Author: Thurston Dang <thurston at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/X86/avx512-gfni-intrinsics.ll
Log Message:
-----------
[msan] Add tests for avx512-gfni-intrinsics (#149258)
Gluten-free, nuts included or something
Commit: 3b11aaaf94fe6c7b4ccfd031f952265f706c1b68
https://github.com/llvm/llvm-project/commit/3b11aaaf94fe6c7b4ccfd031f952265f706c1b68
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization/linalg-ops.mlir
Log Message:
-----------
[mlir][linalg] Add support for scalable vectorization of linalg.mmt4d (#146531)
This patch adds support for scalable vectorization of linalg.mmt4d. The
key design change is the introduction of a new vectorizer state variable:
* `assumeDynamicDimsMatchVecSizes`
...along with the corresponding Transform dialect attribute:
* `assume_dynamic_dims_match_vec_sizes`.
This flag instructs the vectorizer to assume that dynamic memref/tensor
dimensions match the corresponding vector sizes (fixed or scalable). With this
assumption, masking becomes unnecessary, which simplifies the lowering pipeline
significantly.
While this assumption is not universally valid, it typically holds for
`linalg.mmt4d`. Inputs and outputs are explicitly packed using `linalg.pack`,
and this packing includes padding, ensuring that dimension sizes align with
vector sizes (*).
* Related discussion: https://github.com/llvm/llvm-project/issues/143920
An upcoming patch will include an end-to-end test that leverages scalable
vectorization of linalg.mmt4d to demonstrate the newly enabled functionality.
This would not be feasible without the changes introduced here, as it would
otherwise require additional logic to handle complex - but ultimately redundant
- masks.
(*) This holds provided that the tile sizes used for packing match the vector
sizes used during vectorization. It is the user’s responsibility to enforce
this.
Commit: f480e1b8258eac3565b3ffaf3f8ed0f77eb87fee
https://github.com/llvm/llvm-project/commit/f480e1b8258eac3565b3ffaf3f8ed0f77eb87fee
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
A llvm/test/CodeGen/NVPTX/prmt-const-folding.ll
Log Message:
-----------
[NVPTX] Add PRMT constant folding and cleanup usage of PRMT node (#148906)
Commit: 3fa07ed5b38774656a2cff1bebc1785ce8e7feb8
https://github.com/llvm/llvm-project/commit/3fa07ed5b38774656a2cff1bebc1785ce8e7feb8
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M compiler-rt/lib/tysan/lit.cfg
M compiler-rt/test/asan/lit.cfg.py
M compiler-rt/test/asan_abi/lit.cfg.py
M compiler-rt/test/builtins/Unit/lit.cfg.py
M compiler-rt/test/builtins/lit.cfg.py
M compiler-rt/test/ctx_profile/lit.cfg.py
M compiler-rt/test/dfsan/lit.cfg.py
M compiler-rt/test/fuzzer/lit.cfg.py
M compiler-rt/test/gwp_asan/lit.cfg.py
M compiler-rt/test/hwasan/lit.cfg.py
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lsan/lit.common.cfg.py
M compiler-rt/test/memprof/lit.cfg.py
M compiler-rt/test/metadata/lit.cfg.py
M compiler-rt/test/msan/lit.cfg.py
M compiler-rt/test/nsan/lit.cfg.py
M compiler-rt/test/orc/lit.cfg.py
M compiler-rt/test/orc/lit.site.cfg.py.in
M compiler-rt/test/profile/lit.cfg.py
M compiler-rt/test/rtsan/Unit/lit.site.cfg.py.in
M compiler-rt/test/rtsan/lit.cfg.py
M compiler-rt/test/safestack/lit.cfg.py
M compiler-rt/test/sanitizer_common/lit.common.cfg.py
M compiler-rt/test/scudo/lit.cfg.py
M compiler-rt/test/shadowcallstack/lit.cfg.py
M compiler-rt/test/tsan/Unit/lit.site.cfg.py.in
M compiler-rt/test/tsan/libdispatch/lit.local.cfg.py
M compiler-rt/test/tsan/lit.cfg.py
M compiler-rt/test/tysan/lit.cfg.py
M compiler-rt/test/ubsan/TestCases/TypeCheck/Function/lit.local.cfg.py
M compiler-rt/test/ubsan/lit.common.cfg.py
M compiler-rt/test/ubsan_minimal/lit.common.cfg.py
M compiler-rt/test/xray/lit.cfg.py
M compiler-rt/unittests/lit.common.unit.cfg.py
M compiler-rt/unittests/lit.common.unit.configured.in
M lldb/test/API/lit.cfg.py
M lldb/test/API/lit.site.cfg.py.in
M llvm/test/lit.cfg.py
M llvm/test/lit.site.cfg.py.in
Log Message:
-----------
Rename config.host_os to config.target_os.
config.host_os is derived from CMAKE_SYSTEM_NAME
which specifies the target. See:
https://cmake.org/cmake/help/latest/variable/CMAKE_SYSTEM_NAME.html
To reduce confusion, rename it to config.target_os.
The variable name config.target_os was already being used by the Orc
tests. Rename it to config.orc_test_target_os with a FIXME to remove.
Reviewers: JDevlieghere, MaskRay
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/149015
Commit: afff28e4cb4b56dc5c77ecdb5aad9ec10e170999
https://github.com/llvm/llvm-project/commit/afff28e4cb4b56dc5c77ecdb5aad9ec10e170999
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/monolithic-linux.sh
M .github/workflows/premerge.yaml
Log Message:
-----------
[CI][Github] Enable CIR CI build and test (#147430)
This change modifies CI scripts to add a pseudo-project for CIR and
detect when CIR-specific files are modified. It also enables building
clang with CIR enabled whenever both the clang and mlir projects are
being built.
Building and testing CIR is only enabled on Linux at this time, as CIR
doesn't properly support Windows or MacOS yet.
Commit: 413e71b700562f914b369c7eab6ad41c18910bdf
https://github.com/llvm/llvm-project/commit/413e71b700562f914b369c7eab6ad41c18910bdf
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M flang/docs/Extensions.md
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-labels.cpp
M flang/test/Driver/cuda-option.f90
M flang/test/Driver/unparse-use-analyzed.f95
M flang/test/Driver/unparse-with-modules.f90
M flang/test/Integration/debug-common-block-1.f90
M flang/test/Integration/debug-local-var-2.f90
M flang/test/Lower/CUDA/cuda-derived.cuf
M flang/test/Lower/CUDA/cuda-return01.cuf
M flang/test/Lower/CUDA/cuda-return02.cuf
M flang/test/Lower/HLFIR/intrinsic-subroutines.f90
M flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90
M flang/test/Lower/OpenACC/acc-atomic-read.f90
M flang/test/Lower/OpenACC/acc-atomic-write.f90
M flang/test/Lower/OpenACC/acc-routine04.f90
M flang/test/Lower/OpenMP/atomic-read.f90
M flang/test/Lower/OpenMP/atomic-write.f90
M flang/test/Lower/OpenMP/common-atomic-lowering.f90
M flang/test/Lower/OpenMP/cray-pointers02.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
M flang/test/Lower/OpenMP/parallel-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-rename.f90
M flang/test/Lower/OpenMP/parallel-reduction.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-3.f90
M flang/test/Lower/OpenMP/threadprivate-host-association.f90
M flang/test/Lower/OpenMP/wsloop-chunks.f90
M flang/test/Lower/OpenMP/wsloop-collapse.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-lb.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-lb2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-expression-slice-1.f90
M flang/test/Lower/basic-program.f90
M flang/test/Lower/big-integer-parameter.f90
M flang/test/Lower/derived-type-finalization.f90
M flang/test/Lower/location.f90
M flang/test/Lower/nested-where.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/pre-fir-tree02.f90
M flang/test/Lower/pre-fir-tree03.f90
M flang/test/Lower/pre-fir-tree06.f90
M flang/test/Lower/program-units-fir-mangling.f90
M flang/test/Lower/return-statement.f90
M flang/test/Lower/volatile-openmp1.f90
M flang/test/Lower/volatile-string.f90
M flang/test/Lower/volatile3.f90
M flang/test/Parser/acc-unparse.f90
M flang/test/Semantics/OpenACC/acc-symbols01.f90
M flang/test/Semantics/OpenMP/critical_within_default.f90
M flang/test/Semantics/OpenMP/declare-mapper-symbols.f90
M flang/test/Semantics/OpenMP/declare-reduction-mangled.f90
M flang/test/Semantics/OpenMP/declare-reduction-operators.f90
M flang/test/Semantics/OpenMP/declare-reduction-renamedop.f90
M flang/test/Semantics/OpenMP/declare-reduction.f90
M flang/test/Semantics/OpenMP/declare-target03.f90
M flang/test/Semantics/OpenMP/do-schedule03.f90
M flang/test/Semantics/OpenMP/do01-positivecase.f90
M flang/test/Semantics/OpenMP/do04-positivecase.f90
M flang/test/Semantics/OpenMP/do05-positivecase.f90
M flang/test/Semantics/OpenMP/do06-positivecases.f90
M flang/test/Semantics/OpenMP/do11.f90
M flang/test/Semantics/OpenMP/do12.f90
M flang/test/Semantics/OpenMP/do14.f90
M flang/test/Semantics/OpenMP/do17.f90
M flang/test/Semantics/OpenMP/map-clause-symbols.f90
M flang/test/Semantics/OpenMP/reduction08.f90
M flang/test/Semantics/OpenMP/reduction09.f90
M flang/test/Semantics/OpenMP/reduction11.f90
M flang/test/Semantics/OpenMP/scan2.f90
M flang/test/Semantics/OpenMP/symbol01.f90
M flang/test/Semantics/OpenMP/symbol05.f90
M flang/test/Semantics/OpenMP/symbol07.f90
M flang/test/Semantics/OpenMP/symbol09.f90
M flang/test/Semantics/OpenMP/threadprivate03.f90
M flang/test/Semantics/getsymbols03-a.f90
M flang/test/Semantics/long-name.f90
M flang/test/Semantics/modproc01.f90
M flang/test/Semantics/multi-programs04.f90
M flang/test/Semantics/pointer01.f90
M flang/test/Semantics/procinterface01.f90
M flang/test/Semantics/resolve05.f90
M flang/test/Semantics/resolve125.f90
M flang/test/Semantics/symbol03.f90
M flang/test/Semantics/symbol06.f90
M flang/test/Semantics/symbol07.f90
M flang/test/Semantics/symbol08.f90
M flang/test/Semantics/symbol15.f90
M flang/test/Semantics/symbol16.f90
M flang/test/Semantics/symbol17.f90
M flang/test/Semantics/symbol18.f90
M flang/test/Semantics/symbol20.f90
M flang/test/Semantics/symbol25.f90
M flang/test/Semantics/symbol26.f90
M flang/test/Transforms/DoConcurrent/basic_host.f90
Log Message:
-----------
[flang] Main program symbol no longer conflicts with the other symbols (#149169)
The following code is now accepted:
```
module m
end
program m
use m
end
```
The PROGRAM name doesn't really have an effect on the compilation
result, so it shouldn't result in symbol name conflicts.
This change makes the main program symbol name all uppercase in the
cooked character stream. This makes it distinct from all other symbol
names that are all lowercase in cooked character stream.
Modified the tests that were checking for lower case main program name.
Commit: 2c0c87be1258c36a177bfd47f272f8dffca366f4
https://github.com/llvm/llvm-project/commit/2c0c87be1258c36a177bfd47f272f8dffca366f4
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M compiler-rt/test/lit.common.configured.in
Log Message:
-----------
Speculative buildbot fix.
Commit: 73d4cea68cce998b1349e3820dc5d80e1096b015
https://github.com/llvm/llvm-project/commit/73d4cea68cce998b1349e3820dc5d80e1096b015
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/test/Lower/OpenMP/taskgroup02.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.h
Log Message:
-----------
[flang][OpenMP] Generalize isOpenMPPrivatizingConstruct (#148654)
Instead of treating all block and all loop constructs as privatizing,
actually check if the construct allows a privatizing clause.
Commit: fd5fc76c91538871771be2c3be2ca3a5f2dcac31
https://github.com/llvm/llvm-project/commit/fd5fc76c91538871771be2c3be2ca3a5f2dcac31
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cos.bf16.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_cos_bf16` on gfx1250 (#149355)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: d994487db780d5b3ec4286391598684d99e9c9c3
https://github.com/llvm/llvm-project/commit/d994487db780d5b3ec4286391598684d99e9c9c3
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/test/CMakeLists.txt
M llvm/test/lit.cfg.py
A llvm/test/tools/llvm-ir2vec/triplets.ll
A llvm/tools/llvm-ir2vec/CMakeLists.txt
A llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
Log Message:
-----------
[IR2Vec] Add llvm-ir2vec tool for generating triplet embeddings (#147842)
Add a new LLVM tool `llvm-ir2vec`. This tool is primarily intended to generate triplets for training the vocabulary (#141834) and to potentially generate the embeddings in a stand alone manner.
This PR introduces the tool with triplet generation functionality. In the upcoming PRs I'll add scripts under `utils/mlgo` to complete the vocabulary tooling. #147844 adds embedding generation logic to the tool.
(Tracking issue - #141817)
Commit: 70e2319e9a0f65d8cac666a16a432501261e16a8
https://github.com/llvm/llvm-project/commit/70e2319e9a0f65d8cac666a16a432501261e16a8
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/test/lit.cfg.py
A llvm/test/tools/llvm-ir2vec/embeddings.ll
M llvm/test/tools/llvm-ir2vec/triplets.ll
M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
Log Message:
-----------
[IR2Vec] Add embeddings mode to llvm-ir2vec tool (#147844)
Add embedding generation functionality to the llvm-ir2vec tool, complementing the existing triplet generation mode.
This change completes the IR2Vec tool by adding the embedding generation functionality, which was previously mentioned as a TODO item. The tool now supports both triplet generation for vocabulary training and embedding generation using a trained vocabulary.
Commit: f2956173aea4ff0fe0b823be1953d1968f91fb98
https://github.com/llvm/llvm-project/commit/f2956173aea4ff0fe0b823be1953d1968f91fb98
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/docs/CommandGuide/index.rst
A llvm/docs/CommandGuide/llvm-ir2vec.rst
M llvm/docs/MLGO.rst
M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
Log Message:
-----------
[IR2Vec] Adding documentation for llvm-ir2vec tool (#148719)
Tracking issues - #141817, #141834
Commit: e68efed71ba818a9eb18a2baede922e1e2ff9a46
https://github.com/llvm/llvm-project/commit/e68efed71ba818a9eb18a2baede922e1e2ff9a46
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/Darwin/lit.local.cfg.py
M compiler-rt/test/asan/TestCases/Linux/lit.local.cfg.py
M compiler-rt/test/asan/TestCases/Posix/lit.local.cfg.py
M compiler-rt/test/asan/TestCases/Windows/lit.local.cfg.py
M compiler-rt/test/builtins/TestCases/Darwin/lit.local.cfg.py
M compiler-rt/test/cfi/cross-dso/lit.local.cfg.py
M compiler-rt/test/hwasan/TestCases/Linux/lit.local.cfg.py
M compiler-rt/test/hwasan/TestCases/Posix/lit.local.cfg.py
M compiler-rt/test/lsan/TestCases/Darwin/lit.local.cfg.py
M compiler-rt/test/lsan/TestCases/Linux/lit.local.cfg.py
M compiler-rt/test/lsan/TestCases/Posix/lit.local.cfg.py
M compiler-rt/test/msan/Linux/lit.local.cfg.py
M compiler-rt/test/orc/TestCases/Darwin/lit.local.cfg.py
M compiler-rt/test/orc/TestCases/FreeBSD/lit.local.cfg.py
M compiler-rt/test/orc/TestCases/Linux/lit.local.cfg.py
M compiler-rt/test/orc/TestCases/Windows/lit.local.cfg.py
M compiler-rt/test/profile/AIX/lit.local.cfg.py
M compiler-rt/test/profile/Darwin/lit.local.cfg.py
M compiler-rt/test/profile/Linux/lit.local.cfg.py
M compiler-rt/test/profile/Posix/lit.local.cfg.py
M compiler-rt/test/profile/Windows/lit.local.cfg.py
M compiler-rt/test/sanitizer_common/TestCases/Darwin/lit.local.cfg.py
M compiler-rt/test/sanitizer_common/TestCases/FreeBSD/lit.local.cfg.py
M compiler-rt/test/sanitizer_common/TestCases/Linux/lit.local.cfg.py
M compiler-rt/test/sanitizer_common/TestCases/NetBSD/lit.local.cfg.py
M compiler-rt/test/sanitizer_common/TestCases/Posix/lit.local.cfg.py
M compiler-rt/test/tsan/Darwin/lit.local.cfg.py
M compiler-rt/test/tsan/Linux/lit.local.cfg.py
M compiler-rt/test/tsan/libcxx/lit.local.cfg.py
M compiler-rt/test/ubsan/TestCases/Misc/Posix/lit.local.cfg.py
M compiler-rt/test/ubsan/TestCases/TypeCheck/Linux/lit.local.cfg.py
Log Message:
-----------
Fix more compiler-rt tests after #149015.
Commit: 7e105fbdbe3167d0724a64601a0e72923ed5e021
https://github.com/llvm/llvm-project/commit/7e105fbdbe3167d0724a64601a0e72923ed5e021
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tanh.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_tanh_f32` on gfx1250 (#149360)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: 4e6b843cf59735ffb7092edd178e4b03433a44df
https://github.com/llvm/llvm-project/commit/4e6b843cf59735ffb7092edd178e4b03433a44df
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M compiler-rt/lib/asan/asan_descriptions.cpp
Log Message:
-----------
[asan] Revert global check for non-AIX (#149245)
287b24e1899eb6ce62eb9daef5a24faae5e66c1e moved the
`GetGlobalAddressInformation` call earlier, but this broke a chromium
test, so make this workaround for AIX only.
Commit: a8880265e1755b346fe6c3e7e93b57381d8c9eb8
https://github.com/llvm/llvm-project/commit/a8880265e1755b346fe6c3e7e93b57381d8c9eb8
Author: Jeremy Kun <jkun at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M mlir/test/IR/test-pattern-logging-listener.mlir
Log Message:
-----------
[mlir] Fix CI breakage from https://github.com/llvm/llvm-project/pull/146228 (#149378)
Some platforms print `{anonymous}` instead of the other two forms
accepted by the test regex. This PR just removes the attempt to guess
how the anonymous namespace will be printed.
@Kewen12 is there a way to trigger the particular CIs that failed in
https://github.com/llvm/llvm-project/pull/146228 on this PR?
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: 48cd22c5661ea454f4ff189c21a8f01c426eb1aa
https://github.com/llvm/llvm-project/commit/48cd22c5661ea454f4ff189c21a8f01c426eb1aa
Author: Florian Mayer <fmayer at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/LowerAllowCheckPass.cpp
Log Message:
-----------
[NFC] simplify LowerAllowCheckPass::printPipeline (#149374)
Commit: e8182fb501622840e7b0a981506f71188fdaeb61
https://github.com/llvm/llvm-project/commit/e8182fb501622840e7b0a981506f71188fdaeb61
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/arm/headers.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/baremetal/riscv/headers.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/darwin/aarch64/headers.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/arm/headers.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/config/windows/entrypoints.txt
M libc/config/windows/headers.txt
M libc/include/CMakeLists.txt
A libc/include/wctype.yaml
M libc/src/CMakeLists.txt
A libc/src/wctype/CMakeLists.txt
A libc/src/wctype/iswalpha.cpp
A libc/src/wctype/iswalpha.h
M libc/test/src/CMakeLists.txt
A libc/test/src/wctype/CMakeLists.txt
A libc/test/src/wctype/iswalpha_test.cpp
Log Message:
-----------
[libc] add wctype.h header (#149202)
Add basic configurations to generate wctype.h header file. To begin with
this header file just exposes one function iswalpha.
Commit: 6a60f18997d62b0e2842a921fcb6beb3e52ed823
https://github.com/llvm/llvm-project/commit/6a60f18997d62b0e2842a921fcb6beb3e52ed823
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
M clang/test/SemaCXX/constexpr-never-constant.cpp
Log Message:
-----------
[clang] Fix potential constant expression checking with constexpr-unknown. (#149227)
071765749a70b22fb62f2efc07a3f242ff5b4c52 improved constexpr-unknown
diagnostics, but potential constant expression checking broke in the
process: we produce diagnostics in more cases. Suppress the diagnostics
as appropriate.
This fix affects -Winvalid-constexpr and the enable_if attribute. (The
-Winvalid-constexpr diagnostic isn't really important right now, but it
will become important if we allow constexpr-unknown with pre-C++23
standards.)
Fixes #149041. Fixes #149188.
Commit: 284dd5ba84ade5891ab9d68f00e335b37c0f1a1f
https://github.com/llvm/llvm-project/commit/284dd5ba84ade5891ab9d68f00e335b37c0f1a1f
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/X86/invalid-operand-bundle-call.ll
Log Message:
-----------
[SelectionDAG] Fix misplaced commas in operand bundle errors (#149331)
Commit: b0c6148584854af3d7ed2425034c3b5252f6b769
https://github.com/llvm/llvm-project/commit/b0c6148584854af3d7ed2425034c3b5252f6b769
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
Log Message:
-----------
[DWARFLinker] Use different addresses to distinguish invalid DW_AT_LLVM_stmt_sequence offset (#149376)
It'd be helpful (especially when `llvm-dwarfdump ... | grep
<invalid_address>`) to separate two different invalid reasons for
debugging.
Commit: 1e7ec351c40af981e299743a955d71c7d70753a8
https://github.com/llvm/llvm-project/commit/1e7ec351c40af981e299743a955d71c7d70753a8
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M lldb/source/Target/TargetProperties.td
A lldb/test/Shell/Settings/TestChildDepthTruncation.test
M lldb/test/Shell/SymbolFile/NativePDB/Inputs/class_layout.lldbinit
Log Message:
-----------
[lldb] Adjust default target.max-children-depth (#149282)
Deeply nested structs can be noisy, so Apple's LLDB fork sets the
default to `4`:
https://github.com/swiftlang/llvm-project/blob/9c93adbb283005ab416fd155b75fd43e6a8288ca/lldb/source/Target/TargetProperties.td#L134-L136
Thought it would be useful to upstream this. Though happy to pick a
different default or keep it as-is.
Commit: 867ff3001e4e1e68b3f26c5ead281ea2208c4c48
https://github.com/llvm/llvm-project/commit/867ff3001e4e1e68b3f26c5ead281ea2208c4c48
Author: Tobias Hieta <tobias at hieta.se>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/utils/release/export.sh
Log Message:
-----------
Use Parallel xz for test-suite sources. (#149389)
Commit: aea2d5396187cf19447cc80716fd483dd4b634dc
https://github.com/llvm/llvm-project/commit/aea2d5396187cf19447cc80716fd483dd4b634dc
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/test/Conversion/VectorToXeGPU/load-to-xegpu.mlir
M mlir/test/Conversion/VectorToXeGPU/store-to-xegpu.mlir
M mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir
M mlir/test/Conversion/VectorToXeGPU/transfer-write-to-xegpu.mlir
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
M mlir/test/Dialect/XeGPU/subgroup-distribute.mlir
Log Message:
-----------
[MLIR][XeGPU] make offsets optional for create_nd_tdesc (#148335)
Commit: 61a45d20cfe7f93ec1b73dc2dd776f493af2a7cc
https://github.com/llvm/llvm-project/commit/61a45d20cfe7f93ec1b73dc2dd776f493af2a7cc
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/unittests/Analysis/IR2VecTest.cpp
Log Message:
-----------
[IR2Vec][NFC] Add helper methods for numeric ID mapping in Vocabulary (#149212)
Add helper methods to IR2Vec's Vocabulary class for numeric ID mapping and vocabulary size calculation. These APIs will be useful in triplet generation for `llvm-ir2vec` tool (See #149214).
(Tracking issue - #141817)
Commit: 202f30ede1bc4ceb2480db3c93440d999da9f24b
https://github.com/llvm/llvm-project/commit/202f30ede1bc4ceb2480db3c93440d999da9f24b
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
Log Message:
-----------
[IR2Vec][llvm-ir2vec] Add support for reading from stdin (#149213)
Add support for reading LLVM IR from stdin in the llvm-ir2vec tool.
This allows usage of the tool in pipelines where LLVM IR is generated or transformed on-the-fly just like the other llvm tools. Useful in upcoming PRs.
(Tracking issue - #141817)
Commit: 64c7e7efebcdd5bccae4a44d414ef686357fc509
https://github.com/llvm/llvm-project/commit/64c7e7efebcdd5bccae4a44d414ef686357fc509
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
Add tools/llvm-ir2vec to pr-subscribes-mlgo (#149405)
Commit: 7e220630d28741b30bb4423e34e76654c7d9d1f7
https://github.com/llvm/llvm-project/commit/7e220630d28741b30bb4423e34e76654c7d9d1f7
Author: Jian Cai <jiancai at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/IR/OpBase.td
Log Message:
-----------
[mlir][docs] Rename OpTrait to Trait in ODS doc (#148276)
This makes the doc consistent with the code base.
Commit: 8de61eb01c9752f0488ed8b52d01fe3d0873ff6c
https://github.com/llvm/llvm-project/commit/8de61eb01c9752f0488ed8b52d01fe3d0873ff6c
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Support/BLAKE3/blake3_dispatch.c
M llvm/lib/Support/BLAKE3/blake3_impl.h
Log Message:
-----------
[Support/BLAKE3] quick fix for Cygwin build (#148635)
BLAKE3 1.8.2 ( imported in d2ad63a193216d008c8161879a59c5f42e0125cc )
fails to build for the Cygwin target.
see: https://github.com/BLAKE3-team/BLAKE3/issues/494
As a temporary workaround, add `&& !defined(__CYGWIN__)` to BLAKE3
locally.
resolves https://github.com/llvm/llvm-project/issues/148365
Commit: 422a250b0b8fce3e7ff20c400b5ab2837a7baeae
https://github.com/llvm/llvm-project/commit/422a250b0b8fce3e7ff20c400b5ab2837a7baeae
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
A llvm/test/CodeGen/AMDGPU/move-load-addr-to-valu-flat.mir
Log Message:
-----------
[AMDGPU] add tests for Change FLAT SADDR to VADDR form in moveToVALU. NFC. (#149392)
Commit: be3d614cc13f016b16634e18e10caed508d183d2
https://github.com/llvm/llvm-project/commit/be3d614cc13f016b16634e18e10caed508d183d2
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
A libcxx/test/extensions/gnu/hash_multimap/insert.pass.cpp
A libcxx/test/extensions/gnu/hash_multiset/insert.pass.cpp
Log Message:
-----------
[libc++] Fix hash_multi{map,set}::insert (#149290)
Commit: 70046cd2b5f4302146d7ea79497b84748f606c77
https://github.com/llvm/llvm-project/commit/70046cd2b5f4302146d7ea79497b84748f606c77
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-wmma-xdl.mir
Log Message:
-----------
AMDGPU: Remove the dot4 test in insert-delay-alu-wmma-xdl.mir, NFC (#149375)
This is irrelevant, and caused a failure in downstream.
Fixes: SWDEV-544025
Commit: b8264293a714347a77f150b109cfdde8665eeadc
https://github.com/llvm/llvm-project/commit/b8264293a714347a77f150b109cfdde8665eeadc
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M lldb/test/Shell/Settings/TestChildDepthTruncation.test
Log Message:
-----------
[lldb][test] TestChildDepthTruncation: don't force DWARF
Fixes test on Windows. Same reason as https://github.com/llvm/llvm-project/pull/149322
Commit: 6b29ee9d9a8dc6eaf1f47b4d66b4c569e00a112f
https://github.com/llvm/llvm-project/commit/6b29ee9d9a8dc6eaf1f47b4d66b4c569e00a112f
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/test/Conversion/AMDGPUToROCDL/load_lds.mlir
M mlir/test/Dialect/AMDGPU/invalid.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
Log Message:
-----------
[mlir][amdgpu] Properly handle mismatching memref ranks in `amdgpu.gather_to_lds` (#149407)
This op doesn't have any rank or indices restrictions on src/dst
memrefs, but was using `SameVariadicOperandSize` which was causing
issues. Also fix some other issues while we at it.
Commit: 25619c406ee2590f7b18364a5c88c7492bba3508
https://github.com/llvm/llvm-project/commit/25619c406ee2590f7b18364a5c88c7492bba3508
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
[AMDGPU] Remove unused VGLOBAL_Real_AllAddr_gfx12. NFC. (#149398)
Commit: 5d78332e8aa8c2542aae80fd580c8137a060cb6b
https://github.com/llvm/llvm-project/commit/5d78332e8aa8c2542aae80fd580c8137a060cb6b
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
Add llvm-ir2vec.rst to pr-subscribes-mlgo (#149412)
Commit: 689e95817e1671b0ed6c7f2031fbcf2f81632978
https://github.com/llvm/llvm-project/commit/689e95817e1671b0ed6c7f2031fbcf2f81632978
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/test/CodeGen/DirectX/legalize-load-store-array-alloca.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
M llvm/test/CodeGen/DirectX/scalar-store.ll
Log Message:
-----------
[DirectX] Add a GEP to scalar load/store on globals and remove incorrect assertion (#149191)
Fixes #149180
This PR removes an assertion that triggered on valid IR. It has been
replaced with an if statement that returns early if the conditions are
not correct.
This PR also adds GEPs to scalar loads and stores from/to global
variables.
Commit: fae8df2b82692ec8f69ba578847713f0da6e1ddc
https://github.com/llvm/llvm-project/commit/fae8df2b82692ec8f69ba578847713f0da6e1ddc
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
M llvm/test/CodeGen/DirectX/flatten-array.ll
Log Message:
-----------
[DirectX] Fix GEP flattening with 0-indexed GEPs on global variables (#149211)
Fixes #149179
The issue is that `Builder.CreateGEP` does not return a GEP Instruction
or GEP ContantExpr when the pointer operand is a global variable and all
indices are constant zeroes.
This PR ensures that a GEP instruction is created if `Builder.CreateGEP`
did not return a GEP.
Commit: 72a2d8220ade3f9ac96f5424f803c774499cf54c
https://github.com/llvm/llvm-project/commit/72a2d8220ade3f9ac96f5424f803c774499cf54c
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M libc/include/CMakeLists.txt
R libc/include/dlfcn.h.def
M libc/include/dlfcn.yaml
R libc/include/llvm-libc-macros/dlfcn-macros.h
Log Message:
-----------
[libc] Convert dlfcn.h to pure YAML (#149362)
Remove the unnecessary .h.def file and move all the macro
definitions directly into dlfcn.yaml.
Commit: fc3781853ba1b456429a908e5604589c68878ab8
https://github.com/llvm/llvm-project/commit/fc3781853ba1b456429a908e5604589c68878ab8
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/test/Dialect/XeGPU/subgroup-distribute.mlir
Log Message:
-----------
[mlir][xegpu] Minor fixes in XeGPU subgroup distribution. (#147846)
This PR addresses the following issues.
1. Add the missing attributes when creating a new GPU funcOp in
`MoveFuncBodyToWarpExecuteOnLane0` pattern.
2. Bug fix in LoadNd distribution to make sure LoadOp is the last op in
warpOp region before it is distributed (needed for preserving the memory
op ordering during distribution).
3. Add utility for removing OpOperand or OpResult layout attributes.
Commit: 2a7328dacae39e87ca4cc7548b9abcdba60b946b
https://github.com/llvm/llvm-project/commit/2a7328dacae39e87ca4cc7548b9abcdba60b946b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/unittests/Optimizer/Builder/CharacterTest.cpp
M flang/unittests/Optimizer/Builder/ComplexTest.cpp
M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
M flang/unittests/Optimizer/Builder/HLFIRToolsTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
M flang/unittests/Optimizer/FortranVariableTest.cpp
Log Message:
-----------
[flang] Migrate away from ArrayRef(std::nullopt_t) (#149337)
ArrayRef(std::nullopt_t) has been deprecated. This patch replaces
std::nullopt with {}.
A subsequence patch will address those places where we need to replace
std::nullopt with mlir::TypeRange{} or mlir::ValueRange{}.
Commit: f48e2bbe9844540a7164eb62ab8bf5f2cd56743d
https://github.com/llvm/llvm-project/commit/f48e2bbe9844540a7164eb62ab8bf5f2cd56743d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/lib/AST/StmtPrinter.cpp
Log Message:
-----------
[AST] Remove an unnecessary cast (NFC) (#149338)
getFinallyStmt() already returns ObjCAtFinallyStmt *.
Commit: be6893af87e7fb0b09ab9bb5360997f28150fd34
https://github.com/llvm/llvm-project/commit/be6893af87e7fb0b09ab9bb5360997f28150fd34
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.cpp
Log Message:
-----------
[CodeGen] Remove an unnecessary cast (NFC) (#149339)
getExceptionMode() already returns LangOptions::FPExceptionModeKind.
Commit: 2d7ff097f22660311a01c25e6ff001192dd385c4
https://github.com/llvm/llvm-project/commit/2d7ff097f22660311a01c25e6ff001192dd385c4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/lib/Sema/SemaInit.cpp
Log Message:
-----------
[Sema] Remove unnecessary casts (NFC) (#149340)
getArrayIndex(), getArrayRangeStart(), and getArrayRangeEnd() already
return Expr *.
Commit: 2da59287aa22a81bb07da07bd1ff8759d08a3368
https://github.com/llvm/llvm-project/commit/2da59287aa22a81bb07da07bd1ff8759d08a3368
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
[Target] Remove unnecessary casts (NFC) (#149342)
getFunction().getParent() already returns Module *.
Commit: 100d8f7cc72328d7f0dfabb1128b35865fd653aa
https://github.com/llvm/llvm-project/commit/100d8f7cc72328d7f0dfabb1128b35865fd653aa
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/docs/SanitizerSpecialCaseList.rst
Log Message:
-----------
[clang][docs] Fix example in SanitizerSpecialCaseList.rst (#149244)
As-ie example suppresses buffer overflow in
malloc, and leave memory leak in place. It can be
confusing.
Fixes #62421.
Commit: 8f4deff5d51ac190e056a6738018fc8aa3114151
https://github.com/llvm/llvm-project/commit/8f4deff5d51ac190e056a6738018fc8aa3114151
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M libcxx/include/fstream
Log Message:
-----------
[libcxx][fstream][NFC] Make __failed helper lambda a member function (#149390)
This patch makes the `__failed` lambda a member function on `fstream`.
This fixes two LLDB expression evaluation test failures that got
introduced with https://github.com/llvm/llvm-project/pull/147389:
```
16:22:51 ********************
16:22:51 Unresolved Tests (2):
16:22:51 lldb-api :: commands/expression/import-std-module/list-dbg-info-content/TestDbgInfoContentListFromStdModule.py
16:22:51 lldb-api :: commands/expression/import-std-module/list/TestListFromStdModule.py
```
The expression evaluator is asserting in the Clang parser:
```
Assertion failed: (capture_size() == Class->capture_size() && "Wrong number of captures"), function LambdaExpr, file ExprCXX.cpp, line 1277.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
```
Ideally we'd figure out why LLDB is falling over on this lambda. But to
unblock CI for now, make this a member function.
In the long run we should figure out the LLDB bug here so libc++ doesn't
need to care about whether it uses lambdas like this or not.
Commit: 6ff471883f7e716fe2a993f4d393c65f003994b4
https://github.com/llvm/llvm-project/commit/6ff471883f7e716fe2a993f4d393c65f003994b4
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
Log Message:
-----------
[mlir][linalg] Improve linalg.pack consumer fusion. (#148993)
If a dimension is not tiled, it is always valid to fuse the pack op,
even if it has padding semantics. Because it always generates a full
slice along the dimension.
If a dimension is tiled and it does not need extra padding, the fusion
is valid.
The revision also formats corresponding tests for consistency.
---------
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: c15a50ad22efde55f2db46ca389735cacb92a2ad
https://github.com/llvm/llvm-project/commit/c15a50ad22efde55f2db46ca389735cacb92a2ad
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-atomic-flat.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-atomic-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-store-atomic-flat.mir
M llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
Log Message:
-----------
[AMDGPU] More flatGVS gfx1250 patterns (#149410)
Commit: 0b6df5485ef77e76fcb09a349b5e1c39d926de5f
https://github.com/llvm/llvm-project/commit/0b6df5485ef77e76fcb09a349b5e1c39d926de5f
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tanh.ll
Log Message:
-----------
[AMDGPU] Reenable tanh real-true16 run line. NFC. (#149411)
Commit: cf36f49c042f93e4e204ee434173f1c6a6ad4cac
https://github.com/llvm/llvm-project/commit/cf36f49c042f93e4e204ee434173f1c6a6ad4cac
Author: Wenju He <wenju.he at intel.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M libclc/clc/lib/generic/math/clc_native_divide.inc
M libclc/clc/lib/generic/math/clc_native_recip.inc
M libclc/clc/lib/generic/math/clc_native_rsqrt.inc
M libclc/clc/lib/generic/math/clc_native_tan.inc
Log Message:
-----------
[libclc] Enable `clang fp reciprocal` in clc_native_divide/recip/rsqrt/tan (#149269)
The pragma adds `arcp` flag to `fdiv` instruction in these functions.
The flag can provide better performance.
Commit: 45477add8dfe9851605697bd908b49f0ec244625
https://github.com/llvm/llvm-project/commit/45477add8dfe9851605697bd908b49f0ec244625
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/include/llvm/ADT/StringTable.h
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Object/IRSymtab.cpp
M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
Log Message:
-----------
RuntimeLibcalls: Add methods to recognize libcall names (#149001)
Also replace the current static DenseMap of preserved symbol
names in the Symtab hack with this. That was broken statefulness
across compiles, so this at least fixes that. However this is
still broken, llvm-as shouldn't really depend on the triple.
Commit: 547a49f6b6fd96deacd0234b19e59612c9034c8a
https://github.com/llvm/llvm-project/commit/547a49f6b6fd96deacd0234b19e59612c9034c8a
Author: Florian Mayer <fmayer at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] fix non-existant `icmp gte` -> `icmp sge` (#149420)
Commit: a131ce960332db56cd1729c4829bf2694ddcb3ea
https://github.com/llvm/llvm-project/commit/a131ce960332db56cd1729c4829bf2694ddcb3ea
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/test/CodeGen/AMDGPU/phi-vgpr-input-moveimm.mir
Log Message:
-----------
AMDGPU: Handle av imm pseudo in si-fix-sgpr-copies phi fold (#149263)
Commit: 3abecfe9e35ba79926e59dedb85174400f677a2d
https://github.com/llvm/llvm-project/commit/3abecfe9e35ba79926e59dedb85174400f677a2d
Author: Wenju He <wenju.he at intel.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M libclc/clc/include/clc/relational/binary_decl.inc
M libclc/clc/include/clc/relational/clc_isfinite.h
M libclc/clc/include/clc/relational/clc_isgreater.h
M libclc/clc/include/clc/relational/clc_isgreaterequal.h
M libclc/clc/include/clc/relational/clc_isless.h
M libclc/clc/include/clc/relational/clc_islessequal.h
M libclc/clc/include/clc/relational/clc_islessgreater.h
M libclc/clc/include/clc/relational/clc_isnormal.h
M libclc/clc/include/clc/relational/clc_isnotequal.h
M libclc/clc/include/clc/relational/clc_isordered.h
M libclc/clc/include/clc/relational/clc_isunordered.h
M libclc/clc/include/clc/relational/clc_signbit.h
R libclc/clc/include/clc/relational/floatn.inc
M libclc/clc/include/clc/relational/unary_decl.inc
M libclc/opencl/include/clc/opencl/relational/isfinite.h
M libclc/opencl/include/clc/opencl/relational/isgreater.h
M libclc/opencl/include/clc/opencl/relational/isgreaterequal.h
M libclc/opencl/include/clc/opencl/relational/isless.h
M libclc/opencl/include/clc/opencl/relational/islessequal.h
M libclc/opencl/include/clc/opencl/relational/islessgreater.h
M libclc/opencl/include/clc/opencl/relational/isnormal.h
M libclc/opencl/include/clc/opencl/relational/isnotequal.h
M libclc/opencl/include/clc/opencl/relational/isordered.h
M libclc/opencl/include/clc/opencl/relational/isunordered.h
M libclc/opencl/include/clc/opencl/relational/signbit.h
M libclc/opencl/lib/generic/relational/binary_def.inc
M libclc/opencl/lib/generic/relational/isequal.cl
M libclc/opencl/lib/generic/relational/isfinite.cl
M libclc/opencl/lib/generic/relational/isgreater.cl
M libclc/opencl/lib/generic/relational/isgreaterequal.cl
M libclc/opencl/lib/generic/relational/isinf.cl
M libclc/opencl/lib/generic/relational/isless.cl
M libclc/opencl/lib/generic/relational/islessequal.cl
M libclc/opencl/lib/generic/relational/islessgreater.cl
M libclc/opencl/lib/generic/relational/isnan.cl
M libclc/opencl/lib/generic/relational/isnormal.cl
M libclc/opencl/lib/generic/relational/isnotequal.cl
M libclc/opencl/lib/generic/relational/isordered.cl
M libclc/opencl/lib/generic/relational/isunordered.cl
M libclc/opencl/lib/generic/relational/signbit.cl
M libclc/opencl/lib/generic/relational/unary_def.inc
Log Message:
-----------
[NFC][libclc] Delete clc/include/clc/relational/floatn.inc (#149252)
llvm-diff shows no change to amdgcn--amdhsa.bc.
Commit: 8813fc07f2a0d8f7a196ca0a64477b14feb2c166
https://github.com/llvm/llvm-project/commit/8813fc07f2a0d8f7a196ca0a64477b14feb2c166
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
github: Add libclc to PR autolabeler (#149274)
Commit: c0294f497d65da998e39882c234f157daecebfa8
https://github.com/llvm/llvm-project/commit/c0294f497d65da998e39882c234f157daecebfa8
Author: Wenju He <wenju.he at intel.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
A libclc/clc/include/clc/integer/clc_bit_reverse.h
A libclc/clc/include/clc/integer/clc_bitfield_extract_decl.inc
A libclc/clc/include/clc/integer/clc_bitfield_extract_signed.h
A libclc/clc/include/clc/integer/clc_bitfield_extract_unsigned.h
A libclc/clc/include/clc/integer/clc_bitfield_insert.h
A libclc/clc/include/clc/integer/clc_bitfield_insert.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/integer/clc_bit_reverse.cl
A libclc/clc/lib/generic/integer/clc_bitfield_extract_signed.cl
A libclc/clc/lib/generic/integer/clc_bitfield_extract_signed.inc
A libclc/clc/lib/generic/integer/clc_bitfield_extract_unsigned.cl
A libclc/clc/lib/generic/integer/clc_bitfield_extract_unsigned.inc
A libclc/clc/lib/generic/integer/clc_bitfield_insert.cl
A libclc/clc/lib/generic/integer/clc_bitfield_insert.inc
A libclc/opencl/include/clc/opencl/integer/bit_reverse.h
A libclc/opencl/include/clc/opencl/integer/bitfield_extract_signed.h
A libclc/opencl/include/clc/opencl/integer/bitfield_extract_unsigned.h
A libclc/opencl/include/clc/opencl/integer/bitfield_insert.h
M libclc/opencl/lib/generic/SOURCES
A libclc/opencl/lib/generic/integer/bit_reverse.cl
A libclc/opencl/lib/generic/integer/bitfield_extract_def.inc
A libclc/opencl/lib/generic/integer/bitfield_extract_signed.cl
A libclc/opencl/lib/generic/integer/bitfield_extract_unsigned.cl
A libclc/opencl/lib/generic/integer/bitfield_insert.cl
A libclc/opencl/lib/generic/integer/bitfield_insert.inc
Log Message:
-----------
[libclc] Add generic implementation of bitfield_insert/extract,bit_reverse (#149070)
The implementation is based on reference implementation in
OpenCL-CTS/test_integer_ops. The generic implementations pass
OpenCL-CTS/test_integer_ops tests on Intel GPU.
Commit: 64205adc3bfdaab0f35f7909de59dadd20ef6e6a
https://github.com/llvm/llvm-project/commit/64205adc3bfdaab0f35f7909de59dadd20ef6e6a
Author: Wenju He <wenju.he at intel.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M clang/lib/Headers/__clang_spirv_builtins.h
M clang/test/Headers/spirv_ids.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/test/CodeGen/SPIRV/transcoding/builtin_calls.ll
Log Message:
-----------
[SPIR-V] Map SPIR-V friendly work-item function to built-in variables (#148567)
The mapping ensures the function is lowered to SPIR-V built-in variables
in SPIR-V. This can fix pre-commit CI fail in https://github.com/intel/llvm/pull/19359
Also add BuiltIn to SPIR-V Builtin function name in __clang_spirv_builtins.h to align with
https://github.com/llvm/llvm-project/blob/main/llvm/docs/SPIRVUsage.rst#builtin-variables
Commit: 9c26f37ce34de3be3550cbd67fcea534721724fd
https://github.com/llvm/llvm-project/commit/9c26f37ce34de3be3550cbd67fcea534721724fd
Author: Wenju He <wenju.he at intel.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
A libclc/clc/include/clc/atomic/atomic_decl.inc
A libclc/clc/include/clc/atomic/clc_atomic_compare_exchange.h
A libclc/clc/include/clc/atomic/clc_atomic_dec.h
A libclc/clc/include/clc/atomic/clc_atomic_exchange.h
A libclc/clc/include/clc/atomic/clc_atomic_fetch_add.h
A libclc/clc/include/clc/atomic/clc_atomic_fetch_and.h
A libclc/clc/include/clc/atomic/clc_atomic_fetch_max.h
A libclc/clc/include/clc/atomic/clc_atomic_fetch_min.h
A libclc/clc/include/clc/atomic/clc_atomic_fetch_or.h
A libclc/clc/include/clc/atomic/clc_atomic_fetch_sub.h
A libclc/clc/include/clc/atomic/clc_atomic_fetch_xor.h
A libclc/clc/include/clc/atomic/clc_atomic_inc.h
A libclc/clc/include/clc/atomic/clc_atomic_load.h
A libclc/clc/include/clc/atomic/clc_atomic_store.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/atomic/clc_atomic_compare_exchange.cl
A libclc/clc/lib/generic/atomic/clc_atomic_compare_exchange.inc
A libclc/clc/lib/generic/atomic/clc_atomic_dec.cl
A libclc/clc/lib/generic/atomic/clc_atomic_def.inc
A libclc/clc/lib/generic/atomic/clc_atomic_exchange.cl
A libclc/clc/lib/generic/atomic/clc_atomic_fetch_add.cl
A libclc/clc/lib/generic/atomic/clc_atomic_fetch_and.cl
A libclc/clc/lib/generic/atomic/clc_atomic_fetch_max.cl
A libclc/clc/lib/generic/atomic/clc_atomic_fetch_min.cl
A libclc/clc/lib/generic/atomic/clc_atomic_fetch_or.cl
A libclc/clc/lib/generic/atomic/clc_atomic_fetch_sub.cl
A libclc/clc/lib/generic/atomic/clc_atomic_fetch_xor.cl
A libclc/clc/lib/generic/atomic/clc_atomic_inc.cl
A libclc/clc/lib/generic/atomic/clc_atomic_load.cl
A libclc/clc/lib/generic/atomic/clc_atomic_store.cl
M libclc/opencl/include/clc/opencl/atomic/atomic_add.h
M libclc/opencl/include/clc/opencl/atomic/atomic_and.h
A libclc/opencl/include/clc/opencl/atomic/atomic_compare_exchange_strong.h
A libclc/opencl/include/clc/opencl/atomic/atomic_compare_exchange_weak.h
M libclc/opencl/include/clc/opencl/atomic/atomic_decl.inc
A libclc/opencl/include/clc/opencl/atomic/atomic_decl_legacy.inc
A libclc/opencl/include/clc/opencl/atomic/atomic_exchange.h
A libclc/opencl/include/clc/opencl/atomic/atomic_fetch_add.h
A libclc/opencl/include/clc/opencl/atomic/atomic_fetch_and.h
A libclc/opencl/include/clc/opencl/atomic/atomic_fetch_max.h
A libclc/opencl/include/clc/opencl/atomic/atomic_fetch_min.h
A libclc/opencl/include/clc/opencl/atomic/atomic_fetch_or.h
A libclc/opencl/include/clc/opencl/atomic/atomic_fetch_sub.h
A libclc/opencl/include/clc/opencl/atomic/atomic_fetch_xor.h
A libclc/opencl/include/clc/opencl/atomic/atomic_load.h
M libclc/opencl/include/clc/opencl/atomic/atomic_max.h
M libclc/opencl/include/clc/opencl/atomic/atomic_min.h
M libclc/opencl/include/clc/opencl/atomic/atomic_or.h
A libclc/opencl/include/clc/opencl/atomic/atomic_store.h
M libclc/opencl/include/clc/opencl/atomic/atomic_sub.h
M libclc/opencl/include/clc/opencl/atomic/atomic_xchg.h
M libclc/opencl/include/clc/opencl/atomic/atomic_xor.h
M libclc/opencl/lib/generic/SOURCES
A libclc/opencl/lib/generic/atomic/atomic_compare_exchange_strong.cl
A libclc/opencl/lib/generic/atomic/atomic_compare_exchange_weak.cl
M libclc/opencl/lib/generic/atomic/atomic_dec.cl
A libclc/opencl/lib/generic/atomic/atomic_def.inc
A libclc/opencl/lib/generic/atomic/atomic_exchange.cl
A libclc/opencl/lib/generic/atomic/atomic_fetch_add.cl
A libclc/opencl/lib/generic/atomic/atomic_fetch_and.cl
A libclc/opencl/lib/generic/atomic/atomic_fetch_max.cl
A libclc/opencl/lib/generic/atomic/atomic_fetch_min.cl
A libclc/opencl/lib/generic/atomic/atomic_fetch_or.cl
A libclc/opencl/lib/generic/atomic/atomic_fetch_sub.cl
A libclc/opencl/lib/generic/atomic/atomic_fetch_xor.cl
M libclc/opencl/lib/generic/atomic/atomic_inc.cl
A libclc/opencl/lib/generic/atomic/atomic_inc_dec.inc
A libclc/opencl/lib/generic/atomic/atomic_load.cl
A libclc/opencl/lib/generic/atomic/atomic_store.cl
Log Message:
-----------
[libclc] Add generic implementation of some atomic functions in OpenCL spec section 6.15.12.7 (#146814)
Add corresponding clc functions, which are implemented with clang
__scoped_atomic builtins. OpenCL functions are implemented as a wrapper
over clc functions.
Also change legacy atomic_inc and atomic_dec to re-use the newly added
clc_atomic_inc/dec implementations. llvm-diff only no change to
atomic_inc and atomic_dec in bitcode.
Notes:
* Generic OpenCL built-ins functions uses __ATOMIC_SEQ_CST and
__MEMORY_SCOPE_DEVICE for memory order and memory scope parameters.
* OpenCL atomic_*_explicit, atomic_flag* built-ins are not implemented
yet.
* OpenCL built-ins of atomic_intptr_t, atomic_uintptr_t, atomic_size_t
and atomic_ptrdiff_t types are not implemented yet.
* llvm-diff shows no change to nvptx64--nvidiacl.bc and
amdgcn--amdhsa.bc since __opencl_c_atomic_order_seq_cst and
__opencl_c_atomic_scope_device are not defined in these two targets.
Commit: cd6311b50d4b9d87d986213db76d9810efd7df7e
https://github.com/llvm/llvm-project/commit/cd6311b50d4b9d87d986213db76d9810efd7df7e
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/test/Lower/Intrinsics/cospi.f90
Log Message:
-----------
[flang] Implement `COSPI` (#149343)
This feature is added in the Fortran 2023 standard.
Commit: 28417e6459bb5174b9502f440e3dbb86f7a0046e
https://github.com/llvm/llvm-project/commit/28417e6459bb5174b9502f440e3dbb86f7a0046e
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86InterleavedAccess.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
Log Message:
-----------
[IA] Support vp.load in lowerInterleavedLoad [nfc-ish] (#149174)
This continues in the direction started by commit 4b81dc7. We
essentially merges the handling for VPLoad - currently in
lowerInterleavedVPLoad - into the existing dedicated routine. This
removes the last use of the dedicate lowerInterleavedVPLoad and thus we
can remove it.
This isn't quite NFC as the main callback has support for the strided
load optimization whereas the VPLoad specific version didn't. So this
adds the ability to form a strided load for a vp.load deinterleave with
one shuffle used.
Commit: 4a9eaad9e1283b872788832d5bce7e7945b97c78
https://github.com/llvm/llvm-project/commit/4a9eaad9e1283b872788832d5bce7e7945b97c78
Author: Yanzuo Liu <zwuis at outlook.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedAliasDeclsCheck.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/clangd/IncludeFixer.cpp
M clang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang/include/clang/AST/AbstractBasicReader.h
M clang/include/clang/AST/AbstractBasicWriter.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/Basic/DeclNodes.td
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Tooling/Refactoring/RecursiveSymbolVisitor.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/Index/IndexTypeSourceInfo.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/NestedNameSpecifiers.cpp
M clang/unittests/Tooling/RefactoringTest.cpp
Log Message:
-----------
[Clang][AST][NFC] Introduce `NamespaceBaseDecl` (#149123)
Add `NamespaceBaseDecl` as common base class of `NamespaceDecl` and
`NamespaceAliasDecl`. This simplifies `NestedNameSpecifier` a bit.
Co-authored-by: Matheus Izvekov <mizvekov at gmail.com>
Commit: 8aa4fc0a9f80475dc0efb2ce14a860f86147d52d
https://github.com/llvm/llvm-project/commit/8aa4fc0a9f80475dc0efb2ce14a860f86147d52d
Author: Ryan Prichard <rprichard at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_bounded_array.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.compile.pass.cpp
Log Message:
-----------
[libc++][Android] Reenable 2 tests for Android (#149415)
Now that the Android clang has been upgraded to clang-r563880
(llvm.org/pr148998), these two tests pass again.
Commit: baa291bfb58e73a253669b86ac604cf8e6792b6c
https://github.com/llvm/llvm-project/commit/baa291bfb58e73a253669b86ac604cf8e6792b6c
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Mesh/Transforms/Simplifications.h
M mlir/test/Dialect/Mesh/simplifications.mlir
Log Message:
-----------
[mlir][mesh] Add null check for dyn_cast to prevent crash (#149266)
This PR adds a null check for dyn_cast result before use to prevent
crash, and use `isa` instead `dyn_cast` to make code clean. Fixes
#148619.
Commit: c27e283cfbca2bd22f34592430e98ee76ed60ad8
https://github.com/llvm/llvm-project/commit/c27e283cfbca2bd22f34592430e98ee76ed60ad8
Author: YexuanXiao <bizwen at nykz.org>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/FormatString.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/TypeNodes.td
M clang/include/clang/Serialization/TypeBitCodes.def
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/PrintfFormatString.cpp
M clang/lib/AST/ScanfFormatString.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
M clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
M clang/test/AST/ast-dump-array.cpp
M clang/test/AST/ast-dump-expr-json.c
M clang/test/AST/ast-dump-expr-json.cpp
M clang/test/AST/ast-dump-expr.c
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-openmp-distribute-parallel-for-simd.c
M clang/test/AST/ast-dump-openmp-distribute-parallel-for.c
M clang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for-simd.c
M clang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for.c
M clang/test/AST/ast-dump-openmp-teams-distribute-parallel-for-simd.c
M clang/test/AST/ast-dump-openmp-teams-distribute-parallel-for.c
M clang/test/AST/ast-dump-stmt-json.cpp
M clang/test/AST/ast-dump-stmt.cpp
M clang/test/AST/ast-dump-traits.cpp
M clang/test/AST/ast-dump-types-errors-json.cpp
M clang/test/Analysis/cfg.cpp
M clang/test/Analysis/explain-svals.cpp
M clang/test/Analysis/std-c-library-functions-arg-weakdeps.c
M clang/test/Analysis/std-c-library-functions-lookup.c
M clang/test/Analysis/std-c-library-functions-vs-stream-checker.c
M clang/test/Analysis/std-c-library-functions.c
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p2.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p5.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p7.cpp
M clang/test/FixIt/fixit-format-ios-nopedantic.m
M clang/test/FixIt/format.m
M clang/test/Sema/format-strings-fixit-ssize_t.c
M clang/test/Sema/format-strings-int-typedefs.c
M clang/test/Sema/format-strings-scanf.c
M clang/test/Sema/format-strings-size_t.c
M clang/test/Sema/matrix-type-builtins.c
M clang/test/Sema/ptrauth-atomic-ops.c
M clang/test/Sema/ptrauth.c
M clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
M clang/test/SemaCXX/enum-scoped.cpp
M clang/test/SemaCXX/microsoft-varargs-diagnostics.cpp
M clang/test/SemaCXX/new-delete.cpp
M clang/test/SemaCXX/static-assert-cxx26.cpp
M clang/test/SemaCXX/type-aware-new-delete-basic-free-declarations.cpp
M clang/test/SemaCXX/unavailable_aligned_allocation.cpp
M clang/test/SemaHLSL/Language/AssignArray.hlsl
M clang/test/SemaHLSL/Language/InitListAST.hlsl
M clang/test/SemaObjC/format-size-spec-nsinteger.m
M clang/test/SemaObjC/matrix-type-builtins.m
M clang/test/SemaOpenCL/cl20-device-side-enqueue.cl
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/tools/libclang/CIndex.cpp
M libcxx/test/libcxx/containers/sequences/deque/spare_block_handling.pass.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[Clang] Make the SizeType, SignedSizeType and PtrdiffType be named sugar types instead of built-in types (#143653)
Including the results of `sizeof`, `sizeof...`, `__datasizeof`,
`__alignof`, `_Alignof`, `alignof`, `_Countof`, `size_t` literals, and
signed `size_t` literals, the results of pointer-pointer subtraction and
checks for standard library functions (and their calls).
The goal is to enable clang and downstream tools such as clangd and
clang-tidy to provide more portable hints and diagnostics.
The previous discussion can be found at #136542.
This PR implements this feature by introducing a new subtype of `Type`
called `PredefinedSugarType`, which was considered appropriate in
discussions. I tried to keep `PredefinedSugarType` simple enough yet not
limited to `size_t` and `ptrdiff_t` so that it can be used for other
purposes. `PredefinedSugarType` wraps a canonical `Type` and provides a
name, conceptually similar to a compiler internal `TypedefType` but
without depending on a `TypedefDecl` or a source file.
Additionally, checks for the `z` and `t` format specifiers in format
strings for `scanf` and `printf` were added. It will precisely match
expressions using `typedef`s or built-in expressions.
The affected tests indicates that it works very well.
Several code require that `SizeType` is canonical, so I kept `SizeType`
to its canonical form.
The failed tests in CI are allowed to fail. See the
[comment](https://github.com/llvm/llvm-project/pull/135386#issuecomment-3049426611)
in another PR #135386.
Commit: 52a9c493e62c8af8f1299cae0babb92f2693065b
https://github.com/llvm/llvm-project/commit/52a9c493e62c8af8f1299cae0babb92f2693065b
Author: Liao Chunyu <chunyu at iscas.ac.cn>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorMaskDAGMutation.cpp
M llvm/test/CodeGen/RISCV/rvv/combine-reduce-add-to-vcpop.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-i1.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
A llvm/test/CodeGen/RISCV/rvv/reproducer-pr146855.ll
M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
Log Message:
-----------
Reland "[RISCV] AddEdge between mask producer and user of V0 (#146855)" (#148566)
The defmask vector cannot contain instructions that use V0.
for `MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/mesh.cpp`
Save `%173:vrm2nov0 = PseudoVMERGE_VVM_M2 undef %173:vrm2nov0(tied-def
0), %116:vrm2, %173:vrm2nov0, killed $v0, -1, 5 `to def mask caused crash.
Commit: df56b1a2cf06d1954a9cd1a290a264375f47440d
https://github.com/llvm/llvm-project/commit/df56b1a2cf06d1954a9cd1a290a264375f47440d
Author: Kelvin Li <kli at ca.ibm.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/alloc-32.fir
M flang/test/Fir/alloc.fir
M flang/test/Fir/arrexp.fir
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Lower/forall/character-1.f90
Log Message:
-----------
[flang] handle allocation of zero-sized objects (#149165)
This PR handles the allocation of zero-sized objects for different
implementations. One byte is allocated for the zero-sized objects.
Commit: 4c85bf2fe8042c855c9dd5be4b02191e9d071ffd
https://github.com/llvm/llvm-project/commit/4c85bf2fe8042c855c9dd5be4b02191e9d071ffd
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/FormatString.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/TypeNodes.td
M clang/include/clang/Serialization/TypeBitCodes.def
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/PrintfFormatString.cpp
M clang/lib/AST/ScanfFormatString.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
M clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
M clang/test/AST/ast-dump-array.cpp
M clang/test/AST/ast-dump-expr-json.c
M clang/test/AST/ast-dump-expr-json.cpp
M clang/test/AST/ast-dump-expr.c
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-openmp-distribute-parallel-for-simd.c
M clang/test/AST/ast-dump-openmp-distribute-parallel-for.c
M clang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for-simd.c
M clang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for.c
M clang/test/AST/ast-dump-openmp-teams-distribute-parallel-for-simd.c
M clang/test/AST/ast-dump-openmp-teams-distribute-parallel-for.c
M clang/test/AST/ast-dump-stmt-json.cpp
M clang/test/AST/ast-dump-stmt.cpp
M clang/test/AST/ast-dump-traits.cpp
M clang/test/AST/ast-dump-types-errors-json.cpp
M clang/test/Analysis/cfg.cpp
M clang/test/Analysis/explain-svals.cpp
M clang/test/Analysis/std-c-library-functions-arg-weakdeps.c
M clang/test/Analysis/std-c-library-functions-lookup.c
M clang/test/Analysis/std-c-library-functions-vs-stream-checker.c
M clang/test/Analysis/std-c-library-functions.c
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p2.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p5.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p7.cpp
M clang/test/FixIt/fixit-format-ios-nopedantic.m
M clang/test/FixIt/format.m
M clang/test/Sema/format-strings-fixit-ssize_t.c
M clang/test/Sema/format-strings-int-typedefs.c
M clang/test/Sema/format-strings-scanf.c
M clang/test/Sema/format-strings-size_t.c
M clang/test/Sema/matrix-type-builtins.c
M clang/test/Sema/ptrauth-atomic-ops.c
M clang/test/Sema/ptrauth.c
M clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
M clang/test/SemaCXX/enum-scoped.cpp
M clang/test/SemaCXX/microsoft-varargs-diagnostics.cpp
M clang/test/SemaCXX/new-delete.cpp
M clang/test/SemaCXX/static-assert-cxx26.cpp
M clang/test/SemaCXX/type-aware-new-delete-basic-free-declarations.cpp
M clang/test/SemaCXX/unavailable_aligned_allocation.cpp
M clang/test/SemaHLSL/Language/AssignArray.hlsl
M clang/test/SemaHLSL/Language/InitListAST.hlsl
M clang/test/SemaObjC/format-size-spec-nsinteger.m
M clang/test/SemaObjC/matrix-type-builtins.m
M clang/test/SemaOpenCL/cl20-device-side-enqueue.cl
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/tools/libclang/CIndex.cpp
M libcxx/test/libcxx/containers/sequences/deque/spare_block_handling.pass.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
Revert "[Clang] Make the SizeType, SignedSizeType and PtrdiffType be named sugar types instead of built-in types (#143653)"
This reverts commit c27e283cfbca2bd22f34592430e98ee76ed60ad8.
A builbot failure has been reported:
https://lab.llvm.org/buildbot/#/builders/186/builds/10819/steps/10/logs/stdio
I'm also getting a large number of warnings related to %zu and %zx.
Commit: aecd44818adcc26c0535e779629682c76ea44832
https://github.com/llvm/llvm-project/commit/aecd44818adcc26c0535e779629682c76ea44832
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tanh.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_tanh_f16` on gfx1250 (#149439)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: fb81a0dd9ebe42702190a56db5c9dae7a3dbaec7
https://github.com/llvm/llvm-project/commit/fb81a0dd9ebe42702190a56db5c9dae7a3dbaec7
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
A llvm/test/Transforms/LoopInterchange/fp-reductions.ll
M llvm/test/Transforms/LoopInterchange/reductions-non-wrapped-operations.ll
Log Message:
-----------
[LoopInterchange][NFCI] Split reductions-non-wrapped-operations.ll (#149449)
This test has grown too big. Having one for float for int would be more
manageable.
Commit: 3eb07996b1d6874e4c288a49712d2a5ada57cd2d
https://github.com/llvm/llvm-project/commit/3eb07996b1d6874e4c288a49712d2a5ada57cd2d
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
Log Message:
-----------
[GVN][NFCI] Use early return in phiTranslateImpl() (#149273)
Commit: 4e6157f7844cc801bc84ac06f53052e8c6d6c478
https://github.com/llvm/llvm-project/commit/4e6157f7844cc801bc84ac06f53052e8c6d6c478
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/Contributing.rst
Log Message:
-----------
[clang-tidy][NFC] Add mention of running 'clang-tidy' on changes in Contributing.rst (#148547)
Follow up to https://github.com/llvm/llvm-project/pull/147793.
_Originally suggested by carlosgalvezp in
https://github.com/llvm/llvm-project/pull/147793#issuecomment-3059021433_
Commit: a8f5e9ed6b44562938ce07e2790be90be8f0a6b5
https://github.com/llvm/llvm-project/commit/a8f5e9ed6b44562938ce07e2790be90be8f0a6b5
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a regression of annotating PointerOrReference (#149039)
Fixes #149010
Commit: 03fe1a493d55cfc27a32ee3064639b86cb54d16a
https://github.com/llvm/llvm-project/commit/03fe1a493d55cfc27a32ee3064639b86cb54d16a
Author: Jorn Tuyls <jorn.tuyls at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
A llvm/test/CodeGen/AMDGPU/sgpr-to-vreg1-copy.ll
A llvm/test/CodeGen/AMDGPU/sgpr-to-vreg1-copy.mir
Log Message:
-----------
[AMDGPU] Fix sgpr to vreg_1 copy analysis (#149181)
Commit: de453e86977adf4f418b003b5c25931b8365c9cc
https://github.com/llvm/llvm-project/commit/de453e86977adf4f418b003b5c25931b8365c9cc
Author: Wanyi <wanyi at meta.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
Log Message:
-----------
[lldb-dap] Fix type req->arguments == "disconnect" (#149446)
This typo was introduced in PR #140331. This branch will never get
executed. We also set the `disconnecting = true` in the
`DAP::Disconnect()` so I am not sure if we need it in both places.
Commit: f761d73265119eeb3b1ab64543e6d3012078ad13
https://github.com/llvm/llvm-project/commit/f761d73265119eeb3b1ab64543e6d3012078ad13
Author: Shoreshen <372660931 at qq.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
M llvm/test/CodeGen/AMDGPU/fminimum3.ll
M llvm/test/CodeGen/AMDGPU/fnearbyint.ll
M llvm/test/CodeGen/AMDGPU/fract-match.ll
M llvm/test/CodeGen/AMDGPU/llvm.frexp.ll
M llvm/test/CodeGen/AMDGPU/llvm.rint.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.round.f64.ll
M llvm/test/CodeGen/AMDGPU/lround.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/AMDGPU/roundeven.ll
M llvm/test/CodeGen/AMDGPU/select-undef.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umin.ll
Log Message:
-----------
[AMDGPU] Add freeze for LowerSELECT (#148796)
Trying to solve https://github.com/llvm/llvm-project/issues/147635
Add freeze for legalizer when breaking i64 select to 2 i32 select.
Several tests changed, still need to investigate why.
---------
Co-authored-by: Shilei Tian <i at tianshilei.me>
Commit: 5fe9b5235298dc67864e947ea23df201aec177fc
https://github.com/llvm/llvm-project/commit/5fe9b5235298dc67864e947ea23df201aec177fc
Author: Shoreshen <372660931 at qq.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
M llvm/test/CodeGen/AMDGPU/fminimum3.ll
M llvm/test/CodeGen/AMDGPU/fnearbyint.ll
M llvm/test/CodeGen/AMDGPU/fract-match.ll
M llvm/test/CodeGen/AMDGPU/freeze.ll
M llvm/test/CodeGen/AMDGPU/llvm.frexp.ll
M llvm/test/CodeGen/AMDGPU/llvm.rint.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.round.f64.ll
M llvm/test/CodeGen/AMDGPU/lround.ll
M llvm/test/CodeGen/AMDGPU/roundeven.ll
Log Message:
-----------
Add FABS to canCreateUndefOrPoison (#149440)
FABS will not create undef/poison, add it into canCreateUndefOrPoison
return false
Commit: 06528070fce04d580821b3448f1d5321e0a9a97b
https://github.com/llvm/llvm-project/commit/06528070fce04d580821b3448f1d5321e0a9a97b
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h
M llvm/include/llvm/IR/PassManager.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/lib/CodeGen/MachineFunctionAnalysis.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
M llvm/test/tools/llc/new-pm/start-stop.ll
Log Message:
-----------
[CodeGen][NPM] Clear MachineFunctions without using PA (#148113)
same as https://github.com/llvm/llvm-project/pull/139517
This replaces the InvalidateAnalysisPass<MachineFunctionAnalysis> pass.
There are no cross-function analysis requirements right now, so clearing
all analyses works for the last pass in the pipeline.
Having the InvalidateAnalysisPass<MachineFunctionAnalysis>() is causing
a problem with ModuleToCGSCCPassAdaptor by deleting machine functions
for other functions and ending up with exactly one correctly compiled
MF, with the rest being vanished.
This is because ModuleToCGSCCPAdaptor propagates PassPA (received from
the CGSCCToFunctionPassAdaptor that runs the actual codegen pipeline on
MFs) to the next SCC. That causes MFA invalidation on functions in the
next SCC.
For us, PassPA happens to be returned from
invalidate<machine-function-analysis> which abandons the
MachineFunctionAnalysis. So while the first function runs through the
pipeline normally, invalidate also deletes the functions in the next SCC
before its pipeline is run. (this seems to be the intended mechanism of
the CG adaptor to allow cross-SCC invalidations.
Co-authored-by : Oke, Akshat
<[Akshat.Oke at amd.com](mailto:Akshat.Oke at amd.com)>
Commit: 1614c3b3c74b50dc6d5a7f359897bca221de931b
https://github.com/llvm/llvm-project/commit/1614c3b3c74b50dc6d5a7f359897bca221de931b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
M llvm/test/CodeGen/AMDGPU/inflate-av-remat-imm.mir
M llvm/test/CodeGen/AMDGPU/inflated-reg-class-snippet-copy-use-after-free.mir
M llvm/test/CodeGen/AMDGPU/regalloc-undef-copy-fold.mir
M llvm/test/CodeGen/AMDGPU/spill-agpr.mir
M llvm/test/CodeGen/AMDGPU/swdev502267-use-after-free-last-chance-recoloring-alloc-succeeds.mir
Log Message:
-----------
AMDGPU: Always use AV spill pseudos on targets with AGPRs (#149099)
This increases allocator freedom to inflate register classes
to the AV class, we don't need to introduce a new restriction
by basing the opcode on the current virtual register class.
Ideally we would avoid this if we don't have any allocatable
AGPRs for the function, but it probably doesn't make much
difference in the end result if they are excluded from the
final allocation order.
Commit: c435cd173059863b44262ace75e0f381bbc6cb86
https://github.com/llvm/llvm-project/commit/c435cd173059863b44262ace75e0f381bbc6cb86
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/switch-dup-bbs.ll
M llvm/test/Transforms/SimplifyCFG/switch-range-to-icmp.ll
Log Message:
-----------
[SimplifyCFG] Cache unique predecessors in `simplifyDuplicateSwitchArms`
Avoid repeatedly querying `getUniquePredecessor` for already-visited
switch successors so as not to incur quadratic runtime.
Fixes: https://github.com/llvm/llvm-project/issues/147239.
Commit: 176ae32de060d8c4767904bf16fbde3faa59b60a
https://github.com/llvm/llvm-project/commit/176ae32de060d8c4767904bf16fbde3faa59b60a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/accvgpr-copy.mir
Log Message:
-----------
AMDGPU: Fix introducing use of killed vgpr in gfx908 agpr copy (#149291)
When searching for an existing VGPR source for an AGPR to AGPR
copy on gfx908, this wasn't verifying the vgpr wasn't killed by
other prior uses.
Commit: 90f733ce6eaea6930c31d7aa320e18a5ef00ac75
https://github.com/llvm/llvm-project/commit/90f733ce6eaea6930c31d7aa320e18a5ef00ac75
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling.ll
A llvm/test/Transforms/LoopUnroll/partial-unroll-reductions.ll
A llvm/test/Transforms/LoopUnroll/runtime-unroll-reductions.ll
Log Message:
-----------
[LoopUnroll] Add tests for unrolling loops with reductions.
Add tests for unrolling loops with reductions. In some cases, multiple
parallel reduction phis could be retained to improve performance.
Commit: 5bac67d9213da8afa0e35199395774ca3c7daa39
https://github.com/llvm/llvm-project/commit/5bac67d9213da8afa0e35199395774ca3c7daa39
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
Log Message:
-----------
[AMDGPU] Use SIRegisterInfo to compute used registers. NFCI (#149051)
Simplify the code in AMDGPUResourceUsageAnalysis to rely more
on the TargetRegisterInfo for computing the number of used SGPRs and
AGPRs. This is a preliminary refactoring split out from #144855.
(While we could technically use TRI to compute the used number of VGPRs
at this point too, I'm leaving some of the original code in since for
VGPRs we're going to introduce some special cases).
Commit: beec840822867079b829f35cbd4b360aa8971438
https://github.com/llvm/llvm-project/commit/beec840822867079b829f35cbd4b360aa8971438
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaConcept.cpp
M clang/test/SemaTemplate/concepts-using-decl.cpp
Log Message:
-----------
[Clang] Ensure correct parameters are in the scope for constraint equivalence checking (#149264)
This is another case where untransformed constraint expressions led to
inconsistent transforms.
We did fix some of those issues by looking at parent scopes, however the
parent instantiation scope is not always available because we could also
reach here after the parents get instantiated.
Fixes #146614
Commit: 2a1869b9815c1f59af9eae91a3ef7e7d78e8f4f2
https://github.com/llvm/llvm-project/commit/2a1869b9815c1f59af9eae91a3ef7e7d78e8f4f2
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/unittests/Transforms/Utils/DebugifyTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[DebugInfo] Shave even more users of DbgVariableIntrinsic from LLVM (#149136)
At this stage I'm just opportunistically deleting any code using
debug-intrinsic types, largely adjacent to calls to findDbgUsers. I'll
get to deleting that in probably one or more two commits.
Commit: 74c396afb26dec74c0b799e218c63f1a26e90d21
https://github.com/llvm/llvm-project/commit/74c396afb26dec74c0b799e218c63f1a26e90d21
Author: clubby789 <jamie at hill-daniel.co.uk>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/test/Transforms/DeadStoreElimination/zeroed-missing.ll
Log Message:
-----------
[DSE] Remove `uninitialized` from `allockind` when creating dummy zeroed variant function (#149336)
cc https://github.com/llvm/llvm-project/pull/138299
rustc sets `allockind("uninitialized")` - if we copy the attributes
as-is when creating a dummy function, Verify complains about
`allockind("uninitialized,zeroed")` conflicting, so we need to clear the
flag.
Co-authored-by: Jamie Hill-Daniel <jamie at osec.io>
Commit: 3f991f5067bd45064af4afb0594ab5d614e357df
https://github.com/llvm/llvm-project/commit/3f991f5067bd45064af4afb0594ab5d614e357df
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBlock.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode][NFC] Remove unused includes (#149460)
Commit: 1e7446fe45f2de473fe180a065733f68ced8e653
https://github.com/llvm/llvm-project/commit/1e7446fe45f2de473fe180a065733f68ced8e653
Author: Trevor Gross <tmgross at umich.edu>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Target/X86/X86CallingConv.cpp
Log Message:
-----------
[X86] Correct an assertion message (NFC) (#149386)
I introduced this in a78a0f8d2043 ("[X86] Align f128 and i128 to 16
bytes"). Correct the message here.
Commit: cda28e203d8f396af65cd4e19c62cfaa58480280
https://github.com/llvm/llvm-project/commit/cda28e203d8f396af65cd4e19c62cfaa58480280
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
A clang/test/Analysis/div-zero-cxx20.cpp
M clang/test/Analysis/div-zero.cpp
Log Message:
-----------
[analyzer] Support parenthesized list initialization (CXXParenListInitExpr) (#148988)
This patch addresses the lack of support for parenthesized
initialization in the Clang Static Analyzer's `ExprEngine`. Previously,
initializations such as `V v(1, 2);` were not modeled properly, which
could lead to false negatives in analyses like `DivideZero`.
```cpp
struct A {
int x;
A(int v) : x(v) {}
};
int t() {
A a(42);
return 1 / (a.x - 42); // expected-warning {{Division by zero}}
}
```
Fixes #148875
Commit: daa6de37bac9e547d37a3c5f2c9a51559679a7ed
https://github.com/llvm/llvm-project/commit/daa6de37bac9e547d37a3c5f2c9a51559679a7ed
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/ptradd-sdag-optimizations.ll
Log Message:
-----------
[AMDGPU][SDAG] Add target-specific ISD::PTRADD combines (#143673)
This patch adds several (AMDGPU-)target-specific DAG combines for
ISD::PTRADD nodes that reproduce existing similar transforms for
ISD::ADD nodes. There is no functional change intended for the existing
target-specific PTRADD combine.
For SWDEV-516125.
Commit: efedd49a22832f8b0981a084c503cdcdf4ed8e65
https://github.com/llvm/llvm-project/commit/efedd49a22832f8b0981a084c503cdcdf4ed8e65
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/ptradd-sdag-optimizations.ll
Log Message:
-----------
[AMDGPU][SDAG] Test ISD::PTRADD handling in VOP3 patterns (#143880)
Pre-committing tests to show improvements in a follow-up PR.
Commit: 64a0478e08829ec6bcae2b05e154aa58c2c46ac0
https://github.com/llvm/llvm-project/commit/64a0478e08829ec6bcae2b05e154aa58c2c46ac0
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
M llvm/test/CodeGen/LoongArch/calling-conv-common.ll
M llvm/test/CodeGen/LoongArch/calling-conv-half.ll
M llvm/test/CodeGen/LoongArch/can-not-realign-stack.ll
M llvm/test/CodeGen/LoongArch/emergency-spill-slot.ll
M llvm/test/CodeGen/LoongArch/frame.ll
M llvm/test/CodeGen/LoongArch/intrinsic-memcpy.ll
M llvm/test/CodeGen/LoongArch/lasx/fpowi.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/extractelement.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
M llvm/test/CodeGen/LoongArch/llvm.sincos.ll
A llvm/test/CodeGen/LoongArch/lsx/pr146455.ll
M llvm/test/CodeGen/LoongArch/stack-realignment-with-variable-sized-objects.ll
M llvm/test/CodeGen/LoongArch/stack-realignment.ll
M llvm/test/CodeGen/LoongArch/unaligned-memcpy-inline.ll
M llvm/test/CodeGen/LoongArch/vararg.ll
Log Message:
-----------
[LoongArch] Strengthen stack size estimation for LSX/LASX extension (#146455)
This patch adds an emergency spill slot when ran out of registers.
PR #139201 introduces `vstelm` instructions with only 8-bit imm offset,
it causes no spill slot to store the spill registers.
Commit: a96121089b9c94e08c6632f91f2dffc73c0ffa28
https://github.com/llvm/llvm-project/commit/a96121089b9c94e08c6632f91f2dffc73c0ffa28
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/include/llvm/ADT/StringTable.h
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Object/IRSymtab.cpp
M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
Log Message:
-----------
Revert "RuntimeLibcalls: Add methods to recognize libcall names (#149001)"
This reverts commit 45477add8dfe9851605697bd908b49f0ec244625.
This causes a significant LTO compile-time regression.
Commit: 8f3e78f9715cb7085d03686c7bd72e20ce248b04
https://github.com/llvm/llvm-project/commit/8f3e78f9715cb7085d03686c7bd72e20ce248b04
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
A llvm/lib/Target/AMDGPU/AMDGPUPrepareAGPRAlloc.cpp
A llvm/lib/Target/AMDGPU/AMDGPUPrepareAGPRAlloc.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/CMakeLists.txt
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/agpr-remat.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-prepare-agpr-alloc.mir
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.ll
M llvm/test/CodeGen/AMDGPU/no-fold-accvgpr-mov.ll
M llvm/test/CodeGen/AMDGPU/no-fold-accvgpr-mov.mir
M llvm/test/CodeGen/AMDGPU/no-fold-accvgpr-read.mir
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
Log Message:
-----------
AMDGPU: Add pass to replace constant materialize with AV pseudos (#149292)
If we have a v_mov_b32 or v_accvgpr_write_b32 with an inline immediate,
replace it with a pseudo which writes to the combined AV_* class. This
relaxes the operand constraints, which will allow the allocator to
inflate the register class to AV_* to potentially avoid spilling.
The allocator does not know how to replace an instruction to enable
the change of register class. I originally tried to do this by changing
all of the places we introduce v_mov_b32 with immediate, but it's along
tail of niche cases that require manual updating. Plus we can restrict
this to only run on functions where we know we will be allocating AGPRs.
Commit: 20fc297ce3c2a2151bf618cf515f2b1981d4821c
https://github.com/llvm/llvm-project/commit/20fc297ce3c2a2151bf618cf515f2b1981d4821c
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
A llvm/test/Transforms/LoopVectorize/AArch64/maxbandwidth-regpressure.ll
Log Message:
-----------
[LoopVectorizer] Only check register pressure for VFs that have been enabled via maxBandwidth (#149056)
Currently if MaxBandwidth is enabled, the register pressure is checked
for each VF. This changes that to only perform said check if the VF
would not have otherwise been considered by the LoopVectorizer if
maxBandwidth was not enabled.
Theoretically this allows for higher VFs to be considered than would
otherwise be deemed "safe" (from a regpressure perspective), but more
concretely this reduces the amount of work done at compile-time when
maxBandwidth is enabled.
Commit: 88721d63d482cf8f95deb66e74462b2cf583be8f
https://github.com/llvm/llvm-project/commit/88721d63d482cf8f95deb66e74462b2cf583be8f
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M lldb/test/Shell/SymbolFile/PDB/Inputs/UdtLayoutTest.script
Log Message:
-----------
[lldb][test] Fix PDB UdtLayoutTest
https://github.com/llvm/llvm-project/pull/149282 changed
the max children depth and that caused one part of the
output to become `{...}`.
The original PR set a higher limit for a different test,
so I'm doing the same here.
Commit: 3ce06b8c2196be6368f0e06862ac1849379cce41
https://github.com/llvm/llvm-project/commit/3ce06b8c2196be6368f0e06862ac1849379cce41
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
M clang/test/Driver/print-multi-selection-flags.c
Log Message:
-----------
[Clang][Driver] Expose relocation model as multilib flags (#149132)
If a multilib collection contains libraries built for different methods
of accessing global data (via absolute address, or via a GOT in -fPIC
style, or as an offset from a fixed register in Arm -frwpi style), then
`multilib.yaml` will need to know which relocation model an application
is using in order to select the right library.
Even if a multilib collection only supports one relocation model, it's
still useful for `multilib.yaml` to be able to tell if the user has
selected the right one, so as to give a useful error message if they
haven't, instead of silently selecting a library that won't work.
In this commit we determine the PIC / ROPI / RWPI status using the
existing logic in `ParsePICArgs`, and translate it back into a canonical
set of multilib selection flags.
Commit: 28208c8e2713cdbc3ad39314e1cbd5c9efbe48d7
https://github.com/llvm/llvm-project/commit/28208c8e2713cdbc3ad39314e1cbd5c9efbe48d7
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
Log Message:
-----------
[DebugInfo] Remove debug-intrinsic coroutine codepaths (#149068)
There are a few duplicate paths/facilities in the coroutine code to deal
with both intrinsics and debug-records; we can now delete the intrinsic
version.
Commit: d883d5fecf8aa7db6daa0b163599d42ca00c5808
https://github.com/llvm/llvm-project/commit/d883d5fecf8aa7db6daa0b163599d42ca00c5808
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/bad-agpr-vgpr-regalloc-priority.mir
Log Message:
-----------
AMDGPU: Add testcase with bad regalloc behavior
This demonstrates poor allocation due to not ordering
AV classes relative to the A and V classes
Commit: 534b9cdddde2d4f11516a8f689c6ba23a29b8bdc
https://github.com/llvm/llvm-project/commit/534b9cdddde2d4f11516a8f689c6ba23a29b8bdc
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LoopVectorizer][NFC] Update comment regarding VF register pressure. (#149478)
Commit: df9a864b046bb716e56f81409f6a01a17f3181d6
https://github.com/llvm/llvm-project/commit/df9a864b046bb716e56f81409f6a01a17f3181d6
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/unittests/OffloadAPI/common/Fixtures.hpp
M offload/unittests/OffloadAPI/event/olWaitEvent.cpp
Log Message:
-----------
[Offload] Implement event sync in amdgpu (#149300)
Commit: 3121cc31baa1aed697cc07c72d283891ffa529f6
https://github.com/llvm/llvm-project/commit/3121cc31baa1aed697cc07c72d283891ffa529f6
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M lldb/test/API/functionalities/data-formatter/nsdictionarysynth/TestNSDictionarySynthetic.py
Log Message:
-----------
[lldb][test] TestNSDictionarySynthetic.py: adjust ptr depth in test
Fixes failure after we introduced a default limit in
https://github.com/llvm/llvm-project/pull/149282
We already did this test change on the Apple fork.
Commit: 0b7a95a6fd81b31634a3723a0bea6d9d91bbc230
https://github.com/llvm/llvm-project/commit/0b7a95a6fd81b31634a3723a0bea6d9d91bbc230
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/include/llvm/ADT/StringTable.h
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
Log Message:
-----------
Partially Reapply "RuntimeLibcalls: Add methods to recognize libcall names (#149001)"
This partially reverts commit a96121089b9c94e08c6632f91f2dffc73c0ffa28.
Drop the IRSymtab changes for now
Commit: 3bb4355bb83692d9c859043076db16baa86431e1
https://github.com/llvm/llvm-project/commit/3bb4355bb83692d9c859043076db16baa86431e1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/test/AST/ByteCode/unions.cpp
Log Message:
-----------
[clang][bytecode] Report mutable reads when copying unions (#149320)
Commit: b7660a54157fd45e6276acf35176851196f5df71
https://github.com/llvm/llvm-project/commit/b7660a54157fd45e6276acf35176851196f5df71
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/mutable.cpp
Log Message:
-----------
[clang][bytecode] Fix const-in-mutable fields (#149286)
For mutable and const fields, we have two bits in InlineDescriptor,
which both get inherited down the hierarchy. When a field is both const
and mutable, we CAN read from it if it is a mutable-in-const field, but
we _can't_ read from it if it is a const-in-mutable field. We need
another bit to distinguish the two cases.
Commit: b5e3fffd20a72d3451e31ac37ca4930014044cd0
https://github.com/llvm/llvm-project/commit/b5e3fffd20a72d3451e31ac37ca4930014044cd0
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/maxbandwidth-regpressure.ll
Log Message:
-----------
[LoopVectorizer][NFC] Require asserts on maxbandwidth-regpressure.ll (#149484)
Fix for buildbot failure:
https://lab.llvm.org/buildbot/#/builders/11/builds/19837
Commit: ee8756e8551bc9ae5bf60e1ff16abaa95d61c234
https://github.com/llvm/llvm-project/commit/ee8756e8551bc9ae5bf60e1ff16abaa95d61c234
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineBlockFrequencyInfo.h
M llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp
Log Message:
-----------
[LLVM] Make `MachineBlockFrequencyInfo`'s constructor arguments const (NFC) (#149279)
This avoids having to call `MachineBlockFrequencyInfo::calculate`
manually if one of the parameters is const.
Commit: 9e0c06d708a40bb3c8bd08acd982836cce718135
https://github.com/llvm/llvm-project/commit/9e0c06d708a40bb3c8bd08acd982836cce718135
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/test/CodeGen/64bit-swiftcall.c
M clang/test/CodeGen/AArch64/byval-temp.c
M clang/test/CodeGen/AArch64/pure-scalable-args-empty-union.c
M clang/test/CodeGen/AArch64/pure-scalable-args.c
M clang/test/CodeGen/AArch64/struct-coerce-using-ptr.cpp
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
M clang/test/CodeGen/LoongArch/bitint.c
M clang/test/CodeGen/PowerPC/ppc64-vector.c
M clang/test/CodeGen/RISCV/riscv-abi.cpp
M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.c
M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.cpp
M clang/test/CodeGen/RISCV/riscv32-abi.c
M clang/test/CodeGen/RISCV/riscv32-vararg.c
M clang/test/CodeGen/RISCV/riscv64-abi.c
M clang/test/CodeGen/RISCV/riscv64-vararg.c
M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
M clang/test/CodeGen/SystemZ/systemz-abi.c
M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
M clang/test/CodeGen/X86/cx-complex-range.c
M clang/test/CodeGen/X86/x86_32-arguments-win32.c
M clang/test/CodeGen/X86/x86_64-arguments-win32.c
M clang/test/CodeGen/aapcs64-align.cpp
M clang/test/CodeGen/arm-aapcs-vfp.c
M clang/test/CodeGen/arm-abi-vector.c
M clang/test/CodeGen/arm-swiftcall.c
M clang/test/CodeGen/arm64-abi-vector.c
M clang/test/CodeGen/arm64-arguments.c
M clang/test/CodeGen/arm64-microsoft-arguments.cpp
M clang/test/CodeGen/armv7k-abi.c
M clang/test/CodeGen/atomic-arm64.c
M clang/test/CodeGen/attr-noundef.cpp
M clang/test/CodeGen/cx-complex-range.c
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
M clang/test/CodeGen/mingw-long-double.c
M clang/test/CodeGen/ms_abi.c
M clang/test/CodeGen/pass-by-value-noalias.c
M clang/test/CodeGen/ptrauth-in-c-struct.c
M clang/test/CodeGen/regcall.c
M clang/test/CodeGen/regcall2.c
M clang/test/CodeGen/regcall4.c
M clang/test/CodeGen/sparcv9-abi.c
M clang/test/CodeGen/vectorcall.c
M clang/test/CodeGen/win-fp128.c
M clang/test/CodeGen/win64-i128.c
M clang/test/CodeGen/windows-swiftcall.c
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
M clang/test/CodeGenCXX/arm-cc.cpp
M clang/test/CodeGenCXX/attr-target-mv-inalloca.cpp
M clang/test/CodeGenCXX/copy-initialization.cpp
M clang/test/CodeGenCXX/debug-info.cpp
M clang/test/CodeGenCXX/empty-nontrivially-copyable.cpp
M clang/test/CodeGenCXX/fastcall.cpp
M clang/test/CodeGenCXX/homogeneous-aggregates.cpp
M clang/test/CodeGenCXX/inalloca-lambda.cpp
M clang/test/CodeGenCXX/inalloca-overaligned.cpp
M clang/test/CodeGenCXX/inalloca-vector.cpp
M clang/test/CodeGenCXX/inheriting-constructor.cpp
M clang/test/CodeGenCXX/member-function-pointer-calls.cpp
M clang/test/CodeGenCXX/microsoft-abi-arg-order.cpp
M clang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
M clang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
M clang/test/CodeGenCXX/microsoft-abi-unknown-arch.cpp
M clang/test/CodeGenCXX/ms-property.cpp
M clang/test/CodeGenCXX/nrvo.cpp
M clang/test/CodeGenCXX/pass-by-value-noalias.cpp
M clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
M clang/test/CodeGenCXX/regparm.cpp
M clang/test/CodeGenCXX/trivial_abi.cpp
M clang/test/CodeGenCXX/uncopyable-args.cpp
M clang/test/CodeGenCXX/wasm-args-returns.cpp
M clang/test/CodeGenCXX/windows-x86-swiftcall.cpp
M clang/test/CodeGenObjC/nontrivial-c-struct-exception.m
M clang/test/CodeGenObjC/pass-by-value-noalias.m
M clang/test/CodeGenObjC/weak-in-c-struct.m
M clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
M clang/test/CodeGenObjCXX/property-objects.mm
M clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
M clang/test/Headers/stdarg.cpp
M clang/test/OpenMP/for_firstprivate_codegen.cpp
M clang/test/OpenMP/parallel_firstprivate_codegen.cpp
M clang/test/OpenMP/sections_firstprivate_codegen.cpp
M clang/test/OpenMP/single_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
Log Message:
-----------
[clang][CodeGen] Set `dead_on_return` when passing arguments indirectly
Let Clang emit `dead_on_return` attribute on pointer arguments
that are passed indirectly, namely, large aggregates that the
ABI mandates be passed by value; thus, the parameter is destroyed
within the callee. Writes to such arguments are not observable by
the caller after the callee returns.
This should desirably enable further MemCpyOpt/DSE optimizations.
Previous discussion: https://discourse.llvm.org/t/rfc-add-dead-on-return-attribute/86871.
Commit: 4fbe88fc46989b5b4e3b8913a915c7a3cd188bdf
https://github.com/llvm/llvm-project/commit/4fbe88fc46989b5b4e3b8913a915c7a3cd188bdf
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/TargetParser/X86TargetParser.cpp
Log Message:
-----------
[NFC] Add parentheses around arithmetic operand (#149489)
Commit: c9d8b68676dbf51996a76475313088f750697343
https://github.com/llvm/llvm-project/commit/c9d8b68676dbf51996a76475313088f750697343
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SSAUpdater.h
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/MachineDebugify.cpp
M llvm/lib/Transforms/Coroutines/SpillUtils.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/SSAUpdater.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/unittests/CodeGen/LexicalScopesTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
Log Message:
-----------
[DebugInfo] Suppress lots of users of DbgValueInst (#149476)
This is another prune of dead code -- we never generate debug intrinsics
nowadays, therefore there's no need for these codepaths to run.
---------
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: 369f749dc434ec0339f5fb13376e1bc92e1d51d9
https://github.com/llvm/llvm-project/commit/369f749dc434ec0339f5fb13376e1bc92e1d51d9
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/split-node-reorder-node-with-ops.ll
Log Message:
-----------
[SLP] Remove lifetime.start on null pointer in test (NFC)
Commit: 6c63316ee17462c97c722a960680b2b45d2fff4d
https://github.com/llvm/llvm-project/commit/6c63316ee17462c97c722a960680b2b45d2fff4d
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M flang/lib/Lower/ConvertVariable.cpp
M flang/test/Lower/CUDA/cuda-set-allocator.cuf
Log Message:
-----------
[flang][cuda] Support device component in a pointer or allocatable derived-type (#149418)
Commit: 4bbc70ed28a85036fb718e86424bb1d8a643005f
https://github.com/llvm/llvm-project/commit/4bbc70ed28a85036fb718e86424bb1d8a643005f
Author: Nico Weber <thakis at chromium.org>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
A llvm/utils/gn/secondary/llvm/tools/llvm-ir2vec/BUILD.gn
Log Message:
-----------
[gn] port d994487db78 (llvm-ir2vec)
Commit: 8b068149547cb3043e4427899851dc70ca1eb885
https://github.com/llvm/llvm-project/commit/8b068149547cb3043e4427899851dc70ca1eb885
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port 8f3e78f9715c
Commit: 4c701956341ff88f580d240be072461a1ba6d7f5
https://github.com/llvm/llvm-project/commit/4c701956341ff88f580d240be072461a1ba6d7f5
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M mlir/docs/Tutorials/transform/Ch2.md
Log Message:
-----------
[mlir][transform] Fix ch2 and additional documentation (#148407)
Fixed error code in example.In addition to this, the content in the documentation has been improved by adding links to the code repository.
Commit: a9f81430725cb3d9a776d9b743078a452cd8e3aa
https://github.com/llvm/llvm-project/commit/a9f81430725cb3d9a776d9b743078a452cd8e3aa
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/force-interchange.ll
Log Message:
-----------
[LoopInterchange] Ignore the cost-model, force interchange if legal (#148858)
This is and has been proven useful for testing purposes, to get more
test coverage.
Commit: 602d43cfd1fe7cc47146b6327d8df6e5e0ec47ae
https://github.com/llvm/llvm-project/commit/602d43cfd1fe7cc47146b6327d8df6e5e0ec47ae
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
Log Message:
-----------
[Clang][AMDGPU] Add the missing builtin `__builtin_amdgcn_sqrt_bf16` (#149447)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: 311847be4ca911e191c67245799fafe2e4d8ba73
https://github.com/llvm/llvm-project/commit/311847be4ca911e191c67245799fafe2e4d8ba73
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/cuda/src/rtl.cpp
Log Message:
-----------
[Offload] Allow "tagging" device info entries with offload keys (#147317)
When generating the device info tree, nodes can be marked with an
offload Device Info value. The nodes can also look up children based
on this value.
Commit: 03b7766dba2f63ee7c9e67f915ea8394f6426f9a
https://github.com/llvm/llvm-project/commit/03b7766dba2f63ee7c9e67f915ea8394f6426f9a
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M lldb/source/Expression/IRExecutionUnit.cpp
Log Message:
-----------
[lldb][Expression][NFC] Make LoadAddressResolver::m_target a reference (#149490)
The only place that passes a target to `LoadAddressResolver` already
checks for pointer validity. And inside of the resolver we have been
dereferencing the target anyway without nullptr checks. So codify the
non-nullness of `m_target` by making it a reference.
Commit: 6112ebde0cdd31694536d0ac20a38e5f70f6185a
https://github.com/llvm/llvm-project/commit/6112ebde0cdd31694536d0ac20a38e5f70f6185a
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/test/CodeGen/RISCV/short-forward-branch-opt.ll
M llvm/test/CodeGen/RISCV/zdinx-spill.ll
Log Message:
-----------
[RISCV] Guard CFI emission code with MF.needsFrameMoves() (#136060)
Currently, AsmPrinter skips CFI instructions created by a backend if
they are not needed. I'd like to change that so that it always
prints/encodes CFI instructions if a backend created them.
This change should slightly (perhaps negligibly) improve compile time as
post-PEI passes no longer need to skip over these instructions in
no-exceptions no-debug builds, and will allow to simplify convoluted
logic in AsmPrinter once other targets stop emitting CFI instructions
when they are not needed (that's my final goal).
The changes in a test seem to be caused by slightly different post-RA
scheduling in the absence of CFI instructions.
Commit: 7b541c931e975840c0ef86d8ebd16856d17c0c85
https://github.com/llvm/llvm-project/commit/7b541c931e975840c0ef86d8ebd16856d17c0c85
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M .github/workflows/build-ci-container-windows.yml
M .github/workflows/build-ci-container.yml
Log Message:
-----------
[Github] Build CI Containers in Stacked PRs (#149346)
Currently the pull_request event on the build CI container workflows are
restricted to main. This prevents building them on stacked PRs. This is
a bit annoying because we do not get the CI to test that everything is
working until all of the base PRs have landed and the target branch
becomes main.
Commit: 5f531827a4b90f6e0051056fffd8642ae1c677e6
https://github.com/llvm/llvm-project/commit/5f531827a4b90f6e0051056fffd8642ae1c677e6
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
A llvm/test/Transforms/LoopStrengthReduce/X86/lifetime-use.ll
Log Message:
-----------
[LSR] Do not consider uses in lifetime intrinsics (#149492)
We should ignore uses of pointers in lifetime intrinsics, as these are
not actually materialized in the final code, so don't affect register
pressure or anything else LSR needs to model.
Handling these only results in peculiar rewrites where additional
intermediate GEPs are introduced.
Commit: 22076644645a7731f0ec7a81fe78168cf5c2ed63
https://github.com/llvm/llvm-project/commit/22076644645a7731f0ec7a81fe78168cf5c2ed63
Author: bd1976bris <Ben.Dunbobbin at sony.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M clang/test/Sema/dllexport.c
Log Message:
-----------
[Clang][Test] Add PS5 and WI cases to clang/test/Sema/dllexport.c (#148818)
Windows Itanium and PS5 are both Itanium C++ ABI variants which have the
goal of semantic compatibility with Microsoft C++ code that uses
dllimport/export.
This patch adds Windows Itanium and PS5 triple testing to
clang/test/Sema/dllexport.c. We have this testing in our downstream
toolchain - for some reason it was not added upstream when the work for
supporting dllimport/export was done.
Commit: 44cd5027f826d1bc82e5e851d1012cc321806d12
https://github.com/llvm/llvm-project/commit/44cd5027f826d1bc82e5e851d1012cc321806d12
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-intrinsics-ldst-ext.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] List MVTs that are desirable for extending loads. (#149153)
Extend AArch64TargetLowering::isVectorLoadExtDesirable to specify the
set of MVT for which load extension is desirable.
Fixes https://github.com/llvm/llvm-project/issues/148939
Commit: 37ea9d88a3b8224ffa3b117749a74b1f2f1cfb53
https://github.com/llvm/llvm-project/commit/37ea9d88a3b8224ffa3b117749a74b1f2f1cfb53
Author: lntue <lntue at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
Log Message:
-----------
[libc] Fix tests' linking flags accidentally modified by #147931. (#149453)
https://github.com/llvm/llvm-project/pull/147931
Commit: 95b69e0e7014fd6eac98f53125857fddda022a62
https://github.com/llvm/llvm-project/commit/95b69e0e7014fd6eac98f53125857fddda022a62
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.prng.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_prng_b32` on gfx1250 (#149450)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: de959569f7ae468736b5f98ae3ce69b9eb3825ec
https://github.com/llvm/llvm-project/commit/de959569f7ae468736b5f98ae3ce69b9eb3825ec
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/test/Instrumentation/AddressSanitizer/lifetime.ll
Log Message:
-----------
[AddressSanitizer] Generate test checks (NFC)
Commit: 6c705d11365b74b8207dc92f5c94ee7eb682a11b
https://github.com/llvm/llvm-project/commit/6c705d11365b74b8207dc92f5c94ee7eb682a11b
Author: Pengying Xu <xpy66swsry at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M lld/ELF/BPSectionOrderer.cpp
M lld/test/ELF/bp-section-orderer.s
Log Message:
-----------
[lld][elf] Skip BP ordering input sections with null data (#149265)
Commit: fd12e9aed889e4b546a2d5c4d3c0c10582fe9148
https://github.com/llvm/llvm-project/commit/fd12e9aed889e4b546a2d5c4d3c0c10582fe9148
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M libcxx/test/libcxx/fuzzing/random.pass.cpp
M libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp
M libcxx/test/std/numerics/c.math/cmath.pass.cpp
Log Message:
-----------
[libc++][tests] Update XFAIL annotations for some tests on Windows (#149124)
These tests still fail on Windows with clang-22, as reported in #70225.
This started failing due to the version bump to Clang 22.
Commit: fdce69a462101e1dce225014ee545858e363e4e2
https://github.com/llvm/llvm-project/commit/fdce69a462101e1dce225014ee545858e363e4e2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/docs/CodingStandards.rst
Log Message:
-----------
[llvm] Improve grammar and punctuation of LLVM Coding Standards (#149463)
Commit: 151fffccf1340d8a2800664cbcaaa579ba772a4c
https://github.com/llvm/llvm-project/commit/151fffccf1340d8a2800664cbcaaa579ba772a4c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/Runtime.cpp
M flang/lib/Lower/VectorSubscripts.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/Builder/Runtime/Stop.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/Transforms/MemoryUtils.cpp
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
M flang/unittests/Optimizer/FortranVariableTest.cpp
Log Message:
-----------
[flang] Migrate away from ArrayRef(std::nullopt_t) (#149454)
ArrayRef(std::nullopt_t) has been deprecated. This patch replaces
std::nullopt with mlir::TypeRange{} or mlir::ValueRange{} as
appropriate.
Commit: 724cfce5801829340b240ba62e82a7e7199e971d
https://github.com/llvm/llvm-project/commit/724cfce5801829340b240ba62e82a7e7199e971d
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M clang/include/clang/Sema/Overload.h
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
Log Message:
-----------
[Clang] Do not assume a perfect match is a better match than a non-template non-perfect match (#149504)
This fixes a regression introduced by the "perfect match" overload
resolution mechanism introduced in 8c5a307.
[This does regress the performance noticeably (-0.7% for a stage 2
build)](https://llvm-compile-time-tracker.com/compare.php?from=42d2ae1034b287eb60563c370dbf52c59b66db20&to=82303bbc3e003c937ded498ac9f94f49a3fc3d90&stat=instructions:u),
however, the original patch had a +4% performance impact, so we are only
losing some of the gain, and this has
the benefit of being correct and more robust.
Fixes #147374
Commit: 55305db90a3f329bdf7917d1c8bf36b318e33c72
https://github.com/llvm/llvm-project/commit/55305db90a3f329bdf7917d1c8bf36b318e33c72
Author: RolandF77 <froese at ca.ibm.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[PowerPC] Update maintainers (#149171)
Update PowerPC BE maintainers.
Commit: 0e4069580413f3869e94ec1f0f84a085b639226e
https://github.com/llvm/llvm-project/commit/0e4069580413f3869e94ec1f0f84a085b639226e
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M libcxx/include/__config_site.in
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[libc++] Remove unused _LIBCPP_HAS_NO_STD_MODULES macro from __config_site (#148902)
Since 1d6b6132f, that macro isn't used anywhere anymore.
Commit: f73e163278fd6e50fc7855e52625ddf2e537c912
https://github.com/llvm/llvm-project/commit/f73e163278fd6e50fc7855e52625ddf2e537c912
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
A llvm/test/CodeGen/NVPTX/trunc-tofp.ll
Log Message:
-----------
[DAGCombiner] Fold [us]itofp of truncate (#149391)
Commit: e73cb43b44ddd7aeae7217aa1c9e7f8364a5e6df
https://github.com/llvm/llvm-project/commit/e73cb43b44ddd7aeae7217aa1c9e7f8364a5e6df
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M mlir/include/mlir/Conversion/VectorToXeGPU/VectorToXeGPU.h
Log Message:
-----------
[mlir][xegpu] Remove unused custom pass declaration (#149278)
Removes unused declaration for pass creation.
Only the create function auto-generated from tablegen should be used.
Commit: ff5f3ae02aeac848dbb80ad9c652eae3ec107201
https://github.com/llvm/llvm-project/commit/ff5f3ae02aeac848dbb80ad9c652eae3ec107201
Author: Kelvin Li <kli at ca.ibm.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M flang/test/Semantics/PowerPC/ppc-vector-types01.f90
M flang/test/Semantics/PowerPC/ppc-vector-types02.f90
Log Message:
-----------
[flang] convert program name to upper case (NFC) (#149508)
Commit: 5f001294b1d42a0b4146e0b08ccae72667de6a5d
https://github.com/llvm/llvm-project/commit/5f001294b1d42a0b4146e0b08ccae72667de6a5d
Author: Brad Smith <brad at comstyle.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M libc/src/__support/macros/properties/architectures.h
M libcxx/include/__config
M libcxx/include/limits
M libcxx/src/random.cpp
M libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
Remove last few bits for Native Client support (#148983)
Commit: 32f0fc597f92f98f1be81abbd07f5164377668ef
https://github.com/llvm/llvm-project/commit/32f0fc597f92f98f1be81abbd07f5164377668ef
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M lldb/source/DataFormatters/ValueObjectPrinter.cpp
M lldb/test/API/lang/cpp/frame-var-depth-and-elem-count/TestFrameVarDepthAndElemCount.py
Log Message:
-----------
[lldb] Correct spacing of = {...} when depth limit is hit (#149480)
In some places it was printing "= {...}" and some "={...}" with no
space. I think the space looks nicer so do that in both cases.
Commit: ac7ceb3dabfac548caa993e7b77bbadc78af4464
https://github.com/llvm/llvm-project/commit/ac7ceb3dabfac548caa993e7b77bbadc78af4464
Author: quic-areg <aregmi at quicinc.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M lld/test/ELF/hexagon-plt.s
M lld/test/ELF/hexagon-shared.s
M lld/test/ELF/hexagon-tls-gd-xform.s
M llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h
M llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/test/MC/Hexagon/two_ext.s
A llvm/test/tools/llvm-objdump/ELF/Hexagon/hexagon-bundles.s
M llvm/tools/llvm-mc/Disassembler.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[Hexagon][llvm-objdump] Improve disassembly of Hexagon bundles (#145807)
Hexagon instructions are VLIW "bundles" of up to four instruction words
encoded as a single MCInst with operands for each sub-instruction.
Previously, the disassembler's getInstruction() returned the full
bundle, which made it difficult to work with llvm-objdump.
For example, since all instructions are bundles, and bundles do not
branch, branch targets could not be printed.
This patch modifies the Hexagon disassembler to return individual
sub-instructions instead of entire bundles, enabling correct printing of
branch targets and relocations. It also introduces
`MCDisassembler::getInstructionBundle` for cases where the full bundle
is still needed.
By default, llvm-objdump separates instructions with newlines. However,
this does not work well for Hexagon syntax:
{ inst1
inst2
inst3
inst4 <branch> } :endloop0
Instructions may be followed by a closing brace, a closing brace with
`:endloop`, or a newline. Branches must appear within the braces.
To address this, `PrettyPrinter::getInstructionSeparator()` is added and
overridden for Hexagon.
Commit: a676ecd83fad9b04d315c4e667742d25679cbc9f
https://github.com/llvm/llvm-project/commit/a676ecd83fad9b04d315c4e667742d25679cbc9f
Author: lntue <lntue at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M libc/include/llvm-libc-macros/math-macros.h
M libc/test/include/CMakeLists.txt
A libc/test/include/math_constants_test.c
Log Message:
-----------
[libc][math] Add POSIX math constants to math.h header. (#149150)
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/math.h.html
Commit: d737fe2c91391a41a5b5ee8e3062d78a01936c61
https://github.com/llvm/llvm-project/commit/d737fe2c91391a41a5b5ee8e3062d78a01936c61
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
Log Message:
-----------
[libc++][NFC] Fix typos in the libc++ 21 release notes (#149536)
Commit: 148fd6ed0a21aaa540ad443b8108456b191dd485
https://github.com/llvm/llvm-project/commit/148fd6ed0a21aaa540ad443b8108456b191dd485
Author: Annu Singh <annu4444.as at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AArch64/freeze.ll
Log Message:
-----------
[DAG] Adding abdu/abds to canCreateUndefOrPoison (#149017)
Fixes #147695
- [Alive2 test - freeze abdu](https://alive2.llvm.org/ce/z/aafeJs)
- [Alive 2 test - freeze abds](https://alive2.llvm.org/ce/z/XrSmP4)
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: c244c3b2d95a1605337b1156fad412ee2c9cd8c9
https://github.com/llvm/llvm-project/commit/c244c3b2d95a1605337b1156fad412ee2c9cd8c9
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_tasking.cpp
Log Message:
-----------
[OpenMP] [NFC] Remove dead code: building task stack (#143589)
This code hasn't been enabled since the first code changes were
introduced. Remove the dead code.
Commit: a9147e64aa751caaa106953fded2d0f7223bb167
https://github.com/llvm/llvm-project/commit/a9147e64aa751caaa106953fded2d0f7223bb167
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
Log Message:
-----------
Revert "[DWARFLinker] Use different addresses to distinguish invalid … (#149422)
…DW_AT_LLVM_stmt_sequence offset (#149376)"
This reverts commit b0c6148584854af3d7ed2425034c3b5252f6b769.
Commit: 92e2d4e9e1ad7a8d66d481b4df3f971450f829f5
https://github.com/llvm/llvm-project/commit/92e2d4e9e1ad7a8d66d481b4df3f971450f829f5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitFREEZE - remove unused HadMaybePoisonOperands check. NFC. (#149517)
Redundant since #145939
Commit: 7d040d4675baf6881cf50c4dba78cc18af85f9ef
https://github.com/llvm/llvm-project/commit/7d040d4675baf6881cf50c4dba78cc18af85f9ef
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
Log Message:
-----------
[mlir][linalg] Handle outer_dims_perm in linalg.pack consumer fusion. (#149426)
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: 0c75e093813c86a1c99b75d2a46f56db7ab516dd
https://github.com/llvm/llvm-project/commit/0c75e093813c86a1c99b75d2a46f56db7ab516dd
Author: Shaoce SUN <sunshaoce at outlook.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
Log Message:
-----------
[TableGen] Add `getName()` to error messages for better debugging (#149531)
Including the name helps quickly locate the corresponding Instruction
that caused the issue.
Commit: 01213141357e4a79d2d97187ff0cb89d8d173634
https://github.com/llvm/llvm-project/commit/01213141357e4a79d2d97187ff0cb89d8d173634
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
Log Message:
-----------
[MemoryTaggingSupport] Remove unnecessary bitcast (NFC)
As the comment indicates, this is no longer necessary with
opaque pointers.
Commit: 73e4b589ba9526c72f495ca6898ed18d730d2db4
https://github.com/llvm/llvm-project/commit/73e4b589ba9526c72f495ca6898ed18d730d2db4
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/MCTargetAsmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/test/MC/RISCV/Relocations/mc-dump.s
Log Message:
-----------
MC: Simplify fragment reuse determination
First, avoid checking MCSubtargetInfo by reducing unnecessary overhead
introduced in https://reviews.llvm.org/D44928 . That change passed STI
to both FT_Data and FT_Relaxable fragments, but STI is only necessary
for FT_Relaxable.
The use of STI in FT_Data was added for:
* Bundle alignment mode, which has been removed (#148781).
* ARM, which inappropriately uses STI in `ARMAsmBackend::applyFixup` due
to tech debt, unlike other targets. All tests passed even without the
`copySTI` change.
To ensure safety, `copySTI` now starts a new fragment to prevent mixed
STI values.
Second, avoid checking LinkerRelaxable by eagerly starting a new
fragment when a FT_Data/FT_Align fragment is marked linker-relaxable.
There is currently an extra empty FT_Data if an alignment immediately
follows a linker-relaxable fragment, which will be improved in the
future when FT_Align information is moved to the variable-tail.
Pull Request: https://github.com/llvm/llvm-project/pull/149471
Commit: 5138b61a25f11eb8675d0031712c1ee6b4cb8be4
https://github.com/llvm/llvm-project/commit/5138b61a25f11eb8675d0031712c1ee6b4cb8be4
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/add.v2i16.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.16bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
A llvm/test/CodeGen/AMDGPU/atomicrmw-bf16-gfx11plus.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
M llvm/test/CodeGen/AMDGPU/divergence-driven-buildvector.ll
M llvm/test/CodeGen/AMDGPU/fabs.bf16.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/fmax3-maximumnum.ll
M llvm/test/CodeGen/AMDGPU/fmed3.bf16.ll
M llvm/test/CodeGen/AMDGPU/fmin3-minimumnum.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp2.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
M llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
M llvm/test/CodeGen/AMDGPU/sub.v2i16.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
Log Message:
-----------
[AMDGPU][True16][Codegen] remove packed build_vector pattern from true16 (#148715)
Some of the packed build_vector use vgpr_32 for i16/f16/bf16.
In gfx11, bf16 arithmetic get promoted to f32 and this is done via v2i16
pack. In true16 mode this v2i16 pack is selected to a
build_vector/v_lshlrev pattern which only accepts VGPR32. This causes
isel to insert an illegal copy "vgpr32 = copy vgpr16" between def and
use. In the end this illegal copy confuses cse pass and trigger wrong
code elimination.
Remove the packed build_vector pattern from true16. After removal, ISel
will use vgpr16 build_vector patterns instead.
Commit: 2c2567da95c64ee1ed9104ee2539894242922b83
https://github.com/llvm/llvm-project/commit/2c2567da95c64ee1ed9104ee2539894242922b83
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M flang/lib/Semantics/check-do-forall.cpp
M flang/test/Semantics/resolve40.f90
Log Message:
-----------
[flang] Fixed a crash with undeclared variable in implicit-do loop (#149513)
Fixed a crash in the following example:
```
subroutine sub()
implicit none
print *, (i, i = 1, 2) ! Problem: using undefined var in implied-do loop
end subroutine sub
```
The error message was already generated, but the compiler crashed before
it could display it.
Commit: 10518c76de091bf23e72a8761c1eff561ce6e074
https://github.com/llvm/llvm-project/commit/10518c76de091bf23e72a8761c1eff561ce6e074
Author: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/Transforms/Passes.td
M mlir/lib/Dialect/SPIRV/Transforms/CMakeLists.txt
A mlir/lib/Dialect/SPIRV/Transforms/ConvertToReplicatedConstantCompositePass.cpp
A mlir/test/Dialect/SPIRV/Transforms/replicated-const-composites.mlir
Log Message:
-----------
[mlir][spirv] Add conversion pass to rewrite splat constant composite… (#148910)
…s to replicated form
This adds a new SPIR-V dialect-level conversion pass
`ConversionToReplicatedConstantCompositePass`. This pass looks for splat
composite `spirv.Constant` or `spirv.SpecConstantComposite` and rewrites
them into `spirv.EXT.ConstantCompositeReplicate` or
`spirv.EXT.SpecConstantCompositeReplicate`, respectively.
---------
Signed-off-by: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Commit: 7e0ae019f854c99ae0d6a220aba7fcd5407f2494
https://github.com/llvm/llvm-project/commit/7e0ae019f854c99ae0d6a220aba7fcd5407f2494
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/exp10f16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/exp10_float16_constants.h
A libc/src/__support/math/exp10f16.h
A libc/src/__support/math/exp10f16_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/exp10f16.cpp
M libc/src/math/generic/exp10m1f16.cpp
M libc/src/math/generic/expxf16.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor exp10f16 implementation to header-only in src/__support/math folder. (#148408)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: e11d28faee10dfb5ae6b8aaadadfd2ea1a2a446a
https://github.com/llvm/llvm-project/commit/e11d28faee10dfb5ae6b8aaadadfd2ea1a2a446a
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane16.swap.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
Log Message:
-----------
[AMDGPU] Add support for `v_permlane16_swap_b32` on gfx1250 (#149518)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: 2c50e4cac2c50dbbc9eb3ed78bc0178bfa26d23f
https://github.com/llvm/llvm-project/commit/2c50e4cac2c50dbbc9eb3ed78bc0178bfa26d23f
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.sat.pk.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add support for `v_sat_pk4_i4_[i8,u8]` on gfx1250 (#149528)
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Co-authored-by: Foad, Jay <Jay.Foad at amd.com>
Commit: ff225b5d88647448be8bbba54aaac3977a5485b5
https://github.com/llvm/llvm-project/commit/ff225b5d88647448be8bbba54aaac3977a5485b5
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/RISCV/reordered-buildvector-scalars.ll
Log Message:
-----------
[SLP][NFC]Add a run line for the test, NFC
Commit: 7fd91bb6e89be39a130e04058a01d41ae5d600cb
https://github.com/llvm/llvm-project/commit/7fd91bb6e89be39a130e04058a01d41ae5d600cb
Author: Jaden Angella <ajaden at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
Log Message:
-----------
[mlir][EmitC]Expand the MemRefToEmitC pass - Adding scalars (#148055)
This aims to expand the the MemRefToEmitC pass so that it can accept
global scalars.
From:
```
memref.global "private" constant @__constant_xi32 : memref<i32> = dense<-1>
func.func @globals() {
memref.get_global @__constant_xi32 : memref<i32>
}
```
To:
```
emitc.global static const @__constant_xi32 : i32 = -1
emitc.func @globals() {
%0 = get_global @__constant_xi32 : !emitc.lvalue<i32>
%1 = apply "&"(%0) : (!emitc.lvalue<i32>) -> !emitc.ptr<i32>
return
}
```
Commit: 87c2adbb589d4cd0b6dfb374fce24d29c6bafac0
https://github.com/llvm/llvm-project/commit/87c2adbb589d4cd0b6dfb374fce24d29c6bafac0
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
Log Message:
-----------
[RISCV][IA] Precommit tests for deinterleaveN of masked.load
Commit: 3ea6da59ecda0708d85f78f1feb4090a8551ce90
https://github.com/llvm/llvm-project/commit/3ea6da59ecda0708d85f78f1feb4090a8551ce90
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
Log Message:
-----------
[mlir][linalg] Allow pack consumer fusion if the tile size is greater than dimension size. (#149438)
This happens only when you use larger tile size, which is greater than
or equal to the dimension size. In this case, it is a full slice, so it
is fusible.
The IR can be generated during the TileAndFuse process. It is hard to
fix in such driver, so we enable the naive fusion for the case.
---------
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: 796d5a89a12407fb0fdf74ea063259b6ca7333d9
https://github.com/llvm/llvm-project/commit/796d5a89a12407fb0fdf74ea063259b6ca7333d9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/include/llvm/ADT/CombinationGenerator.h
Log Message:
-----------
[ADT] Use a range-based for loop instead of llvm::for_each (NFC) (#149542)
LLVM Coding Standards discourages llvm::for_each unless we already
have a callable.
Commit: b5e71d727b6624c160c9186b52d73bdb635770ed
https://github.com/llvm/llvm-project/commit/b5e71d727b6624c160c9186b52d73bdb635770ed
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/docs/Extensions.rst
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/MC/MCSectionELF.cpp
M llvm/lib/Object/ELF.cpp
M llvm/test/MC/AsmParser/llvm_section_types.s
Log Message:
-----------
Add section type to support CFI jump table relaxation.
For context see main pull request: #147424.
Reviewers: MaskRay
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/149259
Commit: f6641e2f233b809958e4f558f5ad2514bc812cb8
https://github.com/llvm/llvm-project/commit/f6641e2f233b809958e4f558f5ad2514bc812cb8
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
Log Message:
-----------
[RISCV][IA] Factor out code for extracting operands from mem insts [nfc] (#149344)
We're going to end up repeating the operand extraction four times once
all of the routines have been updated to support both plain load/store
and vp.load/vp.store. I plan to add masked.load/masked.store in the near
future, and we'd need to add that to each of the four cases. Instead,
factor out a single copy of the operand normalization.
Commit: 4bf4e87576688c942b7b337f24fb098247dc4642
https://github.com/llvm/llvm-project/commit/4bf4e87576688c942b7b337f24fb098247dc4642
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M flang-rt/lib/runtime/descriptor.cpp
Log Message:
-----------
Static_cast std::size_t to build flang_rt in 32-bit. (#149529)
Commit: 10b0dee97dd7e5a122116f7ccb26a19b081db9fd
https://github.com/llvm/llvm-project/commit/10b0dee97dd7e5a122116f7ccb26a19b081db9fd
Author: Tobias Decking <Tobias.Decking at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-bitreverse.ll
Log Message:
-----------
[X86] Ensure that bit reversals of byte vectors are properly lowered on pure GFNI targets (#148304)
Fixes #148238.
When GFNI is present, custom bit reversal lowerings for scalar integers
become active. They work by swapping the bytes in the scalar value and
then reversing bits in a vector of bytes. However, the custom bit
reversal lowering for a vector of bytes is disabled if GFNI is present
in isolation, resulting messed up code.
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 6acc6991f83409be3ca6315edf8c7f381ebe4d40
https://github.com/llvm/llvm-project/commit/6acc6991f83409be3ca6315edf8c7f381ebe4d40
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/include/llvm/ADT/STLForwardCompat.h
M llvm/unittests/ADT/STLForwardCompatTest.cpp
Log Message:
-----------
[STLForwardCompat] Improve category handling in transformOptional (#149539)
The old version would prefer the "const &" overload over the "&&" one
unless the former was not allowed in the given situation. In particular,
if the function passed was "[](auto &&)" the argument would be "const &"
even if the value passed to transformOptional was an rvalue reference.
This version improves the handling of expression categories, and the
lambda argument category will reflect the argument category in the above
scenario.
Commit: 13f7786f72d13a84dfc3d49d87a70e6a05f21fd4
https://github.com/llvm/llvm-project/commit/13f7786f72d13a84dfc3d49d87a70e6a05f21fd4
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
R libc/include/dirent.h.def
M libc/include/dirent.yaml
R libc/include/search.h.def
M libc/include/search.yaml
R libc/include/setjmp.h.def
M libc/include/setjmp.yaml
R libc/include/spawn.h.def
M libc/include/spawn.yaml
R libc/include/string.h.def
M libc/include/string.yaml
R libc/include/strings.h.def
M libc/include/strings.yaml
R libc/include/sys/sendfile.h.def
M libc/include/sys/sendfile.yaml
R libc/include/sys/statvfs.h.def
M libc/include/sys/statvfs.yaml
M libc/include/sys/types.yaml
R libc/include/sys/uio.h.def
M libc/include/sys/uio.yaml
R libc/include/sys/utsname.h.def
M libc/include/sys/utsname.yaml
R libc/include/threads.h.def
M libc/include/threads.yaml
R libc/include/uchar.h.def
M libc/include/uchar.yaml
Log Message:
-----------
[libc] Remove trivial .h.def files (#149466)
Remove all the .h.def files that already express nothing
whatsoever not already expressed in YAML. Clean up a few YAML
files without materially changing any generated header output.
Many more .h.def files remain that need a bit of conversion in
YAML to express macro requirements and such.
Commit: cfa918bec18c012a89a36b5a7ddceacb8e6c9ed7
https://github.com/llvm/llvm-project/commit/cfa918bec18c012a89a36b5a7ddceacb8e6c9ed7
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/FLATInstructions.td
A llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
Log Message:
-----------
[AMDGPU] Select flat GVS atomics on gfx1250 (#149554)
Commit: de59e7b86cd349f9f74b7561594aeae410477326
https://github.com/llvm/llvm-project/commit/de59e7b86cd349f9f74b7561594aeae410477326
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
M libc/benchmarks/gpu/src/math/atan2_benchmark.cpp
A libc/benchmarks/gpu/src/math/platform.h
M libc/benchmarks/gpu/src/math/sin_benchmark.cpp
M libc/benchmarks/gpu/timing/amdgpu/timing.h
M libc/benchmarks/gpu/timing/nvptx/timing.h
Log Message:
-----------
[libc] Fix GPU benchmarking
Commit: 6a7f572ef9758f49fcf9e178ce1cb95aa3069415
https://github.com/llvm/llvm-project/commit/6a7f572ef9758f49fcf9e178ce1cb95aa3069415
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M lldb/bindings/interface/SBSaveCoreOptionsDocstrings.i
M lldb/include/lldb/API/SBMemoryRegionInfoList.h
M lldb/include/lldb/API/SBSaveCoreOptions.h
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Symbol/SaveCoreOptions.h
M lldb/source/API/SBProcess.cpp
M lldb/source/API/SBSaveCoreOptions.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Symbol/SaveCoreOptions.cpp
A lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump64b.py
M lldb/test/API/python_api/sbsavecoreoptions/TestSBSaveCoreOptions.py
Log Message:
-----------
[LLDB] Fix Memory64 BaseRVA, move all non-stack memory to Mem64. (#146777)
### Context
Over a year ago, I landed support for 64b Memory ranges in Minidump
(#95312). In this patch we added the Memory64 list stream, which is
effectively a Linked List on disk. The layout is a sixteen byte header
and then however many Memory descriptors.
### The Bug
This is a classic off-by one error, where I added 8 bytes instead of 16
for the header. This caused the first region to start 8 bytes before the
correct RVA, thus shifting all memory reads by 8 bytes. We are correctly
writing all the regions to disk correctly, with no physical corruption
but the RVA is defined wrong, meaning we were incorrectly reading memory

### Why wasn't this caught?
One problem we've had is forcing Minidump to actually use the 64b mode,
it would be a massive waste of resources to have a test that actually
wrote >4.2gb of IO to validate the 64b regions, and so almost all
validation has been manual. As a weakness of manual testing, this issue
is psuedo non-deterministic, as what regions end up in 64b or 32b is
handled greedily and iterated in the order it's laid out in
/proc/pid/maps. We often validated 64b was written correctly by
hexdumping the Minidump itself, which was not corrupted (other than the
BaseRVA)

### Why is this showing up now?
During internal usage, we had a bug report that the Minidump wasn't
displaying values. I was unable to repro the issue, but during my
investigation I saw the variables were in the 64b regions which resulted
in me identifying the bug.
### How do we prevent future regressions?
To prevent regressions, and honestly to save my sanity for figuring out
where 8 bytes magically came from, I've added a new API to
SBSaveCoreOptions.
```SBSaveCoreOptions::GetMemoryRegionsToSave()```
The ability to get the memory regions that we intend to include in the Coredump. I added this so we can compare what we intended to include versus what was actually included. Traditionally we've always had issues comparing regions because Minidump includes `/proc/pid/maps` and it can be difficult to know what memoryregion read failure was a genuine error or just a page that wasn't meant to be included.
We are also leveraging this API to choose the memory regions to be generated, as well as for testing what regions should be bytewise 1:1.
After much debate with @clayborg, I've moved all non-stack memory to the Memory64 List. This list doesn't incur us any meaningful overhead and Greg originally suggested doing this in the original 64b PR. This also means we're exercising the 64b path every single time we save a Minidump, preventing regressions on this feature from slipping through testing in the future.
Snippet produced by [minidump.py](https://github.com/clayborg/scripts)
```
MINIDUMP_MEMORY_LIST:
NumberOfMemoryRanges = 0x00000002
MemoryRanges[0] = [0x00007f61085ff9f0 - 0x00007f6108601000) @ 0x0003f655
MemoryRanges[1] = [0x00007ffe47e50910 - 0x00007ffe47e52000) @ 0x00040c65
MINIDUMP_MEMORY64_LIST:
NumberOfMemoryRanges = 0x000000000000002e
BaseRva = 0x0000000000042669
MemoryRanges[0] = [0x00005584162d8000 - 0x00005584162d9000)
MemoryRanges[1] = [0x00005584162d9000 - 0x00005584162db000)
MemoryRanges[2] = [0x00005584162db000 - 0x00005584162dd000)
MemoryRanges[3] = [0x00005584162dd000 - 0x00005584162ff000)
MemoryRanges[4] = [0x00007f6100000000 - 0x00007f6100021000)
MemoryRanges[5] = [0x00007f6108800000 - 0x00007f6108828000)
MemoryRanges[6] = [0x00007f6108828000 - 0x00007f610899d000)
MemoryRanges[7] = [0x00007f610899d000 - 0x00007f61089f9000)
MemoryRanges[8] = [0x00007f61089f9000 - 0x00007f6108a08000)
MemoryRanges[9] = [0x00007f6108bf5000 - 0x00007f6108bf7000)
```
### Misc
As a part of this fix I had to look at LLDB logs a lot, you'll notice I added `0x` to many of the PRIx64 `LLDB_LOGF`. This is so the user (or I) can directly copy paste the address in the logs instead of adding the hex prefix themselves.
Added some SBSaveCore tests for the new GetMemoryAPI, and Docstrings.
CC: @DavidSpickett, @da-viper @labath because we've been working together on save-core plugins, review it optional and I didn't tag you but figured you'd want to know
Commit: 4dc6dfd65397e65f62a453b65cd180639c3a8b9e
https://github.com/llvm/llvm-project/commit/4dc6dfd65397e65f62a453b65cd180639c3a8b9e
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
[NFC][profdata] Apply lints and other format fixes (#149433)
Apply lints and other format fixes to
`llvm/tools/llvm-profdata/llvm-profdata.cpp`. This is intended to have
no functional change.
Commit: b846d8c3e26ef98c8d6936e7cad354f035d322d1
https://github.com/llvm/llvm-project/commit/b846d8c3e26ef98c8d6936e7cad354f035d322d1
Author: Hanumanth <hhanuman at mathworks.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaReduceTransposes.cpp
Log Message:
-----------
[mlir][tosa] Fix tosa-reduce-transposes to handle large constants better (#148755)
This change addresses the performance issue in the **--tosa-reduce-transposes** implementation by working directly with the
raw tensor data, eliminating the need for creating the costly intermediate attributes that leads to bottleneck.
Commit: d64802d6d96ec5aff3739ce34f8143b935921809
https://github.com/llvm/llvm-project/commit/d64802d6d96ec5aff3739ce34f8143b935921809
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M lldb/cmake/modules/LLDBFramework.cmake
M lldb/scripts/framework-header-fix.py
M lldb/scripts/version-header-fix.py
M lldb/source/API/CMakeLists.txt
M lldb/test/Shell/Scripts/TestFrameworkFixScript.test
M lldb/test/Shell/Scripts/TestRPCFrameworkFixScript.test
Log Message:
-----------
[lldb][framework] Glob headers from source for framework (#148736)
When gathering the headers to fix up and place in LLDB.framework, we
were previously globbing the header files from a location in the build
directory. This commit changes this to glob from the source directory
instead, as we were globbing from the build directory without ensuring
that the necessary files were actually in that location before globbing.
Commit: 9d9662e4bdffc109cc5a7d0fa7c522d27babfa31
https://github.com/llvm/llvm-project/commit/9d9662e4bdffc109cc5a7d0fa7c522d27babfa31
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/test/CodeGen/NVPTX/trunc-tofp.ll
Log Message:
-----------
[NVPTX][test] fixup version for ptxas on trunc-tofp.ll (#149558)
Commit: 3c1a09d939f44cbe039ea178af5a77c40b2776a0
https://github.com/llvm/llvm-project/commit/3c1a09d939f44cbe039ea178af5a77c40b2776a0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
Log Message:
-----------
[lldb] Use a range-based for loop instead of llvm::for_each (NFC) (#149541)
LLVM Coding Standards discourages llvm::for_each unless we already
have a callable.
Commit: 36c78ec3c8641cb193ea66f49da01fa6f62280d7
https://github.com/llvm/llvm-project/commit/36c78ec3c8641cb193ea66f49da01fa6f62280d7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/Core/LVScope.cpp
Log Message:
-----------
[DebugInfo] Use llvm::remove_if (NFC) (#149543)
We can pass a range to llvm::remove_if.
Commit: c98b05bd567c16d575bc241cd0602cdf6558d8db
https://github.com/llvm/llvm-project/commit/c98b05bd567c16d575bc241cd0602cdf6558d8db
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
M mlir/lib/AsmParser/Parser.cpp
M mlir/unittests/Debug/FileLineColLocBreakpointManagerTest.cpp
M mlir/unittests/IR/OperationSupportTest.cpp
M mlir/unittests/IR/ValueTest.cpp
M mlir/unittests/Transforms/DialectConversion.cpp
Log Message:
-----------
[mlir] Deprecate NamedAttrList(std::nullopt_t) (NFC) (#149544)
This patch deprecates NamedAttrList(std::nullopt_t) to avoid use of
std::nullopt outside the context of std::optional.
Commit: cb6370167fd26d61397c1a2555d4c8a5f116d1f6
https://github.com/llvm/llvm-project/commit/cb6370167fd26d61397c1a2555d4c8a5f116d1f6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/IR/Operation.h
M mlir/include/mlir/IR/OperationSupport.h
Log Message:
-----------
[mlir] Deprecate OpPrintingFlags(std::nullopt_t) (NFC) (#149546)
This patch deprecates OpPrintingFlags(std::nullopt_t) to avoid use of
std::nullopt outside the context of std::optional.
Commit: c5f0c4ad378803f449f37730601b7d95059600a4
https://github.com/llvm/llvm-project/commit/c5f0c4ad378803f449f37730601b7d95059600a4
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
Log Message:
-----------
[RISCV][IA] Add test coverage for vp.store of interleaveN with one active
Commit: 9878ef3abd2a48fcfb81357d581dac292b52ddb3
https://github.com/llvm/llvm-project/commit/9878ef3abd2a48fcfb81357d581dac292b52ddb3
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/MachineFunction.cpp
A llvm/test/CodeGen/X86/function-align.ll
Log Message:
-----------
CodeGen: Respect function align attribute if less than preferred alignment.
Reviewers: arsenm, efriedma-quic
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/149444
Commit: 97a8476068bad449c0340021398b0356a44857aa
https://github.com/llvm/llvm-project/commit/97a8476068bad449c0340021398b0356a44857aa
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M flang-rt/lib/runtime/assign.cpp
Log Message:
-----------
[flang][runtime] Further work on speeding up work queue operations (#149189)
This patch avoids a trip through the work queue engine for cases on a
CPU where finalization and destruction actions during assignment were
handled without enqueueing another task.
Commit: 680b8dd7073cce6606006ae723899444521aa496
https://github.com/llvm/llvm-project/commit/680b8dd7073cce6606006ae723899444521aa496
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/unittests/Runtime/NumericalFormatTest.cpp
Log Message:
-----------
[flang][runtime] Handle spaces before ')' in alternative list-directe… (#149384)
…d complex input
List-directed reads of complex values that can't go through the usual
fast path (as in this bug's test case, which uses DECIMAL='COMMA')
didn't skip spaces before the closing right parenthesis correctly.
Fixes https://github.com/llvm/llvm-project/issues/149164.
Commit: 9e5b2fbe86ed9b303eff779fff012d6a96574f3d
https://github.com/llvm/llvm-project/commit/9e5b2fbe86ed9b303eff779fff012d6a96574f3d
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang/include/flang/Lower/Runtime.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Runtime/pointer.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/Runtime.cpp
M flang/test/Lower/polymorphic.f90
Log Message:
-----------
[flang][runtime] Preserve type when remapping monomorphic pointers (#149427)
Pointer remappings unconditionally update the element byte size and
derived type of the pointer's descriptor. This is okay when the pointer
is polymorphic, but not when a pointer is associated with an extended
type.
To communicate this monomorphic case to the runtime, add a new entry
point so as to not break forward binary compatibility.
Commit: b6ea04a37b2a41e24bb999e5a9b6a7bd2b576085
https://github.com/llvm/llvm-project/commit/b6ea04a37b2a41e24bb999e5a9b6a7bd2b576085
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M flang/lib/Semantics/resolve-labels.cpp
Log Message:
-----------
[flang][NFC] Fix build-time warning (#149549)
Don't increment the LHS variable of an assignment that also uses that
variable on the RHS.
Commit: abdd4536ce0fc75c7a4ddcc1da5913ec5e028091
https://github.com/llvm/llvm-project/commit/abdd4536ce0fc75c7a4ddcc1da5913ec5e028091
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Semantics/OpenACC/acc-kernels-loop.f90
Log Message:
-----------
[flang][openacc] fix bugs with default(none) checking (#149220)
A report of the following code not generating an error led to fixing two bugs in directive checking.
- We should treat CombinedConstructs as OpenACC Constructs
- We should treat DoConstruct index variables as private.
```fortran
subroutine sub(nn)
integer :: nn, ii
!$acc serial loop default(none)
do ii = 1, nn
end do
!$acc end serial loop
end subroutine
```
Here `nn` should be flagged as needing a data clause while `ii` should
still get one implicitly.
Commit: 695660cdfd1ca65cd6e02e6950d10c990dfa0036
https://github.com/llvm/llvm-project/commit/695660cdfd1ca65cd6e02e6950d10c990dfa0036
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.form.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll
Log Message:
-----------
[AMDGPU] Provide control to force VGPR MFMA form (#148079)
This gives an override to the user to force select VGPR form of MFMA.
Eventually we will drop this in favor of compiler making better
decisions, but this provides a mechanism for users to address the cases
where MayNeedAGPRs favors the AGPR form and performance is degraded due
to poor RA.
Commit: 004c67ea257039e4e98abc26dd4ac6e8f3d7a171
https://github.com/llvm/llvm-project/commit/004c67ea257039e4e98abc26dd4ac6e8f3d7a171
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Transforms/Utils/LoopUtils.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/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/AArch64/fmax-without-fast-math-flags.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fmin-without-fast-math-flags.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags.ll
M llvm/test/Transforms/LoopVectorize/fmin-without-fast-math-flags.ll
M llvm/test/Transforms/LoopVectorize/minmax_reduction.ll
Log Message:
-----------
[LV] Vectorize maxnum/minnum w/o fast-math flags. (#148239)
Update LV to vectorize maxnum/minnum reductions without fast-math flags,
by adding an extra check in the loop if any inputs to maxnum/minnum are
NaN, due to maxnum/minnum behavior w.r.t to signaling NaNs. Signed-zeros
are already handled consistently by maxnum/minnum.
If any input is NaN,
*exit the vector loop,
*compute the reduction result up to the vector iteration that contained
NaN inputs and
* resume in the scalar loop
New recurrence kinds are added for reductions using maxnum/minnum
without fast-math flags.
PR: https://github.com/llvm/llvm-project/pull/148239
Commit: fb5c94e712e683e8b7c3cd04b3e47584c226d751
https://github.com/llvm/llvm-project/commit/fb5c94e712e683e8b7c3cd04b3e47584c226d751
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/test/tools/llvm-profdata/c-general.test
A llvm/test/tools/llvm-profdata/show-hot.proftext
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
[profdata] Use --hot-func-list to show all hot functions (#149428)
The `--hot-func-list` flag is used for sample profiles to dump the list
of hot functions. Add support to dump hot functions for IRPGO profiles
as well.
This also removes a `priority_queue` used for `--topn`. We can instead
store all functions and sort at the end before dumping. Since we are
storing `StringRef`s, I believe this won't consume too much memory.
Commit: ffb453989b0e95d85b6cfa543b65fec23b65649d
https://github.com/llvm/llvm-project/commit/ffb453989b0e95d85b6cfa543b65fec23b65649d
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/test/MC/AMDGPU/gfx1250_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[NFC][AMDGPU] Align all gfx1250 VOP1 MC tests with downstream (#149567)
This PR adds all VOP1 tests that haven't yet been upstreamed by copying
the relevant test files directly from downstream. Afterward, the
auto-generation script is run with the `--unique` option to deduplicate
any redundant tests that may have been introduced during the downstream
merge.
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: d46de86ca4060fe2c631c08728af7c48ce9458fd
https://github.com/llvm/llvm-project/commit/d46de86ca4060fe2c631c08728af7c48ce9458fd
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rcp.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.rsq.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.sqrt.bf16.ll
Log Message:
-----------
[NFC][AMDGPU] Re-enable two tests previously disabled due to missing upstream features (#149568)
This PR re-enables two tests that were previously disabled because they
depended on features not yet upstreamed.
Commit: 3be44e25804e776d3ff071740a60ae6d2f3ef4a7
https://github.com/llvm/llvm-project/commit/3be44e25804e776d3ff071740a60ae6d2f3ef4a7
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
Log Message:
-----------
[TableGen] Add some -time-phases support in CodeGenRegisters (#149309)
Commit: d63ab5467dcae0492e2f4def336ddbb73ce10dc5
https://github.com/llvm/llvm-project/commit/d63ab5467dcae0492e2f4def336ddbb73ce10dc5
Author: Princeton Ferro <pferro at nvidia.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/f32x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
A llvm/test/CodeGen/NVPTX/pr126337.ll
M llvm/test/CodeGen/NVPTX/reduction-intrinsics.ll
Log Message:
-----------
[NVPTX] don't erase CopyToRegs when folding movs into loads (#149393)
We may still need to keep CopyToReg even after folding uses into vector
loads, since the original register may be used in other blocks.
Partially reverts 1fdbe6984976d9e85ab3b1a93e8de434a85c5646
Commit: b02787d33f24d83f1d5814c578b7b0fce7156382
https://github.com/llvm/llvm-project/commit/b02787d33f24d83f1d5814c578b7b0fce7156382
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/bitfields.c
M clang/test/CIR/CodeGen/bitfields.cpp
M clang/test/CIR/CodeGen/bitfields_be.c
Log Message:
-----------
[CIR] Fix alignment when lowering set/get bitfield operations (#148999)
This PR fixes incorrect alignment when lowering `set` and `getBitField`
operations to LLVM IR. The issue occurred because during lowering, the
function was being called with an alignment of 0, which caused it to
default to the alignment of the packed member. For example, if the
bitfield was packed inside a `u64i`, it would use an alignment of 8.
With this change, the generated code now matches what the classic
codegen produces.
In the assembly format, I changed to be similar to how it's done in
loadOp. If there's a better approach, please feel free to point it out.
Commit: 965b68e8f26ea51202adfd2ab6429a68e8ce63c3
https://github.com/llvm/llvm-project/commit/965b68e8f26ea51202adfd2ab6429a68e8ce63c3
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/f32x2-instructions.ll
Log Message:
-----------
[NVPTX] Prevent fptrunc of v2f32 from being folded into store (#149571)
Commit: 3641448e08961d8b8621fafa01167f96d948ee9e
https://github.com/llvm/llvm-project/commit/3641448e08961d8b8621fafa01167f96d948ee9e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M lldb/source/Target/Thread.cpp
Log Message:
-----------
[lldb] Use StopInfoSP instead of StopInfo* (NFC)
Don't make assumptions about the lifetime of the underlying object and
use the shared_ptr to participate in reference counting and extend the
lifetime of the object to the end of the lexical scope.
Commit: 1b8a136a09bfed49ae008a354946804230055153
https://github.com/llvm/llvm-project/commit/1b8a136a09bfed49ae008a354946804230055153
Author: Florian Mayer <fmayer at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
Log Message:
-----------
[Sanitizer] remove array-bounds-pseudofn (#149430)
This has been replaced by -fsanitize-annotate-debug-info
Commit: 6d8e53d4afe46608f47bcb014387c053829cdcf1
https://github.com/llvm/llvm-project/commit/6d8e53d4afe46608f47bcb014387c053829cdcf1
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIInstrFormats.td
M llvm/lib/Target/AMDGPU/SMInstructions.td
A llvm/test/MC/AMDGPU/gfx1250_asm_smem.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vbuffer_mubuf.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat.s
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_smem.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vbuffer_mubuf.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vflat.txt
Log Message:
-----------
[AMDGPU] Support nv memory instructions modifier on gfx1250 (#149582)
Commit: 921c6dbecaf49e3ed24b94802f094cd7f61f1873
https://github.com/llvm/llvm-project/commit/921c6dbecaf49e3ed24b94802f094cd7f61f1873
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
A llvm/docs/CalleeTypeMetadata.rst
M llvm/docs/LangRef.rst
M llvm/docs/Reference.rst
M llvm/include/llvm/IR/FixedMetadataKinds.def
M llvm/include/llvm/IR/Metadata.h
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
A llvm/test/Assembler/callee-type-metadata.ll
A llvm/test/Transforms/Inline/drop-callee-type-metadata.ll
A llvm/test/Transforms/InstCombine/drop-callee-type-metadata.ll
A llvm/test/Transforms/SimplifyCFG/merge-callee-type-metadata.ll
A llvm/test/Verifier/callee-type-metadata.ll
Log Message:
-----------
[llvm] Introduce callee_type metadata
Introduce `callee_type` metadata which will be attached to the indirect
call instructions.
The `callee_type` metadata will be used to generate `.callgraph` section
described in this RFC:
https://lists.llvm.org/pipermail/llvm-dev/2021-July/151739.html
Reviewers: morehouse, petrhosek, nikic, ilovepi
Reviewed By: nikic, ilovepi
Pull Request: https://github.com/llvm/llvm-project/pull/87573
Commit: c99c213e725adee22c386d2059118a49f0c57054
https://github.com/llvm/llvm-project/commit/c99c213e725adee22c386d2059118a49f0c57054
Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
Log Message:
-----------
[mlir][Flang][NFC] Replace use of `vector.insertelement/extractelement` (#143272)
This PR is part of the last step to remove `vector.extractelement` and
`vector.insertelement` ops (RFC:
https://discourse.llvm.org/t/rfc-psa-remove-vector-extractelement-and-vector-insertelement-ops-in-favor-of-vector-extract-and-vector-insert-ops).
It replaces `vector.insertelement` and `vector.extractelement` with
`vector.insert` and `vector.extract` in Flang. It looks like no lit
tests are impacted?
Commit: 2e67dcfdcd023df2f06e0823eeea23990ce41534
https://github.com/llvm/llvm-project/commit/2e67dcfdcd023df2f06e0823eeea23990ce41534
Author: Kelvin Li <kli at ca.ibm.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M flang/test/Lower/PowerPC/ppc-vec-extract-elem-order.f90
M flang/test/Lower/PowerPC/ppc-vec-extract.f90
M flang/test/Lower/PowerPC/ppc-vec-insert-elem-order.f90
M flang/test/Lower/PowerPC/ppc-vec-insert.f90
M flang/test/Lower/PowerPC/ppc-vec-splat-elem-order.f90
M flang/test/Lower/PowerPC/ppc-vec-splat.f90
Log Message:
-----------
[flang] update ppc lit tests after using vector.insert and vector.extract (NFC) (#148775)
See https://github.com/llvm/llvm-project/pull/143272
Commit: 20c5daa032ca5e4c655d1248ef9cbf8a33183aaf
https://github.com/llvm/llvm-project/commit/20c5daa032ca5e4c655d1248ef9cbf8a33183aaf
Author: lntue <lntue at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M libc/src/__support/math/exp.h
M libc/src/__support/math/exp10.h
M libc/src/__support/math/exp10f_utils.h
Log Message:
-----------
[libc] Fix conflicting symbols when shared/math.h is included. (#149591)
Commit: 28c1433cf3cb3a4a7a4cb0e9488e04b2699c72d6
https://github.com/llvm/llvm-project/commit/28c1433cf3cb3a4a7a4cb0e9488e04b2699c72d6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
Log Message:
-----------
[Vectorize] Fix a warning
This patch fixes:
llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp:726:13: error:
unused variable 'RedPhiRK' [-Werror,-Wunused-variable]
Commit: b9aa06f897efafc2b8c9c1de45bdfe987aadb879
https://github.com/llvm/llvm-project/commit/b9aa06f897efafc2b8c9c1de45bdfe987aadb879
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[llvm] Improve grammar and punctuation of LLVM Language Reference Manual (#149553)
Commit: 7b5d8a02d21e5309a4a48eb3d699b75c53144492
https://github.com/llvm/llvm-project/commit/7b5d8a02d21e5309a4a48eb3d699b75c53144492
Author: Florian Mayer <fmayer at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
Revert "[NFC][profdata] Apply lints and other format fixes" (#149601)
Reverts llvm/llvm-project#149433
This broke the hwasan buildbot:
https://lab.llvm.org/buildbot/#/builders/55/builds/14455
Commit: 7c57b559a4c40599b4ec8ac7a638ed151f24fc8c
https://github.com/llvm/llvm-project/commit/7c57b559a4c40599b4ec8ac7a638ed151f24fc8c
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M lldb/test/Shell/Scripts/TestFrameworkFixUnifdef.test
Log Message:
-----------
[lldb][scripts] Fix framework script unifdef test (#149607)
Fixes a test that's failing on LLDB GreenDragon due to a mistake in the
arguments used when calling the framework-header-fix script.
Commit: 09bea21d9507e142d2ff6a5068362bdc824fce54
https://github.com/llvm/llvm-project/commit/09bea21d9507e142d2ff6a5068362bdc824fce54
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
Log Message:
-----------
[mlir][memref] Simplify memref.copy canonicalization (#149506)
FoldCopyOfCast has both a OpRewritePattern implementation and a folder
implementation. This PR removes the OpRewritePattern implementation.
Commit: 68fd102598a27e2654c0ced9c122c601795097fe
https://github.com/llvm/llvm-project/commit/68fd102598a27e2654c0ced9c122c601795097fe
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M lldb/source/Target/StopInfo.cpp
Log Message:
-----------
[lldb] Use std::make_shared for StopInfoSP (#149612)
Use std::make_shared to create a StopInfoSP, which inherits from
shared_from_this. It's both the most efficient and safest way to create
these objects:
- With make_shared, the object and the control block are allocated
together, which is more efficient.
- With make_shared, the enable_shared_from_this base class is properly
linked to the control block before the constructor finishes, so
shared_from_this() will be safe to use (though still not recommended
during construction).
Commit: fef42382882fdd094add0f404d872aa8f4282ea9
https://github.com/llvm/llvm-project/commit/fef42382882fdd094add0f404d872aa8f4282ea9
Author: Colin De Vlieghere <cdevlieghere at tesla.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M mlir/python/mlir/dialects/scf.py
M mlir/test/python/dialects/scf.py
Log Message:
-----------
[MLIR][SCF] Add dedicated Python bindings for ForallOp (#149416)
This patch specializes the Python bindings for ForallOp and
InParallelOp, similar to the existing one for ForOp. These bindings
create the regions and blocks properly and expose some additional
helpers.
Commit: a5d6fa68e399dee9eb56f2671670085b26c06b4a
https://github.com/llvm/llvm-project/commit/a5d6fa68e399dee9eb56f2671670085b26c06b4a
Author: Jens Reidel <adrian at travitia.xyz>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
[compiler-rt][Mips] Fix stat size check on mips64 musl (#143301)
The sizes of the struct stat on MIPS64 differ in musl vs glibc.
See https://godbolt.org/z/qf9bcq8Y8 for the proof. Prior to this change,
compilation for MIPS64 musl would fail.
Signed-off-by: Jens Reidel <adrian at travitia.xyz>
Commit: 2f38ced51b7c560dcb6d01180efe5ab22bbe004f
https://github.com/llvm/llvm-project/commit/2f38ced51b7c560dcb6d01180efe5ab22bbe004f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M llvm/lib/Support/StringMap.cpp
Log Message:
-----------
StringMap: Remove redundant member init in constructor (#149491)
These are already zeroinitialized in the field definitions.
Commit: b3c9ed151f18fbbfe027cf93dd7957f36bcbaccf
https://github.com/llvm/llvm-project/commit/b3c9ed151f18fbbfe027cf93dd7957f36bcbaccf
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/f32x2-instructions.ll
Log Message:
-----------
[NVPTX][test] regenerate some tests broken by successive changes (#149611)
#149393 and #149571 landed in quick succession requiring
some tests to be regenerated to account for their interactions.
Commit: cfddb401db111c53f0a345c2a590974487a96bb9
https://github.com/llvm/llvm-project/commit/cfddb401db111c53f0a345c2a590974487a96bb9
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/acos.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/acos.h
A libc/src/__support/math/asin_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/acos.cpp
M libc/src/math/generic/asin.cpp
R libc/src/math/generic/asin_utils.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor acos implementation to header-only in src/__support/math folder. (#148409)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: e1ac57c1a560b1d9891f93081e2f9c862c4a8d77
https://github.com/llvm/llvm-project/commit/e1ac57c1a560b1d9891f93081e2f9c862c4a8d77
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M mlir/test/IR/test-pattern-logging-listener.mlir
Log Message:
-----------
[mlir][test] Add missing `REQUIRES: asserts` for --debug-only flag (#149634)
Debug flags are not provided in fully optimized builds.
Test added in #149378 / #146228
Commit: e57315e6ca8f05154e205136bb940b8cb14028d3
https://github.com/llvm/llvm-project/commit/e57315e6ca8f05154e205136bb940b8cb14028d3
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/MemoryProfileInfo.h
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/test/Transforms/Inline/memprof_inline2.ll
A llvm/test/Transforms/Inline/memprof_inline3.ll
Log Message:
-----------
[MemProf] Fix discarding of noncold contexts after inlining (#149599)
When we rebuild the call site tries after inlining of an allocation with
MD_memprof metadata, we don't want to reapply the discarding of small
non-cold contexts (under -memprof-callsite-cold-threshold=) because we
have either no context size info (without -memprof-report-hinted-sizes
or another option that causes us to keep that as metadata), and even
with that information in the metadata, we have imperfect information at
that point as we have already discarded some contexts during matching.
The first case was even worse because we didn't guard our check by
whether the number of cold bytes was 0, leading to very aggressive
pruning during post-inline metadata rebuilding without the context size
information.
Commit: a5481e7d5af07161b5d135100cb8754ae614accf
https://github.com/llvm/llvm-project/commit/a5481e7d5af07161b5d135100cb8754ae614accf
Author: Florian Mayer <fmayer at google.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
M llvm/test/Instrumentation/HWAddressSanitizer/globals.ll
Log Message:
-----------
[NFCI] [HWASan] add test for custom section global (#149625)
Commit: ef49ed4829bc1b111e31a08d70b0ccae66427ebf
https://github.com/llvm/llvm-project/commit/ef49ed4829bc1b111e31a08d70b0ccae66427ebf
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ExprConstant.cpp
M clang/test/AST/ByteCode/builtin-constant-p.cpp
M clang/test/Sema/diagnose_if.c
M clang/test/SemaCXX/diagnose_if-ext.cpp
M clang/test/SemaCXX/diagnose_if.cpp
Log Message:
-----------
[clang][bytecode] Use bytecode interpreter in isPotentialConstantExprU… (#149462)
…nevaluated
Fake a function call to the given function and evaluate the given
expression as if it was part of that function call.
Fixes #149383
Commit: c875bb8eef6c60e7cd5814fdbab149abb86efa30
https://github.com/llvm/llvm-project/commit/c875bb8eef6c60e7cd5814fdbab149abb86efa30
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M flang/docs/GettingStarted.md
Log Message:
-----------
[flang] Minor revision of the getting started guide. (#149632)
- C++17 is now the default, no need to specify explicitly.
https://github.com/llvm/llvm-project/blob/b3c9ed151f18fbbfe027cf93dd7957f36bcbaccf/flang/CMakeLists.txt#L13
- The current recommended way to set up OpenMP is as a runtime, not as a
project.
https://github.com/llvm/llvm-project/blob/b3c9ed151f18fbbfe027cf93dd7957f36bcbaccf/llvm/CMakeLists.txt#L209-L214
Commit: 9bf7d04c4386daf1ef0acf95782a59855c98474a
https://github.com/llvm/llvm-project/commit/9bf7d04c4386daf1ef0acf95782a59855c98474a
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Interpreter/Interpreter.h
M clang/include/clang/Interpreter/Value.h
M clang/lib/Interpreter/CMakeLists.txt
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/InterpreterUtils.cpp
M clang/lib/Interpreter/InterpreterUtils.h
M clang/lib/Interpreter/InterpreterValuePrinter.cpp
M clang/lib/Interpreter/Value.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/test/Interpreter/pretty-print.c
A clang/test/Interpreter/pretty-print.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
Log Message:
-----------
[clang-repl] Lay the basic infrastructure for pretty printing of types (#148701)
The idea is to store a type-value pair in clang::Value which is updated
by the interpreter runtime. The class copies builtin types and boxes
non-builtin types to provide some lifetime control.
The patch enables default printers for C and C++ using a very
minimalistic approach. We handle enums, arrays and user types. Once we
land this we can focus on enabling user-defined pretty-printers which
take control over printing of types
The work started as part of https://reviews.llvm.org/D146809, then we
created a giant in https://github.com/llvm/llvm-project/pull/84769
Commit: 7c402b8b81d2b69b55eb5bac39830fbc631f8cde
https://github.com/llvm/llvm-project/commit/7c402b8b81d2b69b55eb5bac39830fbc631f8cde
Author: YexuanXiao <bizwen at nykz.org>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/FormatString.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/TypeNodes.td
M clang/include/clang/Serialization/TypeBitCodes.def
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/PrintfFormatString.cpp
M clang/lib/AST/ScanfFormatString.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
M clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
M clang/test/AST/ast-dump-array.cpp
M clang/test/AST/ast-dump-expr-json.c
M clang/test/AST/ast-dump-expr-json.cpp
M clang/test/AST/ast-dump-expr.c
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-openmp-distribute-parallel-for-simd.c
M clang/test/AST/ast-dump-openmp-distribute-parallel-for.c
M clang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for-simd.c
M clang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for.c
M clang/test/AST/ast-dump-openmp-teams-distribute-parallel-for-simd.c
M clang/test/AST/ast-dump-openmp-teams-distribute-parallel-for.c
M clang/test/AST/ast-dump-stmt-json.cpp
M clang/test/AST/ast-dump-stmt.cpp
M clang/test/AST/ast-dump-traits.cpp
M clang/test/AST/ast-dump-types-errors-json.cpp
M clang/test/Analysis/cfg.cpp
M clang/test/Analysis/explain-svals.cpp
M clang/test/Analysis/std-c-library-functions-arg-weakdeps.c
M clang/test/Analysis/std-c-library-functions-lookup.c
M clang/test/Analysis/std-c-library-functions-vs-stream-checker.c
M clang/test/Analysis/std-c-library-functions.c
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p2.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p5.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p7.cpp
M clang/test/FixIt/fixit-format-ios-nopedantic.m
M clang/test/FixIt/format.m
M clang/test/Sema/format-strings-fixit-ssize_t.c
M clang/test/Sema/format-strings-scanf.c
M clang/test/Sema/format-strings-size_t.c
M clang/test/Sema/matrix-type-builtins.c
M clang/test/Sema/ptrauth-atomic-ops.c
M clang/test/Sema/ptrauth.c
M clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
M clang/test/SemaCXX/enum-scoped.cpp
M clang/test/SemaCXX/microsoft-varargs-diagnostics.cpp
M clang/test/SemaCXX/new-delete.cpp
M clang/test/SemaCXX/static-assert-cxx26.cpp
M clang/test/SemaCXX/type-aware-new-delete-basic-free-declarations.cpp
M clang/test/SemaCXX/unavailable_aligned_allocation.cpp
M clang/test/SemaHLSL/Language/AssignArray.hlsl
M clang/test/SemaHLSL/Language/InitListAST.hlsl
M clang/test/SemaObjC/matrix-type-builtins.m
M clang/test/SemaOpenCL/cl20-device-side-enqueue.cl
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/tools/libclang/CIndex.cpp
M libcxx/test/libcxx/containers/sequences/deque/spare_block_handling.pass.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
Reland [Clang] Make the SizeType, SignedSizeType and PtrdiffType be named sugar types (#149613)
The checks for the 'z' and 't' format specifiers added in the original
PR #143653 had some issues and were overly strict, causing some build
failures and were consequently reverted at
https://github.com/llvm/llvm-project/commit/4c85bf2fe8042c855c9dd5be4b02191e9d071ffd.
In the latest commit
https://github.com/llvm/llvm-project/pull/149613/commits/27c58629ec76a703fde9c0b99b170573170b4a7a,
I relaxed the checks for the 'z' and 't' format specifiers, so warnings
are now only issued when they are used with mismatched types.
The original intent of these checks was to diagnose code that assumes
the underlying type of `size_t` is `unsigned` or `unsigned long`, for
example:
```c
printf("%zu", 1ul); // Not portable, but not an error when size_t is unsigned long
```
However, it produced a significant number of false positives. This was
partly because Clang does not treat the `typedef` `size_t` and
`__size_t` as having a common "sugar" type, and partly because a large
amount of existing code either assumes `unsigned` (or `unsigned long`)
is `size_t`, or they define the equivalent of size_t in their own way
(such as
sanitizer_internal_defs.h).https://github.com/llvm/llvm-project/blob/2e67dcfdcd023df2f06e0823eeea23990ce41534/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h#L203
Commit: 6b371cab949e3ff9e903d6c3118f4b2be2bf3cc5
https://github.com/llvm/llvm-project/commit/6b371cab949e3ff9e903d6c3118f4b2be2bf3cc5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
A libcxx/test/extensions/gnu/hash_map/hash_map.pass.cpp
A libcxx/test/extensions/gnu/hash_map/hash_map_name_lookup.pass.cpp
A libcxx/test/extensions/gnu/hash_set/hash_set.pass.cpp
A libcxx/test/extensions/gnu/hash_set/hash_set_name_lookup.pass.cpp
A libcxx/test/extensions/libcxx/atomics/atomics.flag/init_bool.pass.cpp
A libcxx/test/extensions/libcxx/containers/associative/map/scary.compile.pass.cpp
A libcxx/test/extensions/libcxx/containers/associative/set/scary.compile.pass.cpp
A libcxx/test/extensions/libcxx/containers/associative/unord.map/scary.compile.pass.cpp
A libcxx/test/extensions/libcxx/containers/associative/unord.set/scary.compile.pass.cpp
A libcxx/test/extensions/libcxx/containers/sequences/deque/incomplete.pass.cpp
A libcxx/test/extensions/libcxx/depr/depr.c.headers/extern_c.pass.cpp
A libcxx/test/extensions/libcxx/depr/depr.c.headers/include_as_c.sh.cpp
A libcxx/test/extensions/libcxx/depr/depr.c.headers/stdint_h.std_types_t.compile.pass.cpp
A libcxx/test/extensions/libcxx/depr/depr.c.headers/stdint_h.xopen_source.compile.pass.cpp
R libcxx/test/extensions/libcxx/include_as_c.sh.cpp
A libcxx/test/extensions/msvc/math_h.compile.pass.cpp
R libcxx/test/libcxx/atomics/atomics.flag/init_bool.pass.cpp
R libcxx/test/libcxx/containers/associative/map/scary.compile.pass.cpp
R libcxx/test/libcxx/containers/associative/set/scary.compile.pass.cpp
R libcxx/test/libcxx/containers/associative/unord.map/scary.compile.pass.cpp
R libcxx/test/libcxx/containers/associative/unord.set/scary.compile.pass.cpp
R libcxx/test/libcxx/containers/gnu_cxx/hash_map.pass.cpp
R libcxx/test/libcxx/containers/gnu_cxx/hash_map_name_lookup.pass.cpp
R libcxx/test/libcxx/containers/gnu_cxx/hash_set.pass.cpp
R libcxx/test/libcxx/containers/gnu_cxx/hash_set_name_lookup.pass.cpp
R libcxx/test/libcxx/containers/sequences/deque/incomplete.pass.cpp
R libcxx/test/libcxx/depr/depr.c.headers/extern_c.pass.cpp
R libcxx/test/libcxx/depr/depr.c.headers/math_h.compile.pass.cpp
R libcxx/test/libcxx/depr/depr.c.headers/stdint_h.std_types_t.compile.pass.cpp
R libcxx/test/libcxx/depr/depr.c.headers/stdint_h.xopen_source.compile.pass.cpp
Log Message:
-----------
[libc++] Move a bunch of extensions tests to test/extensions (#149275)
Commit: 6855b9c598b3258e8c0e3edffe5458630a0b0105
https://github.com/llvm/llvm-project/commit/6855b9c598b3258e8c0e3edffe5458630a0b0105
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/Parser.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
Log Message:
-----------
[clang][deps] Properly capture the global module and '\n' for all module directives (#148685)
Previously, the newline after a module directive was not properly
captured and printed by `clang::printDependencyDirectivesAsSource`.
According to P1857R3, each directive must, after skipping horizontal
whitespace, appear at the start of a logical line. Because the newline
after module directives was missing, this invalidated the following
line.
This fixes tests that were previously in violation of P1857R3,
including for Objective-C directives, which should also comply with
P1857R3.
This also ensures that the global module fragment `module;` is captured
by the dependency directives scanner.
Commit: 224e221f1bcb64cf20d81a4ad2855043e445d9bf
https://github.com/llvm/llvm-project/commit/224e221f1bcb64cf20d81a4ad2855043e445d9bf
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M lldb/include/lldb/Utility/Stream.h
Log Message:
-----------
[NFC][lldb] fix extra line after documentation (#149482)
Formatting patch which removes an extra line after a docstring.
Commit: baf2953097a8d606c8e8441c61c09f607f583cc8
https://github.com/llvm/llvm-project/commit/baf2953097a8d606c8e8441c61c09f607f583cc8
Author: kissholic <kissholicovo at outlook.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
A llvm/test/Transforms/InstCombine/fold-fcmp-trunc.ll
Log Message:
-----------
Optimize fptrunc(x)>=C1 --> x>=C2 (#99475)
Fix https://github.com/llvm/llvm-project/issues/85265#issue-2186848949
Commit: b5348e76225a1580530cd4cd362cfa60728693e6
https://github.com/llvm/llvm-project/commit/b5348e76225a1580530cd4cd362cfa60728693e6
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M libcxx/.clang-format
M libcxx/include/__config
M libcxx/include/__memory/construct_at.h
M libcxx/include/print
M libcxx/include/string
M libcxx/include/string_view
A libcxx/test/libcxx/algorithms/specialized.algorithms/nonnull.verify.cpp
A libcxx/test/libcxx/input.output/iostream.format/print.fun/nonnull.verify.cpp
M libcxx/test/libcxx/strings/basic.string/nonnull.verify.cpp
M libcxx/test/libcxx/strings/string.view/assert.ctor.pointer.pass.cpp
A libcxx/test/libcxx/strings/string.view/nonnull.verify.cpp
Log Message:
-----------
[libc++] Diagnose passing null pointers to a bunch of APIs (#148585)
Commit: 193de1a566aa5a10a6f63f6f7c7fca2e52a7d75b
https://github.com/llvm/llvm-project/commit/193de1a566aa5a10a6f63f6f7c7fca2e52a7d75b
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M clang/test/Interpreter/pretty-print.cpp
Log Message:
-----------
[clang-repl] Spell out the enum types to appease some bots.
This change is a follow-up of llvm/llvm-project#148701 where clang-s390x-linux
and clang-s390x-linux-lnt failed.
Commit: 3866e4e7f85aacd0e47978b22084ed00ebcd0531
https://github.com/llvm/llvm-project/commit/3866e4e7f85aacd0e47978b22084ed00ebcd0531
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-cta-sm100.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-cta-sm100a.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-cta-sm90.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-gather4.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-im2colw.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-im2colw128.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-prefetch-sm100a.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-s2g-scatter4.ll
Log Message:
-----------
[NVPTX] Add im2colw/w128 modes support to TMA intrinsics (#148863)
This patch adds support for the im2col-w/w128 and scatter/gather modes
for TMA Copy and Prefetch intrinsics, completing support for all the
available modes. These are lowered through tablegen, building
on top of earlier patches.
* lit tests are added for all the combinations and verified with a
12.8 ptxas executable.
* Documentation is updated in the NVPTXUsage.rst file.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 802ea0eb78f7c974d4097c38587f4c207451d7ee
https://github.com/llvm/llvm-project/commit/802ea0eb78f7c974d4097c38587f4c207451d7ee
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M llvm/lib/Support/CMakeLists.txt
Log Message:
-----------
[Support] System include SipHash.h (#149499)
A regular include may not search the system include path.
Commit: 65bde89c9a081eab1e8102b06a46d445e1320bd8
https://github.com/llvm/llvm-project/commit/65bde89c9a081eab1e8102b06a46d445e1320bd8
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/test/CIR/CodeGen/compound_literal.cpp
Log Message:
-----------
[CIR] Upstream CompoundLiteralExpr for Scalar (#148943)
Upstream CompoundLiteralExpr for Scalar as a prerequisite for
CompoundLiteralExpr for ComplexType
Commit: 0aff1b6cdda5f6f3ce31fe30a4aaa6c8f947b64b
https://github.com/llvm/llvm-project/commit/0aff1b6cdda5f6f3ce31fe30a4aaa6c8f947b64b
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
Log Message:
-----------
[CIR][NFC] Replace bool by cir::UnaryOpKind in emitComplexPrePostIncDec (#149566)
Replace bool by cir::UnaryOpKind in emitComplexPrePostIncDec
Commit: 167c695cece8e4fa78b7e9c5fc94bae3821ade52
https://github.com/llvm/llvm-project/commit/167c695cece8e4fa78b7e9c5fc94bae3821ade52
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M libcxx/docs/ReleaseNotes.rst
A libcxx/docs/ReleaseNotes/22.rst
Log Message:
-----------
[libc++] Add and empty skeleton for LLVM 22 release notes (#149535)
Commit: 50408eeff6020061ceb6685448e214f36c75f71b
https://github.com/llvm/llvm-project/commit/50408eeff6020061ceb6685448e214f36c75f71b
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M clang/test/Interpreter/pretty-print.cpp
Log Message:
-----------
Revert "[clang-repl] Spell out the enum types to appease some bots."
This did not help the bots. Add another check that might help me figure out the
issue.
This reverts commit 193de1a566aa5a10a6f63f6f7c7fca2e52a7d75b.
Commit: 64220357b45b2c262eece817e797a29b8daabdd5
https://github.com/llvm/llvm-project/commit/64220357b45b2c262eece817e797a29b8daabdd5
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M libcxx/include/__flat_map/flat_multimap.h
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.capacity/empty.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.capacity/max_size.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.capacity/size.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/compare.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/containers.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/copy.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/default.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/default_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/dtor_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_assign.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_assign_clears.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_assign_noexcept.compile.pass.cpp
R libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_assign_noexcept.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/range.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/sorted_container.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/sorted_initializer_list.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/sorted_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/iterator_comparison.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/reverse_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/clear.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/emplace_hint.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/erase_key.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/erase_key_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/extract.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_cv.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_initializer_list.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_iter_cv.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_iter_rv.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_rv.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_sorted_initializer_list.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_sorted_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/replace.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/swap_free.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/swap_member.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.observers/comp.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.observers/keys_values.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/contains.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/contains_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/count.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/count_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/equal_range.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/find.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/find_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/lower_bound.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/lower_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/upper_bound.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/upper_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/helpers.h
Log Message:
-----------
[libc++] constexpr flat_multimap (#148417)
Fixes #128674
Commit: ecf0cbda18d41939952ac1ee5a320e8920cf9e50
https://github.com/llvm/llvm-project/commit/ecf0cbda18d41939952ac1ee5a320e8920cf9e50
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCObjectStreamer.cpp
Log Message:
-----------
MCFragment: Refactor LEB
* Deduplicate creation of SLEB128/ULEB128 with makeLEB.
* Call newFragment to prepare for removing getOrCreateDataFragment.
Commit: 1fcf49a35c4ffce2c0a8baf8a045c031f783ccff
https://github.com/llvm/llvm-project/commit/1fcf49a35c4ffce2c0a8baf8a045c031f783ccff
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCPseudoProbe.cpp
Log Message:
-----------
MC: Replace FT_PseudoProbe with FT_LEB
The fragment type introduced by https://reviews.llvm.org/D91878 is
unnecessary and can be replaced with FT_LEB.
Commit: c43f828d59672b4844a7409e4660b9f8f509da35
https://github.com/llvm/llvm-project/commit/c43f828d59672b4844a7409e4660b9f8f509da35
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/test/AST/ByteCode/const-eval.c
M clang/test/Sema/const-eval.c
M clang/test/SemaCXX/constant-expression-cxx14.cpp
Log Message:
-----------
[Clang] Be less strict about diagnosing null pointer dereference. (#149648)
In #143667, we made constant evaluation fail on `*null_ptr`, as this is
UB. However, `&(*(foo*)0)` seems to be a common pattern, which made
#143667 too disruptive.
So instead of failing the evaluation, we note the UB, which let clang
recovers when checking for constant initialization.
Fixes #149500
Commit: 906295b8a31c8dac5aa845864c0bca9f02f86184
https://github.com/llvm/llvm-project/commit/906295b8a31c8dac5aa845864c0bca9f02f86184
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
M mlir/include/mlir/Dialect/Arith/IR/Arith.h
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
Log Message:
-----------
[mlir] update affine+arith create APIs (1/n) (#149656)
This PR updates create APIs for arith and affine - specifically these
are the only in-tree dialects/ops with "custom" builders:
```
AffineDmaStartOp
AffineDmaWaitOp
ConstantIntOp
ConstantFloatOp
ConstantIndexOp
```
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: 0a463bd43e626695b7221b0cf20cdaa5970cfe98
https://github.com/llvm/llvm-project/commit/0a463bd43e626695b7221b0cf20cdaa5970cfe98
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M clang/test/Interpreter/pretty-print.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
Log Message:
-----------
[clang-repl] Mark asan and systemz as unsupported for now.
While waiting for the bot owners it seems that this is not a major issue due
to the big endianness of the systemz platform. Instead it looks like we are not
modelling something well for enum types. Probably `va_arg` has a bug for that
platform or similar.
The asan failure seems to be a crash in asan and maybe related to the issues
we've mentioned in llvm/llvm-project#102858.
This patch should appease the bots that were broken by llvm/llvm-project#148701
Commit: 4d76ff9d2ef62766e1a244fa2f5b9e493f890afc
https://github.com/llvm/llvm-project/commit/4d76ff9d2ef62766e1a244fa2f5b9e493f890afc
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M libc/src/sys/time/linux/setitimer.cpp
Log Message:
-----------
[libc] Fix setitimer build when full_build=OFF (#149665)
When we pull the headers from the system, we might get a suseconds_t
that's a long long, so add a cast to prevent a implicit conversion
error.
Commit: 3fd53db8585749451a0686d651e753e8b23265cf
https://github.com/llvm/llvm-project/commit/3fd53db8585749451a0686d651e753e8b23265cf
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
M llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory.ll
Log Message:
-----------
[VPlan] Remove unneeded VPVectorPointer after narrowing to replicate.
The replicate recipes created when narrowing interleave groups don't
need a VPVectorPointer, they can simply use the existing pointer.
Commit: 5753be4ea29a01a601eeee7380a2f5a284711d7a
https://github.com/llvm/llvm-project/commit/5753be4ea29a01a601eeee7380a2f5a284711d7a
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M libc/src/sys/time/linux/utimes.cpp
Log Message:
-----------
[libc] Fix utimes build when full_build=OFF (#149668)
We might pull a header from the host where tv_nsec is not a long,
so compilation would fail with an implicit conversion error.
Commit: fed6db45dfbe10cf1a3dab663e8ceb7e7974d713
https://github.com/llvm/llvm-project/commit/fed6db45dfbe10cf1a3dab663e8ceb7e7974d713
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/test/AST/ByteCode/complex.cpp
M clang/test/AST/ByteCode/const-eval.c
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/CXX/drs/cwg14xx.cpp
Log Message:
-----------
[clang][bytecode] Diagnose dereferencing a null pointer (#149330)
Commit: dc89a910aa153ebf9d4fa57edeefe4bcec1d1014
https://github.com/llvm/llvm-project/commit/dc89a910aa153ebf9d4fa57edeefe4bcec1d1014
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
MCStreamer: Simplify with newFragment. NFC
Commit: 52bcc7b170b4f16949d650987427f7f898e9cddb
https://github.com/llvm/llvm-project/commit/52bcc7b170b4f16949d650987427f7f898e9cddb
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocBasic.cpp
A llvm/lib/CodeGen/RegAllocBasic.h
Log Message:
-----------
[NFC][RA] Refactor RABasic into a Separate Header (#149555)
This change refactors the RABasic type by moving it from
RegAllocBasic.cpp to a new header file, RegAllocBasic.h. This separation
of header and implementation aligns with the structure used by other
register allocators, such as RegAllocGreedy. The refactoring is intended
to facilitate future use of RABasic in other contexts.
Commit: 6eef978e1e43f9f1e143f735e5afbd3427d42487
https://github.com/llvm/llvm-project/commit/6eef978e1e43f9f1e143f735e5afbd3427d42487
Author: eaeltsin <eaeltsin at google.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M mlir/lib/Target/IRDLToCpp/TemplatingUtils.h
Log Message:
-----------
Include <vector> in TemplatingUtils.h (#149671)
This is needed after 3ee0f97b950a550ef14e3adbdf45f507273f2190
Commit: 52f56edccfce7692d90ae391070b69b746d900fc
https://github.com/llvm/llvm-project/commit/52f56edccfce7692d90ae391070b69b746d900fc
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M llvm/lib/MC/WasmObjectWriter.cpp
Log Message:
-----------
WasmObjectWrier: Simplify fragment walk in .init_array
and reduce the reliance on the FT_Align/FT_Data layout,
which will be changed by #149030
Commit: 269e3091a6ecf24893993b97da7b5f959b2f24a1
https://github.com/llvm/llvm-project/commit/269e3091a6ecf24893993b97da7b5f959b2f24a1
Author: David Green <david.green at arm.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-neon-3vdiff.ll
M llvm/test/CodeGen/AArch64/arm64-neon-aba-abd.ll
M llvm/test/CodeGen/AArch64/highextractbitcast.ll
M llvm/test/CodeGen/AArch64/neon-saba.ll
Log Message:
-----------
[AArch64][GlobalISel] Add test coverage for some abd cases. NFC
Commit: 07100c6658c71e4016675e624da8c94543479745
https://github.com/llvm/llvm-project/commit/07100c6658c71e4016675e624da8c94543479745
Author: David Green <david.green at arm.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
Log Message:
-----------
[AArch64] Clean up abd lowering. NFC
The neon ABD intrinsics are lowering to ISD::ABDS/ISD::ABDU nodes in SDAG. This
adds the same for GISel so that we can remove the AArch64sabd/AArch64uabd
PatFrags, reducing the number of patterns needed. Some very basic legalization
info is added for G_ABD nodes.
Commit: 756e515ce317a282fd5adf08b54600337346c6b0
https://github.com/llvm/llvm-project/commit/756e515ce317a282fd5adf08b54600337346c6b0
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCArchitectures.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCFlagRules.cmake
M libc/src/__support/macros/properties/cpu_features.h
Log Message:
-----------
[libc] Simplify fma handling for riscv (#149673)
This PR simplifies how we enable the different fma configs for riscv:
1. Removes __LIBC_RISCV_USE_FMA define
2. Checks if __riscv_flen is defined to set LIBC_TARGET_CPU_HAS_FMA
As a bonus, we enable *FMA_OPT tests for rv32, so any rv32 hardware that
doesn't implement the f/d extensions is also covered by the tests.
Commit: 6056f942abe83b05406df8b04e95ec37a3d160b5
https://github.com/llvm/llvm-project/commit/6056f942abe83b05406df8b04e95ec37a3d160b5
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/BasicPtxBuilderInterface.cpp
M mlir/lib/Dialect/LLVMIR/IR/FunctionCallUtils.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/AddComdats.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/OptimizeForNVVM.cpp
Log Message:
-----------
[mlir][NFC] update LLVM create APIs (2/n) (#149667)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: 54492c231c5d9091d086bfb767423415ea6bd0bc
https://github.com/llvm/llvm-project/commit/54492c231c5d9091d086bfb767423415ea6bd0bc
Author: Manas <manas18244 at iiitd.ac.in>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M clang/docs/ClangTools.rst
Log Message:
-----------
[clang][docs] Add all clang-tools-extra to 'ClangTools.rst' (#148622)
The 'Extra Clang Tools' section does not mention any other clang tool
except clang-tidy. This adds all missing extra tools to sync
documentation between this page and the main page of Extra Clang Tools.
Fixes #148538
Commit: 39c8cfb70d203439e3296dfdfe3d41f1cb2ec551
https://github.com/llvm/llvm-project/commit/39c8cfb70d203439e3296dfdfe3d41f1cb2ec551
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
MC: Optimize getOrCreateDataFragment
... by eagerly allocating an empty fragment when adding a fragment
with a variable-size tail.
X86AsmBackend, The JCC erratum mitigation and x86-pad-for-align set a
flag for FT_Relaxable, which needs to be moved to emitInstructionBegin.
```
if (CF->getKind() == MCFragment::FT_Relaxable)
CF->setAllowAutoPadding(canPadInst(Inst, OS));
```
Follow-up to #148544
Commit: ff0cbecb68bd28f6131894fbb037e063e8da6bab
https://github.com/llvm/llvm-project/commit/ff0cbecb68bd28f6131894fbb037e063e8da6bab
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
Log Message:
-----------
[RISCV] Add a non-template version of SelectAddrRegZextRegScale and move code there. NFC
The template versions now call the non-template version. This
avoids duplicating the code for each template.
Commit: d77ac81e93e5e2df5275b687b53049d9acfe1357
https://github.com/llvm/llvm-project/commit/d77ac81e93e5e2df5275b687b53049d9acfe1357
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
X86AsmBackend: Remove some overhead from auto padding feature
MCObjectStreamer::emitInstructionImpl is hot.
Devirtualize allowEnhancedRelaxation introduced by
https://reviews.llvm.org/D76286
Commit: e7ac49977a3e8ee8f9716ffa43619ff41af7dfb2
https://github.com/llvm/llvm-project/commit/e7ac49977a3e8ee8f9716ffa43619ff41af7dfb2
Author: Jasmine Tang <jjasmine at igalia.com>
Date: 2025-07-19 (Sat, 19 Jul 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/Transforms/InstSimplify/exp10.ll
M llvm/test/Transforms/InstSimplify/fold-intrinsics.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[InstSimplify] Add poison propagation for trivially vectorizable intrinsics (#149243)
Fixes https://github.com/llvm/llvm-project/issues/146769
Test cases added to
`llvm/test/Transforms/InstSimplify/fold-intrinsics.ll`
Commit: 58c3affdaa732fd6f8c7e6640396e7c6366bac9d
https://github.com/llvm/llvm-project/commit/58c3affdaa732fd6f8c7e6640396e7c6366bac9d
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M libclc/utils/CMakeLists.txt
Log Message:
-----------
[libclc] Expose `prepare_builtins_*` variables in top-level CMakeLists (#149657)
Fix `libclc/utils/CMakeLists.txt` to expose `prepare_builtins_*`
variables in parent scope. This was a regression introduced in #148815
where the code was moved into subdirectory, and the variables would no
longer be accessible to calls in top-level CMakeLists, resulting in
attempting to build targets with empty command:
```
[1566/1676] cd /var/tmp/portage/llvm-core/libclc-22.0.0.9999/work/libclc_build && -o /var/tmp/portage/llvm-core/libclc-22.0.0.9999/work/libclc_build/clspv--.bc /var/tmp/portage/llvm-core/libclc-22.0.0.9999/work/libclc_build/obj.libclc.dir/clspv--/builtins.opt.clspv--.bc
FAILED: clspv--.bc /var/tmp/portage/llvm-core/libclc-22.0.0.9999/work/libclc_build/clspv--.bc
cd /var/tmp/portage/llvm-core/libclc-22.0.0.9999/work/libclc_build && -o /var/tmp/portage/llvm-core/libclc-22.0.0.9999/work/libclc_build/clspv--.bc /var/tmp/portage/llvm-core/libclc-22.0.0.9999/work/libclc_build/obj.libclc.dir/clspv--/builtins.opt.clspv--.bc
/bin/sh: line 1: -o: command not found
```
Commit: 51af47e53c32d29c0e29cbdcd66d8bbd41b673f3
https://github.com/llvm/llvm-project/commit/51af47e53c32d29c0e29cbdcd66d8bbd41b673f3
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ExprConstant.cpp
M clang/test/Sema/warn-fortify-source.c
Log Message:
-----------
[clang][bytecode] Use in Expr::tryEvaluateStrLen() (#149677)
Fixes #138475
Commit: 9e587ce6f0da91ee71dd6920dff0930b291169bb
https://github.com/llvm/llvm-project/commit/9e587ce6f0da91ee71dd6920dff0930b291169bb
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
A llvm/test/Transforms/SCCP/uscmp.ll
Log Message:
-----------
[SCCP] Simplify [us]cmp(X, Y) into X - Y (#144717)
If the difference between [us]cmp's operands is not greater than 1, we
can simplify it into `X - Y`.
Alive2: https://alive2.llvm.org/ce/z/JS55so
llvm-opt-benchmark diff:
https://github.com/dtcxzyw/llvm-opt-benchmark/pull/2464/files
Commit: 5ee34ff1e5cc952116f0da943ddaeb1a71db2940
https://github.com/llvm/llvm-project/commit/5ee34ff1e5cc952116f0da943ddaeb1a71db2940
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/test/MC/COFF/bss-text.s
M llvm/test/MC/COFF/section.s
M llvm/test/MC/ELF/nobits-non-zero-value.s
Log Message:
-----------
MC: Optimize emitInstruction and simplify fragment-in-BSS check
Move the FT_Relaxable-in-BSS check from frequently-called
MCObjectStreamer::emitInstruction to MCAssembler::writeSectionData,
along with existing checks for other fragment types. For the uncommon
diagnostics, losing the location information is acceptable.
Commit: 2ba5e0ad1789f33c71af15d7c09cc5ca874cf7b1
https://github.com/llvm/llvm-project/commit/2ba5e0ad1789f33c71af15d7c09cc5ca874cf7b1
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/test/MC/ELF/mc-dump.s
M llvm/test/MC/RISCV/Relocations/mc-dump.s
Log Message:
-----------
MC: Encode FT_Align in fragment's variable-size tail
Follow-up to #148544
Pull Request: https://github.com/llvm/llvm-project/pull/149030
Commit: fd6d6a7c8d4e2fb196bd3707dc4022a236089d9a
https://github.com/llvm/llvm-project/commit/fd6d6a7c8d4e2fb196bd3707dc4022a236089d9a
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/test/MC/RISCV/Relocations/mc-dump.s
Log Message:
-----------
MC: Refactor FT_Align fragments when linker relaxation is enabled
Previously, two MCAsmBackend hooks were used, with
shouldInsertFixupForCodeAlign calling getWriter().recordRelocation
directly, bypassing generic code.
This patch:
* Introduces MCAsmBackend::relaxAlign to replace the two hooks.
* Tracks padding size using VarContentEnd (content is ignored).
* Move setLinkerRelaxable from MCObjectStreamer::emitCodeAlignment to the backends.
Pull Request: https://github.com/llvm/llvm-project/pull/149465
Commit: d344c383e20a7e2cc05d947855e818d98b889ee9
https://github.com/llvm/llvm-project/commit/d344c383e20a7e2cc05d947855e818d98b889ee9
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__ranges/zip_transform_view.h
M libcxx/include/__ranges/zip_view.h
M libcxx/include/module.modulemap.in
M libcxx/include/ranges
M libcxx/modules/std/ranges.inc
A libcxx/test/libcxx/ranges/range.adaptors/range.zip.transform/no_unique_address.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/begin.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/cpo.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/ctad.compile.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/ctor.default.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/ctor.views.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/end.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/general.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/arithmetic.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/compare.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/ctor.default.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/ctor.other.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/decrement.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/deref.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/increment.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/member_types.compile.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/iterator/subscript.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/ctor.default.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/ctor.other.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/eq.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/sentinel/minus.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/size.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.zip.transform/types.h
M libcxx/test/std/ranges/range.adaptors/range.zip/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/cpo.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/ctor.views.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/arithmetic.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/ctor.default.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/decrement.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/deref.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/increment.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/iter_move.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/iter_swap.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/member_types.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/singular.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/subscript.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/range.concept.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/size.pass.cpp
R libcxx/test/std/ranges/range.adaptors/range.zip/types.h
A libcxx/test/std/ranges/range.adaptors/range_adaptor_types.h
M libcxx/test/std/ranges/ranges_robust_against_no_unique_address.pass.cpp
Log Message:
-----------
[libc++][ranges] implement `std::ranges::zip_transform_view` (#79605)
Fixes #104977
Fixes #105035
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Co-authored-by: A. Jiang <de34 at live.cn>
Commit: 0dfac65595f6641d1da93085a2413f5a34804cf3
https://github.com/llvm/llvm-project/commit/0dfac65595f6641d1da93085a2413f5a34804cf3
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port d344c383e20a
Commit: 6163b66e0aa7a3fa32b05fa4e1016d0631c20451
https://github.com/llvm/llvm-project/commit/6163b66e0aa7a3fa32b05fa4e1016d0631c20451
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M clang/lib/Interpreter/InterpreterValuePrinter.cpp
M clang/test/Interpreter/pretty-print.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
Log Message:
-----------
[clang-repl] Another try on system-z.
This patch should make msan happy as it found a real bug where we always try to
read an unsigned long long without respecting the underlying enum type.
Another follow-up on llvm/llvm-project#102858
Commit: 971bfbead2a1ed1c8b44f5b7a3003d91f46cff60
https://github.com/llvm/llvm-project/commit/971bfbead2a1ed1c8b44f5b7a3003d91f46cff60
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
Log Message:
-----------
[RISCV][NFC] Add NumTransformedToNonWInstrs statistic to RISCVOptWInstrs extend debug printing
RISCVOptWInstrs has a NumTransformedToWInstrs statistic, but didn't have
one for the W=>Non-W transform done by stripWSuffixes. It also didn't do
debug printing of the transformation. This patch addresses both issues.
Reviewed as part of <https://github.com/llvm/llvm-project/pull/149071>,
but landing separately.
Commit: c58225f7571bf52ca7b8e674c6a443e910302c18
https://github.com/llvm/llvm-project/commit/c58225f7571bf52ca7b8e674c6a443e910302c18
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/div-by-constant.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rotl-rotr.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/shifts.ll
M llvm/test/CodeGen/RISCV/GlobalISel/wide-scalar-shift-by-byte-multiple-legalization.ll
M llvm/test/CodeGen/RISCV/abds-neg.ll
M llvm/test/CodeGen/RISCV/abds.ll
M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
M llvm/test/CodeGen/RISCV/aext-to-sext.ll
M llvm/test/CodeGen/RISCV/atomicrmw-cond-sub-clamp.ll
M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/ctz_zero_return_test.ll
M llvm/test/CodeGen/RISCV/div-by-constant.ll
M llvm/test/CodeGen/RISCV/iabs.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts.ll
M llvm/test/CodeGen/RISCV/machine-combiner.ll
M llvm/test/CodeGen/RISCV/mul.ll
M llvm/test/CodeGen/RISCV/neg-abs.ll
M llvm/test/CodeGen/RISCV/overflow-intrinsics.ll
M llvm/test/CodeGen/RISCV/pr145360.ll
M llvm/test/CodeGen/RISCV/rotl-rotr.ll
M llvm/test/CodeGen/RISCV/rv64i-demanded-bits.ll
M llvm/test/CodeGen/RISCV/rv64i-exhaustive-w-insts.ll
M llvm/test/CodeGen/RISCV/rv64i-w-insts-legalization.ll
M llvm/test/CodeGen/RISCV/rv64xtheadbb.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
M llvm/test/CodeGen/RISCV/rv64zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/rv64zbb.ll
M llvm/test/CodeGen/RISCV/rvv/expand-no-v.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/known-never-zero.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/vandn-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vec3-setcc-crash.ll
M llvm/test/CodeGen/RISCV/rvv/vrol-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vror-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vscale-power-of-two.ll
M llvm/test/CodeGen/RISCV/select.ll
M llvm/test/CodeGen/RISCV/sextw-removal.ll
M llvm/test/CodeGen/RISCV/shifts.ll
M llvm/test/CodeGen/RISCV/shl-cttz.ll
M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
M llvm/test/CodeGen/RISCV/typepromotion-overflow.ll
M llvm/test/CodeGen/RISCV/urem-lkk.ll
M llvm/test/CodeGen/RISCV/urem-seteq-illegal-types.ll
M llvm/test/CodeGen/RISCV/urem-vector-lkk.ll
Log Message:
-----------
[RISCV] Add RISCV::SUBW to RISCVOptWInstrs::stripWSuffixes (#149071)
This is purely a benefit for reducing unnecessary diffs between RV32 and
RV64, as RVC does have a compressed form of SUBW (so SUB isn't more
compressible). This affects ~57.2k instructions in an rva22u64 build of
llvm-test-suite with SPEC CPU 2017 included.
Commit: 5b0935f1f05c7aa9d315463c17ff85e7d846d237
https://github.com/llvm/llvm-project/commit/5b0935f1f05c7aa9d315463c17ff85e7d846d237
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/EvaluationResult.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/Program.cpp
Log Message:
-----------
[clang][bytecode] Reintroduce Pointer::elem() (#149693)
As a way of writing atIndex(I).deref<T>(), which creates an intermediate
Pointer, which in turn adds (and removes) that pointer from the pointer
list of the Block. This way we can avoid that.
Commit: 6c257754d955d55af048637b5048ee04d48a24b1
https://github.com/llvm/llvm-project/commit/6c257754d955d55af048637b5048ee04d48a24b1
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__functional/bind.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__mutex/once_flag.h
M libcxx/include/__thread/thread.h
M libcxx/include/__tuple/make_tuple_types.h
M libcxx/include/__tuple/tuple_element.h
R libcxx/include/__tuple/tuple_indices.h
M libcxx/include/__utility/integer_sequence.h
M libcxx/include/__utility/pair.h
M libcxx/include/bitset
M libcxx/include/future
M libcxx/include/module.modulemap.in
M libcxx/include/mutex
M libcxx/include/scoped_allocator
M libcxx/include/tuple
M libcxx/include/variant
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp
Log Message:
-----------
[libc++] Refactor internal index_sequence API to match the public one (#149475)
The internal API is a lot more complicated than it actually needs to be.
This refactors the internal API to match the features and names of the
public one.
Commit: 89f09a887d259a84489fc81f1c262c8a091e6c8a
https://github.com/llvm/llvm-project/commit/89f09a887d259a84489fc81f1c262c8a091e6c8a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 6c257754d955
Commit: e138c951550779143551b9bd3f66183f6ad5b3df
https://github.com/llvm/llvm-project/commit/e138c951550779143551b9bd3f66183f6ad5b3df
Author: Maya Amrami <62667278+amrami at users.noreply.github.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/lib/Interfaces/ViewLikeInterface.cpp
M mlir/test/Dialect/MemRef/invalid.mlir
Log Message:
-----------
[mlir] ViewLikeInterface - verify ranks in verifyOffsetSizeAndStrideOp (#147926)
getMixedOffsets() calls getMixedValues() with `static_offsets` and
`offsets`. It is assumed that the number of dynamic offsets in
`static_offsets` equals the rank of `offsets`. Otherwise, we fail on
assert when trying to access an array out of its bounds.
The same applies to getMixedStrides() and getMixedOffsets().
A verification of this assumption is added to
verifyOffsetSizeAndStrideOp() and a clear assert is added in
getMixedValues().
Commit: 17c7c2ebe850b705df0fee4f1160d72097c6cb8f
https://github.com/llvm/llvm-project/commit/17c7c2ebe850b705df0fee4f1160d72097c6cb8f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/X86/pr62286.ll
Log Message:
-----------
[DAG] Add missing Depth argument to isGuaranteedNotToBeUndefOrPoison calls inside SimplifyDemanded methods (#149550)
Ensure we don't exceed the maximum recursion depth
Commit: bbbbc093febffcae262cde1baa429b950842d76e
https://github.com/llvm/llvm-project/commit/bbbbc093febffcae262cde1baa429b950842d76e
Author: bd1976bris <Ben.Dunbobbin at sony.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
A cross-project-tests/dtlto/link-archive-thin.test
A cross-project-tests/dtlto/link-dtlto.c
M cross-project-tests/lit.cfg.py
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/LTO.cpp
M lld/COFF/Options.td
M lld/docs/DTLTO.rst
A lld/test/COFF/dtlto/files.test
A lld/test/COFF/dtlto/options.test
Log Message:
-----------
[DTLTO][LLD][COFF] Add support for Integrated Distributed ThinLTO (#148594)
This patch introduces support for Integrated Distributed ThinLTO (DTLTO)
in COFF LLD.
DTLTO enables the distribution of ThinLTO backend compilations via
external distribution systems, such as Incredibuild, during the
traditional link step: https://llvm.org/docs/DTLTO.html.
Note: Bitcode members of non-thin archives are not currently supported.
This will be addressed in a future change. This patch is sufficient to
allow for self-hosting an LLVM build with DTLTO if thin archives are
used.
Testing:
- LLD `lit` test coverage has been added, using a mock distributor to
avoid requiring Clang.
- Cross-project `lit` tests cover integration with Clang.
For the design discussion of the DTLTO feature, see:
https://github.com/llvm/llvm-project/pull/126654
Commit: 9f29007999f300ebe372f9fe7158c01fc57a0d27
https://github.com/llvm/llvm-project/commit/9f29007999f300ebe372f9fe7158c01fc57a0d27
Author: Tom Vijlbrief <tvijlbrief at gmail.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
M llvm/test/CodeGen/AVR/branch-relaxation-long-backward.ll
M llvm/test/CodeGen/AVR/branch-relaxation-long-forward.ll
M llvm/test/CodeGen/AVR/jmp.ll
M llvm/test/MC/AVR/inst-brbc.s
M llvm/test/MC/AVR/inst-brbs.s
M llvm/test/MC/AVR/inst-brcc.s
M llvm/test/MC/AVR/inst-brcs.s
M llvm/test/MC/AVR/inst-breq.s
M llvm/test/MC/AVR/inst-brge.s
M llvm/test/MC/AVR/inst-brhc.s
M llvm/test/MC/AVR/inst-brhs.s
M llvm/test/MC/AVR/inst-brid.s
M llvm/test/MC/AVR/inst-brie.s
M llvm/test/MC/AVR/inst-brlo.s
M llvm/test/MC/AVR/inst-brlt.s
M llvm/test/MC/AVR/inst-brmi.s
M llvm/test/MC/AVR/inst-brne.s
M llvm/test/MC/AVR/inst-brpl.s
M llvm/test/MC/AVR/inst-brsh.s
M llvm/test/MC/AVR/inst-brtc.s
M llvm/test/MC/AVR/inst-brts.s
M llvm/test/MC/AVR/inst-brvc.s
M llvm/test/MC/AVR/inst-brvs.s
M llvm/test/MC/AVR/inst-rcall.s
M llvm/test/MC/AVR/inst-rjmp.s
Log Message:
-----------
[AVR] Force to emit relocation slots for relative branch instructions (#145291)
fixes https://github.com/llvm/llvm-project/issues/133579
Commit: eb3e56f19e0391d760c71655d1031b305a1d27f8
https://github.com/llvm/llvm-project/commit/eb3e56f19e0391d760c71655d1031b305a1d27f8
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M libc/test/src/__support/FPUtil/CMakeLists.txt
Log Message:
-----------
[libc] Disable bfloat16 test for full build mode (#149678)
This patch temporarily disables bfloat16_test for full build mode, until
the MPCommon target is updated so that mpfr_inc.h is not included in the
MPCommon.h header.
This should fix the rv32 buildbot failures.
Commit: 04f2114ab293570604c7178aaf2e4585b61ae8aa
https://github.com/llvm/llvm-project/commit/04f2114ab293570604c7178aaf2e4585b61ae8aa
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
Log Message:
-----------
[memprof] Refactor readMemProf (NFC) (#149663)
This patch creates a helper function named handleAllocSite to handle
the allocation site. It makes readMemProf a little bit shorter.
I'm planning to move the code to handle call sites in a subsequent
patch. Doing so in this patch would make this patch a lot longer
because we need to move other things like CallSiteEntry and
CallSiteEntryHash.
Commit: b42f96bc057fd9e31572069b241ba130c21144e5
https://github.com/llvm/llvm-project/commit/b42f96bc057fd9e31572069b241ba130c21144e5
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M lld/ELF/Arch/Hexagon.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Thunks.cpp
R lld/test/ELF/hexagon-jump-error.s
A lld/test/ELF/hexagon-thunk-range-b22rel.s
A lld/test/ELF/hexagon-thunk-range-gdplt.s
A lld/test/ELF/hexagon-thunk-range-plt.s
A lld/test/ELF/hexagon-thunks-packets.s
A lld/test/ELF/hexagon-thunks.s
Log Message:
-----------
[lld] Add thunks for hexagon (#111217)
Without thunks, programs will encounter link errors complaining that the
branch target is out of range. Thunks will extend the range of branch
targets, which is a critical need for large programs. Thunks provide
this flexibility at a cost of some modest code size increase.
When configured with the maximal feature set, the hexagon port of the
linux kernel would often encounter these limitations when linking with
`lld`.
The relocations which will be extended by thunks are:
* R_HEX_B22_PCREL, R_HEX_{G,L}D_PLT_B22_PCREL, R_HEX_PLT_B22_PCREL
relocations have a range of ± 8MiB on the baseline
* R_HEX_B15_PCREL: ±65,532 bytes
* R_HEX_B13_PCREL: ±16,380 bytes
* R_HEX_B9_PCREL: ±1,020 bytes
Fixes #149689
Co-authored-by: Alexey Karyakin <akaryaki at quicinc.com>
---------
Co-authored-by: Alexey Karyakin <akaryaki at quicinc.com>
Commit: 343f7475bed009e31ad1d5655f462d53e46ca9fa
https://github.com/llvm/llvm-project/commit/343f7475bed009e31ad1d5655f462d53e46ca9fa
Author: Jasmine Tang <jjasmine at igalia.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
A llvm/test/CodeGen/WebAssembly/memcmp-expand.ll
Log Message:
-----------
[WebAssembly] Add support for memcmp expansion (#148298)
Fixes https://github.com/llvm/llvm-project/issues/61400
Added test case in llvm/test/CodeGen/WebAssembly/memcmp-expand.ll
Commit: 6201761e961f4d7ed08352d55134e6ef58ee5eb2
https://github.com/llvm/llvm-project/commit/6201761e961f4d7ed08352d55134e6ef58ee5eb2
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCSectionGOFF.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.h
M llvm/lib/ObjCopy/MachO/MachOWriter.cpp
Log Message:
-----------
MC: Rename isVirtualSection to isBssSection
The term BSS (Block Started by Symbol) is a standard, widely recognized
term, available in the a.out object file format and adopted by formats
like COFF, XCOFF, Mach-O (called S_ZEROFILL while `__bss` is also used),
and ELF. To avoid introducing unfamiliar terms, we should use
isBSSSection instead of isVirtualSection.
Commit: ba6b705620053f8d1ffcb31e39209f1ef551ced0
https://github.com/llvm/llvm-project/commit/ba6b705620053f8d1ffcb31e39209f1ef551ced0
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
Log Message:
-----------
MC: Replace getOrCreateDataFragment with getCurrentFragment
Add an assert to ensure `CurFrag` is either null or an `FT_Data` fragment.
Follow-up to 39c8cfb70d203439e3296dfdfe3d41f1cb2ec551.
Extracted from #149721
Commit: 673e5422ea4089805afa2a2c548c85be7c228a42
https://github.com/llvm/llvm-project/commit/673e5422ea4089805afa2a2c548c85be7c228a42
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCSectionCOFF.h
M llvm/include/llvm/MC/MCSectionELF.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/MC/MCSectionCOFF.cpp
M llvm/lib/MC/MCSectionELF.cpp
M llvm/test/MC/COFF/bss-text.s
M llvm/test/MC/ELF/nobits-non-zero-value.s
Log Message:
-----------
MC: Fix fragment-in-BSS check
* Handle non-zero fill values for `.fill` and `.org` directives.
* Restore the fragment type check
(5ee34ff1e5cc952116f0da943ddaeb1a71db2940 removed a reachable
`llvm_unreachable`) to detect unintended API usage.
Remove virtual functions `getVirtualSectionKind` (added in
https://reviews.llvm.org/D78138) as they are unnecessary in diagnostics.
The a.out object file format has the BSS concept, which has been
inherited by COFF, XCOFF, Mach-O, and ELF object file formats.
Pull Request: https://github.com/llvm/llvm-project/pull/149721
Commit: 7a42fb85df596764ebc60aa6841fda9e9b1e1758
https://github.com/llvm/llvm-project/commit/7a42fb85df596764ebc60aa6841fda9e9b1e1758
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCSectionELF.h
Log Message:
-----------
MCSectinELF: Delete setSectionName declaration
Commit: c045caae86a60cdcdd10ed693cfd5c507c743801
https://github.com/llvm/llvm-project/commit/c045caae86a60cdcdd10ed693cfd5c507c743801
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M lldb/docs/use/python-reference.rst
Log Message:
-----------
[lldb] Proofread python-reference.rst (#149643)
Commit: 04b4f62e2f91a66ad47276f6e344afd0be17a325
https://github.com/llvm/llvm-project/commit/04b4f62e2f91a66ad47276f6e344afd0be17a325
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M libc/src/sys/epoll/linux/epoll_create.cpp
M libc/test/src/sys/epoll/linux/epoll_create_test.cpp
Log Message:
-----------
[libc] Fix epoll_create behavior when only epoll_create1 is available (#149713)
In PR #99785, I disabled a test for `epoll_create` that was intended to
fail on systems where only `epoll_create1` is available. This is because
`epoll_create1` cannot fail in the same way that `epoll_create` does.
Specifically, calling `epoll_create(0)` should result in an EINVAL
error. So, when only `epoll_create1` is available, we should simply
check if the argument is zero and return the error accordingly.
Commit: dd50e8e240d19e5050f4e52d8715d093a3fb810a
https://github.com/llvm/llvm-project/commit/dd50e8e240d19e5050f4e52d8715d093a3fb810a
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCSection.cpp
Log Message:
-----------
MCFragment: Remove setContents/setFixups
Make the fixed-size part of MCFragment append-only to support allocating
content as trailing data. Update CodeView callers to use setVarContents
instead of setContents. Remove unused setFixups.
Commit: 3e9ceae29f39456508eef5b4af4d3c895048706a
https://github.com/llvm/llvm-project/commit/3e9ceae29f39456508eef5b4af4d3c895048706a
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M lld/ELF/Relocations.cpp
A lld/test/ELF/hexagon-tls-allocateaux-multiple.s
Log Message:
-----------
[lld] [hexagon] guard allocateAux: only if idx nonzero (#149690)
While building libclang_rt.asan-hexagon.so, lld would assert in
lld::elf::hexagonTLSSymbolUpdate().
Fixes #132766
Commit: ef4e4a0084753ed76c61f9f0d1b510fd12715c78
https://github.com/llvm/llvm-project/commit/ef4e4a0084753ed76c61f9f0d1b510fd12715c78
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/acosf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/acosf.h
A libc/src/__support/math/inv_trigf_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/acosf.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/atan2f.cpp
M libc/src/math/generic/atanf.cpp
R libc/src/math/generic/inv_trigf_utils.cpp
R libc/src/math/generic/inv_trigf_utils.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor acosf implementation to header-only in src/__support/math folder. (#148411)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: ca006eeeedddd4e38c8f93e69a3dcb1fc554d453
https://github.com/llvm/llvm-project/commit/ca006eeeedddd4e38c8f93e69a3dcb1fc554d453
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
Log Message:
-----------
MCFragment: Remove clearContents and uses of non-streaming doneAppending
Make the fixed-size part of MCFragment append-only to support allocating
content as trailing data. The `doneAppending` API is reserved by
MCStreamer API before finish and should not be used by the addrsig and
call-graph-profile features.
Commit: e3af202fd212a66700170717856a8fa9aa7ed426
https://github.com/llvm/llvm-project/commit/e3af202fd212a66700170717856a8fa9aa7ed426
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
Log Message:
-----------
[VPlan] Remove unused IsReplicator arg from createVPRegionBlock (NFC).
The argument is always true, remove it.
Commit: b21f14e084125dd6df958544c8bbcd170619a20e
https://github.com/llvm/llvm-project/commit/b21f14e084125dd6df958544c8bbcd170619a20e
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/lib/MC/MCAssembler.cpp
Log Message:
-----------
MCAssembler: Fix ubsan "addition of unsigned offset to" for linker relaxation targets after #149465
Similar to 13549fd90af45d2200159cac14a12cf01db56aa1
Commit: bdbc0987ca2f2b60de30481b64a33e3e5c6192df
https://github.com/llvm/llvm-project/commit/bdbc0987ca2f2b60de30481b64a33e3e5c6192df
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
Log Message:
-----------
MCObjectStreamer: Remove changeSectionImpl
Commit: 0bb1e048453ed23d988354b86794144e631da03b
https://github.com/llvm/llvm-project/commit/0bb1e048453ed23d988354b86794144e631da03b
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M libc/src/math/docs/add_math_function.md
Log Message:
-----------
[libc] Revise document on building exhaustive math functions. (#149635)
I suspect the reason is that we use `add_fp_unittest` in exhaustive
testing, so the suffix `__unit__` is necessary.
Commit: 04b17bd47086b54e6b618d48aca3a6b54773fabf
https://github.com/llvm/llvm-project/commit/04b17bd47086b54e6b618d48aca3a6b54773fabf
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M mlir/lib/Dialect/SCF/IR/SCF.cpp
Log Message:
-----------
[mlir][scf] fix getSuccessorRegions func in scf.forall (#147491)
In accordance with the semantics of forall, its body is executed in
parallel by multiple threads. We should not expect to branch back into
the forall body after the region's execution is complete.
Commit: 4e35ae10c4d7bc840ad6b6a9b13e465bfaaf3768
https://github.com/llvm/llvm-project/commit/4e35ae10c4d7bc840ad6b6a9b13e465bfaaf3768
Author: Ami-zhang <zhanglimin at loongson.cn>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
M llvm/test/ExecutionEngine/RuntimeDyld/LoongArch/ELF_LoongArch_relocations.s
Log Message:
-----------
[RuntimeDyld][LoongArch] Support large code model (#148584)
Co-authored-by: Weining Lu <luweining at loongson.cn>
Commit: 38fc453afdb6a4511b7c8e189f12a92559ecc396
https://github.com/llvm/llvm-project/commit/38fc453afdb6a4511b7c8e189f12a92559ecc396
Author: Koakuma <koachan at protonmail.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/Sparc.cpp
M clang/lib/Driver/ToolChains/Arch/Sparc.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/test/Driver/target-cpu-features.f90
Log Message:
-----------
[SPARC][Driver] Move feature mode selection to Arch/Sparc.cpp (#149652)
This is so that it's performed also for flang and not just for clang.
This should fix https://github.com/llvm/llvm-project/issues/138494.
Commit: 22ef58ceda9490184f084fe1f938d333ba5d6cfd
https://github.com/llvm/llvm-project/commit/22ef58ceda9490184f084fe1f938d333ba5d6cfd
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/test/Dialect/Linalg/specialize-generic-ops-fail.mlir
Log Message:
-----------
[mlir][linalg] Add missing check for `isaCopyOpInterface` (#149313)
This PR fixes a missing validation in `isaCopyOpInterface` by checking
that the `linalg.yield` operand is identical to the first block
argument, indicating a direct copy. Fixes #130002.
Commit: 06ed4d2c92ef7785f6c39e567b8bdefd2defdedb
https://github.com/llvm/llvm-project/commit/06ed4d2c92ef7785f6c39e567b8bdefd2defdedb
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in `BreakBeforeBinaryOperators: All` (#149695)
Fixes #149520
Commit: 268c44f9ea334e7fc32ca473f8af0a41bab04f75
https://github.com/llvm/llvm-project/commit/268c44f9ea334e7fc32ca473f8af0a41bab04f75
Author: Shan Huang <shan.huang at stu.ecnu.edu.cn>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/NewGVN.cpp
A llvm/test/Transforms/NewGVN/salvage-eliminate-instruction.ll
Log Message:
-----------
[DebugInfo][NewGVN] Fix debug value loss (#147634)
Fix #147511
Commit: 853c343b45b3e83cc5eeef5a52fc8cc9d8a09252
https://github.com/llvm/llvm-project/commit/853c343b45b3e83cc5eeef5a52fc8cc9d8a09252
Author: Shan Huang <shan.huang at stu.ecnu.edu.cn>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/NewGVN.cpp
A llvm/test/Transforms/NewGVN/salvage-trivially-dead-inst.ll
Log Message:
-----------
[DebugInfo][NewGVN] Salvage debug values of trivially dead instructions (#149304)
fix #149301
Commit: f3a3270dbca3649b7d56aaa42cb8481fb34e2d67
https://github.com/llvm/llvm-project/commit/f3a3270dbca3649b7d56aaa42cb8481fb34e2d67
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestSelective.cpp
Log Message:
-----------
[clang-format][NFC] Delete redundant type names after FormatStyle::
Commit: 507ff29c9bdb43e78cf0e5aac82972ed3b2907b7
https://github.com/llvm/llvm-project/commit/507ff29c9bdb43e78cf0e5aac82972ed3b2907b7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
Log Message:
-----------
[memprof] Introduce handleCallSite (NFC) (#149724)
Continuing the effort to refactor readMemProf, this patch introduces
handlCallSite to handle, well, call sites.
Moving the code requires taking CallSiteEntry and CallSiteEntryHash
out of readMemProf.
We could simplify some code, but I'm keeping this patch very simple to
facilitate the review process. For example, we could simplify the
control flow near the end of readMemProf, but we can address that
later.
Commit: 1b8defddf4688bac09435b7a93515f61673591b2
https://github.com/llvm/llvm-project/commit/1b8defddf4688bac09435b7a93515f61673591b2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
Log Message:
-----------
[clang] Proofread LanguageExtensions.rst (#149729)
Commit: 8ae4dee4d0b216cb6e233c8587730c8410430eb9
https://github.com/llvm/llvm-project/commit/8ae4dee4d0b216cb6e233c8587730c8410430eb9
Author: Pecco <pecco at qq.com>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/wmma-ptx78-sm90.py
M llvm/test/CodeGen/NVPTX/wmma-ptx86-sm100a.py
M llvm/test/CodeGen/NVPTX/wmma-ptx86-sm101a.py
M llvm/test/CodeGen/NVPTX/wmma-ptx86-sm120a.py
M llvm/test/CodeGen/NVPTX/wmma.py
Log Message:
-----------
[NVPTX] Lower stmatrix intrinsics to PTX (#148561)
Lower stmatrix intrinsics defined in #148377 to PTX. See [PTX
Doc](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#warp-level-matrix-store-instruction-stmatrix).
---------
Co-authored-by: peterbell10 <peterbell10 at openai.com>
Commit: 6ebc42322ca7bd0261c1faa6e2d785057ab95c5f
https://github.com/llvm/llvm-project/commit/6ebc42322ca7bd0261c1faa6e2d785057ab95c5f
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/MCTargetAsmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
Log Message:
-----------
MCStreamer: Move fragment-related functions to MCObjectStreamer
They are specific to MCObjectStreamer and unneeded by MCAsmStreamer.
Add isObj() so that MCTargetAsmParser can determine whether the streamer
is MCObjectStreamer and conditionally call newFragment.
Commit: 63b9cbd6e4a581b49cb40e4603c7130699bf55a1
https://github.com/llvm/llvm-project/commit/63b9cbd6e4a581b49cb40e4603c7130699bf55a1
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-20 (Sun, 20 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
Log Message:
-----------
MCStreamer: Add helpers and eliminate direct MCFragment operations
To facilitate optimizing the MCFragment internals, we don't want users
to access MCFragment directly.
Commit: 60d2d94db253a9fdc7bd111120c803f808564b30
https://github.com/llvm/llvm-project/commit/60d2d94db253a9fdc7bd111120c803f808564b30
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/Transforms/GVN/assume.ll
M llvm/test/Transforms/GVN/basic.ll
M llvm/test/Transforms/GVN/nonescaping.ll
M llvm/test/Transforms/GVN/phi.ll
M llvm/test/Transforms/GVN/pr14166.ll
M llvm/test/Transforms/GVN/pre-compare.ll
M llvm/test/Transforms/GVN/readattrs.ll
M llvm/test/Transforms/GVN/setjmp.ll
M llvm/test/Transforms/GVN/tbaa.ll
M llvm/test/Transforms/GVN/vscale.ll
Log Message:
-----------
[GVN] memoryssa implies no-memdep (#149473)
Enabling one of MemorySSA or MD implies the other is off.
Commit: f79d6b319daeeea4776236f4abb7d210fd36df31
https://github.com/llvm/llvm-project/commit/f79d6b319daeeea4776236f4abb7d210fd36df31
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/Transforms/GVN/assume.ll
M llvm/test/Transforms/GVN/basic.ll
M llvm/test/Transforms/GVN/nonescaping.ll
M llvm/test/Transforms/GVN/phi.ll
M llvm/test/Transforms/GVN/pr14166.ll
M llvm/test/Transforms/GVN/pre-compare.ll
M llvm/test/Transforms/GVN/readattrs.ll
M llvm/test/Transforms/GVN/setjmp.ll
M llvm/test/Transforms/GVN/tbaa.ll
M llvm/test/Transforms/GVN/vscale.ll
Log Message:
-----------
Revert "[GVN] memoryssa implies no-memdep (#149473)" (#149766)
This reverts commit 60d2d94db253a9fdc7bd111120c803f808564b30.
Commit: 6193dd55535460c347f8c0b794df7d7d52fa78c9
https://github.com/llvm/llvm-project/commit/6193dd55535460c347f8c0b794df7d7d52fa78c9
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/PseudoProbePrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/PseudoProbePrinter.h
A llvm/test/CodeGen/X86/pseudo-probe-desc-check.ll
Log Message:
-----------
[PseudoProbe] Warn on illegal guid (#148564)
Check whether guid exists in pseudo probe desc when emitting pseudo
probe.
Commit: c9cbd4e9d4025b3b5c9593f3c187e0d5e3471a89
https://github.com/llvm/llvm-project/commit/c9cbd4e9d4025b3b5c9593f3c187e0d5e3471a89
Author: Aleksandr Urakov <xande8088 at yandex.ru>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M lld/test/MachO/objc.s
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
Log Message:
-----------
[lld] Fix -ObjC load behavior with LTO for section names with whitespace (#146654)
This is a fix additional to #92162
In some cases, section names contain a whitespace between the segment
name and the actual section name (e.g. `__TEXT, __swift5_proto`). It is
confirmed by source code of the Swift compiler
This fix allows LTO to work correctly with the `-ObjC` flag in that rare
case when only a section with a whitespace in the name is present in the
linked bitcode module, but there are no sections containing
`__TEXT,__swift`
---------
Co-authored-by: Ураков Александр Сергеевич <a.urakov at tbank.ru>
Co-authored-by: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Commit: 3813567e08e202280546dd9fd5ae891d067cbda9
https://github.com/llvm/llvm-project/commit/3813567e08e202280546dd9fd5ae891d067cbda9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
Log Message:
-----------
[VPlan] Clarify transform name to handlMaxNumNumReductions. (NFC)
Clarify name as suggested in https://github.com/llvm/llvm-project/pull/149736,
as only FMaxNum and FMinNum are handled.
Commit: 84e689b1db02be1687c3093d66ace913250780bd
https://github.com/llvm/llvm-project/commit/84e689b1db02be1687c3093d66ace913250780bd
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/CodeGen/RISCV/xqciac.ll
Log Message:
-----------
[RISCV] Swap source register operands in QC_SHLADD ISEL patterns (#149697)
The instruction does `rd = (rs1 << shamt) + rs2` but the ISEL patterns
had `rs1` and `rs2` the other way around which is incorrect.
Commit: aa7ada1dfbe21a0c83474eb3de54e08eb607f8b8
https://github.com/llvm/llvm-project/commit/aa7ada1dfbe21a0c83474eb3de54e08eb607f8b8
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/SFrame.h
A llvm/include/llvm/BinaryFormat/SFrameConstants.def
A llvm/include/llvm/Object/SFrameParser.h
M llvm/lib/BinaryFormat/CMakeLists.txt
A llvm/lib/BinaryFormat/SFrame.cpp
M llvm/lib/Object/CMakeLists.txt
A llvm/lib/Object/SFrameParser.cpp
A llvm/test/tools/llvm-readobj/ELF/sframe-header.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/tools/llvm-readobj/ObjDumper.cpp
M llvm/tools/llvm-readobj/ObjDumper.h
M llvm/tools/llvm-readobj/Opts.td
M llvm/tools/llvm-readobj/llvm-readobj.cpp
Log Message:
-----------
[Object] Beginnings of SFrame parser and dumper (#147294)
This PR adds the SFrameParser class and uses it from llvm-readobj to
dump the section contents. Currently, it only supports parsing the
SFrame section header. Other parts of the section will be added in
follow-up patches.
llvm-readobj uses the same sframe flag syntax as GNU readelf, but I have
not attempted match the output format of the tool. I'm starting with the
"llvm" output format because it's easier to generate and lets us
tweak the format to make it useful for testing the generation code. If
needed, support for the GNU format could be added by overriding this
functionality in the GNU ELF Dumper.
For more information, see the [sframe
specification](https://sourceware.org/binutils/wiki/sframe) and the
related
[RFC](https://discourse.llvm.org/t/rfc-adding-sframe-support-to-llvm/86900).
Commit: b832c49cb4d7668e6ab49c984ba3f4c56356f023
https://github.com/llvm/llvm-project/commit/b832c49cb4d7668e6ab49c984ba3f4c56356f023
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
Log Message:
-----------
[RISCV] Fix VLOptimizer assert, relax ElementsDependOn on viota/vms{b,i,o}f.m (#149698)
The previous assert wasn't passing the TSFlags but the opcode, so wasn't
working.
Fixing it reveals that it was actually triggering, because we're too
strict with viota and vmsxf.m We already reduce the VL on these
instructions because the result in each element doesn't depend on VL.
However, it does change if masked, so account for that.
Commit: 03bd0f36ba1c35c9dfbdc3d021e73940a18a6cf9
https://github.com/llvm/llvm-project/commit/03bd0f36ba1c35c9dfbdc3d021e73940a18a6cf9
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M mlir/include/mlir/Conversion/VectorToLLVM/ConvertVectorToLLVM.h
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Dialect/Arith/Transforms/EmulateUnsupportedFloats.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/ops.mlir
M mlir/test/Dialect/Vector/vector-contract-to-matrix-intrinsics-transforms.mlir
M mlir/test/Dialect/Vector/vector-transpose-lowering.mlir
A mlir/test/Dialect/Vector/vector-transpose-to-matrix-intrinsics-transform.mlir
M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-col.mlir
M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-row.mlir
M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-col.mlir
M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-row.mlir
Log Message:
-----------
[mlir][vector] Remove MatrixMultiplyOp and FlatTransposeOp from Vector dialect (#144307)
This patch deletes `vector.matrix_multiply` and `vector.flat_transpose`,
which are thin wrappers around the corresponding LLVM intrinsics:
- `llvm.intr.matrix.multiply`
- `llvm.intr.matrix.transpose`
These Vector dialect ops did not provide additional semantics or
abstraction beyond the LLVM intrinsics. Their removal simplifies the
lowering pipeline without losing any functionality.
The lowering chains:
- `vector.contract` → `vector.matrix_multiply` →
`llvm.intr.matrix.multiply`
- `vector.transpose` → `vector.flat_transpose` →
`llvm.intr.matrix.transpose`
are now replaced with:
- `vector.contract` → `llvm.intr.matrix.multiply`
- `vector.transpose` → `llvm.intr.matrix.transpose`
This was accomplished by directly replacing:
- `vector::MatrixMultiplyOp` with `LLVM::MatrixMultiplyOp`
- `vector::FlatTransposeOp` with `LLVM::MatrixTransposeOp`
Note: To avoid a build-time dependency from `Vector` to `LLVM`,
relevant transformations are moved from "Vector/Transforms" to
`Conversion/VectorToLLVM`.
Commit: 7355ea3f6b214d1569da43d02f9a166ff15012e6
https://github.com/llvm/llvm-project/commit/7355ea3f6b214d1569da43d02f9a166ff15012e6
Author: Marco Maia <marcogmaia at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
A clang-tools-extra/clangd/refactor/tweaks/OverridePureVirtuals.cpp
M clang-tools-extra/clangd/unittests/CMakeLists.txt
A clang-tools-extra/clangd/unittests/tweaks/OverridePureVirtualsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clangd] Add tweak to override pure virtuals (#139348)
closes https://github.com/clangd/clangd/issues/1037
closes https://github.com/clangd/clangd/issues/2240
Example:
```c++
class Base {
public:
virtual void publicMethod() = 0;
protected:
virtual auto privateMethod() const -> int = 0;
};
// Before:
// // cursor here
class Derived : public Base{}^ ;
// After:
class Derived : public Base {
public:
void publicMethod() override {
// TODO: Implement this pure virtual method.
static_assert(false, "Method `publicMethod` is not implemented.");
}
protected:
auto privateMethod() const -> int override {
// TODO: Implement this pure virtual method.
static_assert(false, "Method `privateMethod` is not implemented.");
}
};
```
https://github.com/user-attachments/assets/79de40d9-1004-4c2e-8f5c-be1fb074c6de
---------
Co-authored-by: Marco Maia <marco.maia at iarasystems.com.br>
Commit: 00d3b39f1706154df9c2cf48dadb414d476075a3
https://github.com/llvm/llvm-project/commit/00d3b39f1706154df9c2cf48dadb414d476075a3
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
A llvm/test/Transforms/AggressiveInstCombine/X86/store-merge-be.ll
A llvm/test/Transforms/AggressiveInstCombine/X86/store-merge.ll
Log Message:
-----------
[AggressiveInstCombine] Implement store merge optimization (#147540)
Merge multiple small stores that were originally extracted from one
value into a single store.
This is the store equivalent of the load merge optimization that
AggressiveInstCombine already performs.
This implementation is something of an MVP, with various generalizations
possible.
Fixes https://github.com/llvm/llvm-project/issues/147456.
Commit: 61500345787e6fc66e6b6b8a249feaf98c839fbe
https://github.com/llvm/llvm-project/commit/61500345787e6fc66e6b6b8a249feaf98c839fbe
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vcompress.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vrgather.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vcompress.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vrgather.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vcompress.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vrgather.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vcompress.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vrgather.c
Log Message:
-----------
[RISCV] Add missing vcompress and vrgather intrinsic tests for zvfbfmin (#148129)
The permutation intrinsics for zvfbfmin are documented by
https://github.com/riscv-non-isa/rvv-intrinsic-doc/pull/408.
Commit: 2320cddfc2e24a1ea1b838dd23ff6a7284ddae3b
https://github.com/llvm/llvm-project/commit/2320cddfc2e24a1ea1b838dd23ff6a7284ddae3b
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/Other/new-pm-print-pipeline.ll
M llvm/test/Transforms/GVN/assume.ll
M llvm/test/Transforms/GVN/basic.ll
M llvm/test/Transforms/GVN/nonescaping.ll
M llvm/test/Transforms/GVN/phi.ll
M llvm/test/Transforms/GVN/pr14166.ll
M llvm/test/Transforms/GVN/pre-compare.ll
M llvm/test/Transforms/GVN/readattrs.ll
M llvm/test/Transforms/GVN/setjmp.ll
M llvm/test/Transforms/GVN/tbaa.ll
M llvm/test/Transforms/GVN/vscale.ll
Log Message:
-----------
Reapply "[GVN] memoryssa implies no-memdep (#149473)" (#149767)
Enabling one of MemorySSA or MD implies the other is off.
Already approved in https://github.com/llvm/llvm-project/pull/149473 but
I had to revert as I missed updating one test.
Commit: 8a307ae61963a3f967052f7ea3c89aafa56934cf
https://github.com/llvm/llvm-project/commit/8a307ae61963a3f967052f7ea3c89aafa56934cf
Author: hev <wangrui at loongson.cn>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/lsx/vmskcond.ll
Log Message:
-----------
[LoongArch] Fix failure to widen operand for `[X]VMSK{LT,GE,NE}Z` (#149442)
Reported-by: tangyan <tangyan01 at loongson.cn>
Commit: e87d3904f693b9e13c54b87d0f2b749e1d818809
https://github.com/llvm/llvm-project/commit/e87d3904f693b9e13c54b87d0f2b749e1d818809
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/unittests/OffloadAPI/event/olWaitEvent.cpp
Log Message:
-----------
[Offload] Verify SyncCycle for events in AMDGPU (#149524)
This check ensures that events after a synchronise (and thus after the
queue is reset) are always considered complete. A test has been added
as well.
Commit: 20d8398825a799008ae508d8463dbb9b11df81e7
https://github.com/llvm/llvm-project/commit/20d8398825a799008ae508d8463dbb9b11df81e7
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/IR/CallingConv.h
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
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/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
M llvm/test/Bitcode/compatibility.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-whole-wave-functions.mir
A llvm/test/CodeGen/AMDGPU/irtranslator-whole-wave-functions.ll
A llvm/test/CodeGen/AMDGPU/isel-whole-wave-functions.ll
A llvm/test/CodeGen/AMDGPU/whole-wave-functions-pei.mir
A llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll
M llvm/test/Verifier/amdgpu-cc.ll
Log Message:
-----------
[AMDGPU] ISel & PEI for whole wave functions (#145858)
Whole wave functions are functions that will run with a full EXEC mask.
They will not be invoked directly, but instead will be launched by way
of a new intrinsic, `llvm.amdgcn.call.whole.wave` (to be added in
a future patch). These functions are meant as an alternative to the
`llvm.amdgcn.init.whole.wave` or `llvm.amdgcn.strict.wwm` intrinsics.
Whole wave functions will set EXEC to -1 in the prologue and restore the
original value of EXEC in the epilogue. They must have a special first
argument, `i1 %active`, that is going to be mapped to EXEC. They may
have either the default calling convention or amdgpu_gfx. The inactive
lanes need to be preserved for all registers used, active lanes only for
the CSRs.
At the IR level, arguments to a whole wave function (other than
`%active`) contain poison in their inactive lanes. Likewise, the return
value for the inactive lanes is poison.
This patch contains the following work:
* 2 new pseudos, SI_SETUP_WHOLE_WAVE_FUNC and SI_WHOLE_WAVE_FUNC_RETURN
used for managing the EXEC mask. SI_SETUP_WHOLE_WAVE_FUNC will return
a SReg_1 representing `%active`, which needs to be passed into
SI_WHOLE_WAVE_FUNC_RETURN.
* SelectionDAG support for generating these 2 new pseudos and the
special handling of %active. Since the return may be in a different
basic block, it's difficult to add the virtual reg for %active to
SI_WHOLE_WAVE_FUNC_RETURN, so we initially generate an IMPLICIT_DEF
which is later replaced via a custom inserter.
* Expansion of the 2 pseudos during prolog/epilog insertion. PEI also
marks any used VGPRs as WWM registers, which are then spilled and
restored with the usual logic.
Future patches will include the `llvm.amdgcn.call.whole.wave` intrinsic
and a lot of optimization work (especially in order to reduce spills
around function calls).
---------
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Co-authored-by: Shilei Tian <i at tianshilei.me>
Commit: 41274582fdff16bbce3db80e56cad5fe4133b16b
https://github.com/llvm/llvm-project/commit/41274582fdff16bbce3db80e56cad5fe4133b16b
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/error_if_check.mlir
Log Message:
-----------
[mlir][tosa] Fix check for isolated regions in `tosa.cond_if` (#143772)
This commit fixes a check in the validation pass which intended to
validate whether a `tosa.cond_if` operation was conformant to the
specification. The specification requires all values used in the
then/else regions are explicitly declared within the regions. This
change checks that these regions are 'isolated from above', to ensure
this requirement is true.
Commit: a216702406f77e73fae9fe192f5e441a967e206f
https://github.com/llvm/llvm-project/commit/a216702406f77e73fae9fe192f5e441a967e206f
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/sub-gep.ll
Log Message:
-----------
[InstCombine] Merge one-use GEP offsets during expansion (#147263)
When expanding a GEP chain, if there is a chain of one-use GEPs followed
by a multi-use GEP, rewrite the multi-use GEP to include the one-use
GEPs offsets.
This means the offsets from the one-use GEPs can be reused by the offset
expansion without additional cost (from computing them again with a
different reassociation).
Commit: 34526eddb325b46e767d14923c2d0bf7466d09d8
https://github.com/llvm/llvm-project/commit/34526eddb325b46e767d14923c2d0bf7466d09d8
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/LoopUtils.h
M mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/test/Dialect/Affine/loop-tiling-validity.mlir
M mlir/test/lib/Dialect/Affine/TestAffineLoopParametricTiling.cpp
Log Message:
-----------
[MLIR][Affine] Clean up outer logic of affine loop tiling pass (#149750)
Clean up outer logic of affine loop tiling pass. A wrongly named
temporary method was exposed publicly; fix that. Remove unconditional
emission of remarks.
Commit: 040bffc633fa56b95f5fa535442fedcbae2f9b94
https://github.com/llvm/llvm-project/commit/040bffc633fa56b95f5fa535442fedcbae2f9b94
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
Log Message:
-----------
[DebugInfo][AMDGPU] Convert a debug-intrinsic method to debug records (#149505)
It appears this wasn't handled in the initial migration a year ago,
seemingly because it didn't lead to any test failures. Find and interpret
debug records in the same way the original code handled intrinsics. Note
that we drop a call to copyMetadata: debug records can't carry additional
metadata like instructions, nothing relies on this in AMDGPU AFAIUI.
Commit: f0a7462cf03dd69dc9d5affb870facc098d9e73d
https://github.com/llvm/llvm-project/commit/f0a7462cf03dd69dc9d5affb870facc098d9e73d
Author: nerix <nerixdev at outlook.de>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/optional/TestDataFormatterGenericOptional.py
Log Message:
-----------
[LLDB] Add formatters for MSVC STL std::optional (#149545)
Adds synthetic children for `std::optional` from MSVC's STL. Most of the
machinery for `std::optional` is already there.
Towards #24834.
Commit: 5a9c201bc9a03064e22aff37fc60ee210990fe96
https://github.com/llvm/llvm-project/commit/5a9c201bc9a03064e22aff37fc60ee210990fe96
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/branch-relax-indirect-branch.mir
M llvm/test/CodeGen/AMDGPU/branch-relax-no-terminators.mir
M llvm/test/CodeGen/AMDGPU/coalescer-early-clobber-subreg.mir
M llvm/test/CodeGen/AMDGPU/mai-hazards.mir
M llvm/test/CodeGen/AMDGPU/regalloc-failure-overlapping-insert-assert.mir
M llvm/test/CodeGen/X86/peephole-copy.mir
Log Message:
-----------
[CodeGen] Fix INLINEASM regclass numbers to match names in tests (#142359)
INLINEASM operands like "2097162 /* regdef:SReg_32 */" tend to get
broken over time as the register class definitions get updated, so the
numbers change. Fix the numbers to match the names in the comments.
Commit: 3b8adcfd92a5034dca54e99cd16ce27da4c8e5bf
https://github.com/llvm/llvm-project/commit/3b8adcfd92a5034dca54e99cd16ce27da4c8e5bf
Author: David Green <david.green at arm.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-ashr.mir
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/combine-sdiv.ll
M llvm/test/CodeGen/AArch64/rem-by-const.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-smulh.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-sbfx.mir
M llvm/test/CodeGen/RISCV/GlobalISel/div-by-constant.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-abs-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
Log Message:
-----------
[GlobalISel] Add computeNumSignBits for ASHR (#139503)
Commit: 9311f3814bf139aee08014dbeeaa4c59ac2ae6f8
https://github.com/llvm/llvm-project/commit/9311f3814bf139aee08014dbeeaa4c59ac2ae6f8
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
Log Message:
-----------
[RISCV][NFC] Combine RISCVOptWInstrs::stripWSuffixes and appendWSuffixes into canonicalizeWSuffixes (#149710)
This refactor was suggested in
<https://github.com/llvm/llvm-project/pull/144703>.
I have checked for unexpected changes by comparing builds of
llvm-test-suite with/without this refactor, including with preferWInst
force enabled.
Commit: e94bc16b8e12a64ff28aedc58ee6e95e1f9d6f4b
https://github.com/llvm/llvm-project/commit/e94bc16b8e12a64ff28aedc58ee6e95e1f9d6f4b
Author: gulfemsavrun <gulfem at google.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-objdump.rst
M llvm/docs/ReleaseNotes.md
M llvm/test/tools/llvm-objdump/ELF/ARM/debug-vars-dwarf4.s
A llvm/test/tools/llvm-objdump/X86/Inputs/debug-inlined-functions.cc
A llvm/test/tools/llvm-objdump/X86/debug-inlined-functions.s
M llvm/tools/llvm-objdump/ObjdumpOpts.td
M llvm/tools/llvm-objdump/SourcePrinter.cpp
M llvm/tools/llvm-objdump/SourcePrinter.h
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.h
Log Message:
-----------
[llvm-objdump] Add inlined function display support (#142246)
This patch adds the support for displaying inlined functions into
llvm-objdump.
1) It extends the source variable display
support for inlined functions both for ascii and unicode formats.
2) It also introduces a new format called limits-only that only prints a
line for the start and end of an inlined function without line-drawing
characters.
Commit: 5c7c8558c856712a5ef11ff5f4e7ea7d3567f625
https://github.com/llvm/llvm-project/commit/5c7c8558c856712a5ef11ff5f4e7ea7d3567f625
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
A clang/test/DebugInfo/KeyInstructions/goto.c
Log Message:
-----------
[KeyInstr] goto stmt atoms (#149101)
Commit: fd8ae2cb76bd0a721eea12767c1a630d465b8495
https://github.com/llvm/llvm-project/commit/fd8ae2cb76bd0a721eea12767c1a630d465b8495
Author: Lewis Crawford <lcrawford at nvidia.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/NVVMIntrinsicUtils.h
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstSimplify/const-fold-nvvm-unary-arithmetic.ll
Log Message:
-----------
Add constant-folding for unary NVVM intrinsics (#141233)
Add support for constant-folding numerous NVVM unary arithmetic
intrinsics (including f, d, and ftz_f variants):
- nvvm.ceil.*
- nvvm.fabs.*
- nvvm.floor.*
- nvvm.rcp.*
- nvvm.round.*
- nvvm.saturate.*
- nvvm.sqrt.f
- nvvm.sqrt.rn.*
Commit: a11c5dd34b2cfa975934250b13628cac919fb7cb
https://github.com/llvm/llvm-project/commit/a11c5dd34b2cfa975934250b13628cac919fb7cb
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/different-strides-safe-dep-due-to-backedge-taken-count.ll
Log Message:
-----------
[LAA] Add test variant with backward dep with overlap in loop.
The original test @backward_dep_known_distance_less_than_btc was
incorrectly named, as all loads are completely before the first store.
Add a variant where this is not the case: @backward_dep_known_distance_less_than_btc
Commit: fc69f25a8f8c1bea9c7dbe1ce7597b3c0cafb122
https://github.com/llvm/llvm-project/commit/fc69f25a8f8c1bea9c7dbe1ce7597b3c0cafb122
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
M llvm/test/CodeGen/RISCV/bfloat-convert.ll
M llvm/test/CodeGen/RISCV/double-convert-strict.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/float-convert-strict.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/half-convert-strict.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
M llvm/test/CodeGen/RISCV/memcmp.ll
M llvm/test/CodeGen/RISCV/prefer-w-inst.mir
M llvm/test/CodeGen/RISCV/rv64zbb.ll
M llvm/test/CodeGen/RISCV/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
M llvm/test/CodeGen/RISCV/zdinx-boundary-check.ll
Log Message:
-----------
[RISCV] Convert LWU to LW if possible in RISCVOptWInstrs (#144703)
After the refactoring in #149710 the logic change is trivial.
Motivation for preferring sign-extended 32-bit loads (LW) vs
zero-extended (LWU):
* LW is compressible while LWU is not.
* Helps to minimise the diff vs RV32 (e.g. LWU vs LW)
* Helps to minimise distracting diffs vs GCC. I see this come up
frequently when comparing GCC code and in these cases it's a red
herring.
Similar normalisation could be done for LHU and LH, but this is less
well motivated as there is a compressed LHU (and if performing the
change in RISCVOptWInstrs it wouldn't be done for RV32). There is a
compressed LBU but not LB, meaning doing a similar normalisation for
byte-sized loads would actually be a regression in terms of code size.
Load narrowing when allowed by hasAllNBitUsers isn't explored in this
patch.
This changes ~20500 instructions in an RVA22 build of the
llvm-test-suite including SPEC 2017. As part of the review, the option
of doing the change at ISel time was explored but was found to be less
effective.
Commit: 255a163e5183082016402ac51db83e10c1f5a731
https://github.com/llvm/llvm-project/commit/255a163e5183082016402ac51db83e10c1f5a731
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/ClangScanDeps/modules-full-named-modules.cppm
M clang/test/Driver/module-fgen-reduced-bmi.cppm
M clang/test/Driver/module-output.cppm
M clang/test/Driver/modules.cpp
M clang/test/Modules/mingw-exceptions.cppm
Log Message:
-----------
[C++20] [Modules] Enable reduced BMI by default
As documented in 20.x, we'd like to keep reduced BMI off by default for
1~2 versions. And now we're in 22.x.
I rarely receive bug reports for reduced BMI. I am not sure about the
reason. Maybe not a lot of people are using it. Or it is really stable
enough.
And also, we've been enabling the reduced BMI internally for roughly half a
year.
So I think it's the time to move on. See the document changes for other
information.
Commit: 43a829a7e894773643e893546f04dce1d9718cc1
https://github.com/llvm/llvm-project/commit/43a829a7e894773643e893546f04dce1d9718cc1
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/test/CodeGen/X86/pseudo-probe-desc-check.ll
Log Message:
-----------
[X86] Add assertion required for pseudo probe desc check test (#149800)
Fix failed test introduced in #148564.
Commit: 401b5ccf6b507ed36e959e7ae2f4b5e052647196
https://github.com/llvm/llvm-project/commit/401b5ccf6b507ed36e959e7ae2f4b5e052647196
Author: nerix <nerixdev at outlook.de>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.h
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
A lldb/source/Plugins/Language/CPlusPlus/MsvcStlVariant.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/variant/TestDataFormatterStdVariant.py
Log Message:
-----------
[LLDB] Add formatters for MSVC STL std::variant (#148554)
Adds a summary and synthetic children for MSVC STL's `std::variant`.
This one is a bit complicated because of DWARF vs PDB differences. I put
the representations in comments. Being able to `GetChildMemberWithName`
a member in an anonymous union would make this a lot simpler
(`std::optional` will have something similar iirc).
Towards #24834.
Commit: 6edc1faf3b9238a231f1aca10d447be8ab826816
https://github.com/llvm/llvm-project/commit/6edc1faf3b9238a231f1aca10d447be8ab826816
Author: James Newling <james.newling at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
Log Message:
-----------
[mlir][llvm dialect] Verify element type of nested types (#148975)
Before this PR, this was valid
```
%0 = llvm.mlir.constant(dense<[1, 2]> : vector<2xi32>) : vector<2xf32>
```
but this was not:
```
%0 = llvm.mlir.constant(1 : i32) : f32
```
because only scalar types were checked for compatibility, not the element types of nested types. Another additional check that this PR adds is to verify the float semantics. Before this PR,
```
%cst = llvm.mlir.constant(1.0 : bf16) : f16
```
was considered valid (because bf16 and f16 both have 16 bits), but with this PR it is not considered valid. This PR also moves all tests on the verifier of the llvm constant op into a single file. To summarize the state after this PR.
Invalid:
```mlir
%0 = llvm.mlir.constant(dense<[128, 1024]> : vector<2xi32>) :
vector<2xf32>
%0 = llvm.mlir.constant(dense<[128., 1024.]> : vector<2xbf16>) :
vector<2xf16>
```
Valid:
```mlir
%0 = llvm.mlir.constant(dense<[128., 1024.]> : vector<2xf32>) :
vector<2xi32>
%0 = llvm.mlir.constant(dense<[128, 1024]> : vector<2xi64>) :
vector<2xi8>
```
and identical valid/invalid cases for the scalar cases.
Commit: 77f0a7de3e648e8507572b71990dc3373cd460f2
https://github.com/llvm/llvm-project/commit/77f0a7de3e648e8507572b71990dc3373cd460f2
Author: Lazarev Alexei <b.geeek at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M libcxx/include/regex
M libcxx/test/std/re/re.regex/re.regex.construct/bad_range.pass.cpp
Log Message:
-----------
[libc++][regex] Throw exception in the case of wrong range (#148231)
Starting and ending parameters are considered to decide that a range is
a correct one
Fix #51028
Co-authored-by: alexey.lazarev <alexey.lazarev at tasking.com>
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 1d02de28dd62c7fb007ae282a9c7f9412ff7e41d
https://github.com/llvm/llvm-project/commit/1d02de28dd62c7fb007ae282a9c7f9412ff7e41d
Author: Marcos Maronas <marcos.maronas at intel.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/fp-intrinsics.ll
Log Message:
-----------
[SPIRV] Implement translation for llvm.modf.* intrinsics (#147556)
Based on
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/pull/3100, I'm
adding translation for `llvm.modf.*` intrinsics.
Commit: 2b826dff01c93517f837bc665a30c21ac9308c8a
https://github.com/llvm/llvm-project/commit/2b826dff01c93517f837bc665a30c21ac9308c8a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
Log Message:
-----------
[RISCV][rvv] setcc-fp-vp.ll - regenerate with missing riscv32/64 checks
Commit: b78b16b213c423f09e40a4bf4a4872c8c21e2309
https://github.com/llvm/llvm-project/commit/b78b16b213c423f09e40a4bf4a4872c8c21e2309
Author: lntue <lntue at google.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/test/UnitTest/Test.h
M libc/test/src/__support/File/platform_file_test.cpp
M libc/test/src/stdio/fdopen_test.cpp
M libc/test/src/stdio/fgetc_test.cpp
M libc/test/src/stdio/fgetc_unlocked_test.cpp
M libc/test/src/stdio/fgets_test.cpp
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/stdio/fopen_test.cpp
M libc/test/src/stdio/fprintf_test.cpp
M libc/test/src/stdio/fscanf_test.cpp
M libc/test/src/stdio/ftell_test.cpp
M libc/test/src/stdio/putc_test.cpp
M libc/test/src/stdio/remove_test.cpp
M libc/test/src/stdio/rename_test.cpp
M libc/test/src/stdio/setbuf_test.cpp
M libc/test/src/stdio/setvbuf_test.cpp
M libc/test/src/stdio/ungetc_test.cpp
M libc/test/src/stdio/unlocked_fileop_test.cpp
M libc/test/src/stdio/vfprintf_test.cpp
M libc/test/src/stdio/vfscanf_test.cpp
Log Message:
-----------
[libc][stdio] Separate temporary files for unit test and hermetic test in stdio test suite. (#149740)
Commit: 92c55a315eab455d5fed2625fe0f61f88cb25499
https://github.com/llvm/llvm-project/commit/92c55a315eab455d5fed2625fe0f61f88cb25499
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/CodeGen/SafeStack.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/test/Analysis/BasicAA/modref.ll
M llvm/test/Analysis/CallGraph/ignore-assumelike-calls.ll
M llvm/test/Analysis/CostModel/X86/free-intrinsics.ll
M llvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll
M llvm/test/Analysis/CostModel/free-intrinsics-no_info.ll
M llvm/test/Analysis/MemorySSA/lifetime-simple.ll
M llvm/test/Analysis/MemorySSA/pr43427.ll
M llvm/test/Analysis/MemorySSA/pr43438.ll
M llvm/test/Analysis/StackSafetyAnalysis/lifetime.ll
A llvm/test/Assembler/autoupgrade-lifetime-intrinsics.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-switch-split.ll
M llvm/test/CodeGen/AArch64/stack-tagging.ll
M llvm/test/CodeGen/Thumb2/ifcvt-rescan-bug-2016-08-22.ll
M llvm/test/CodeGen/X86/select-optimize.ll
M llvm/test/CodeGen/X86/swap.ll
M llvm/test/Instrumentation/AddressSanitizer/asan-funclet.ll
M llvm/test/Instrumentation/AddressSanitizer/lifetime-throw.ll
M llvm/test/Instrumentation/AddressSanitizer/lifetime.ll
M llvm/test/Instrumentation/AddressSanitizer/stack-poisoning-and-lifetime-be.ll
M llvm/test/Instrumentation/AddressSanitizer/stack-poisoning-and-lifetime.ll
M llvm/test/Instrumentation/MemorySanitizer/alloca.ll
M llvm/test/Transforms/Attributor/heap_to_stack.ll
M llvm/test/Transforms/Attributor/heap_to_stack_gpu.ll
M llvm/test/Transforms/CodeExtractor/PartialInlineAlloca5.ll
M llvm/test/Transforms/CodeExtractor/live_shrink_gep.ll
M llvm/test/Transforms/ConstantHoisting/AArch64/const-hoist-intrinsics.ll
M llvm/test/Transforms/DCE/basic.ll
M llvm/test/Transforms/DeadStoreElimination/libcalls.ll
M llvm/test/Transforms/DeadStoreElimination/lifetime.ll
M llvm/test/Transforms/DeadStoreElimination/multiblock-multipath.ll
M llvm/test/Transforms/EarlyCSE/memoryssa.ll
M llvm/test/Transforms/GVN/opt-remarks.ll
M llvm/test/Transforms/HotColdSplit/lifetime-markers-on-inputs-1.ll
M llvm/test/Transforms/InferAddressSpaces/NVPTX/lifetime.ll
M llvm/test/Transforms/Inline/alloca-bonus.ll
M llvm/test/Transforms/Inline/redundant-loads.ll
M llvm/test/Transforms/InstCombine/deadcode.ll
M llvm/test/Transforms/InstCombine/malloc-free.ll
M llvm/test/Transforms/InstCombine/scalable-vector-struct.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-lifetime-ends.ll
M llvm/test/Transforms/MemCpyOpt/lifetime.ll
M llvm/test/Transforms/MemCpyOpt/memcpy-undef.ll
M llvm/test/Transforms/MemCpyOpt/memset-memcpy-oversized.ll
M llvm/test/Transforms/MemCpyOpt/preserve-memssa.ll
M llvm/test/Transforms/MoveAutoInit/clobber.ll
M llvm/test/Transforms/NewGVN/lifetime-simple.ll
M llvm/test/Transforms/ObjCARC/inlined-autorelease-return-value.ll
M llvm/test/Transforms/SafeStack/X86/coloring2.ll
M llvm/test/Verifier/intrinsic-immarg.ll
M llvm/test/Verifier/opaque-ptr.ll
M mlir/test/Target/LLVMIR/Import/intrinsic-prefer-unregistered.ll
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
M polly/test/CodeGen/invariant_load_in_non_affine_subregion.ll
Log Message:
-----------
[IR] Only allow lifetime.start/end on allocas (#149310)
lifetime.start and lifetime.end are primarily intended for use on
allocas, to enable stack coloring and other liveness optimizations. This
is necessary because all (static) allocas are hoisted into the entry
block, so lifetime markers are the only way to convey the actual
lifetimes.
However, lifetime.start and lifetime.end are currently *allowed* to be
used on non-alloca pointers. We don't actually do this in practice, but
just the mere fact that this is possible breaks the core purpose of the
lifetime markers, which is stack coloring of allocas. Stack coloring can
only work correctly if all lifetime markers for an alloca are
analyzable.
* If a lifetime marker may operate on multiple allocas via a select/phi,
we don't know which lifetime actually starts/ends and handle it
incorrectly (https://github.com/llvm/llvm-project/issues/104776).
* Stack coloring operates on the assumption that all lifetime markers
are visible, and not, for example, hidden behind a function call or
escaped pointer. It's not possible to change this, as part of the
purpose of lifetime markers is that they work even in the presence of
escaped pointers, where simple use analysis is insufficient.
I don't think there is any way to have coherent semantics for lifetime
markers on allocas, while also permitting them on arbitrary pointer
values.
This PR restricts lifetimes to operate on allocas only. As a followup, I
will also drop the size argument, which is superfluous if we always
operate on an alloca. (This change also renders various code handling
lifetime markers on non-alloca dead. I plan to clean up that kind of
code after dropping the size argument as well.)
In practice, I've only found a few places that currently produce
lifetimes on non-allocas:
* CoroEarly replaces the promise alloca with the result of an intrinsic,
which will later be replaced back with an alloca. I think this is the
only place where there is some legitimate loss of functionality, but I
don't think this is particularly important (I don't think we'd expect
the promise in a coroutine to admit useful lifetime optimization.)
* SafeStack moves unsafe allocas onto a separate frame. We can safely
drop lifetimes here, as SafeStack performs its own stack coloring.
* Similar for AddressSanitizer, it also moves allocas into separate
memory.
* LSR sometimes replaces the lifetime argument with a GEP chain of the
alloca (where the offsets ultimately cancel out). This is just
unnecessary. (Fixed separately in
https://github.com/llvm/llvm-project/pull/149492.)
* InferAddrSpaces sometimes makes lifetimes operate on an addrspacecast
of an alloca. I don't think this is necessary.
Commit: 8ba341eec3929dd26679092196cd45dfdd1e60c6
https://github.com/llvm/llvm-project/commit/8ba341eec3929dd26679092196cd45dfdd1e60c6
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/test/DebugInfo/X86/branch-folder-dbg.mir
Log Message:
-----------
[BranchFolding] Kill common hoisted debug instructions (#140091)
branch-folder hoists common instructions from TBB and FBB into their
pred. Without this patch it achieves this by splicing the instructions from TBB
and deleting the common ones in FBB. That moves the debug locations and debug
instructions from TBB into the pred without modification, which is not
ideal. Debug locations are handled in pull request 140063.
This patch handles debug instructions - in the simplest way possible, which is
to just kill (undef) them. We kill and hoist the ones in FBB as well as TBB
because otherwise the fact there's an assignment on the code path is deleted
(which might lead to a prior location extending further than it should).
We might be able to do something smarter to preserve some variable locations in
some cases, but this is the easiest not-incorrect thing to do.
Commit: c9fe19a99bf41c165524dcb3e9ff939527b5178b
https://github.com/llvm/llvm-project/commit/c9fe19a99bf41c165524dcb3e9ff939527b5178b
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M openmp/runtime/src/kmp_lock.cpp
Log Message:
-----------
[OpenMP] Improve performance of ticket lock (x86) (#143557)
Ticket lock has a yield operation (shown below) which degrades
performance on larger server machines due to an unconditional pause
operation.
```
#define KMP_YIELD(cond) \
{ \
KMP_CPU_PAUSE(); \
if ((cond) && (KMP_TRY_YIELD)) \
__kmp_yield(); \
}
```
Commit: 5d3b0578d8d51947a6878d65249174de86105073
https://github.com/llvm/llvm-project/commit/5d3b0578d8d51947a6878d65249174de86105073
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/bf16-math.ll
Log Message:
-----------
[NFC][AMDGPU] Add an IR test for `v_sqrt_bf16` (#149629)
This was left during the upstream.
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: 1a0dd5a67eee833a56566b8cdad8c439553708a3
https://github.com/llvm/llvm-project/commit/1a0dd5a67eee833a56566b8cdad8c439553708a3
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M libcxx/utils/synchronize_csv_status_files.py
Log Message:
-----------
[libc++] Avoid duplicate LWGXYZ prefixes in status tables (#148874)
When synchronizing the status tables with Github issues, we use the
title of the Github issue as the name of the paper in the status table.
However, the Github issue titles are prefixed with PXYZ or LWGXYZ (which
is useful to quickly find papers), and that is redundant in the context
of status tables. This patch ensures that we don't add that redundant
PXYZ or LWGXYZ prefix.
As a drive-by, also specify the encoding for opening files explicitly,
which fixes issues on Windows.
Commit: 09580f73c2214f4c8c43b048e488ae530700a85c
https://github.com/llvm/llvm-project/commit/09580f73c2214f4c8c43b048e488ae530700a85c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/docs/CIBestPractices.rst
Log Message:
-----------
[CI] Update Best Practices on Job Events for Stacked PRs (#149734)
I have seen a couple recent issues around workflows getting triggered on
events that are not correctly configured to handle stacked PRs. This
potentially resulted in workflows getting run twice (if they were also
triggering on push events) or to not run at all (if there were branch
restrictions for the pull_request event). Add some documentation to the
best practices page so we can hopefully avoid these issues in the future
and have some documentation to refer to during code review.
Commit: 3371b9111f26dc758f68c6691e24200cf86a8b74
https://github.com/llvm/llvm-project/commit/3371b9111f26dc758f68c6691e24200cf86a8b74
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/builtin_call.cpp
Log Message:
-----------
[CIR] Add assume_separate_storage operation (#149696)
This patch adds the `cir.assume_separate_storage` operation for the
`__builtin_assume_separate_storage` builtin function.
Commit: 8bb97d2d1e7a3488fdd0052674d654663d87256c
https://github.com/llvm/llvm-project/commit/8bb97d2d1e7a3488fdd0052674d654663d87256c
Author: SivanShani-Arm <sivan.shani at arm.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M lld/docs/ld.lld.1
Log Message:
-----------
[LLD][Docs] Document -z gcs= option in the man page (#146522)
Add documentation for the -z gcs= option to the LLD man page. This flag
controls how the GCS bit is set in the output:
- implicit (default): inferred from input objects
- never: GCS bit is never set
- always: GCS bit is always set
Clarifies behavior for users and aligns the man page with existing
functionality.
Commit: 1229323b8be4162e2dacb3320fc3d51ae895e7df
https://github.com/llvm/llvm-project/commit/1229323b8be4162e2dacb3320fc3d51ae895e7df
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/docs/GettingStarted.rst
M llvm/docs/LangRef.rst
M llvm/docs/ProgrammersManual.rst
Log Message:
-----------
[llvm] Improve grammar and punctuation of several documents (#149630)
Commit: afdd30d712e54d49882b4cd3cfc028b476cea89d
https://github.com/llvm/llvm-project/commit/afdd30d712e54d49882b4cd3cfc028b476cea89d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/docs/UsersManual.rst
Log Message:
-----------
[clang] Proofread UsersManual.rst (NFC) (#149763)
Commit: 19e299120936a8480b6da35dd8c98a1dd5483a5a
https://github.com/llvm/llvm-project/commit/19e299120936a8480b6da35dd8c98a1dd5483a5a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M lldb/docs/use/formatting.rst
Log Message:
-----------
[lldb] Proofread formatting.rst (#149768)
Commit: ce345cc793cef5ea54a5d29018571f53cd2164e3
https://github.com/llvm/llvm-project/commit/ce345cc793cef5ea54a5d29018571f53cd2164e3
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.f16.fp8.ll
Log Message:
-----------
[NFC][AMDGPU] Add an IR test for `v_cvt_f16_bf8` (#149627)
This was left during the upstream.
Co-authored-by: Mekhanoshin, Stanislav <Stanislav.Mekhanoshin at amd.com>
Commit: ba819031960ff9efb1862f2689c94a2fb496c2ba
https://github.com/llvm/llvm-project/commit/ba819031960ff9efb1862f2689c94a2fb496c2ba
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/fdiv.bf16.ll
Log Message:
-----------
[gfx1250][SDAG] Lower unsafe bf16 divisions (#149628)
Co-authored-by: Kosarev, Ivan <Ivan.Kosarev at amd.com>
Commit: e801a10b44ee96acb70b994662616a66fca0be21
https://github.com/llvm/llvm-project/commit/e801a10b44ee96acb70b994662616a66fca0be21
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/llvm.cos.bf16.ll
A llvm/test/CodeGen/AMDGPU/llvm.sin.bf16.ll
Log Message:
-----------
[AMDGPU] Add the code generation support for `llvm.[sin/cos].bf16` (#149631)
This is a partial support because some other instructions have not been upstreamed yet.
Commit: 890952ebfc4241cbca0f4fc9ad43cf9ab74ff223
https://github.com/llvm/llvm-project/commit/890952ebfc4241cbca0f4fc9ad43cf9ab74ff223
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
Log Message:
-----------
[gn build] Port 401b5ccf6b50
Commit: 39389d55dd2cbfae54c3c4d4ba693f88f394e3bf
https://github.com/llvm/llvm-project/commit/39389d55dd2cbfae54c3c4d4ba693f88f394e3bf
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clangd/refactor/tweaks/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
Log Message:
-----------
[gn build] Port 7355ea3f6b21
Commit: 49d7a9b14ef1cc1c7231507f5f2feff7e7653966
https://github.com/llvm/llvm-project/commit/49d7a9b14ef1cc1c7231507f5f2feff7e7653966
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/BinaryFormat/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Object/BUILD.gn
Log Message:
-----------
[gn build] Port aa7ada1dfbe2
Commit: e39ee62c5bdbe71b9f191bc5da7d47577e2099a9
https://github.com/llvm/llvm-project/commit/e39ee62c5bdbe71b9f191bc5da7d47577e2099a9
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Program.cpp
Log Message:
-----------
[clang][bytecode] Use OptPrimType instead of std::optional<PrimType> (#149812)
We use this construct a lot. Use something similar to clang's
UnsignedOrNone.
This results in some slighy compile time improvements:
https://llvm-compile-time-tracker.com/compare.php?from=17a4b0399d161a3b89d8f0ce82add1638f23f5d4&to=a251d81ecd0ed45dd190462663155fdb303ef04d&stat=instructions:u
Commit: ed2bfd132509da679320a1d691af4a91192297d0
https://github.com/llvm/llvm-project/commit/ed2bfd132509da679320a1d691af4a91192297d0
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M flang/test/Driver/intrinsic-module-path.f90
Log Message:
-----------
[Flang] Add -fintrinsic-modules-path= alias (#149417)
Add the syntax `-fintrinsic-modules-path=<dir>` as an alias to the
existing option `-fintrinsic-modules-path <dir>`. gfortran also supports
both alternatives.
This is particularly useful with CMake which de-duplicates command-line
options. For instance,
`-fintrinsic-modules-path /path/A -fintrinsic-modules-path /path/B`
is de-duplicated to
`-fintrinsic-modules-path /path/A /path/B`
since it conisiders the second `-fintrinsic-modules-path`
"redundant". This can be avoided using the syntax
`-fintrinsic-modules-path=/path/A -fintrinsic-modules-path=/path/B`.
Commit: 12a3afe47d4e5fcc97eb44271c00ace7cc8e4ff2
https://github.com/llvm/llvm-project/commit/12a3afe47d4e5fcc97eb44271c00ace7cc8e4ff2
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/lib/Format/FormatTokenLexer.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Remove code related to trigraphs (#148640)
When reviewing #147156, the reviewers pointed out that we didn't need to
support the trigraph. The code never handled it right.
In the debug build, this kind of input caused the assertion in the
function `countLeadingWhitespace` to fail. The release build without
assertions outputted `?` `?` `/` separated by spaces.
```C
#define A ??/
int i;
```
This is because the code in `countLeadingWhitespace` assumed that the
underlying lexer recognized the entire `??/` sequence as a single token.
In fact, the lexer recognized it as 3 separate tokens. The flag to make
the lexer recognize trigraphs was never enabled.
This patch enables the flag in the underlying lexer. This way, the
program now either turns the trigraph into a single `\` or removes it
altogether if the line is short enough. There are operators like the
`??=` in C#. So the flag is not enabled for all input languages. Instead
the check for the token size is moved from the assert line into the if
line.
The problem was introduced by my own patch 370bee480139 from about 3
years ago. I added code to count the number of characters in the escape
sequence probably just because the block of code used to have a comment
saying someone should add the feature. Maybe I forgot to enable
assertions when I ran the code. I found the problem because reviewing
pull request 145243 made me look at the code again.
Commit: 0c804da4eaf72969e338ed5619c41e038e1bdf35
https://github.com/llvm/llvm-project/commit/0c804da4eaf72969e338ed5619c41e038e1bdf35
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
Log Message:
-----------
[AMDGPU][True16] turn on true16 for all gfx11 devices (#143518)
A follow up patch from https://github.com/llvm/llvm-project/pull/140736.
Set default true16 mode from gfx110x to all gfx11 devices.
Tests has been address in preivous patches.
Commit: c33c978d766a6bbaec28fce7638354c549a75111
https://github.com/llvm/llvm-project/commit/c33c978d766a6bbaec28fce7638354c549a75111
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/bf16.ll
Log Message:
-----------
[AMDGPU][NFC] Run the general bf16 tests for GFX950. (#149796)
Commit: 2aa1e54fa1ff7f7c347e7108fe8650e94014c941
https://github.com/llvm/llvm-project/commit/2aa1e54fa1ff7f7c347e7108fe8650e94014c941
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/openmp-modifiers.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/canonicalize-omp.cpp
M flang/lib/Semantics/canonicalize-omp.h
M flang/lib/Semantics/openmp-modifiers.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Parser/OpenMP/map-modifiers-v60.f90
Log Message:
-----------
[flang][OpenMP] Parse OpenMP 6.0 map modifiers (#149134)
OpenMP 6.0 has changed the modifiers on the MAP clause:
- map-type-modifier has been split into individual modifiers,
- map-type "delete" has become a modifier,
- new modifiers have been added.
This patch adds parsing support for all of the OpenMP 6.0 modifiers. The
old "map-type-modifier" is retained, but is no longer created in
parsing. It will remain to take advantage of the preexisting modifier
validation for older versions: when the OpenMP version is < 6.0, the
modifiers will be rewritten back as map-type-modifiers (or map- type in
case of "delete").
In this patch the modifiers will always be rewritten in the older format
to isolate these changes to parsing as much as possible.
Commit: a270fdf3fe58dff7093c8bc1c7ffbd03c0268d66
https://github.com/llvm/llvm-project/commit/a270fdf3fe58dff7093c8bc1c7ffbd03c0268d66
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
Log Message:
-----------
[memprof] Simplify control flow in readMemProf (NFC) (#149764)
Now that readMemProf calls two helper functions handleAllocSite and
handleCallSite, we can simplify the control flow. We don't need to
use "continue" anymore.
Commit: 04e5e643f526090ec872c0e505c487918992e21d
https://github.com/llvm/llvm-project/commit/04e5e643f526090ec872c0e505c487918992e21d
Author: Rahul Yadav <rahul4talk at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/X86/bitop-of-castops.ll
Log Message:
-----------
[VectorCombine] Generalize foldBitOpOfBitcasts to support more cast operations (#148350)
This patch generalizes the existing foldBitOpOfBitcasts optimization in the VectorCombine pass to handle additional cast operations beyond just bitcast.
Fixes: [#146037](https://github.com/llvm/llvm-project/issues/146037)
Summary
The optimization now supports folding bitwise operations (AND/OR/XOR)
with the following cast operations:
- bitcast (original functionality)
- trunc (truncate)
- sext (sign extend)
- zext (zero extend)
The transformation pattern is:
bitop(castop(x), castop(y)) -> castop(bitop(x, y))
This reduces the number of cast instructions from 2 to 1, improving
performance on targets where cast operations
are expensive or where performing bitwise operations on narrower types
is beneficial.
Implementation Details
- Renamed foldBitOpOfBitcasts to foldBitOpOfCastops to reflect broader
functionality
- Extended pattern matching to handle any CastInst operation
- Added validation for each cast type's constraints (e.g., trunc
requires source > dest)
- Updated cost model to use the actual cast opcode
- Preserves IR flags from original instructions
- Handles multi-use scenarios appropriately
Testing
- Added comprehensive tests in
test/Transforms/VectorCombine/bitop-of-castops.ll
- Tests cover all supported cast types with all bitwise operations
- Includes negative tests for unsupported patterns
- All existing VectorCombine tests pass
Commit: 8366dc207a2e6b50cb8afe2d98fca68bd78bd0fa
https://github.com/llvm/llvm-project/commit/8366dc207a2e6b50cb8afe2d98fca68bd78bd0fa
Author: Timothy Herchen <timothy.herchen at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/lib/Lex/LiteralSupport.cpp
M clang/test/C/C2y/n3353.c
Log Message:
-----------
[clang] Don't warn on zero literals with -std=c2y (#149688)
Fixes #149669; the old check compared with the end of the literal, but
we can just check that after parsing digits, we're pointing to one
character past the token start.
Commit: 5b98992fb98cb9cd3c492907b262e149f84c0cb0
https://github.com/llvm/llvm-project/commit/5b98992fb98cb9cd3c492907b262e149f84c0cb0
Author: Arseny Kapoulkine <arseny.kapoulkine at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/test/CodeGen/WebAssembly/simd-conversions.ll
M llvm/test/CodeGen/WebAssembly/simd-extending-convert.ll
Log Message:
-----------
[WebAssembly] Optimize convert_iKxN_u into convert_iKxN_s (#149609)
convert_iKxN_s is canonicalized into convert_iKxN_u when the argument is
known to have sign bit 0. This results in emitting Wasm opcodes that, on
some targets (like x86_64), are dramatically slower than signed versions
on major engines.
Similarly to X86, we now fix this up in isel when the instruction has
nonneg flag from canonicalization or if we know the source has zero sign
bit.
Fixes #149457.
Commit: 13906724ff7aa1bc58202faac62690570dfe0dc3
https://github.com/llvm/llvm-project/commit/13906724ff7aa1bc58202faac62690570dfe0dc3
Author: Hervé Poussineau <hpoussin at reactos.org>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/lib/Basic/Targets/Mips.h
M clang/test/Preprocessor/init-mips.c
M clang/test/Preprocessor/stdint.c
Log Message:
-----------
[Mips] Correctly define IntPtrType (#145158)
Mips was the only architecture having PtrDiffType = SignedInt and
IntPtrType = SignedLong
This fixes a problem on mipsel-windows-gnu triple, where uintptr_t was
wrongly defined as unsigned long instead of unsigned int, leading to
problems in compiler-rt.
compiler-rt/lib/interception/interception_type_test.cpp:24:17: error:
static assertion failed due to requirement
'__sanitizer::is_same<unsigned long, unsigned int>::value':
24 | COMPILER_CHECK((__sanitizer::is_same<__sanitizer::uptr,
::uintptr_t>::value));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compiler-rt/lib/interception/../sanitizer_common/sanitizer_internal_defs.h:369:44:
note: expanded from macro 'COMPILER_CHECK'
369 | #define COMPILER_CHECK(pred) static_assert(pred, "")
| ^~~~
compiler-rt/lib/interception/interception_type_test.cpp:25:17: error:
static assertion failed due to requirement '__sanitizer::is_same<long,
int>::value':
25 | COMPILER_CHECK((__sanitizer::is_same<__sanitizer::sptr,
::intptr_t>::value));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compiler-rt/lib/interception/../sanitizer_common/sanitizer_internal_defs.h:369:44:
note: expanded from macro 'COMPILER_CHECK'
369 | #define COMPILER_CHECK(pred) static_assert(pred, "")
| ^~~~
compiler-rt/lib/interception/interception_type_test.cpp:27:17: error:
static assertion failed due to requirement '__sanitizer::is_same<long,
int>::value':
27 | COMPILER_CHECK((__sanitizer::is_same<::PTRDIFF_T,
::ptrdiff_t>::value));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compiler-rt/lib/interception/../sanitizer_common/sanitizer_internal_defs.h:369:44:
note: expanded from macro 'COMPILER_CHECK'
369 | #define COMPILER_CHECK(pred) static_assert(pred, "")
Commit: 29af8e59fcd8bc5795a9668f4d4dde5572df4146
https://github.com/llvm/llvm-project/commit/29af8e59fcd8bc5795a9668f4d4dde5572df4146
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/test/DebugInfo/X86/branch-folder-dbg.mir
Log Message:
-----------
Revert "[BranchFolding] Kill common hoisted debug instructions" (#149845)
Reverts llvm/llvm-project#140091 due to crash (see comments for reproducer)
Commit: 0b054e21f473e258fe0a886fea908fe8bb867bc8
https://github.com/llvm/llvm-project/commit/0b054e21f473e258fe0a886fea908fe8bb867bc8
Author: Aakanksha Patil <41199349+aakanksha555 at users.noreply.github.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/include/llvm/ObjectYAML/ELFYAML.h
M llvm/lib/ObjectYAML/ELFEmitter.cpp
A llvm/test/tools/obj2yaml/ELF/eflags.yaml
A llvm/test/tools/yaml2obj/file-header-flags.yaml
M llvm/tools/obj2yaml/elf2yaml.cpp
Log Message:
-----------
Allow "[[FLAGS=<none>]]" value in the ELF Fileheader Flags field (#143845)
https://github.com/llvm/llvm-project/pull/92066 will be dependent on
this change
Commit: 28b85502eb848538b8243039641584906712fd52
https://github.com/llvm/llvm-project/commit/28b85502eb848538b8243039641584906712fd52
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
Log Message:
-----------
[AMDGPU] Remove some duplicated lines. NFC. (#128029)
Commit: 1c49ce676caa161250624714c3698b87dc2f8628
https://github.com/llvm/llvm-project/commit/1c49ce676caa161250624714c3698b87dc2f8628
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ieee.ll
M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0-callable-dvgpr.ll
M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0-callable.ll
M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0-dvgpr.ll
M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0.ll
M llvm/test/CodeGen/AMDGPU/pal-metadata-3.6.ll
Log Message:
-----------
[AMDGPU] Enable FWD_PROGRESS bit for GFX10+ on PAL (#139895)
Performance testing shows no significant gains or losses on graphics
workloads, so this is mostly to make the behavior consistent across all
supported OSes instead of special-casing HSA.
Commit: b184dd9c6f4facf3c4c513ef826c584ead8220d9
https://github.com/llvm/llvm-project/commit/b184dd9c6f4facf3c4c513ef826c584ead8220d9
Author: Howard Chu <1007273067 at qq.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl04.rst
Log Message:
-----------
[doc][LLVM] Fix typo in the Kaleidoscope tutorial (#133675)
"to make the add's lexically identical" -> "to make the adds lexically
identical"
Commit: f85c1a5615c87f4598c6859578c0c30d4ea6a58c
https://github.com/llvm/llvm-project/commit/f85c1a5615c87f4598c6859578c0c30d4ea6a58c
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M libcxx/test/libcxx/utilities/expected/expected.expected/transform_error.mandates.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/transform_error.mandates.verify.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_copy.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_unary.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete.pass.cpp
M libcxx/test/std/numerics/c.math/signbit.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/shared_ptr_array.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
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/reference_converts_from_temporary.pass.cpp
Log Message:
-----------
[libc++] Remove mentions of Clang 18 in the test suite (#148862)
Clang 19 has been the oldest supported version of Clang since the LLVM
20 release, but we had not cleaned up the test suite yet.
Commit: 0823f4ff086e5352f7543b68ce6e7823498cf44b
https://github.com/llvm/llvm-project/commit/0823f4ff086e5352f7543b68ce6e7823498cf44b
Author: Lewis Crawford <lcrawford at nvidia.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
Log Message:
-----------
[ConstantFolding] Fix nvvm_round folding on PPC (#149837)
Fix a failing test for constant-folding the nvvm_round intrinsic. The
original implementation added in #141233 used a native libm call to the
"round" function, but on PPC this produces +0.0 if the input is -0.0,
which caused a test failure.
This patch updates it to use APFloat functions instead of native libm
calls to ensure cross-platform consistency.
Commit: c9ceb9b75fd547c7d2e79837075370f4c8db8faa
https://github.com/llvm/llvm-project/commit/c9ceb9b75fd547c7d2e79837075370f4c8db8faa
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/SpillUtils.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/LCSSA.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/MemoryOpRemark.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/SSAUpdater.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[DebugInfo] Remove intrinsic-flavours of findDbgUsers (#149816)
This is one of the final remaining debug-intrinsic specific codepaths
out there, and pieces of cross-LLVM infrastructure to do with debug
intrinsics.
Commit: 65420e5539088d3e156f6bdb3fd390d2354091f7
https://github.com/llvm/llvm-project/commit/65420e5539088d3e156f6bdb3fd390d2354091f7
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/attributor-noalias-addrspace.ll
Log Message:
-----------
[NFC][AMDGPU] Fix a test issue in `llvm/test/CodeGen/AMDGPU/attributor-noalias-addrspace.ll` (#149826)
The callee and caller signature doesn't match
Commit: 6932080866f46c198e8999d2882ba34a9b6c40e7
https://github.com/llvm/llvm-project/commit/6932080866f46c198e8999d2882ba34a9b6c40e7
Author: William Huynh <William.Huynh at arm.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M libc/src/string/string_utils.h
Log Message:
-----------
[libc] Add dependency <stdint.h> to src/string/string_utils.h (#149849)
string_utils.h uses uintptr_t, and there seems to be no tracking of this
dependency. It seems upstream builds are unaffected but downstream this
is causing a lot of flaky builds.
Commit: 0fa515f7332142171f40df5df8a843d7351388dd
https://github.com/llvm/llvm-project/commit/0fa515f7332142171f40df5df8a843d7351388dd
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
R llvm/test/CodeGen/AArch64/wineh-reuse-catch-alloca.ll
M llvm/test/CodeGen/WinEH/wineh-reuse-catch-alloca.ll
Log Message:
-----------
[win] Merge the x64 and AArch64 wineh-reuse-catch-alloca.ll tests (#149178)
Cleans up debt from #147849 and #147860
I had originally duplicated this test since the WinEH directory wasn't
enabled for AArch64, but now that we can run AArch64 tests in that
directory, I've unified the tests.
Commit: d6094370cb3f5ed24249800c42632e453d4ada3f
https://github.com/llvm/llvm-project/commit/d6094370cb3f5ed24249800c42632e453d4ada3f
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-wmma-w32-param.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/SISchedule.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imm.gfx1250.w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imod.gfx1250.w32.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32.s
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_wmma_w32.txt
A llvm/test/Transforms/InstCombine/AMDGPU/wmma-f8f6f4.ll
A llvm/test/Verifier/AMDGPU/wmma-f8f6f4.ll
Log Message:
-----------
AMDGPU: Support v_wmma_f32_16x16x128_f8f6f4 on gfx1250 (#149684)
Co-authored-by: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Commit: 234338852c43bf3452813caea851d3e49074d521
https://github.com/llvm/llvm-project/commit/234338852c43bf3452813caea851d3e49074d521
Author: Jun Wang <jwang86 at yahoo.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-bswap.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fshr.mir
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.alignbyte.ll
M llvm/test/MC/AMDGPU/gfx10_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx7_err_pos.s
M llvm/test/MC/AMDGPU/gfx8_err_pos.s
M llvm/test/MC/AMDGPU/gfx9_asm_vop3_e64.s
M llvm/test/MC/Disassembler/AMDGPU/gfx10_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3.txt
Log Message:
-----------
Reapply "[AMDGPU][MC] Allow op_sel in v_alignbit_b32 etc in GFX9 and … (#149262)
Fixed the problem in ce7851f6b7d59e50f92cb4e8dbfd801576c8b641.
This reverts commit ba271cc07334c74df55741701e5b22032c0cddbb.
Commit: 30705c5840f42f48d608b56e1efccfdbecec8f0a
https://github.com/llvm/llvm-project/commit/30705c5840f42f48d608b56e1efccfdbecec8f0a
Author: James Newling <james.newling at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
Log Message:
-----------
[mlir][vector][NFC] Add deprecation notice to splat's .td (#149532)
Part of deprecation of vector.splat
RFC: https://discourse.llvm.org/t/rfc-mlir-vector-deprecate-then-remove-vector-splat/87143/4
Commit: b80ce054206db223ec8c3cd55fad510c97afbc9f
https://github.com/llvm/llvm-project/commit/b80ce054206db223ec8c3cd55fad510c97afbc9f
Author: Nico Weber <thakis at chromium.org>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/include/llvm/ObjectYAML/ELFYAML.h
M llvm/lib/ObjectYAML/ELFEmitter.cpp
R llvm/test/tools/obj2yaml/ELF/eflags.yaml
R llvm/test/tools/yaml2obj/file-header-flags.yaml
M llvm/tools/obj2yaml/elf2yaml.cpp
Log Message:
-----------
Revert "Allow "[[FLAGS=<none>]]" value in the ELF Fileheader Flags field (#143845)"
This reverts commit 0b054e21f473e258fe0a886fea908fe8bb867bc8.
Breaks many tests, see comments on #143845.
Commit: f7347e9f784860d9482ad8fe757761514cceff31
https://github.com/llvm/llvm-project/commit/f7347e9f784860d9482ad8fe757761514cceff31
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
A llvm/utils/update_mir_regclass_numbers
Log Message:
-----------
[utils] Add a script to update regclass numbers in MIR tests (#142761)
Commit: 2865f1ba966c21d4ebff610875394ce9c7a5ff38
https://github.com/llvm/llvm-project/commit/2865f1ba966c21d4ebff610875394ce9c7a5ff38
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M libc/shared/math/exp10f16.h
M libc/src/__support/math/acos.h
M libc/src/__support/math/acosf.h
M libc/src/__support/math/asin_utils.h
M libc/src/__support/math/inv_trigf_utils.h
M libc/src/math/generic/asin.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/atan2f.cpp
M libc/src/math/generic/atanf.cpp
M libc/test/CMakeLists.txt
A libc/test/shared/CMakeLists.txt
A libc/test/shared/shared_math_test.cpp
Log Message:
-----------
[libc][math] add smoke tests to shared/math.h (#149741)
Adding smoke tests for shared math header.
part of #147386
Commit: d9527be9141b4a9f434c5a105bb7a24a935c5d87
https://github.com/llvm/llvm-project/commit/d9527be9141b4a9f434c5a105bb7a24a935c5d87
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
A flang/test/Transforms/tbaa-local-alloc-threshold.fir
Log Message:
-----------
[NFC][flang] Added engineering option for triaging local-alloc-tbaa. (#149587)
I triaged a benchmark that showed inaccurate results, when
local-alloc-tbaa
was enabled. It turned out to be not a real TBAA issue, but rather
TBAA affecting optimizations that affect FMA generation, which
introduced
an expected accuracy variation. I would like to keep this threshold
control for future uses.
Commit: 36089e5d983fe9ae00f497c2d500f37227f82db1
https://github.com/llvm/llvm-project/commit/36089e5d983fe9ae00f497c2d500f37227f82db1
Author: Marco Elver <elver at google.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/LowerAllowCheckPass.cpp
Log Message:
-----------
[LowerAllowCheck] Rename removeUbsanTrap() to lowerAllowChecks() (#149847)
No traps are removed directly nor is this restricted to UBSan, therefore
rename the function doing the transformation of the intrinsic to match
its intent.
NFC.
Commit: e202dba288edd47f1b370cc43aa8cd36a924e7c1
https://github.com/llvm/llvm-project/commit/e202dba288edd47f1b370cc43aa8cd36a924e7c1
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/full-match-with-poison-scalar.ll
M llvm/test/Transforms/SLPVectorizer/X86/node-outside-used-only.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-instructions-become-schedulable.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47642.ll
M llvm/test/Transforms/SLPVectorizer/alternate-non-profitable.ll
Log Message:
-----------
[SLP]Initial support for copyable elements (non-schedulable only)
Adds initial support for copyable elements. This patch only models adds
and model copyable elements as add <element>, 0, i.e. uses identity
constants for missing lanes.
Only support for elements, which do not require scheduling, is added to
reduce size of the patch.
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/140279
Commit: 881b3fdfad30ca7e945fab4c68822f6bdecf06af
https://github.com/llvm/llvm-project/commit/881b3fdfad30ca7e945fab4c68822f6bdecf06af
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
Log Message:
-----------
[RISCV][IA] Support masked.load for deinterleaveN matching (#149556)
This builds on the whole series of recent API reworks to implement
support for deinterleaveN of masked.load. The goal is to be able to
enable masked interleave groups in the vectorizer once all the codegen
and costing pieces are in place.
I considered including the shuffle path support in this review as well
(since the RISCV target specific stuff should be common), but decided to
separate it into it's own review just to focus attention on one thing at
a time.
Commit: abce4e9ad0481ef33812e72a1bae53d77ddd9cce
https://github.com/llvm/llvm-project/commit/abce4e9ad0481ef33812e72a1bae53d77ddd9cce
Author: James Newling <james.newling at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Conversion/VectorToSCF/vector-to-scf.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][vector] Folder: shape_cast(extract) -> extract (#146368)
In a later PR more shape_cast ops will appear. Specifically, broadcasts that
just prepend ones become shape_cast ops (i.e. volume preserving broadcasts
are canonicalized to shape_casts). This PR ensures that broadcast-like
shape_cast ops fold at least as well as broadcast ops.
This is done by modifying patterns that target broadcast ops, to target
'broadcast-like' ops. No new patterns are added, the patterns that exist
are just made to match on shape_casts where appropriate.
This PR also includes minor code simplifications: use
`isBroadcastableTo` to simplify `ExtractOpFromBroadcast` and simplify
how broadcast dims are detected in `foldExtractFromBroadcast`. These are
NFC.
---------
Co-authored-by: Andrzej Warzyński <andrzej.warzynski at gmail.com>
Commit: ac6e2ee39b34ec7ff5bed885c87e0d0bd16be835
https://github.com/llvm/llvm-project/commit/ac6e2ee39b34ec7ff5bed885c87e0d0bd16be835
Author: James Newling <james.newling at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/test/Conversion/ArithToAMDGPU/scaling-extf.mlir
M mlir/test/Conversion/ArithToAMDGPU/scaling-truncf.mlir
M mlir/test/Conversion/ConvertToSPIRV/vector.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm-interface.mlir
M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
Log Message:
-----------
[mlir][vector] Support direct broadcast conversion (LLVM & SPIRV) (#148027)
Add conversion for broadcast from scalar for LLVM and SPIRV. Also some
miscellaneous replacements of vector.splat with vector.broadcast in
VectorToGPU and ArithToAMDGPU.
Part of deprecation of vector.splat RFC:
https://discourse.llvm.org/t/rfc-mlir-vector-deprecate-then-remove-vector-splat/87143/4
Commit: ce44f089ded833acde529dbf448732a486207d5f
https://github.com/llvm/llvm-project/commit/ce44f089ded833acde529dbf448732a486207d5f
Author: Augusto Noronha <anoronha at apple.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M lldb/include/lldb/Target/Target.h
M lldb/source/Target/Target.cpp
M lldb/unittests/Expression/DWARFExpressionTest.cpp
Log Message:
-----------
[lldb] Add an extra optional did_read_live_memory to Target::ReadMemory (#149620)
Target::ReadMemory may or may not read live memory, but whether it did
read from live memory or from the filecache is opaque to callers. Add an
extra out parameter to indicate whether live memory was read or not.
Commit: 8940ab510ca56e0d87ab1e6a1d6cd26df3405f10
https://github.com/llvm/llvm-project/commit/8940ab510ca56e0d87ab1e6a1d6cd26df3405f10
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M mlir/test/Dialect/Linalg/vectorization/linalg-ops.mlir
Log Message:
-----------
[mlir][linalg][nfc] Group tests for linalg.pack + linalg.unpack (#149783)
Groups vectorization tests for `linalg.pack` + `linalg.unpack` together.
Commit: 9ad7edef4276207ca4cefa6b39d11145f4145a72
https://github.com/llvm/llvm-project/commit/9ad7edef4276207ca4cefa6b39d11145f4145a72
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/acosf16.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/acos.h
A libc/src/__support/math/acosf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/acosf16.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor acosf16 implementation to header-only in src/__support/math folder. (#148412)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: abe93d9d7e891a2a6596ddb0c6324280137c89dc
https://github.com/llvm/llvm-project/commit/abe93d9d7e891a2a6596ddb0c6324280137c89dc
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Fix installed symlinks to be relative again (#149728)
Fix the symlink creation logic to use relative paths instead of
absolute, in order to ensure that the installed symlinks actually refer
to the installed .bc files rather than the ones from the build
directory. This was broken in #146833. The change is a bit roundabout
but it attempts to preserve the spirit of #146833, that is the ability
to use multiple output directories (provided they all resides in
`${LIBCLC_OUTPUT_LIBRARY_DIR}` and preserve the same structure in the
installed tree).
Signed-off-by: Michał Górny <mgorny at gentoo.org>
Commit: 509af524e3c3a25f7c777059585e075f70bf8db3
https://github.com/llvm/llvm-project/commit/509af524e3c3a25f7c777059585e075f70bf8db3
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
R llvm/test/CodeGen/DirectX/legalize-lifetimes-valver-1.5.ll
R llvm/test/CodeGen/DirectX/legalize-lifetimes-valver-1.6.ll
A llvm/test/CodeGen/DirectX/legalize-lifetimes.ll
Log Message:
-----------
Revert "[DirectX] Lower `llvm.lifetime.*` intrinsics to stores when DXIL version is lower than 1.6 (#147432)" (#149874)
This PR reverts commit d47c126fbf7915c01ea112ae372fe8835df4379f
(corresponding to PR #147432) to fix a build failure caused by #149310
Commit: 53f4abc6036a13f1b8afebc31d179d1a901084b8
https://github.com/llvm/llvm-project/commit/53f4abc6036a13f1b8afebc31d179d1a901084b8
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
R clang/test/CodeGen/PowerPC/ppc-dmf-future-builtin-err.c
M clang/test/CodeGen/PowerPC/ppc-dmf-mma-builtin-err.c
Log Message:
-----------
[PowerPC][NFC] Combine the 2 dmf neg test files (#149875)
Combining since these are testing the same err message with only
difference being the target cpu.
Commit: b7e332d3f59f567b1999fbcc660d7837cba8e406
https://github.com/llvm/llvm-project/commit/b7e332d3f59f567b1999fbcc660d7837cba8e406
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
M mlir/include/mlir/Dialect/LLVMIR/BasicPtxBuilderInterface.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/include/mlir/Dialect/Tosa/Utils/ConversionUtils.h
M mlir/include/mlir/Dialect/Tosa/Utils/QuantUtils.h
M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/include/mlir/IR/Builders.h
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/Interfaces/ViewLikeInterface.h
M mlir/include/mlir/Parser/Parser.h
M mlir/lib/Target/IRDLToCpp/IRDLToCpp.cpp
M mlir/lib/Target/IRDLToCpp/Templates/PerOperationDecl.txt
M mlir/lib/Target/IRDLToCpp/Templates/PerOperationDef.txt
Log Message:
-----------
[mlir][NFC] update `include` create APIs (3/n) (#149687)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: fe267860c1206b0622f5aee8fe8a04040fcecbf7
https://github.com/llvm/llvm-project/commit/fe267860c1206b0622f5aee8fe8a04040fcecbf7
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/erff.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/erff.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/erff.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor erff implementation to header-only in src/__support/math folder. (#148413)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: d93f91fc467beb3da99a43fc1874f1dbcaf250c4
https://github.com/llvm/llvm-project/commit/d93f91fc467beb3da99a43fc1874f1dbcaf250c4
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
Log Message:
-----------
[RISCV][IA] Prefer switch over intrinsic ID instead of if-chain [nfc]
Commit: 0e42c665f97ee6551e1019cd75ff649c14bda03a
https://github.com/llvm/llvm-project/commit/0e42c665f97ee6551e1019cd75ff649c14bda03a
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/memprof-basic.ll
M llvm/test/Transforms/MemProfContextDisambiguation/basic.ll
Log Message:
-----------
[MemProf] Update the declaration DISubprogram linkageName for clones (#149864)
Follow up to PR145385 to also update the linkageName on any separate
DISubprogram for the clone function declaration.
Commit: c4f3bc91c0684e82491045dc3f317274be3b8131
https://github.com/llvm/llvm-project/commit/c4f3bc91c0684e82491045dc3f317274be3b8131
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/test/CodeGen/DirectX/legalize-lifetimes-valver-1.5.ll
A llvm/test/CodeGen/DirectX/legalize-lifetimes-valver-1.6.ll
R llvm/test/CodeGen/DirectX/legalize-lifetimes.ll
Log Message:
-----------
Revert "Revert "[DirectX] Lower `llvm.lifetime.*` intrinsics to stores when DXIL version is lower than 1.6 (#147432)"" (#149882)
Reverts llvm/llvm-project#149874
Reverted the wrong PR by mistake.
Commit: 8f9ed788740fd00836195b30061ad161b2055d8c
https://github.com/llvm/llvm-project/commit/8f9ed788740fd00836195b30061ad161b2055d8c
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
R llvm/test/CodeGen/DirectX/ShaderFlags/lifetimes-noint64op.ll
M llvm/test/CodeGen/DirectX/legalize-lifetimes-valver-1.6.ll
R llvm/test/tools/dxil-dis/lifetimes.ll
Log Message:
-----------
Revert "[DirectX] Legalize lifetime intrinsics for DXIL" (#149883)
Reverts llvm/llvm-project#148003 to fix a DirectX backend build breakage
due to #149310
Commit: b53be5f4b2d25aabcd676319a054f251cb0752b2
https://github.com/llvm/llvm-project/commit/b53be5f4b2d25aabcd676319a054f251cb0752b2
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
M offload/plugins-nextgen/common/src/Utils/ELF.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
Log Message:
-----------
[LLVM] Update CUDA ELF flags for their new ABI (#149534)
Summary:
We rely on these flags to do things in the runtime and print the
contents of binaries correctly. CUDA updated their ABI encoding recently
and we didn't handle that. it's a new ABI entirely so we just select on
it when it shows up.
Fixes: https://github.com/llvm/llvm-project/issues/148703
Commit: 4184a1b5815810993eb87602aa6d47bcf7e72691
https://github.com/llvm/llvm-project/commit/4184a1b5815810993eb87602aa6d47bcf7e72691
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrFuture.td
Log Message:
-----------
[PowerPC][NFC] Fix clang format in PPCInstrFuture.td (#149884)
Commit: 033df384cde9e692fd1b9e5d3bf29100971f9444
https://github.com/llvm/llvm-project/commit/033df384cde9e692fd1b9e5d3bf29100971f9444
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
Log Message:
-----------
[IA] Naming and style cleanup [nfc]
1) Rename argument II to something slightly more descriptive since we have
more than one IntrinsicInst flowing through.
2) Perform a checked dyn_cast early to eliminate two casts later in each
routine.
Commit: 84781c0ed36410d9fb79cab6f58e09e660e4ea7e
https://github.com/llvm/llvm-project/commit/84781c0ed36410d9fb79cab6f58e09e660e4ea7e
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/acoshf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/acosh_float_constants.h
A libc/src/__support/math/acoshf.h
A libc/src/__support/math/acoshf_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/acoshf.cpp
M libc/src/math/generic/acoshf16.cpp
M libc/src/math/generic/asinhf.cpp
M libc/src/math/generic/asinhf16.cpp
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/common_constants.cpp
M libc/src/math/generic/common_constants.h
M libc/src/math/generic/explogxf.h
M libc/src/math/generic/log1pf.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor acoshf implementation to header-only in src/__support/math folder. (#148418)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 423cea760732e7969ac5d0edff9d725d89503807
https://github.com/llvm/llvm-project/commit/423cea760732e7969ac5d0edff9d725d89503807
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Fix incorrect indentation. NFC
Commit: fcacd4e880c9a0b3f2bdaa43603aeddfa1b1cd2e
https://github.com/llvm/llvm-project/commit/fcacd4e880c9a0b3f2bdaa43603aeddfa1b1cd2e
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
R lld/test/COFF/exported-dllmain.test
A lld/test/COFF/imported-dllmain-i386.test
A lld/test/COFF/imported-dllmain.test
Log Message:
-----------
[LLD][COFF] Follow up comments on pr146610 (#147152)
This is a follow-up PR for post-commit comments in
https://github.com/llvm/llvm-project/pull/146610
- Changed "exporteddllmain" references to "importeddllmain".
- Add support for x86 target and test coverage.
- Changed a comment to better express why we're skipping importing
`DllMain`.
Commit: 96548db78f037a8f6c8a59c0110a53b4e6f0f4c6
https://github.com/llvm/llvm-project/commit/96548db78f037a8f6c8a59c0110a53b4e6f0f4c6
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M libc/test/src/math/explogxf_test.cpp
Log Message:
-----------
[libc][math] fix explogxf test (#149891)
Commit: e1aed19fb9e36543fa7354934ee1b268bdc40705
https://github.com/llvm/llvm-project/commit/e1aed19fb9e36543fa7354934ee1b268bdc40705
Author: lntue <lntue at google.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
[libc][bazel] Add hypotf16 bazel targets. (#149761)
Commit: f38c94b80563b063439f2079de260d1424e0bffc
https://github.com/llvm/llvm-project/commit/f38c94b80563b063439f2079de260d1424e0bffc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
Log Message:
-----------
[RISCV] Fix typo in test: loat->load. NFC (#149869)
Commit: 860ff8714b2d6f810703c4490e26dd687fc15b8d
https://github.com/llvm/llvm-project/commit/860ff8714b2d6f810703c4490e26dd687fc15b8d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
Log Message:
-----------
[RISCV] Use empty() instead of size()==0. NFC (#149868)
Move the assert past the code that determines if the pass should run.
Commit: 9052a85da803b246fa6a6f8b3b5bcbfc2e9de7a8
https://github.com/llvm/llvm-project/commit/9052a85da803b246fa6a6f8b3b5bcbfc2e9de7a8
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
Log Message:
-----------
[mlir][AMDGPU] Infer canonical layouts for fat_raw_buffer_cast resetOffset (#149867)
When inferring the return type of amdgpu.fat_raw_buffer_cast with the
offset reset, we would sometimes use a strided layout, like
strided<[1]>, in cases where, after stripping the offset, the memref had
the identity layout. This would cause issues with EmulateNarrowTypes,
which does perform this layout canonicalization.
Now, the return type inference will put in an identity layout after
offset stripping for
1. Statically-shaped memrefs of any rank where the strides match the
suffix product of the shape, and
2. Memrefs of rank <= 1 whose strides are [1] (or []) that just had
their offset removed by resetOffset.
Commit: e47d5eb4541d5f377d9a57ef2157dbb3a41a85e6
https://github.com/llvm/llvm-project/commit/e47d5eb4541d5f377d9a57ef2157dbb3a41a85e6
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
A llvm/test/CodeGen/AMDGPU/wmma-coececution-valu-hazards.mir
A llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx1250-w32.mir
Log Message:
-----------
[AMDGPU] Hazard handling for gfx1250 wmma instructions (#149865)
If both instructions are xdl WMMA, hazard exists when the first WMMA
writes a register (D0) and the second WMMA reads it (A1/B1/Index1).
If the first instruction is a xdl WMMA, and the second one is a VALU,
three kinds of hazards exist:
WMMA writes (D0), VALU reads (Use1);
WMMA writes (D0), VALU writes (D1);
WMMA reads (A0/B0.Index0), VALU writes (D1).
The actual number of hazard slots depends on the categories of the first
xdl WMMA as well as whether the second instruction is a xdl WMMA or
VALU. If there is not enough unrelated VALUs in between the two
instructions, appropriate number (to cover the missing) of V_NOPs will
be inserted to satisfy the hazard handling requirements.
Commit: 2d31fc85a847759a5ea1fb39718a3851d57913c3
https://github.com/llvm/llvm-project/commit/2d31fc85a847759a5ea1fb39718a3851d57913c3
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Lex/DependencyDirectivesScanner.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Lex/DependencyDirectivesScanner.cpp
A clang/test/Driver/modules-driver-cxx20-module-usage-scanner.cpp
Log Message:
-----------
Reland [clang][modules-driver] Add scanner to detect C++20 module presence (#147630)
This patch is part of a series to natively support C++20 module usage
from the Clang driver (without requiring an external build system). This
introduces a new scanner that detects C++20 module usage in source files
without using the preprocessor or lexer.
For now, it is enabled only with the `-fmodules-driver` flag and serves
solely diagnostic purposes. In the future, the scanner will be enabled
for any (modules-driver compatible) compilation with two or more inputs,
and will help the driver determine whether to implicitly enable the
modules driver.
Since the scanner adds very little overhead, we are also exploring
enabling it for compilations with only a single input. This approach
could allow us to detect `import std` usage in a single-file
compilation, which would then activate the modules driver. For
performance measurements on this, see
https://github.com/naveen-seth/llvm-dev-cxx-modules-check-benchmark.
RFC:
https://discourse.llvm.org/t/rfc-modules-support-simple-c-20-modules-use-from-the-clang-driver-without-a-build-system
This patch relands commit ded1426. The CI failure is resolved by
removing the compatibility warning for using the `-fmodules-driver` flag
with pre-C++20 standards, which also better aligns its behavior with
other features/flags supported only in newer standards.
Commit: 2a78c6d45d4965df35e8cb766f557e7ae52477a8
https://github.com/llvm/llvm-project/commit/2a78c6d45d4965df35e8cb766f557e7ae52477a8
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M lldb/unittests/DAP/TestBase.cpp
Log Message:
-----------
[lldb] Fix warning: suggest explicit braces to avoid ambiguous ‘else’
According to the LLVM Style Guide we don't need braces because it's a
single-line, but it looks like the macro expands to code that includes a
potentially ambiguous "else". Use braces to silence the warning.
Commit: 45a6c02c2123f1d4764a8ad981193b15851df744
https://github.com/llvm/llvm-project/commit/45a6c02c2123f1d4764a8ad981193b15851df744
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/real.h
Log Message:
-----------
[flang] Control alignment of constant folded reals (#149381)
When REAL types are constant folded, the underneath implementation uses
arrays of integers. Ensure that these arrays are properly aligned.
This matters when building flang with clang. In some cases, the
resulting code for flang compiler ended up using SSE2 aligned load
instructions for REAL(16) constant folding on x86_64, and these
instructions require that the values are loaded from the aligned
addresses.
Commit: bf86abee3e86e7226887ab1a5541296beed46d82
https://github.com/llvm/llvm-project/commit/bf86abee3e86e7226887ab1a5541296beed46d82
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
Log Message:
-----------
[RISCV][IA] Support masked.store of deinterleaveN intrinsic (#149893)
This is the masked.store side to the masked.load support added in
881b3fd.
With this change, we support masked.load and masked.store via the
intrinsic lowering path used primarily with scalable vectors. An
upcoming change will extend the fixed vector (i.a. shuffle vector) paths
in the same manner.
Commit: cb6f132b1c433c7f6b7727793a1588ae6401f284
https://github.com/llvm/llvm-project/commit/cb6f132b1c433c7f6b7727793a1588ae6401f284
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Lex/DependencyDirectivesScanner.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Lex/DependencyDirectivesScanner.cpp
R clang/test/Driver/modules-driver-cxx20-module-usage-scanner.cpp
Log Message:
-----------
Revert "Reland [clang][modules-driver] Add scanner to detect C++20 module presence" (#149900)
Reverts llvm/llvm-project#147630.
This causes a linker error caused by linking the driver against the
lexer.
Commit: 54ae81f6ffb4f7685e5dcb56d21eeabda24d21b7
https://github.com/llvm/llvm-project/commit/54ae81f6ffb4f7685e5dcb56d21eeabda24d21b7
Author: lntue <lntue at google.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
Log Message:
-----------
[libc][bazel] Remove -fext-numeric-literals as it is only needed for gcc and not available in clang. (#149902)
Commit: dcffa3d05ca1873c098712d6ad9cb5d095ac7c85
https://github.com/llvm/llvm-project/commit/dcffa3d05ca1873c098712d6ad9cb5d095ac7c85
Author: Devon Loehr <DKLoehr at users.noreply.github.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
Fix indendation in StandardCPlusPlusModules.rst (#149901)
The CI is complaining about unexpected indentation. It seems multiple-line list entries must start at the beginning of each line.
Commit: 520398e752b1f69f9c2575b23db34ab65de2cd02
https://github.com/llvm/llvm-project/commit/520398e752b1f69f9c2575b23db34ab65de2cd02
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/acoshf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/acoshf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/acoshf16.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor acoshf16 implementation to header-only in src/__support/math folder. (#148568)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: b66084acd9f6052ed9061ef4ec39e7c8a176f01d
https://github.com/llvm/llvm-project/commit/b66084acd9f6052ed9061ef4ec39e7c8a176f01d
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
A llvm/test/MC/AMDGPU/gfx1250_asm_vflat_err.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop2_err.s
Log Message:
-----------
[AMDGPU] Verify asm VGPR alignment on gfx1250 (#149880)
Co-authored-by: Shilei Tian <Shilei.Tian at amd.com>
Commit: 5062fe5692a503b600bccb753323ba961811ade6
https://github.com/llvm/llvm-project/commit/5062fe5692a503b600bccb753323ba961811ade6
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep after 9052a85da803b246fa6a6f8b3b5bcbfc2e9de7a8
Commit: de011e372dff540056b4abdf02de94061f5ddb86
https://github.com/llvm/llvm-project/commit/de011e372dff540056b4abdf02de94061f5ddb86
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_config.h.cmake
M openmp/runtime/src/kmp_global.cpp
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_settings.cpp
Log Message:
-----------
[OpenMP] [NFC] Remove KMP_NESTED_HOT_TEAMS macro (#143584)
The feature was introduced back in 2014 and has been on ever since.
Leave the feature in place. Removing only the macro.
Commit: 4981bc24cff3344d477af04591b699da466e10b8
https://github.com/llvm/llvm-project/commit/4981bc24cff3344d477af04591b699da466e10b8
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M openmp/runtime/src/include/omp_lib.F90.var
M openmp/runtime/src/include/omp_lib.h.var
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_barrier.cpp
M openmp/runtime/src/kmp_barrier.h
M openmp/runtime/src/kmp_ftn_entry.h
M openmp/runtime/src/kmp_i18n.cpp
M openmp/runtime/src/kmp_lock.cpp
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_settings.cpp
M openmp/runtime/src/kmp_str.cpp
A openmp/runtime/test/env/check_certain_values.c
A openmp/runtime/test/tasking/no_task_barrier.c
Log Message:
-----------
[OpenMP] Fixup bugs found during fuzz testing (#143455)
A lot of these only trip when using sanitizers with the library.
* Insert forgotten free()s
* Change (-1) << amount to 0xffffffffu as left shifting a negative is UB
* Fixup integer parser to return INT_MAX when parsing huge string of
digits. e.g., 452523423423423423 returns INT_MAX
* Fixup range parsing for affinity mask so integer overflow does not
occur
* Don't assert when branch bits are 0, instead warn user that is invalid
and use the default value.
* Fixup kmp_set_defaults() so the C version only uses null terminated
strings and the Fortran version uses the string + size version.
* Make sure the KMP_ALIGN_ALLOC is power of two, otherwise use
CACHE_LINE.
* Disallow ability to set KMP_TASKING=1 (task barrier) this doesn't work
and hasn't worked for a long time.
* Limit KMP_HOT_TEAMS_MAX_LEVEL to 1024, an array is allocated based on
this value.
* Remove integer values for OMP_PROC_BIND. The specification only allows
strings and CSV of strings.
* Fix setting KMP_AFFINITY=disabled + OMP_DISPLAY_AFFINITY=TRUE
Commit: f0bbe73cf101b82a9b02b8466f562e3173d25523
https://github.com/llvm/llvm-project/commit/f0bbe73cf101b82a9b02b8466f562e3173d25523
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/Contributing.rst
Log Message:
-----------
[clang-tidy] Proofread Contributing.rst (#149831)
Commit: 2860431e1f1bb4ecc4ebaf1006f766b37d975580
https://github.com/llvm/llvm-project/commit/2860431e1f1bb4ecc4ebaf1006f766b37d975580
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M clang/lib/Analysis/LifetimeSafety.cpp
Log Message:
-----------
[LifetimeSafety] Add per-program-point lattice tracking (#149199)
Add per-program-point state tracking to the dataflow analysis framework.
- Added a `ProgramPoint` type representing a pair of a CFGBlock and a Fact within that block
- Added a `PerPointStates` map to store lattice states at each program point
- Modified the `transferBlock` method to store intermediate states after each fact is processed
- Added a `getLoans` method to the `LoanPropagationAnalysis` class that uses program points
This change enables more precise analysis by tracking program state at each individual program point rather than just at block boundaries. This is necessary for answering queries about the state of loans, origins, and other properties at specific points in the program, which is required for error reporting in the lifetime safety analysis.
Commit: a0b854d576c8d302394bcf12c76b22c9300e5411
https://github.com/llvm/llvm-project/commit/a0b854d576c8d302394bcf12c76b22c9300e5411
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIInstrFormats.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/MC/AMDGPU/gfx1250_asm_smem.s
A llvm/test/MC/AMDGPU/gfx1250_asm_smem_err.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vbuffer_mubuf_err.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_smem.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vflat.txt
Log Message:
-----------
[AMDGPU] MC support for gfx1250 scale_offset modifier (#149881)
Commit: 006858cd4d944ff44b3ef4619194a72ff8823edc
https://github.com/llvm/llvm-project/commit/006858cd4d944ff44b3ef4619194a72ff8823edc
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
A llvm/test/CodeGen/AMDGPU/flat-scratch-fold-fi-gfx1250.mir
Log Message:
-----------
[AMDGPU] Prevent folding of FI with scale_offset on gfx1250 (#149894)
SS forms of SCRATCH_LOAD_DWORD do not support SCALE_OFFSET,
so if this bit is used SCRATCH_LOAD_DWORD_SADDR cannot be formed.
This generally shall not happen because FI is not supposed to
be scaled, but add this as a precaution.
Commit: c59e4b58058f1861146f736ec2a3991283b05377
https://github.com/llvm/llvm-project/commit/c59e4b58058f1861146f736ec2a3991283b05377
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-22 (Tue, 22 Jul 2025)
Changed paths:
M libc/include/math.yaml
Log Message:
-----------
[libc][math] fix header generation (#149918)
Commit: 5e8e03d859f4367b68ad08311ae0b3f8bf8eea4f
https://github.com/llvm/llvm-project/commit/5e8e03d859f4367b68ad08311ae0b3f8bf8eea4f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV] Simplify RVPUnary tablegen class. NFC
imm field was unused. rs1 is already handled in RVInstIBase.
Commit: 8f26a301bc7caf3d11d1f03818dae77a24e266e9
https://github.com/llvm/llvm-project/commit/8f26a301bc7caf3d11d1f03818dae77a24e266e9
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenCXXExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/test/CIR/CodeGen/destructors.cpp
Log Message:
-----------
[CIR] Add complete destructor handling (#149552)
The initial implementation for emitting destructors emitted the complete
destructor body for both D1 and D2 destructors. This change updates the
code to have the D1 destructor call the D2 destructor.
Commit: 97a66a897caeb1445160d1862fd5b35bb5416ffb
https://github.com/llvm/llvm-project/commit/97a66a897caeb1445160d1862fd5b35bb5416ffb
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
A llvm/test/CodeGen/AMDGPU/load-store-opt-scale-offset.mir
Log Message:
-----------
[AMDGPU] Prohibit load/store merge if scale_offset is set on gfx1250 (#149895)
Scaling is done on the operation size, by merging instructions we
would need to generate code to scale the offset and reset the
auto-scale bit. This is unclear if that would be beneficial, just
disable such merge for now.
Commit: 354944d675c04c87bc0e9ebcca900148f5a344b8
https://github.com/llvm/llvm-project/commit/354944d675c04c87bc0e9ebcca900148f5a344b8
Author: Scott Linder <scott.linder at amd.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/MC/MCDwarf.cpp
A llvm/test/Assembler/difile-empty-source.ll
M llvm/test/DebugInfo/Generic/mixed-source.ll
Log Message:
-----------
[DebugInfo] Fully implement DWARF issue 180201.1 (#149226)
Finish making LLVM's implementation of `DW_LNCT_LLVM_source` conform to
the final accepted version of `DW_LNCT_source` from
https://dwarfstd.org/issues/180201.1.html
This is effectively a continuation of a few commits which have moved in
this direction already, including:
* c9cb4fc761cd7 [DebugInfo] Store optional DIFile::Source as pointer
* 87e22bdd2bd6d Allow for mixing source/no-source DIFiles in one CU
This patch:
* Teaches LLParser that there is a distinction between an empty and an
absent "source:" field on DIFile.
* Makes printing the "source:" field in AsmWriter conditional on it
being present, instead of being conditional on it being non-empty.
* Teaches MC to map an empty-but-present source field to "\n" (which is
ambiguous, making the source strings "" and "\n" indistinguishable, but
that's what the DWARF issue specifies).
Add a test for round-tripping an empty source field through
assembler/bitcode.
Extend the test for the actual DWARF generation so it covers all of the
cases (absent, present-but-empty,
present-and-ambiguously-single-newline, present).
Commit: a7d93653a6712d8a374a2776853057b03181c12a
https://github.com/llvm/llvm-project/commit/a7d93653a6712d8a374a2776853057b03181c12a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Driver/amdgpu-hip-system-arch.c
M clang/test/Driver/cuda-phases.cu
M clang/test/Driver/hip-inputs.hip
M clang/test/Driver/hip-invalid-target-id.hip
M clang/test/Driver/hip-options.hip
M clang/test/Driver/invalid-offload-options.cpp
M clang/test/Driver/nvptx-cuda-system-arch.c
A clang/test/Driver/offload-target.c
M clang/test/Driver/openmp-offload.c
M clang/test/Driver/openmp-system-arch.c
Log Message:
-----------
[Clang] Rework creating offloading toolchains (#125556)
Summary:
This patch reworks how we create offloading toolchains. Previously we
would handle this separately for all the different kinds. This patch
instead changes this to use the target triple and the offloading kind to
determine the proper toolchain. In the old case where the user only
passes `--offload-arch` we instead infer the triple from the passed
arguments. This is a pretty major overhaul but currently passes all the
clang tests with only minor changes to error messages.
Commit: 46f6df0848ea04449c6179ecdedc404ee5b5cf11
https://github.com/llvm/llvm-project/commit/46f6df0848ea04449c6179ecdedc404ee5b5cf11
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M flang/lib/Optimizer/Transforms/AffineDemotion.cpp
M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
M flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUFComputeSharedMemoryOffsetsAndSize.cpp
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/CharacterConversion.cpp
M flang/lib/Optimizer/Transforms/ConstantArgumentGlobalisation.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
M flang/lib/Optimizer/Transforms/GenRuntimeCallsForTest.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/lib/Optimizer/Transforms/MemoryAllocation.cpp
M flang/lib/Optimizer/Transforms/MemoryUtils.cpp
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
Log Message:
-----------
[mlir][NFC] update `flang/Optimizer/Transforms` create APIs (11/n) (#149915)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: 6fa759b465a681c9c2bea046a65e2f8c5a9f4104
https://github.com/llvm/llvm-project/commit/6fa759b465a681c9c2bea046a65e2f8c5a9f4104
Author: Stanley Winata <68087699+raikonenfnu at users.noreply.github.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/test/python/dialects/amdgpu.py
Log Message:
-----------
[MLIR][AMDGPU] Use Attr for resetOffset + boundsCheck in RawBufferCastOp (#149939)
In order to access and modify resetOffset and boundsCheck of
RawBufferCastOp in pythonic binding, we will have to use Attrs instead
of Property. This is because we do not have python binding support for
property yet. We should move back to property once we add pythonic
binding support for it.
---------
Signed-off-by: Stanley Winata <stanley.winata at amd.com>
Commit: a3a007ad5fa20abc90ead4e1030b481bf109b4cf
https://github.com/llvm/llvm-project/commit/a3a007ad5fa20abc90ead4e1030b481bf109b4cf
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertArrayConstructor.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertConstant.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertProcedureDesignator.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/CustomIntrinsicCall.cpp
M flang/lib/Lower/HlfirIntrinsics.cpp
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/Runtime.cpp
M flang/lib/Lower/Support/PrivateReductionUtils.cpp
M flang/lib/Lower/Support/ReductionProcessor.cpp
M flang/lib/Lower/Support/Utils.cpp
M flang/lib/Lower/VectorSubscripts.cpp
Log Message:
-----------
[mlir][NFC] update `flang/Lower` create APIs (8/n) (#149912)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: 5547c6cd03ddddd405a09e51624e1f19955a85b1
https://github.com/llvm/llvm-project/commit/5547c6cd03ddddd405a09e51624e1f19955a85b1
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/ArrayConstructor.cpp
M flang/lib/Optimizer/Builder/Runtime/Assign.cpp
M flang/lib/Optimizer/Builder/Runtime/CUDA/Descriptor.cpp
M flang/lib/Optimizer/Builder/Runtime/Character.cpp
M flang/lib/Optimizer/Builder/Runtime/Command.cpp
M flang/lib/Optimizer/Builder/Runtime/Derived.cpp
M flang/lib/Optimizer/Builder/Runtime/EnvironmentDefaults.cpp
M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
M flang/lib/Optimizer/Builder/Runtime/Execute.cpp
M flang/lib/Optimizer/Builder/Runtime/Inquiry.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/Builder/Runtime/Main.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/lib/Optimizer/Builder/Runtime/Pointer.cpp
M flang/lib/Optimizer/Builder/Runtime/Ragged.cpp
M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
M flang/lib/Optimizer/Builder/Runtime/Stop.cpp
M flang/lib/Optimizer/Builder/Runtime/Support.cpp
M flang/lib/Optimizer/Builder/Runtime/TemporaryStack.cpp
M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
Log Message:
-----------
[mlir][NFC] update `flang/Optimizer/Builder/Runtime` create APIs (10/n) (#149916)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: 9844ba6d9740206129b52633c555f767eaa45581
https://github.com/llvm/llvm-project/commit/9844ba6d9740206129b52633c555f767eaa45581
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M flang/lib/Optimizer/Builder/CUFCommon.cpp
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/Builder/Complex.cpp
M flang/lib/Optimizer/Builder/DoLoopHelper.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/TemporaryStorage.cpp
Log Message:
-----------
[mlir][NFC] update `flang/Optimizer/Builder` create APIs (9/n) (#149917)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: dce6679cf5cbbdaffb9c2b51dc762c5c6689ea78
https://github.com/llvm/llvm-project/commit/dce6679cf5cbbdaffb9c2b51dc762c5c6689ea78
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Complex/IR/ComplexDialect.cpp
M mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/ControlFlow/Transforms/BufferDeallocationOpInterfaceImpl.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp
M mlir/lib/Dialect/EmitC/Transforms/TypeConversions.cpp
M mlir/lib/Dialect/EmitC/Transforms/WrapFuncInClass.cpp
M mlir/lib/Dialect/Func/Extensions/InlinerExtension.cpp
M mlir/lib/Dialect/Func/IR/FuncOps.cpp
M mlir/lib/Dialect/Func/TransformOps/FuncTransformOps.cpp
M mlir/lib/Dialect/Func/Transforms/FuncConversions.cpp
M mlir/lib/Dialect/Func/Utils/Utils.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
M mlir/lib/Dialect/GPU/TransformOps/Utils.cpp
M mlir/lib/Dialect/GPU/Transforms/AllReduceLowering.cpp
M mlir/lib/Dialect/GPU/Transforms/AsyncRegionRewriter.cpp
M mlir/lib/Dialect/GPU/Transforms/DecomposeMemRefs.cpp
M mlir/lib/Dialect/GPU/Transforms/GlobalIdRewriter.cpp
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
M mlir/lib/Dialect/GPU/Transforms/MemoryPromotion.cpp
M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
M mlir/lib/Dialect/GPU/Transforms/PromoteShuffleToAMDGPU.cpp
M mlir/lib/Dialect/GPU/Transforms/ShuffleRewriter.cpp
M mlir/lib/Dialect/GPU/Transforms/SubgroupIdRewriter.cpp
M mlir/lib/Dialect/GPU/Transforms/SubgroupReduceLowering.cpp
M mlir/lib/Dialect/GPU/Utils/DistributionUtils.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/Dialect` create APIs (16/n) (#149922)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: c3823af156b517d926a56e3d0d585e2a15720e96
https://github.com/llvm/llvm-project/commit/c3823af156b517d926a56e3d0d585e2a15720e96
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/SPIRV/Linking/ModuleCombiner/ModuleCombiner.cpp
M mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
M mlir/lib/Dialect/SPIRV/Transforms/RewriteInsertsPass.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVWebGPUTransforms.cpp
M mlir/lib/Dialect/SPIRV/Transforms/UnifyAliasedResourcePass.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/Dialect` create APIs (22/n) (#149929)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: 08ac7815960bb9fc56701f307729144a3d0c94f2
https://github.com/llvm/llvm-project/commit/08ac7815960bb9fc56701f307729144a3d0c94f2
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
Log Message:
-----------
[Clang][NFC] Fix linting warnings after #125556
Commit: 7b787965431e666858fdf66db25ee5a129833927
https://github.com/llvm/llvm-project/commit/7b787965431e666858fdf66db25ee5a129833927
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeDepthwise.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeTransposeConv.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaReduceTransposes.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaTypeConverters.cpp
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
M mlir/lib/Dialect/UB/IR/UBOps.cpp
M mlir/lib/Dialect/X86Vector/IR/X86VectorDialect.cpp
M mlir/lib/Dialect/X86Vector/Transforms/AVXTranspose.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/Dialect` create APIs (25/n) (#149932)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: 0c14f0e891ad88b9bb4666ef337466961b27314f
https://github.com/llvm/llvm-project/commit/0c14f0e891ad88b9bb4666ef337466961b27314f
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/Scalarizer.cpp
M llvm/test/CodeGen/DirectX/UAddc.ll
A llvm/test/Transforms/Scalarizer/extractvalue-struct-of-vectors.ll
Log Message:
-----------
[Scalarizer] Use correct key for ExtractValueInst gather (#149855)
Fixes #149345
Effectively no-op pairs of insertelement-extractelement instructions
were being created due to the ExtractValueInst visitor in the Scalarizer
storing its scalarized result into the Scattered map using an incorrect
key (specifically the type used in the key).
This PR fixes this issue.
Commit: 7f076e013936e67349ae614286d953b9762a693a
https://github.com/llvm/llvm-project/commit/7f076e013936e67349ae614286d953b9762a693a
Author: Michael Berg <93234525+mcberg2021 at users.noreply.github.com>
Date: 2025-07-21 (Mon, 21 Jul 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
R .ci/generate-buildkite-pipeline-premerge
R .ci/generate_test_report_buildkite.py
M .ci/generate_test_report_github.py
M .ci/generate_test_report_lib.py
M .ci/generate_test_report_lib_test.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M .clang-tidy
M .github/CODEOWNERS
A .github/copilot-instructions.md
M .github/new-prs-labeler.yml
M .github/workflows/build-ci-container-windows.yml
M .github/workflows/build-ci-container.yml
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/hlsl-test-all.yaml
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
R .github/workflows/libcxx-restart-preempted-jobs.yaml
M .github/workflows/pr-code-format.yml
M .github/workflows/premerge.yaml
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/BinarySection.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinaryFunctionCallGraph.cpp
M bolt/lib/Core/CMakeLists.txt
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugNames.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/CMakeLists.txt
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/runtime/CMakeLists.txt
M bolt/runtime/instr.cpp
A bolt/test/AArch64/cfi-state-list.test
M bolt/test/AArch64/r_aarch64_prelxx.s
M bolt/test/X86/callcont-fallthru.s
M bolt/test/X86/linux-version.S
M bolt/test/X86/register-fragments-bolt-symbols.s
A bolt/test/X86/zero-density.s
M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
A bolt/test/binary-analysis/AArch64/gs-pauth-authentication-oracles.s
M bolt/test/binary-analysis/AArch64/gs-pauth-calls.s
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
M bolt/test/binary-analysis/AArch64/gs-pauth-signing-oracles.s
A bolt/test/binary-analysis/AArch64/gs-pauth-tail-calls.s
A bolt/test/code-at-high-address.c
M bolt/test/link_fdata.py
A bolt/test/perf2bolt/AArch64/perf2bolt-spe.test
A bolt/test/perf2bolt/X86/perf2bolt-spe.test
A bolt/test/program-header.test
M bolt/tools/driver/llvm-bolt.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/MemoryMaps.cpp
M bolt/unittests/Profile/CMakeLists.txt
A bolt/unittests/Profile/PerfSpeEvents.cpp
M bolt/utils/llvm-bolt-wrapper.py
M bolt/utils/nfc-check-setup.py
M clang-tools-extra/README.txt
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/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Mapper.h
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-reorder-fields/ReorderFieldsAction.cpp
A clang-tools-extra/clang-tidy/.clang-tidy
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidy.h
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/abseil/AbseilMatcher.h
M clang-tools-extra/clang-tidy/boost/UseRangesCheck.h
M clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CrtpConstructorAccessibilityCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MisleadingSetterOfReferenceCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.h
M clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnsafeFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidGotoCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidGotoCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/InterfacesGlobalInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsPointerArithmeticCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsPointerArithmeticCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/RvalueReferenceParamNotMovedCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
M clang-tools-extra/clang-tidy/llvm/CMakeLists.txt
M clang-tools-extra/clang-tidy/llvm/LLVMTidyModule.cpp
A clang-tools-extra/clang-tidy/llvm/PreferStaticOverAnonymousNamespaceCheck.cpp
A clang-tools-extra/clang-tidy/llvm/PreferStaticOverAnonymousNamespaceCheck.h
M clang-tools-extra/clang-tidy/misc/ConfusableIdentifierCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConfusableIdentifierCheck.h
M clang-tools-extra/clang-tidy/misc/ConfusableTable/confusables.txt
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnconventionalAssignOperatorCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedAliasDeclsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
M clang-tools-extra/clang-tidy/modernize/TypeTraitsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseRangesCheck.h
A clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseScopedLockCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
M clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.cpp
M clang-tools-extra/clang-tidy/readability/FunctionSizeCheck.h
M clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
M clang-tools-extra/clang-tidy/readability/NamedParameterCheck.cpp
M clang-tools-extra/clang-tidy/readability/NamedParameterCheck.h
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
A clang-tools-extra/clang-tidy/readability/UseConcisePreprocessorDirectivesCheck.cpp
A clang-tools-extra/clang-tidy/readability/UseConcisePreprocessorDirectivesCheck.h
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/utils/DesignatedInitializers.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.h
M clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.h
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/clangd/IncludeFixer.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/Quality.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp
M clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
M clang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
A clang-tools-extra/clangd/refactor/tweaks/OverridePureVirtuals.cpp
M clang-tools-extra/clangd/test/lit.cfg.py
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/CMakeLists.txt
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
A clang-tools-extra/clangd/unittests/tweaks/OverridePureVirtualsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/Contributing.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-goto.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/missing-std-forward.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/rvalue-reference-param-not-moved.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/special-member-functions.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/llvm/prefer-static-over-anonymous-namespace.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/type-traits.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-scoped-lock.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/function-size.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/named-parameter.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/use-concise-preprocessor-directives.rst
M clang-tools-extra/docs/clangd/DeveloperDocumentation.rst
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/modularize/Modularize.cpp
A clang-tools-extra/test/clang-doc/json/class-requires.cpp
A 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
A clang-tools-extra/test/clang-doc/json/compound-constraints.cpp
A clang-tools-extra/test/clang-doc/json/concept.cpp
A 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/method-template.cpp
M clang-tools-extra/test/clang-doc/json/namespace.cpp
A clang-tools-extra/test/clang-doc/json/nested-namespace.cpp
A clang-tools-extra/test/clang-query/trailing-comma.c
A clang-tools-extra/test/clang-reorder-fields/MacroExpandsToMultipleFields.cpp
A clang-tools-extra/test/clang-reorder-fields/MultipleFieldDeclsInStatement.cpp
A clang-tools-extra/test/clang-reorder-fields/PreprocessorDirectiveAroundDefinition.cpp
A clang-tools-extra/test/clang-reorder-fields/PreprocessorDirectiveAroundFields.cpp
A clang-tools-extra/test/clang-reorder-fields/PreprocessorDirectiveInDefinition.cpp
A clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/mutex
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-coro.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-rethrow.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-throw.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-goto.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/interfaces-global-init.cpp
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward-custom-function.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-pointer-arithmetic-pr36489.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-pointer-arithmetic.cpp
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/rvalue-reference-param-not-moved-custom-function.cpp
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions.cpp
A clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-static-over-anonymous-namespace.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/confusable-identifiers.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unconventional-assign-operator.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/type-traits.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-scope-lock-warn-on-using-and-typedef-false.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-scoped-lock-warn-on-single-locks-false.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-scoped-lock.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/function-size-no-member-init-as-stmts.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/function-size.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/named-parameter.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-inline-specifier.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/use-concise-preprocessor-directives.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/dump-config-filtering.cpp
M clang-tools-extra/test/lit.cfg.py
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
M clang/CMakeLists.txt
M clang/Maintainers.rst
M clang/bindings/python/tests/cindex/test_file.py
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/docs/APINotes.rst
A clang/docs/CXXTypeAwareAllocators.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ClangTools.rst
M clang/docs/CommandGuide/clang.rst
M clang/docs/DebuggingCoroutines.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LibClang.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SanitizerSpecialCaseList.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/ThinLTO.rst
M clang/docs/Toolchain.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/developer-docs/DebugChecks.rst
M clang/docs/analyzer/developer-docs/PerformanceInvestigation.rst
A clang/docs/coro-async-task-continuations.png
A clang/docs/coro-generator-suspended.png
A clang/docs/coro-generator-variables.png
M clang/docs/index.rst
M clang/include/clang-c/FatalErrorHandler.h
M clang/include/clang-c/Index.h
M clang/include/clang-c/Platform.h
M clang/include/clang/APINotes/APINotesManager.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/AbstractBasicReader.h
M clang/include/clang/AST/AbstractBasicWriter.h
M clang/include/clang/AST/ComputeDependence.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclObjC.h
M clang/include/clang/AST/DeclOpenMP.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/DeclarationName.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprConcepts.h
M clang/include/clang/AST/ExprObjC.h
M clang/include/clang/AST/ExternalASTMerger.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/FormatString.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/ODRHash.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/ASTMatchers/ASTMatchersMacros.h
A clang/include/clang/Analysis/Analyses/LifetimeSafety.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h
M clang/include/clang/Analysis/Analyses/UninitializedValues.h
M clang/include/clang/Analysis/CFG.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/AttributeCommonInfo.h
M clang/include/clang/Basic/BuiltinHeaders.def
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/include/clang/Basic/BuiltinsRISCV.td
A clang/include/clang/Basic/BuiltinsRISCVXAndes.td
M clang/include/clang/Basic/BuiltinsSPIRVCL.td
M clang/include/clang/Basic/BuiltinsSPIRVCommon.td
M clang/include/clang/Basic/BuiltinsSPIRVVK.td
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DebugOptions.def
M clang/include/clang/Basic/DeclNodes.td
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticCommentKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/Module.h
M clang/include/clang/Basic/OffloadArch.h
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/Basic/PPCTypes.def
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Basic/Sanitizers.h
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Basic/SourceManager.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TypeNodes.td
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/riscv_andes_vector.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
A clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
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
R clang/include/clang/CIR/Interfaces/CIRFPTypeInterface.h
R clang/include/clang/CIR/Interfaces/CIRFPTypeInterface.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
A clang/include/clang/CIR/Interfaces/CIRTypeInterfaces.h
A clang/include/clang/CIR/Interfaces/CIRTypeInterfaces.td
M clang/include/clang/CIR/Interfaces/CMakeLists.txt
M clang/include/clang/CIR/LoweringHelpers.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/CodeGen/CGFunctionInfo.h
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Interpreter/Interpreter.h
A clang/include/clang/Interpreter/RemoteJITUtils.h
M clang/include/clang/Interpreter/Value.h
M clang/include/clang/Lex/LexHLSLRootSignature.h
M clang/include/clang/Lex/Lexer.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/Token.h
M clang/include/clang/Lex/TokenLexer.h
M clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/HeuristicResolver.h
M clang/include/clang/Sema/Initialization.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/Scope.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaARM.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/SourceLocationEncoding.h
M clang/include/clang/Serialization/TypeBitCodes.def
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/include/clang/Tooling/Refactoring/RecursiveSymbolVisitor.h
M clang/include/clang/Tooling/Transformer/Transformer.h
M clang/lib/APINotes/APINotesManager.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTConcept.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/EvaluationResult.cpp
M clang/lib/AST/ByteCode/Floating.h
M clang/lib/AST/ByteCode/FunctionPointer.cpp
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/IntegralAP.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBlock.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpShared.cpp
M clang/lib/AST/ByteCode/InterpShared.h
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Program.h
M clang/lib/AST/ByteCode/State.h
M clang/lib/AST/Comment.cpp
M clang/lib/AST/CommentLexer.cpp
M clang/lib/AST/CommentParser.cpp
M clang/lib/AST/CommentSema.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclObjC.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConcepts.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ExprObjC.cpp
M clang/lib/AST/ExternalASTMerger.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/ParentMapContext.cpp
M clang/lib/AST/PrintfFormatString.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/RawCommentList.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/ScanfFormatString.cpp
M clang/lib/AST/Stmt.cpp
M clang/lib/AST/StmtCXX.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/Dynamic/Marshallers.h
M clang/lib/ASTMatchers/Dynamic/Parser.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/CFGStmtMap.cpp
M clang/lib/Analysis/CMakeLists.txt
M clang/lib/Analysis/CallGraph.cpp
M clang/lib/Analysis/FlowSensitive/CNFFormula.cpp
A clang/lib/Analysis/LifetimeSafety.cpp
M clang/lib/Analysis/LiveVariables.cpp
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/Analysis/ReachableCode.cpp
M clang/lib/Analysis/RetainSummaryManager.cpp
M clang/lib/Analysis/UninitializedValues.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Attributes.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/CodeGenOptions.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/OffloadArch.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/Sanitizers.cpp
M clang/lib/Basic/Sarif.cpp
M clang/lib/Basic/SourceLocation.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/M68k.cpp
M clang/lib/Basic/Targets/Mips.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/OSTargets.h
R clang/lib/Basic/Targets/PNaCl.cpp
R clang/lib/Basic/Targets/PNaCl.h
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/Basic/Targets/Xtensa.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenCXXExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/lib/CIR/CodeGen/CIRGenOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/lib/CIR/CodeGen/CIRGenRecordLayout.h
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACCLoop.cpp
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/CodeGen/TargetInfo.cpp
M clang/lib/CIR/CodeGen/TargetInfo.h
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Dialect/Transforms/CIRSimplify.cpp
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
A clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
R clang/lib/CIR/Interfaces/CIRFPTypeInterface.cpp
A clang/lib/CIR/Interfaces/CIRTypeInterfaces.cpp
M clang/lib/CIR/Interfaces/CMakeLists.txt
M clang/lib/CIR/Lowering/CIRPasses.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CIR/Lowering/LoweringHelpers.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/ConstantInitBuilder.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/ModuleBuilder.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/PPC.cpp
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/CodeGen/TargetInfo.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
R clang/lib/CodeGen/Targets/PNaCl.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/lib/Driver/ToolChains/Arch/Sparc.cpp
M clang/lib/Driver/ToolChains/Arch/Sparc.h
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/Cuda.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPAMD.h
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
A clang/lib/Driver/ToolChains/Managarm.cpp
A clang/lib/Driver/ToolChains/Managarm.h
M clang/lib/Driver/ToolChains/MinGW.cpp
R clang/lib/Driver/ToolChains/NaCl.cpp
R clang/lib/Driver/ToolChains/NaCl.h
M clang/lib/Driver/ToolChains/PS4CPU.cpp
R clang/lib/Driver/ToolChains/RISCVToolchain.cpp
R clang/lib/Driver/ToolChains/RISCVToolchain.h
M clang/lib/Edit/Commit.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Format/BreakableToken.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/ContinuationIndenter.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
M clang/lib/Format/MacroExpander.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Format/WhitespaceManager.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Frontend/SARIFDiagnostic.cpp
M clang/lib/Frontend/TextDiagnostic.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/__clang_cuda_intrinsics.h
M clang/lib/Headers/__clang_spirv_builtins.h
A clang/lib/Headers/cuda_wrappers/__utility/declval.h
M clang/lib/Headers/cuda_wrappers/bits/c++config.h
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/intrin.h
M clang/lib/Headers/opencl-c.h
M clang/lib/Headers/prfchwintrin.h
M clang/lib/Headers/ptrauth.h
A clang/lib/Headers/riscv_nds.h
M clang/lib/Headers/xmmintrin.h
M clang/lib/Index/CommentToXML.cpp
M clang/lib/Index/IndexBody.cpp
M clang/lib/Index/IndexTypeSourceInfo.cpp
M clang/lib/Index/USRGeneration.cpp
M clang/lib/Interpreter/CMakeLists.txt
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/InterpreterUtils.cpp
M clang/lib/Interpreter/InterpreterUtils.h
M clang/lib/Interpreter/InterpreterValuePrinter.cpp
A clang/lib/Interpreter/RemoteJITUtils.cpp
M clang/lib/Interpreter/Value.cpp
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/lib/Lex/InitHeaderSearch.cpp
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/MacroInfo.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Lex/TokenLexer.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseStmtAsm.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Rewrite/Rewriter.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/CodeCompleteConsumer.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/OpenCLBuiltins.td
M clang/lib/Sema/Scope.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaM68k.cpp
M clang/lib/Sema/SemaMSP430.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPPC.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaSPIRV.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaSwift.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/lib/Serialization/TemplateArgumentHasher.cpp
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NoOwnershipChangeVisitor.h
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/Tooling/Core/Replacement.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/Refactoring/AtomicChange.cpp
M clang/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/lib/Tooling/Transformer/RewriteRule.cpp
M clang/lib/Tooling/Transformer/SourceCode.cpp
A clang/test/APINotes/versioned-version-independent.m
M clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
M clang/test/AST/ByteCode/builtin-constant-p.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/complex.cpp
M clang/test/AST/ByteCode/const-eval.c
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/functions.cpp
M clang/test/AST/ByteCode/intap.cpp
A clang/test/AST/ByteCode/libcxx/rvalue-reference-param.cpp
A clang/test/AST/ByteCode/libcxx/tuple-decompose-for-range.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/AST/ByteCode/mutable.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/placement-new.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/AST/HLSL/RootSignatures-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
M clang/test/AST/HLSL/vk.spec-constant.usage.hlsl
A clang/test/AST/absurdly_big_struct.cpp
M clang/test/AST/ast-dump-array.cpp
M clang/test/AST/ast-dump-expr-json.c
M clang/test/AST/ast-dump-expr-json.cpp
M clang/test/AST/ast-dump-expr.c
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-openmp-distribute-parallel-for-simd.c
M clang/test/AST/ast-dump-openmp-distribute-parallel-for.c
M clang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for-simd.c
M clang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for.c
M clang/test/AST/ast-dump-openmp-teams-distribute-parallel-for-simd.c
M clang/test/AST/ast-dump-openmp-teams-distribute-parallel-for.c
M clang/test/AST/ast-dump-ppc-types.c
M clang/test/AST/ast-dump-stmt-json.cpp
M clang/test/AST/ast-dump-stmt.cpp
M clang/test/AST/ast-dump-traits.cpp
M clang/test/AST/ast-dump-types-errors-json.cpp
A clang/test/AST/ast-print-cconv-preserve.cpp
M clang/test/AST/ast-print-openacc-cache-construct.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
A clang/test/AST/static-compound-literals-crash.cpp
A clang/test/AST/static-compound-literals-reeval.cpp
A clang/test/AST/static-compound-literals.cpp
M clang/test/Analysis/ArrayDelete.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-safe-functions.mm
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
M clang/test/Analysis/DeleteWithNonVirtualDtor.cpp
A clang/test/Analysis/LifetimeSafety/CMakeLists.txt
A clang/test/Analysis/LifetimeSafety/benchmark.py
A clang/test/Analysis/LifetimeSafety/requirements.txt
M clang/test/Analysis/NewDelete-checker-test.cpp
M clang/test/Analysis/PR37855.c
M clang/test/Analysis/PR38208.c
M clang/test/Analysis/aggrinit-cfg-output.cpp
R clang/test/Analysis/analyzer_test.py
M clang/test/Analysis/bool-assignment.c
M clang/test/Analysis/call-and-message.c
M clang/test/Analysis/call-and-message.cpp
M clang/test/Analysis/cfg.cpp
M clang/test/Analysis/compound-literals.c
A clang/test/Analysis/consteval-if.cpp
M clang/test/Analysis/cstring-addrspace.c
A clang/test/Analysis/cstring-should-not-invalidate.cpp
M clang/test/Analysis/ctu-cxxdefaultinitexpr.cpp
M clang/test/Analysis/ctu-implicit.c
M clang/test/Analysis/ctu-import-threshold.c
M clang/test/Analysis/ctu-lookup-name-with-space.cpp
M clang/test/Analysis/ctu-main.c
M clang/test/Analysis/ctu-on-demand-parsing.c
M clang/test/Analysis/ctu-test-import-failure.cpp
A clang/test/Analysis/div-zero-cxx20.cpp
M clang/test/Analysis/div-zero.cpp
M clang/test/Analysis/explain-svals.cpp
M clang/test/Analysis/exploded-graph-rewriter/dynamic_types.cpp
M clang/test/Analysis/exploded-graph-rewriter/escapes.c
M clang/test/Analysis/exploded-graph-rewriter/initializers_under_construction.cpp
M clang/test/Analysis/exploded-graph-rewriter/l_name_starts_with_l.cpp
M clang/test/Analysis/exploded-graph-rewriter/macros.c
M clang/test/Analysis/exploded-graph-rewriter/objects_under_construction.cpp
M clang/test/Analysis/exploded-graph-rewriter/win_path_forbidden_chars.cpp
A clang/test/Analysis/getline-unixapi-invalid-signatures.c
M clang/test/Analysis/gmalloc.c
M clang/test/Analysis/handle_constructors_for_default_arguments.cpp
M clang/test/Analysis/handle_constructors_with_new_array.cpp
M clang/test/Analysis/initialization.c
M clang/test/Analysis/initialization.cpp
A clang/test/Analysis/lambda-convert-to-func-ptr.cpp
M clang/test/Analysis/lifetime-cfg-output.cpp
M clang/test/Analysis/lit.local.cfg
M clang/test/Analysis/loopexit-cfg-output.cpp
M clang/test/Analysis/method-arg-decay.m
M clang/test/Analysis/new.cpp
M clang/test/Analysis/null-deref-static.m
M clang/test/Analysis/objc-encode.m
M clang/test/Analysis/openmp-unsupported.c
M clang/test/Analysis/pointer-escape-on-conservative-calls.c
M clang/test/Analysis/print-ranges.cpp
M clang/test/Analysis/ptr-arith.c
M clang/test/Analysis/reference.cpp
M clang/test/Analysis/scopes-cfg-output.cpp
M clang/test/Analysis/std-c-library-functions-arg-weakdeps.c
M clang/test/Analysis/std-c-library-functions-lookup.c
M clang/test/Analysis/std-c-library-functions-vs-stream-checker.c
M clang/test/Analysis/std-c-library-functions.c
M clang/test/Analysis/stream.c
M clang/test/Analysis/taint-diagnostic-visitor.c
M clang/test/Analysis/temporaries-callback-order.cpp
M clang/test/Analysis/unary-sym-expr-z3-refutation.c
M clang/test/Analysis/undef-call.c
M clang/test/Analysis/z3-crosscheck-max-attempts.cpp
M clang/test/Analysis/z3-crosscheck.c
M clang/test/Analysis/z3/D83660.c
M clang/test/Analysis/z3/crosscheck-statistics.c
R clang/test/Analysis/z3/enabled.c
M clang/test/Analysis/z3/pretty-dump.c
M clang/test/C/C23/n2975.c
M clang/test/C/C23/n3030.c
A clang/test/C/C23/n3030_1.c
M clang/test/C/C23/n3037.c
M clang/test/C/C2y/n3353.c
M clang/test/CIR/CodeGen/align-load.c
M clang/test/CIR/CodeGen/align-store.c
M clang/test/CIR/CodeGen/array.cpp
A clang/test/CIR/CodeGen/assign-operator.cpp
M clang/test/CIR/CodeGen/basic.c
M clang/test/CIR/CodeGen/basic.cpp
M clang/test/CIR/CodeGen/binassign.c
M clang/test/CIR/CodeGen/binop.cpp
A clang/test/CIR/CodeGen/bitfield-union.c
A clang/test/CIR/CodeGen/bitfields.c
A clang/test/CIR/CodeGen/bitfields.cpp
A clang/test/CIR/CodeGen/bitfields_be.c
A clang/test/CIR/CodeGen/builtin_bit.cpp
M clang/test/CIR/CodeGen/builtin_call.cpp
M clang/test/CIR/CodeGen/builtin_printf.cpp
M clang/test/CIR/CodeGen/call.c
M clang/test/CIR/CodeGen/call.cpp
M clang/test/CIR/CodeGen/cast.cpp
M clang/test/CIR/CodeGen/class.cpp
M clang/test/CIR/CodeGen/cmp.cpp
M clang/test/CIR/CodeGen/comma.c
A clang/test/CIR/CodeGen/complex-arithmetic.cpp
A clang/test/CIR/CodeGen/complex-builtins.cpp
A clang/test/CIR/CodeGen/complex-unary.cpp
M clang/test/CIR/CodeGen/complex.cpp
M clang/test/CIR/CodeGen/compound_assign.cpp
A clang/test/CIR/CodeGen/compound_literal.cpp
A clang/test/CIR/CodeGen/ctor-alias.cpp
M clang/test/CIR/CodeGen/ctor.cpp
M clang/test/CIR/CodeGen/deferred-defs.cpp
A clang/test/CIR/CodeGen/destructors.cpp
M clang/test/CIR/CodeGen/dso-local.c
A clang/test/CIR/CodeGen/dumb-record.cpp
M clang/test/CIR/CodeGen/enum.cpp
M clang/test/CIR/CodeGen/forrange.cpp
A clang/test/CIR/CodeGen/generic-selection.c
M clang/test/CIR/CodeGen/if.cpp
M clang/test/CIR/CodeGen/inline-cxx-func.cpp
M clang/test/CIR/CodeGen/int-to-bool.cpp
M clang/test/CIR/CodeGen/linkage-spec.cpp
M clang/test/CIR/CodeGen/local-vars.cpp
M clang/test/CIR/CodeGen/loop.cpp
M clang/test/CIR/CodeGen/member-functions.cpp
M clang/test/CIR/CodeGen/namespace.cpp
A clang/test/CIR/CodeGen/new.cpp
A clang/test/CIR/CodeGen/non-type-template-param.cpp
M clang/test/CIR/CodeGen/nullptr-init.cpp
A clang/test/CIR/CodeGen/opt-info-attr.cpp
A clang/test/CIR/CodeGen/pack-indexing.cpp
M clang/test/CIR/CodeGen/static-vars.c
M clang/test/CIR/CodeGen/static-vars.cpp
M clang/test/CIR/CodeGen/string-literals.c
M clang/test/CIR/CodeGen/string-literals.cpp
M clang/test/CIR/CodeGen/struct.c
M clang/test/CIR/CodeGen/struct.cpp
M clang/test/CIR/CodeGen/switch.cpp
M clang/test/CIR/CodeGen/switch_flat_op.cpp
M clang/test/CIR/CodeGen/ternary.cpp
M clang/test/CIR/CodeGen/typedef.c
M clang/test/CIR/CodeGen/unary.cpp
M clang/test/CIR/CodeGen/union.c
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
A clang/test/CIR/CodeGenOpenACC/cache.c
M clang/test/CIR/CodeGenOpenACC/combined-copy.c
A clang/test/CIR/CodeGenOpenACC/combined-copyin-copyout-create.c
M clang/test/CIR/CodeGenOpenACC/combined.cpp
M clang/test/CIR/CodeGenOpenACC/compute-copy.c
A clang/test/CIR/CodeGenOpenACC/compute-copyin-copyout-create.c
A clang/test/CIR/CodeGenOpenACC/data-copy-copyin-copyout-create.c
M clang/test/CIR/CodeGenOpenACC/data.c
A clang/test/CIR/CodeGenOpenACC/enter-data.c
A clang/test/CIR/CodeGenOpenACC/exit-data.c
M clang/test/CIR/CodeGenOpenACC/host_data.c
M clang/test/CIR/CodeGenOpenACC/init.c
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/loop.cpp
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
M clang/test/CIR/CodeGenOpenACC/set.c
M clang/test/CIR/CodeGenOpenACC/shutdown.c
A clang/test/CIR/CodeGenOpenACC/update.c
M clang/test/CIR/CodeGenOpenACC/wait.c
M clang/test/CIR/IR/array.cir
M clang/test/CIR/IR/binassign.cir
A clang/test/CIR/IR/bitfield_info.cir
M clang/test/CIR/IR/call.cir
M clang/test/CIR/IR/cast.cir
M clang/test/CIR/IR/cmp.cir
M clang/test/CIR/IR/func.cir
M clang/test/CIR/IR/invalid-call.cir
M clang/test/CIR/IR/invalid-complex.cir
A clang/test/CIR/IR/invalid-func.cir
A clang/test/CIR/IR/invalid-opt-info.cir
R clang/test/CIR/IR/invalid-vector-create-wrong-size.cir
R clang/test/CIR/IR/invalid-vector-create-wrong-type.cir
R clang/test/CIR/IR/invalid-vector-shift-wrong-result-type.cir
R clang/test/CIR/IR/invalid-vector-shuffle-dyn-wrong-operands.cir
R clang/test/CIR/IR/invalid-vector-shuffle-wrong-index.cir
R clang/test/CIR/IR/invalid-vector-zero-size.cir
M clang/test/CIR/IR/invalid-vector.cir
M clang/test/CIR/IR/struct.cir
M clang/test/CIR/IR/ternary.cir
M clang/test/CIR/IR/unary.cir
M clang/test/CIR/IR/vector.cir
M clang/test/CIR/Lowering/array.cpp
M clang/test/CIR/Lowering/select.cir
M clang/test/CIR/Transforms/canonicalize.cir
M clang/test/CIR/Transforms/complex-create-fold.cir
A clang/test/CIR/Transforms/complex-imag-fold.cir
A clang/test/CIR/Transforms/complex-real-fold.cir
M clang/test/CIR/Transforms/hoist-allocas.cir
M clang/test/CIR/Transforms/if.cir
M clang/test/CIR/Transforms/loop.cir
M clang/test/CIR/Transforms/scope.cir
M clang/test/CIR/Transforms/select.cir
M clang/test/CIR/Transforms/switch.cir
M clang/test/CIR/Transforms/ternary-fold.cir
M clang/test/CIR/Transforms/ternary.cir
M clang/test/CIR/Transforms/vector-cmp-fold.cir
M clang/test/CIR/Transforms/vector-create-fold.cir
M clang/test/CIR/Transforms/vector-shuffle-dynamic-fold.cir
M clang/test/CIR/Transforms/vector-shuffle-fold.cir
A clang/test/CIR/Transforms/vector-splat.cir
M clang/test/CIR/Transforms/vector-ternary-fold.cir
A clang/test/CIR/func-linkage.cpp
M clang/test/CIR/func-simple.cpp
M clang/test/CIR/global-var-linkage.cpp
M clang/test/CIR/mlprint.c
M clang/test/CMakeLists.txt
M clang/test/CXX/basic/basic.link/p1.cpp
M clang/test/CXX/basic/basic.link/p2.cpp
M clang/test/CXX/basic/basic.link/p3.cpp
M clang/test/CXX/basic/basic.scope/basic.scope.namespace/p2.cpp
M clang/test/CXX/basic/basic.start/basic.start.main/p3.cpp
M clang/test/CXX/class.access/class.access.dcl/p1.cpp
M clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p3.cpp
M clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p4.cpp
M clang/test/CXX/dcl.dcl/dcl.enum/p2.cpp
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg8xx.cpp
M clang/test/CXX/expr/expr.const/p2-0x.cpp
M clang/test/CXX/expr/expr.post/expr.static.cast/p3-0x.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p5.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.lambda/templates.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p2.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p5.cpp
M clang/test/CXX/lex/lex.literal/lex.ext/p7.cpp
M clang/test/CXX/module/basic/basic.def.odr/p6.cppm
M clang/test/CXX/module/basic/basic.link/module-declaration.cpp
A clang/test/CXX/module/cpp.pre/module_decl.cpp
M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.import/p1.cppm
M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.interface/p1.cppm
M clang/test/CXX/module/dcl.dcl/dcl.module/p1.cpp
M clang/test/CXX/module/dcl.dcl/dcl.module/p5.cpp
M clang/test/CXX/module/module.interface/p1.cpp
M clang/test/CXX/module/module.interface/p2.cpp
M clang/test/CXX/module/module.unit/p8.cpp
M clang/test/CXX/stmt.stmt/stmt.select/stmt.if/p2.cpp
M clang/test/ClangScanDeps/P1689.cppm
A clang/test/ClangScanDeps/fatal-module-loader-error.m
A clang/test/ClangScanDeps/modules-full-named-modules.cppm
A clang/test/ClangScanDeps/raw-strings.cpp
A clang/test/ClangScanDeps/visible-modules.c
M clang/test/CodeCompletion/overrides.cpp
A clang/test/CodeCompletion/skip-explicit-object-parameter.cpp
M clang/test/CodeGen/64bit-swiftcall.c
A clang/test/CodeGen/AArch64/attr-fp8-function.c
M clang/test/CodeGen/AArch64/byval-temp.c
M clang/test/CodeGen/AArch64/fmv-dependencies.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon-ldst-one.c
M clang/test/CodeGen/AArch64/pure-scalable-args-empty-union.c
M clang/test/CodeGen/AArch64/pure-scalable-args.c
M clang/test/CodeGen/AArch64/sme-intrinsics/aarch64-sme-attrs.cpp
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_add-i64.c
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_mopa-za32.c
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_mopa-za64.c
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_mops-za32.c
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_mops-za64.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/aarch64-sme2-attrs.cpp
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_add.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_add_sub_za16.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_bmop.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_clamp.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_cvt.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_cvtn.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fmlas16.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_fp_dots.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_frint.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_int_dots.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_lane_zt.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_max.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_maxnm.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_min.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_minnm.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mla.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mlal.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mlall.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mls.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mlsl.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x1.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mopa_nonwide.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_read.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_sqdmulh.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_sub.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_unpkx2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_unpkx4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vdot.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_add.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_qrshr.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_rshl.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_selx2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_selx4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_uzpx2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_uzpx4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_zipx2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_vector_zipx4.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_write.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_write_lane_zt.c
M clang/test/CodeGen/AArch64/sme2p1-intrinsics/acle_sme2p1_movaz.c
M clang/test/CodeGen/AArch64/sme2p1-intrinsics/acle_sme2p1_zero.c
M clang/test/CodeGen/AArch64/struct-coerce-using-ptr.cpp
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_clasta-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_clasta.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_clastb-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_clastb.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cnt-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_cnt.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create2-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create2.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create3-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create3.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create4-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_create4.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dup-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dup.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dupq-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dupq.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ext-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ext.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get2-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get2.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get3-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get3.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get4-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_get4.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_insr-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_insr.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_lasta-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_lasta.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_lastb-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_lastb.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1ro-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1ro.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1rq-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld1rq.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld2-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld2.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld3-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld3.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld4-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ld4.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldff1.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnf1.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnt1-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_ldnt1.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_len-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_len.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_reinterpret-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_reinterpret.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rev-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rev.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_sel-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_sel.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set2-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set2.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set3-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set3.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set4-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_set4.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_splice-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_splice.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st1.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st2-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st2.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st3-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st3.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st4-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_st4.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_stnt1-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_stnt1.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_tbl-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_tbl.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn1-bfloat.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn1-fp64-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn1-fp64.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn1.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn2-bfloat.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn2-fp64-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn2-fp64.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_trn2.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef2-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef2.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef3-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef3.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef4-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_undef4.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp1-bfloat.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp1-fp64-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp1-fp64.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp1.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp2-bfloat.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp2-fp64-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp2-fp64.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_uzp2.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip1-bfloat.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip1-fp64-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip1-fp64.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip1.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip2-bfloat.c
R clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip2-fp64-bfloat.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip2-fp64.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_zip2.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_luti.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rax1.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_revd.c
R clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_tbl2-bfloat.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_tbl2.c
R clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_tbx-bfloat.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_tbx.c
R clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_whilerw-bfloat.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_whilerw.c
R clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_whilewr-bfloat.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_whilewr.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfadd.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmax.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmin.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfminnm.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmla.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmls.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmlsl.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfmul.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_bfsub.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_cntp.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_create2_bool.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_create4_bool.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_dot.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_dupq.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_extq.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_fclamp.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_fp_reduce.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_get2_bool.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_get4_bool.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_int_reduce.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ld1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ldnt1.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_load_struct.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_loads.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_pext.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_pfalse.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_pmov_to_pred.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_pmov_to_vector.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_psel.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_psel_svcount.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_ptrue.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_qcvtn.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_qrshr.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_sclamp.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_set2_bool.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_set4_bool.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_st1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_stnt1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_store.c
A clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_store_struct.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_tblq.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_tbxq.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_uclamp.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_undef_bool.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_uzpq1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_uzpq2.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_while_pn.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_while_x2.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_zipq1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_zipq2.c
A clang/test/CodeGen/AMDGPU/full-bf16.c
A clang/test/CodeGen/LoongArch/bitint.c
M clang/test/CodeGen/LoongArch/inline-asm-gcc-regs-error.c
M clang/test/CodeGen/LoongArch/inline-asm-gcc-regs.c
A clang/test/CodeGen/PowerPC/builtins-bcd-transform.c
A clang/test/CodeGen/PowerPC/builtins-ppc-dmf.c
M clang/test/CodeGen/PowerPC/builtins-ppc-fpconstrained.c
A clang/test/CodeGen/PowerPC/check-zero-vector.c
A clang/test/CodeGen/PowerPC/ppc-dmf-mma-builtin-err.c
A clang/test/CodeGen/PowerPC/ppc-dmf-paired-vec-memops-builtin-err.c
A clang/test/CodeGen/PowerPC/ppc-dmf-types.c
M clang/test/CodeGen/PowerPC/ppc64-vector.c
A clang/test/CodeGen/RISCV/andes-intrinsics/non-policy/non-overloaded/nds_vd4dots.c
A clang/test/CodeGen/RISCV/andes-intrinsics/non-policy/non-overloaded/nds_vd4dotsu.c
A clang/test/CodeGen/RISCV/andes-intrinsics/non-policy/non-overloaded/nds_vd4dotu.c
A clang/test/CodeGen/RISCV/andes-intrinsics/non-policy/non-overloaded/nds_vfncvtbf16s.c
A clang/test/CodeGen/RISCV/andes-intrinsics/non-policy/non-overloaded/nds_vfpmadb.c
A clang/test/CodeGen/RISCV/andes-intrinsics/non-policy/non-overloaded/nds_vfpmadt.c
A clang/test/CodeGen/RISCV/andes-intrinsics/non-policy/non-overloaded/nds_vfwcvtsbf16.c
A clang/test/CodeGen/RISCV/andes-intrinsics/non-policy/non-overloaded/nds_vln8.c
A clang/test/CodeGen/RISCV/andes-intrinsics/non-policy/non-overloaded/nds_vlnu8.c
A clang/test/CodeGen/RISCV/andes-intrinsics/non-policy/overloaded/nds_vd4dots.c
A clang/test/CodeGen/RISCV/andes-intrinsics/non-policy/overloaded/nds_vd4dotsu.c
A clang/test/CodeGen/RISCV/andes-intrinsics/non-policy/overloaded/nds_vd4dotu.c
A clang/test/CodeGen/RISCV/andes-intrinsics/non-policy/overloaded/nds_vfncvtbf16s.c
A clang/test/CodeGen/RISCV/andes-intrinsics/non-policy/overloaded/nds_vfpmadb.c
A clang/test/CodeGen/RISCV/andes-intrinsics/non-policy/overloaded/nds_vfpmadt.c
A clang/test/CodeGen/RISCV/andes-intrinsics/non-policy/overloaded/nds_vfwcvtsbf16.c
A clang/test/CodeGen/RISCV/andes-intrinsics/non-policy/overloaded/nds_vln8.c
A clang/test/CodeGen/RISCV/andes-intrinsics/non-policy/overloaded/nds_vlnu8.c
A clang/test/CodeGen/RISCV/andes-intrinsics/policy/non-overloaded/nds_vd4dots.c
A clang/test/CodeGen/RISCV/andes-intrinsics/policy/non-overloaded/nds_vd4dotsu.c
A clang/test/CodeGen/RISCV/andes-intrinsics/policy/non-overloaded/nds_vd4dotu.c
A clang/test/CodeGen/RISCV/andes-intrinsics/policy/non-overloaded/nds_vfncvtbf16s.c
A clang/test/CodeGen/RISCV/andes-intrinsics/policy/non-overloaded/nds_vfpmadb.c
A clang/test/CodeGen/RISCV/andes-intrinsics/policy/non-overloaded/nds_vfpmadt.c
A clang/test/CodeGen/RISCV/andes-intrinsics/policy/non-overloaded/nds_vfwcvtsbf16.c
A clang/test/CodeGen/RISCV/andes-intrinsics/policy/non-overloaded/nds_vln8.c
A clang/test/CodeGen/RISCV/andes-intrinsics/policy/non-overloaded/nds_vlnu8.c
A clang/test/CodeGen/RISCV/andes-intrinsics/policy/overloaded/nds_vd4dots.c
A clang/test/CodeGen/RISCV/andes-intrinsics/policy/overloaded/nds_vd4dotsu.c
A clang/test/CodeGen/RISCV/andes-intrinsics/policy/overloaded/nds_vd4dotu.c
A clang/test/CodeGen/RISCV/andes-intrinsics/policy/overloaded/nds_vfncvtbf16s.c
A clang/test/CodeGen/RISCV/andes-intrinsics/policy/overloaded/nds_vfpmadb.c
A clang/test/CodeGen/RISCV/andes-intrinsics/policy/overloaded/nds_vfpmadt.c
A clang/test/CodeGen/RISCV/andes-intrinsics/policy/overloaded/nds_vfwcvtsbf16.c
A clang/test/CodeGen/RISCV/andes-intrinsics/policy/overloaded/nds_vln8.c
A clang/test/CodeGen/RISCV/andes-intrinsics/policy/overloaded/nds_vlnu8.c
M clang/test/CodeGen/RISCV/riscv-abi.cpp
M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.c
M clang/test/CodeGen/RISCV/riscv-vector-callingconv-llvm-ir.cpp
M clang/test/CodeGen/RISCV/riscv-vector-callingconv.c
M clang/test/CodeGen/RISCV/riscv-vector-callingconv.cpp
A clang/test/CodeGen/RISCV/riscv-xandesbfhcvt-c-api.c
A clang/test/CodeGen/RISCV/riscv-xandesbfhcvt.c
M clang/test/CodeGen/RISCV/riscv-xcvalu-c-api.c
M clang/test/CodeGen/RISCV/riscv-xcvalu.c
M clang/test/CodeGen/RISCV/riscv32-abi.c
M clang/test/CodeGen/RISCV/riscv32-vararg.c
M clang/test/CodeGen/RISCV/riscv64-abi.c
M clang/test/CodeGen/RISCV/riscv64-vararg.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vcreate.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vget.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vle16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vle16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlmul_ext_v.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlmul_trunc_v.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg2ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg3ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg4ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg5ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg6ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg7ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg8ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlse16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg2e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg2e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg3e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg3e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg4e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg4e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg5e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg5e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg6e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg6e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg7e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg7e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg8e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg8e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg2e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg3e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg4e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg5e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg6e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg7e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg8e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg2ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg3ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg4ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg5ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg6ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg7ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg8ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vreinterpret.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vse16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vset.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg2ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg3ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg4ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg5ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg6ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg7ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg8ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsse16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg2e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg3e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg4e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg5e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg6e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg7e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg8e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg2e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg3e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg4e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg5e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg6e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg7e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg8e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg2ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg3ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg4ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg5ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg6ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg7ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg8ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vundefined.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/nds_vd4dots.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/nds_vd4dotsu.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/nds_vd4dotu.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/nds_vfpmadb.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/nds_vfpmadt.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/sf_vfnrclip_x_f_qf.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/sf_vfnrclip_x_f_qf_rm.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/sf_vfnrclip_xu_f_qf.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/sf_vfnrclip_xu_f_qf_rm.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/sf_vfwmacc_4x4x4.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/sf_vqmacc_2x8x2.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/sf_vqmacc_4x8x4.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/sf_vqmaccsu_2x8x2.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/sf_vqmaccsu_4x8x4.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/sf_vqmaccu_2x8x2.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/sf_vqmaccu_4x8x4.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/sf_vqmaccus_2x8x2.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/sf_vqmaccus_4x8x4.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesdf.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesdm.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesef.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesem.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaeskf1.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaeskf2.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesz.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vandn.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vbrev.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vbrev8.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vclmul.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vclmulh.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vclz.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vcpopv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vctz.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfncvtbf16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwcvtbf16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwmaccbf16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vghsh.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vgmul.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vrev8.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vrol.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vror.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsha2ch.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsha2cl.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsha2ms.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsm3c.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsm3me.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsm4k.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsm4r.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vwcvt.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vwcvtu.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vwsll.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-x-rv64.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-x.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xv-rv64.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xvv-rv64.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xvv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-xvw.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vget.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vle16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vle16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlmul_ext_v.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlmul_trunc_v.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg2ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg3ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg4ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg5ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg6ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg7ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg8ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlse16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg2e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg2e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg3e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg3e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg4e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg4e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg5e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg5e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg6e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg6e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg7e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg7e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg8e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg8e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg2e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg3e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg4e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg5e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg6e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg7e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg8e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg2ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg3ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg4ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg5ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg6ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg7ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg8ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vreinterpret.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vse16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vset.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg2ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg3ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg4ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg5ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg6ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg7ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg8ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsse16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg2e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg3e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg4e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg5e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg6e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg7e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg8e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg2e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg3e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg4e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg5e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg6e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg7e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg8e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg2ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg3ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg4ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg5ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg6ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg7ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg8ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/nds_vd4dots.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/nds_vd4dotsu.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/nds_vd4dotu.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/nds_vfpmadb.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/nds_vfpmadt.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/sf_vfnrclip_x_f_qf.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/sf_vfnrclip_x_f_qf_rm.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/sf_vfnrclip_xu_f_qf.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/sf_vfnrclip_xu_f_qf_rm.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/sf_vfwmacc_4x4x4.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/sf_vqmacc_2x8x2.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/sf_vqmacc_4x8x4.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/sf_vqmaccsu_2x8x2.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/sf_vqmaccsu_4x8x4.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/sf_vqmaccu_2x8x2.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/sf_vqmaccu_4x8x4.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/sf_vqmaccus_2x8x2.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/sf_vqmaccus_4x8x4.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesdf.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesdm.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesef.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesem.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaeskf1.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaeskf2.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesz.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vandn.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vbrev.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vbrev8.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vclmul.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vclmulh.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vclz.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vcpopv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vctz.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfncvtbf16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwcvtbf16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwmaccbf16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vghsh.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vgmul.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vrev8.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vrol.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vror.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsha2ch.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsha2cl.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsha2ms.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsm3c.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsm3me.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsm4k.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsm4r.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vwcvt.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vwcvtu.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vwsll.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vle16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vle16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg2ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg3ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg4ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg5ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg6ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg7ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg8ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlse16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg2e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg2e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg3e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg3e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg4e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg4e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg5e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg5e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg6e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg6e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg7e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg7e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg8e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg8e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg2e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg3e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg4e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg5e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg6e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg7e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg8e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg2ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg3ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg4ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg5ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg6ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg7ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg8ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/nds_vd4dots.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/nds_vd4dotsu.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/nds_vd4dotu.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/nds_vfpmadb.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/nds_vfpmadt.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/sf_vfnrclip_x_f_qf.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/sf_vfnrclip_x_f_qf_rm.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/sf_vfnrclip_xu_f_qf.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/sf_vfnrclip_xu_f_qf_rm.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/sf_vfwmacc_4x4x4.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/sf_vqmacc_2x8x2.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/sf_vqmacc_4x8x4.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/sf_vqmaccsu_2x8x2.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/sf_vqmaccsu_4x8x4.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/sf_vqmaccu_2x8x2.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/sf_vqmaccu_4x8x4.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/sf_vqmaccus_2x8x2.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/sf_vqmaccus_4x8x4.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesdf.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesdm.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesef.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesem.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaeskf1.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaeskf2.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesz.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vandn.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vbrev.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vbrev8.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vclmul.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vclmulh.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vclz.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vcpopv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vctz.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfncvtbf16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwcvtbf16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwmaccbf16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vghsh.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vgmul.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vrev8.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vrol.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vror.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vsha2ch.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vsha2cl.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vsha2ms.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vsm3c.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vsm3me.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vsm4k.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vsm4r.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vwcvt.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vwcvtu.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vwsll.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vle16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vle16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg2ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg3ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg4ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg5ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg6ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg7ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg8ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlse16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg2e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg2e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg3e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg3e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg4e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg4e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg5e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg5e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg6e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg6e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg7e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg7e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg8e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg8e16ff.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg2e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg3e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg4e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg5e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg6e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg7e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg8e16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg2ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg3ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg4ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg5ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg6ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg7ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg8ei16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/nds_vd4dots.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/nds_vd4dotsu.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/nds_vd4dotu.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/nds_vfpmadb.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/nds_vfpmadt.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/sf_vfnrclip_x_f_qf.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/sf_vfnrclip_x_f_qf_rm.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/sf_vfnrclip_xu_f_qf.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/sf_vfnrclip_xu_f_qf_rm.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/sf_vfwmacc_4x4x4.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/sf_vqmacc_2x8x2.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/sf_vqmacc_4x8x4.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/sf_vqmaccsu_2x8x2.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/sf_vqmaccsu_4x8x4.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/sf_vqmaccu_2x8x2.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/sf_vqmaccu_4x8x4.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/sf_vqmaccus_2x8x2.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/sf_vqmaccus_4x8x4.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesdf.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesdm.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesef.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesem.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaeskf1.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaeskf2.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesz.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vandn.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vbrev.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vbrev8.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vclmul.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vclmulh.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vclz.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vcpopv.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vctz.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfncvtbf16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfwcvtbf16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vfwmaccbf16.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vghsh.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vgmul.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vrev8.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vrol.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vror.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vsha2ch.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vsha2cl.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vsha2ms.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vsm3c.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vsm3me.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vsm4k.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vsm4r.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vwcvt.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vwcvtu.c
R clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vwsll.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vaesdf.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vaesdm.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vaesef.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vaesem.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vaeskf1.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vaeskf2.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vaesz.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vandn.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vbrev.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vbrev8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vclmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vclmulh.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vclz.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vcpop.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vctz.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vghsh.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vgmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vrev8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vrol.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vror.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vsha2ch.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vsha2cl.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vsha2ms.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vsm3c.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vsm3me.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vsm4k.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vsm4r.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/non-overloaded/vwsll.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vaesdf.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vaesdm.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vaesef.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vaesem.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vaeskf1.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vaeskf2.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vaesz.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vandn.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vbrev.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vbrev8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vclmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vclmulh.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vclz.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vcpop.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vctz.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vghsh.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vgmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vrev8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vrol.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vror.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vsha2ch.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vsha2cl.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vsha2ms.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vsm3c.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vsm3me.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vsm4k.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vsm4r.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/non-policy/overloaded/vwsll.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vaesdf.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vaesdm.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vaesef.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vaesem.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vaeskf1.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vaeskf2.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vaesz.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vandn.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vbrev.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vbrev8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vclmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vclmulh.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vclz.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vcpop.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vctz.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vghsh.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vgmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vrev8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vrol.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vror.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vsha2ch.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vsha2cl.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vsha2ms.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vsm3c.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vsm3me.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vsm4k.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vsm4r.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/non-overloaded/vwsll.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vaesdf.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vaesdm.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vaesef.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vaesem.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vaeskf1.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vaeskf2.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vaesz.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vandn.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vbrev.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vbrev8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vclmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vclmulh.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vclz.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vcpop.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vctz.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vghsh.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vgmul.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vrev8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vrol.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vror.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vsha2ch.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vsha2cl.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vsha2ms.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vsm3c.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vsm3me.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vsm4k.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vsm4r.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/vector-crypto/policy/overloaded/vwsll.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vcompress.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vcreate.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vfncvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vfwcvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vget.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vle16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vle16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlmul_ext_v.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlmul_trunc_v.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg2ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg2ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg2ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg3ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg3ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg3ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg4ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg4ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg4ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg5ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg5ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg5ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg6ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg6ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg6ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg7ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg7ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg7ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg8ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg8ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vloxseg8ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlseg2e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlseg3e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlseg4e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlseg5e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlseg6e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlseg7e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlseg8e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vlsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg2ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg2ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg2ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg3ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg3ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg3ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg4ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg4ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg4ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg5ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg5ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg5ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg6ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg6ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg6ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg7ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg7ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg7ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg8ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg8ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vluxseg8ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vreinterpret.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vrgather.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vrgatherei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vset.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vslidedown.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vslideup.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg2ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg2ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg2ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg3ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg3ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg3ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg4ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg4ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg4ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg5ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg5ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg5ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg6ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg6ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg6ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg7ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg7ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg7ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg8ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg8ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsoxseg8ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vssseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vssseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vssseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vssseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vssseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vssseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vssseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg2ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg2ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg2ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg3ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg3ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg3ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg4ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg4ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg4ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg5ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg5ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg5ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg6ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg6ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg6ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg7ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg7ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg7ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg8ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg8ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vsuxseg8ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/non-overloaded/vundefined.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vcompress.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vfncvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vfwcvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vget.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vle16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vle16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlmul_ext_v.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlmul_trunc_v.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg2ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg2ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg2ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg3ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg3ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg3ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg4ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg4ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg4ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg5ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg5ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg5ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg6ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg6ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg6ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg7ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg7ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg7ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg8ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg8ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vloxseg8ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlseg2e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlseg3e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlseg4e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlseg5e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlseg6e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlseg7e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlseg8e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vlsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg2ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg2ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg2ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg3ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg3ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg3ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg4ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg4ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg4ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg5ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg5ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg5ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg6ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg6ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg6ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg7ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg7ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg7ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg8ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg8ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vluxseg8ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vreinterpret.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vrgather.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vrgatherei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vset.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vslidedown.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vslideup.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg2ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg2ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg2ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg3ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg3ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg3ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg4ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg4ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg4ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg5ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg5ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg5ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg6ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg6ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg6ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg7ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg7ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg7ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg8ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg8ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsoxseg8ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vssseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vssseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vssseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vssseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vssseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vssseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vssseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg2ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg2ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg2ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg3ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg3ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg3ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg4ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg4ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg4ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg5ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg5ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg5ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg6ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg6ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg6ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg7ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg7ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg7ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg8ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg8ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/non-policy/overloaded/vsuxseg8ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vcompress.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vfncvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vfwcvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vle16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vle16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg2ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg2ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg2ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg3ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg3ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg3ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg4ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg4ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg4ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg5ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg5ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg5ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg6ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg6ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg6ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg7ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg7ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg7ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg8ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg8ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vloxseg8ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlseg2e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlseg3e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlseg4e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlseg5e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlseg6e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlseg7e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlseg8e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vlsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg2ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg2ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg2ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg3ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg3ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg3ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg4ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg4ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg4ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg5ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg5ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg5ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg6ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg6ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg6ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg7ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg7ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg7ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg8ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg8ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vluxseg8ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vrgather.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vrgatherei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vslidedown.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/non-overloaded/vslideup.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vcompress.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vfncvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vfwcvtbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vle16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vle16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg2ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg2ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg2ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg3ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg3ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg3ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg4ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg4ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg4ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg5ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg5ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg5ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg6ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg6ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg6ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg7ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg7ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg7ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg8ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg8ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vloxseg8ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlseg2e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlseg3e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlseg4e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlseg5e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlseg6e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlseg7e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlseg8e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vlsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg2ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg2ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg2ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg3ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg3ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg3ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg4ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg4ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg4ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg5ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg5ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg5ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg6ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg6ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg6ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg7ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg7ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg7ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg8ei32.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg8ei64.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vluxseg8ei8.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vrgather.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vrgatherei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vslidedown.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfmin/policy/overloaded/vslideup.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfwma/non-policy/non-overloaded/vfwmaccbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfwma/non-policy/overloaded/vfwmaccbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfwma/policy/non-overloaded/vfwmaccbf16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvfbfwma/policy/overloaded/vfwmaccbf16.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/non-overloaded/sf_vfnrclip_x_f_qf.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/non-overloaded/sf_vfnrclip_x_f_qf_rm.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/non-overloaded/sf_vfnrclip_xu_f_qf.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/non-overloaded/sf_vfnrclip_xu_f_qf_rm.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/non-overloaded/sf_vfwmacc_4x4x4.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/non-overloaded/sf_vqmacc_2x8x2.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/non-overloaded/sf_vqmacc_4x8x4.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/non-overloaded/sf_vqmaccsu_2x8x2.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/non-overloaded/sf_vqmaccsu_4x8x4.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/non-overloaded/sf_vqmaccu_2x8x2.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/non-overloaded/sf_vqmaccu_4x8x4.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/non-overloaded/sf_vqmaccus_2x8x2.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/non-overloaded/sf_vqmaccus_4x8x4.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/non-overloaded/xsfvcp-x-rv64.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/non-overloaded/xsfvcp-x.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/non-overloaded/xsfvcp-xv-rv64.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/non-overloaded/xsfvcp-xv.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/non-overloaded/xsfvcp-xvv-rv64.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/non-overloaded/xsfvcp-xvv.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/non-overloaded/xsfvcp-xvw.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/overloaded/sf_vfnrclip_x_f_qf.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/overloaded/sf_vfnrclip_x_f_qf_rm.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/overloaded/sf_vfnrclip_xu_f_qf.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/overloaded/sf_vfnrclip_xu_f_qf_rm.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/overloaded/sf_vfwmacc_4x4x4.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/overloaded/sf_vqmacc_2x8x2.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/overloaded/sf_vqmacc_4x8x4.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/overloaded/sf_vqmaccsu_2x8x2.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/overloaded/sf_vqmaccsu_4x8x4.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/overloaded/sf_vqmaccu_2x8x2.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/overloaded/sf_vqmaccu_4x8x4.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/overloaded/sf_vqmaccus_2x8x2.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/non-policy/overloaded/sf_vqmaccus_4x8x4.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/non-overloaded/sf_vfnrclip_x_f_qf.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/non-overloaded/sf_vfnrclip_x_f_qf_rm.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/non-overloaded/sf_vfnrclip_xu_f_qf.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/non-overloaded/sf_vfnrclip_xu_f_qf_rm.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/non-overloaded/sf_vfwmacc_4x4x4.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/non-overloaded/sf_vqmacc_2x8x2.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/non-overloaded/sf_vqmacc_4x8x4.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/non-overloaded/sf_vqmaccsu_2x8x2.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/non-overloaded/sf_vqmaccsu_4x8x4.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/non-overloaded/sf_vqmaccu_2x8x2.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/non-overloaded/sf_vqmaccu_4x8x4.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/non-overloaded/sf_vqmaccus_2x8x2.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/non-overloaded/sf_vqmaccus_4x8x4.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/overloaded/sf_vfnrclip_x_f_qf.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/overloaded/sf_vfnrclip_x_f_qf_rm.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/overloaded/sf_vfnrclip_xu_f_qf.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/overloaded/sf_vfnrclip_xu_f_qf_rm.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/overloaded/sf_vfwmacc_4x4x4.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/overloaded/sf_vqmacc_2x8x2.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/overloaded/sf_vqmacc_4x8x4.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/overloaded/sf_vqmaccsu_2x8x2.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/overloaded/sf_vqmaccsu_4x8x4.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/overloaded/sf_vqmaccu_2x8x2.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/overloaded/sf_vqmaccu_4x8x4.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/overloaded/sf_vqmaccus_2x8x2.c
A clang/test/CodeGen/RISCV/sifive-intrinsics/policy/overloaded/sf_vqmaccus_4x8x4.c
M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
M clang/test/CodeGen/SystemZ/systemz-abi.c
M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
A clang/test/CodeGen/WebAssembly/wasm-exception-model-flag-parse-ir-input.ll
A clang/test/CodeGen/WebAssembly/wasm-invalid-exception-kinds.ll
M clang/test/CodeGen/X86/cx-complex-range.c
A clang/test/CodeGen/X86/i128-debuginfo.c
A clang/test/CodeGen/X86/ms-secure-hotpatch-bad-file.c
A clang/test/CodeGen/X86/ms-secure-hotpatch-cpp.cpp
A clang/test/CodeGen/X86/ms-secure-hotpatch-eh.cpp
A clang/test/CodeGen/X86/ms-secure-hotpatch-globals.c
A clang/test/CodeGen/X86/ms-secure-hotpatch-lto.c
A clang/test/CodeGen/X86/ms-secure-hotpatch.c
M clang/test/CodeGen/X86/x86_32-arguments-win32.c
R clang/test/CodeGen/X86/x86_64-arguments-nacl.c
M clang/test/CodeGen/X86/x86_64-arguments-win32.c
M clang/test/CodeGen/X86/x86_64-arguments.c
M clang/test/CodeGen/X86/x86_64-longdouble.c
M clang/test/CodeGen/aapcs64-align.cpp
M clang/test/CodeGen/alloc-align-attr.c
M clang/test/CodeGen/arm-aapcs-vfp.c
M clang/test/CodeGen/arm-abi-vector.c
M clang/test/CodeGen/arm-neon-directed-rounding.c
M clang/test/CodeGen/arm-sve-vector-bits-vscale-range.c
M clang/test/CodeGen/arm-swiftcall.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/arm64-abi-vector.c
M clang/test/CodeGen/arm64-arguments.c
M clang/test/CodeGen/arm64-microsoft-arguments.cpp
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
A clang/test/CodeGen/arm64-microsoft-sys.c
M clang/test/CodeGen/armv7k-abi.c
M clang/test/CodeGen/atomic-arm64.c
R clang/test/CodeGen/attr-cpuspecific-cpus.c
M clang/test/CodeGen/attr-noundef.cpp
M clang/test/CodeGen/attr-target-mv.c
M clang/test/CodeGen/bitfield-access-pad.c
M clang/test/CodeGen/bittest-intrin.c
M clang/test/CodeGen/builtin_vectorelements.c
M clang/test/CodeGen/builtins-overflow.c
M clang/test/CodeGen/builtins.c
M clang/test/CodeGen/cx-complex-range.c
M clang/test/CodeGen/debug-info-file-checksum.c
M clang/test/CodeGen/debug-label-inline.c
M clang/test/CodeGen/debug-label.c
A clang/test/CodeGen/enum3.c
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGen/extend-arg-64.c
A clang/test/CodeGen/fallow-runtime-check-skip-hot-cutoff.c
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/logb_scalbn.c
M clang/test/CodeGen/long_double_fp128.cpp
R clang/test/CodeGen/malign-double-x86-nacl.c
M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
M clang/test/CodeGen/mingw-long-double.c
M clang/test/CodeGen/ms_abi.c
M clang/test/CodeGen/new-pass-manager-opt-bisect.c
A clang/test/CodeGen/null-sanitizer-debug-info-regression.cpp
M clang/test/CodeGen/pass-by-value-noalias.c
M clang/test/CodeGen/pragma-comment.c
M clang/test/CodeGen/ptrauth-in-c-struct.c
M clang/test/CodeGen/regcall.c
M clang/test/CodeGen/regcall2.c
M clang/test/CodeGen/regcall4.c
M clang/test/CodeGen/sparcv9-abi.c
M clang/test/CodeGen/target-data.c
M clang/test/CodeGen/vectorcall.c
M clang/test/CodeGen/visibility.c
M clang/test/CodeGen/win-fp128.c
M clang/test/CodeGen/win64-i128.c
M clang/test/CodeGen/windows-swiftcall.c
M clang/test/CodeGenCUDA/bf16.cu
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
M clang/test/CodeGenCXX/arm-cc.cpp
M clang/test/CodeGenCXX/attr-target-mv-inalloca.cpp
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/CodeGenCXX/bitfield-access-empty.cpp
A clang/test/CodeGenCXX/builtin-invoke.cpp
M clang/test/CodeGenCXX/builtins-eh-wasm.cpp
M clang/test/CodeGenCXX/const-init-cxx11.cpp
M clang/test/CodeGenCXX/copy-initialization.cpp
M clang/test/CodeGenCXX/cxx0x-initializer-scalars.cpp
M clang/test/CodeGenCXX/cxx11-thread-local-reference.cpp
A clang/test/CodeGenCXX/debug-info-dtor-implicit-args.cpp
M clang/test/CodeGenCXX/debug-info.cpp
M clang/test/CodeGenCXX/empty-nontrivially-copyable.cpp
M clang/test/CodeGenCXX/fastcall.cpp
M clang/test/CodeGenCXX/homogeneous-aggregates.cpp
M clang/test/CodeGenCXX/inalloca-lambda.cpp
M clang/test/CodeGenCXX/inalloca-overaligned.cpp
M clang/test/CodeGenCXX/inalloca-vector.cpp
M clang/test/CodeGenCXX/inheriting-constructor.cpp
M clang/test/CodeGenCXX/mangle-requires.cpp
M clang/test/CodeGenCXX/member-function-pointer-calls.cpp
M clang/test/CodeGenCXX/microsoft-abi-arg-order.cpp
M clang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
M clang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
M clang/test/CodeGenCXX/microsoft-abi-unknown-arch.cpp
M clang/test/CodeGenCXX/ms-mangle-requires.cpp
M clang/test/CodeGenCXX/ms-property.cpp
M clang/test/CodeGenCXX/nrvo.cpp
M clang/test/CodeGenCXX/pass-by-value-noalias.cpp
M clang/test/CodeGenCXX/ppc-mangle-mma-types.cpp
M clang/test/CodeGenCXX/pragma-loop.cpp
M clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
M clang/test/CodeGenCXX/regparm.cpp
M clang/test/CodeGenCXX/trivial_abi.cpp
M clang/test/CodeGenCXX/uncopyable-args.cpp
M clang/test/CodeGenCXX/visibility.cpp
M clang/test/CodeGenCXX/wasm-args-returns.cpp
M clang/test/CodeGenCXX/wasm-eh.cpp
M clang/test/CodeGenCXX/windows-x86-swiftcall.cpp
R clang/test/CodeGenCXX/x86_64-arguments-nacl-x32.cpp
M clang/test/CodeGenCoroutines/coro-gro.cpp
M clang/test/CodeGenHLSL/RootSignature.hlsl
M clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
M clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/WaveActiveMax.hlsl
M clang/test/CodeGenHLSL/builtins/WaveActiveSum.hlsl
M clang/test/CodeGenHLSL/builtins/WaveReadLaneAt.hlsl
A clang/test/CodeGenHLSL/builtins/refract.hlsl
M clang/test/CodeGenHLSL/semantics/DispatchThreadID.hlsl
M clang/test/CodeGenHLSL/semantics/SV_GroupID.hlsl
M clang/test/CodeGenHLSL/semantics/SV_GroupThreadID.hlsl
M clang/test/CodeGenHLSL/vk-features/vk.spec-constant.hlsl
M clang/test/CodeGenObjC/arc.m
A clang/test/CodeGenObjC/gnustep2-class-exts.m
M clang/test/CodeGenObjC/matrix-type-operators.m
M clang/test/CodeGenObjC/nontrivial-c-struct-exception.m
M clang/test/CodeGenObjC/pass-by-value-noalias.m
A clang/test/CodeGenObjC/ptrauth-attr-exception.m
A clang/test/CodeGenObjC/ptrauth-block-isa.m
A clang/test/CodeGenObjC/ptrauth-class-ro.m
A clang/test/CodeGenObjC/ptrauth-class.m
A clang/test/CodeGenObjC/ptrauth-objc-interface-selector.m
A clang/test/CodeGenObjC/ptrauth-objc-isa-super.m
A clang/test/CodeGenObjC/ptrauth-objc-method-list-pointer.m
A clang/test/CodeGenObjC/ptrauth-property-backing.m
M clang/test/CodeGenObjC/weak-in-c-struct.m
M clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
M clang/test/CodeGenObjCXX/property-objects.mm
A clang/test/CodeGenObjCXX/ptrauth-objc-interface-selector.mm
M clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/as_type.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-async-load-store-lds.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-tr.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-tensor-load-store.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load-lds.cl
A clang/test/CodeGenOpenCL/scoped-atomic.cl
A clang/test/CodeGenSPIRV/Builtins/ids_and_ranges.c
A clang/test/CodeGenSPIRV/Builtins/refract.c
M clang/test/CodeGenSYCL/unique_stable_name_windows_diff.cpp
A clang/test/DebugInfo/KeyInstructions/array-cookie.cpp
A clang/test/DebugInfo/KeyInstructions/atomic.c
A clang/test/DebugInfo/KeyInstructions/coro-dwarf-key-instrs.cpp
M clang/test/DebugInfo/KeyInstructions/flag.cpp
A clang/test/DebugInfo/KeyInstructions/goto.c
A clang/test/DebugInfo/KeyInstructions/init-member-memcopyable-2.cpp
A clang/test/DebugInfo/KeyInstructions/init-member-memcopyable.cpp
A clang/test/Driver/DTLTO/dtlto.c
A clang/test/Driver/HLSL/dxc_fvk_layout.hlsl
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/include/c++/8.2.1/.keep
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/.keep
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/crt0.o
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/bin/aarch64-none-elf-ld
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtbegin.o
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtend.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crt0.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtbegin.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtend.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/bin/aarch64-none-elf-ld
A clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/include/c++/8.2.1/.keep
A clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/.keep
A clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/crt0.o
A clang/test/Driver/Inputs/basic_arm_gcc_tree/bin/armv6m-none-eabi-ld
A clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtbegin.o
A clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtend.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crt0.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtbegin.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtend.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/bin/armv6m-none-eabi-ld
A clang/test/Driver/Inputs/basic_managarm_tree/lib/aarch64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib/riscv64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib/x86_64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib64/aarch64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib64/riscv64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib64/x86_64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/aarch64-managarm-mlibc/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/c++/v1/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/riscv64-managarm-mlibc/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/x86_64-managarm-mlibc/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/aarch64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbegin.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbeginS.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbeginT.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbegin.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbeginS.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbeginT.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbegin.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbeginS.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbeginT.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/riscv64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/x86_64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib64/.keep
A clang/test/Driver/Inputs/cpunative/grace
R clang/test/Driver/Inputs/cpunative/neoverse-v2
A clang/test/Driver/Inputs/offload-arch/offload_arch_sm_70_gfx906
A clang/test/Driver/aarch64-gnutools.c
M clang/test/Driver/aarch64-implied-sve-features.c
M clang/test/Driver/aarch64-mcpu-native.c
M clang/test/Driver/aarch64-sve-vector-bits.c
A clang/test/Driver/aarch64-toolchain-extra.c
A clang/test/Driver/aarch64-toolchain.c
A clang/test/Driver/aix-default-target-triple.c
M clang/test/Driver/aix-shared-lib-tls-model-opt.c
M clang/test/Driver/aix-small-local-exec-dynamic-tls.c
M clang/test/Driver/amdgpu-hip-system-arch.c
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/amdgpu-openmp-sanitize-options.c
M clang/test/Driver/arm-alignment.c
A clang/test/Driver/arm-gnutools.c
A clang/test/Driver/arm-toolchain-extra.c
A clang/test/Driver/arm-toolchain.c
M clang/test/Driver/autocomplete.c
M clang/test/Driver/baremetal-multilib.yaml
M clang/test/Driver/baremetal-sysroot.cpp
A clang/test/Driver/baremetal-undefined-symbols.c
M clang/test/Driver/baremetal.cpp
A clang/test/Driver/check-no-multlib-warning.c
M clang/test/Driver/cl-include.c
M clang/test/Driver/cl-options.c
M clang/test/Driver/cuda-phases.cu
M clang/test/Driver/dxc_fspv_extension.hlsl
A clang/test/Driver/dxc_hlsl-rootsig-ver.hlsl
M clang/test/Driver/extend-variable-liveness.c
A clang/test/Driver/fallow-runtime-check-skip-hot-cutoff.c
M clang/test/Driver/frame-pointer-elim.c
M clang/test/Driver/fsanitize.c
M clang/test/Driver/gcc-toolchain.cpp
M clang/test/Driver/hip-include-path.hip
M clang/test/Driver/hip-inputs.hip
M clang/test/Driver/hip-invalid-target-id.hip
M clang/test/Driver/hip-options.hip
M clang/test/Driver/hip-runtime-libs-linux.hip
M clang/test/Driver/hip-thinlto.hip
M clang/test/Driver/invalid-offload-options.cpp
A clang/test/Driver/ir-exception-model.c
A clang/test/Driver/managarm.cpp
M clang/test/Driver/mingw.cpp
M clang/test/Driver/module-fgen-reduced-bmi.cppm
M clang/test/Driver/module-output.cppm
M clang/test/Driver/modules.cpp
R clang/test/Driver/nacl-direct.c
M clang/test/Driver/nvptx-cuda-system-arch.c
A clang/test/Driver/offload-target.c
M clang/test/Driver/openacc.c
M clang/test/Driver/openmp-offload-gpu.c
M clang/test/Driver/openmp-offload.c
M clang/test/Driver/openmp-system-arch.c
M clang/test/Driver/pgo-sample-use-profi.c
M clang/test/Driver/ppc-crbits.cpp
M clang/test/Driver/ppc-isa-features.cpp
M clang/test/Driver/print-enabled-extensions/aarch64-fujitsu-monaka.c
A clang/test/Driver/print-enabled-extensions/aarch64-gb10.c
M clang/test/Driver/print-enabled-extensions/aarch64-grace.c
M clang/test/Driver/print-enabled-extensions/aarch64-olympus.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-a25.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-a45.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-ax25.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-ax45.c
A clang/test/Driver/print-enabled-extensions/riscv-andes-ax45mpv.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-n45.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-nx45.c
M clang/test/Driver/print-enabled-extensions/riscv-sifive-p870.c
M clang/test/Driver/print-enabled-extensions/riscv-sifive-x390.c
M clang/test/Driver/print-libgcc-file-name-clangrt.c
M clang/test/Driver/print-multi-selection-flags.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/ps5-linker.c
R clang/test/Driver/riscv-args.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Driver/riscv32-toolchain-extra.c
M clang/test/Driver/riscv32-toolchain.c
M clang/test/Driver/riscv64-toolchain-extra.c
M clang/test/Driver/riscv64-toolchain.c
M clang/test/Driver/sanitizer-ld.c
A clang/test/Driver/spirv-amd-toolchain.c
M clang/test/Driver/unsupported-target-arch.c
R clang/test/Driver/x86_64-nacl-defines.cpp
M clang/test/ExtractAPI/constructor_destructor.cpp
M clang/test/ExtractAPI/global_record.c
M clang/test/ExtractAPI/global_record_multifile.c
M clang/test/ExtractAPI/macro_undefined.c
M clang/test/ExtractAPI/methods.cpp
M clang/test/ExtractAPI/objc_instancetype.m
A clang/test/ExtractAPI/pointers.c
M clang/test/FixIt/fixit-format-ios-nopedantic.m
M clang/test/FixIt/format.m
M clang/test/Format/multiple-inputs-error.cpp
M clang/test/Format/ranges.cpp
M clang/test/Frontend/noderef.c
R clang/test/Frontend/x86_64-nacl-types.cpp
A clang/test/Headers/spirv_ids.cpp
M clang/test/Headers/stdarg.cpp
A clang/test/Index/inline-assembly.c
A clang/test/Interpreter/out-of-process.cpp
M clang/test/Interpreter/pretty-print.c
A clang/test/Interpreter/pretty-print.cpp
M clang/test/Layout/ms-x86-declspec-empty_bases.cpp
M clang/test/Lexer/has_feature_undefined_behavior_sanitizer.cpp
M clang/test/Misc/loop-opt-setup.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/target-invalid-cpu-note/aarch64.c
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M clang/test/Misc/warning-wall.c
A clang/test/Modules/ModulesLocalNamespace.cppm
M clang/test/Modules/cxx20-10-2-ex1.cpp
M clang/test/Modules/cxx20-export-import.cpp
M clang/test/Modules/cxx20-import-diagnostics-a.cpp
M clang/test/Modules/export-in-non-modules.cpp
A clang/test/Modules/include-after-imports-enums.cppm
A clang/test/Modules/mingw-exceptions.cppm
M clang/test/Modules/named-modules-adl-3.cppm
A clang/test/Modules/no-transitive-decl-change-4.cppm
M clang/test/Modules/odr_hash.cpp
A clang/test/Modules/pr118137.cppm
A clang/test/Modules/pr131058.cppm
A clang/test/Modules/pr144230.cppm
A clang/test/Modules/pr145975.cppm
M clang/test/Modules/reserved-names-1.cppm
M clang/test/Modules/reserved-names-system-header-1.cpp
M clang/test/Modules/reserved-names-system-header-2.cpp
A clang/test/Modules/template-declare.cppm
A clang/test/Modules/var-init-side-effects-modulemap.cpp
A clang/test/Modules/var-init-side-effects-templated.cpp
A clang/test/Modules/var-init-side-effects.cpp
M clang/test/OpenMP/Inputs/declare_target_include.h
M clang/test/OpenMP/attr-assume.cpp
M clang/test/OpenMP/declare_mapper_messages.c
M clang/test/OpenMP/declare_target_ast_print.cpp
M clang/test/OpenMP/declare_target_messages.cpp
M clang/test/OpenMP/declare_variant_clauses_messages.cpp
M clang/test/OpenMP/for_firstprivate_codegen.cpp
M clang/test/OpenMP/ompx_attributes_messages.cpp
A clang/test/OpenMP/openmp-6-future-spellings.cpp
M clang/test/OpenMP/parallel_ast_print.cpp
M clang/test/OpenMP/parallel_firstprivate_codegen.cpp
A clang/test/OpenMP/parallel_message_messages.cpp
M clang/test/OpenMP/parallel_num_threads_messages.cpp
A clang/test/OpenMP/parallel_severity_messages.cpp
M clang/test/OpenMP/sections_firstprivate_codegen.cpp
M clang/test/OpenMP/single_firstprivate_codegen.cpp
M clang/test/OpenMP/target_ast_print.cpp
M clang/test/OpenMP/target_data_ast_print.cpp
M clang/test/OpenMP/target_map_both_pointer_pointee_codegen.cpp
A clang/test/OpenMP/target_map_both_pointer_pointee_codegen_global.cpp
M clang/test/OpenMP/target_map_messages.cpp
A clang/test/OpenMP/target_map_ptr_and_star_global.cpp
A clang/test/OpenMP/target_map_ptr_and_star_local.cpp
A clang/test/OpenMP/target_map_structptr_and_member_global.cpp
A clang/test/OpenMP/target_map_structptr_and_member_local.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
A clang/test/Options/Gis.hlsl
M clang/test/PCH/no-validate-pch.cl
M clang/test/Parser/asm.c
M clang/test/Parser/asm.cpp
M clang/test/Parser/atomic-options.hip
A clang/test/Parser/c23-typeof.m
M clang/test/Parser/c2x-typeof.c
M clang/test/Parser/cxx0x-attributes.cpp
M clang/test/Parser/cxx0x-decl.cpp
M clang/test/Parser/cxx0x-lambda-expressions.cpp
A clang/test/Parser/gh114815.cpp
M clang/test/Parser/pragma-attribute.cpp
M clang/test/Parser/statements.c
M clang/test/Parser/static_assert.c
M clang/test/ParserHLSL/hlsl_contained_type_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_is_rov_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_raw_buffer_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_resource_class_attr_error.hlsl
M clang/test/ParserOpenACC/parse-cache-construct.c
M clang/test/ParserOpenACC/parse-cache-construct.cpp
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/arm-target-features.c
M clang/test/Preprocessor/init-mips.c
M clang/test/Preprocessor/init.c
A clang/test/Preprocessor/macro_paste_identifier_ucn.c
M clang/test/Preprocessor/openacc.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Preprocessor/predefined-macros-no-warnings.c
M clang/test/Preprocessor/riscv-target-features-andes.c
R clang/test/Preprocessor/static_assert.c
M clang/test/Preprocessor/stdint.c
M clang/test/Sema/Float16.c
M clang/test/Sema/aarch64-streaming-sme-or-nonstreaming-sve-builtins.c
A clang/test/Sema/aarch64-sve-intrinsics/acle_sve_bf16.cpp
A clang/test/Sema/aarch64-sve-intrinsics/acle_sve_bf16_non_streaming_only.cpp
R clang/test/Sema/aarch64-sve-intrinsics/acle_sve_bfloat.cpp
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_aes_bitperm_sha3_sm4.cpp
R clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_bfloat.cpp
M clang/test/Sema/annotate-type.c
M clang/test/Sema/annotate.c
M clang/test/Sema/assume.c
M clang/test/Sema/attr-alwaysinline.cpp
M clang/test/Sema/attr-arm-sve-vector-bits.c
A clang/test/Sema/attr-cpuspecific-cpus.c
M clang/test/Sema/attr-enforce-tcb-errors.cpp
M clang/test/Sema/attr-external-source-symbol.c
M clang/test/Sema/attr-handles.cpp
M clang/test/Sema/attr-likelihood.c
M clang/test/Sema/attr-mig.cpp
M clang/test/Sema/attr-nocf_check.cpp
M clang/test/Sema/attr-noinline.cpp
M clang/test/Sema/attr-nomerge.cpp
M clang/test/Sema/attr-nonblocking-sema.cpp
A clang/test/Sema/attr-nonstring_safe.c
M clang/test/Sema/attr-only-in-default-eval.cpp
M clang/test/Sema/attr-preferred-type.cpp
M clang/test/Sema/attr-regparm.c
M clang/test/Sema/attr-type-safety.c
M clang/test/Sema/attr-visibility.c
A clang/test/Sema/builtins-bcd-transform.c
M clang/test/Sema/builtins-microsoft-arm64.c
M clang/test/Sema/c2x-fallthrough.c
M clang/test/Sema/code_align.c
M clang/test/Sema/const-eval.c
A clang/test/Sema/constant-builtins-vector.cpp
R clang/test/Sema/constant_builtins_vector.cpp
A clang/test/Sema/deep_recursion.c
M clang/test/Sema/diagnose_if.c
M clang/test/Sema/dllexport.c
M clang/test/Sema/format-strings-fixit-ssize_t.c
M clang/test/Sema/format-strings-scanf.c
M clang/test/Sema/format-strings-size_t.c
M clang/test/Sema/implicit-int-conversion-on-int.c
M clang/test/Sema/internal_linkage.c
M clang/test/Sema/matrix-type-builtins.c
M clang/test/Sema/offsetof-64.c
M clang/test/Sema/overloadable.c
M clang/test/Sema/patchable-function-entry-attr.cpp
A clang/test/Sema/ppc-dmf-types.c
M clang/test/Sema/preserve-call-conv.c
M clang/test/Sema/preserve-none-call-conv.c
M clang/test/Sema/ptrauth-atomic-ops.c
M clang/test/Sema/ptrauth.c
A clang/test/Sema/rvv-andes-required-features-invalid.c
M clang/test/Sema/rvv-required-features-invalid.c
M clang/test/Sema/static-assert.c
M clang/test/Sema/uninit-variables.c
M clang/test/Sema/vector-gcc-compat.c
M clang/test/Sema/warn-documentation.cpp
M clang/test/Sema/warn-format-overflow-truncation.c
M clang/test/Sema/warn-fortify-source.c
A clang/test/Sema/warn-lifetime-safety-dataflow.cpp
M clang/test/Sema/xray-always-instrument-attr.cpp
M clang/test/Sema/xray-log-args-class.cpp
M clang/test/Sema/xray-log-args-oob.cpp
M clang/test/SemaCUDA/attr-noconvergent.cu
M clang/test/SemaCXX/Float16.cpp
A clang/test/SemaCXX/P1811.cpp
A clang/test/SemaCXX/P1979.cpp
A clang/test/SemaCXX/P2115.cpp
A clang/test/SemaCXX/P2615.cpp
A clang/test/SemaCXX/P2788.cpp
M clang/test/SemaCXX/PR76631.cpp
A clang/test/SemaCXX/aarch64-streaming-sve-vector-conversions.cpp
M clang/test/SemaCXX/address-space-placement.cpp
M clang/test/SemaCXX/annotate-type.cpp
M clang/test/SemaCXX/attr-annotate.cpp
M clang/test/SemaCXX/attr-cxx0x.cpp
M clang/test/SemaCXX/attr-declspec-ignored.cpp
M clang/test/SemaCXX/attr-deprecated-replacement-error.cpp
M clang/test/SemaCXX/attr-flatten.cpp
M clang/test/SemaCXX/attr-gsl-owner-pointer.cpp
M clang/test/SemaCXX/attr-lifetime-capture-by.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
M clang/test/SemaCXX/attr-lto-visibility-public.cpp
M clang/test/SemaCXX/attr-musttail.cpp
M clang/test/SemaCXX/attr-no-specializations.cpp
M clang/test/SemaCXX/attr-no-speculative-load-hardening.cpp
M clang/test/SemaCXX/attr-no-split-stack.cpp
M clang/test/SemaCXX/attr-optnone.cpp
M clang/test/SemaCXX/attr-reinitializes.cpp
M clang/test/SemaCXX/attr-speculative-load-hardening.cpp
M clang/test/SemaCXX/attr-suppress.cpp
M clang/test/SemaCXX/attr-unsafe-buffer-usage.cpp
A clang/test/SemaCXX/builtin-invoke.cpp
M clang/test/SemaCXX/compound-literal.cpp
M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-cxx14.cpp
M clang/test/SemaCXX/constant-expression-cxx2a.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
M clang/test/SemaCXX/constexpr-backtrace-limit.cpp
M clang/test/SemaCXX/constexpr-never-constant.cpp
M clang/test/SemaCXX/cxx11-attributes-on-using-declaration.cpp
M clang/test/SemaCXX/cxx11-gnu-attrs.cpp
M clang/test/SemaCXX/cxx1z-constexpr-lambdas.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx20-using-enum.cpp
M clang/test/SemaCXX/cxx2a-constexpr-dynalloc.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/cxx2c-binding-pack.cpp
M clang/test/SemaCXX/cxx2c-constexpr-placement-new.cpp
M clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
M clang/test/SemaCXX/diagnose_if-ext.cpp
M clang/test/SemaCXX/diagnose_if.cpp
M clang/test/SemaCXX/discrim-union.cpp
M clang/test/SemaCXX/enum-scoped.cpp
M clang/test/SemaCXX/exception-spec.cpp
M clang/test/SemaCXX/internal_linkage.cpp
A clang/test/SemaCXX/invalid-base-inheritance.cpp
M clang/test/SemaCXX/lambda-attributes.cpp
A clang/test/SemaCXX/local-class-template-param-crash.cpp
M clang/test/SemaCXX/microsoft-varargs-diagnostics.cpp
M clang/test/SemaCXX/modules.cppm
M clang/test/SemaCXX/ms-constexpr-invalid.cpp
M clang/test/SemaCXX/ms-constexpr-new.cpp
M clang/test/SemaCXX/ms-layout_version.cpp
M clang/test/SemaCXX/nested-name-spec.cpp
M clang/test/SemaCXX/new-delete.cpp
M clang/test/SemaCXX/no_destroy.cpp
A clang/test/SemaCXX/noreturn-vars.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
A clang/test/SemaCXX/range-for-lifetime-cxx23.cpp
M clang/test/SemaCXX/static-assert-cxx26.cpp
M clang/test/SemaCXX/switch-implicit-fallthrough.cpp
M clang/test/SemaCXX/type-attrs.cpp
M clang/test/SemaCXX/type-aware-class-scoped-mismatched-constraints.cpp
M clang/test/SemaCXX/type-aware-coroutines.cpp
M clang/test/SemaCXX/type-aware-new-constexpr.cpp
M clang/test/SemaCXX/type-aware-new-delete-arrays.cpp
M clang/test/SemaCXX/type-aware-new-delete-basic-free-declarations.cpp
M clang/test/SemaCXX/type-aware-new-delete-basic-in-class-declarations.cpp
M clang/test/SemaCXX/type-aware-new-delete-basic-resolution.cpp
M clang/test/SemaCXX/type-aware-new-delete-qualifiers.cpp
M clang/test/SemaCXX/type-aware-new-delete-transparent-contexts.cpp
M clang/test/SemaCXX/type-aware-new-invalid-type-identity.cpp
M clang/test/SemaCXX/type-aware-placement-operators.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
R libcxx/test/libcxx/selftest/file_dependencies/a.txt
R libcxx/test/libcxx/selftest/file_dependencies/dir/b.txt
Log Message:
-----------
Merge branch 'main' into users/mcberg2021_LoopDistribute
Compare: https://github.com/llvm/llvm-project/compare/af3207bae943...7f076e013936
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