[all-commits] [llvm/llvm-project] 965231: [LV] Replace UncountableEdge with UncountableEarly...
Diana Picus via All-commits
all-commits at lists.llvm.org
Fri Aug 8 02:06:44 PDT 2025
Branch: refs/heads/users/rovka/unify-asm-printer-arg-handling
Home: https://github.com/llvm/llvm-project
Commit: 965231ca0a9a65ec72b5a4bc7e03f3299082536d
https://github.com/llvm/llvm-project/commit/965231ca0a9a65ec72b5a4bc7e03f3299082536d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
Log Message:
-----------
[LV] Replace UncountableEdge with UncountableEarlyExitingBlock (NFC). (#151311)
Only the uncountable exiting BB is used. Store it instead of a piar of
Exiting BB and Exit BB.
PR: https://github.com/llvm/llvm-project/pull/151311
Commit: 673476d96bed306be6ed81a8174f481a9a4b2934
https://github.com/llvm/llvm-project/commit/673476d96bed306be6ed81a8174f481a9a4b2934
Author: bd1976bris <Ben.Dunbobbin at sony.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M cross-project-tests/CMakeLists.txt
A cross-project-tests/dtlto/ld-archive-thin.test
M cross-project-tests/lit.cfg.py
M lld/ELF/InputFiles.cpp
A lld/test/ELF/dtlto/archive-thin.test
Log Message:
-----------
[DTLTO][LLD][ELF] Support bitcode members of thin archives (#149425)
This patch adds support for bitcode members of thin archives to DTLTO
(https://llvm.org/docs/DTLTO.html) in ELF LLD.
For DTLTO, bitcode identifiers must be valid paths to bitcode files on
disk. Clang does not support archive inputs for ThinLTO backend
compilations. This patch adjusts the identifier for bitcode members of
thin archives in DTLTO links so that it is the path to the member file
on disk, allowing such members to be supported in DTLTO.
This patch is sufficient to allow for self-hosting an LLVM build with
DTLTO when thin archives are used.
Note: Bitcode members of non-thin archives remain unsupported. This will
be addressed in a future change.
Testing:
- LLD lit test coverage has been added to check that the identifier is
adjusted appropriately.
- A cross-project lit test has been added to show that a DTLTO link can
succeed when linking bitcode members of thin archives.
For the design discussion of the DTLTO feature, see: #126654.
Commit: b0313adefa2dd7b40ad3cf48c926045806af5a5f
https://github.com/llvm/llvm-project/commit/b0313adefa2dd7b40ad3cf48c926045806af5a5f
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Add an option to build SPIR-V targets with the LLVM backend (#151347)
This removes the dependency on an external tool to build the SPIR-V
files. It may be of interest to projects such as Mesa.
Note that the option is off by default as using the SPIR-V backend, at
least on my machine, uses a *lot* of memory and the process is often
killed in a parallelized build. It does complete, however.
Fixes #135327.
Commit: e1706763515dcd50edf67a377386bc6f1e33a6d0
https://github.com/llvm/llvm-project/commit/e1706763515dcd50edf67a377386bc6f1e33a6d0
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
A llvm/test/Transforms/InstCombine/scalable-extract-subvec-elt.ll
Log Message:
-----------
[Instcombine] Combine extractelement from a vector_extract at index 0 (#151491)
Extracting any element from a subvector starting at index 0 is
equivalent to extracting from the original vector, i.e.
extract_elt(vector_extract(x, 0), y) -> extract_elt(x, y)
Commit: 05b16aff0f4d5132799d7d4470ca13db3afe13ae
https://github.com/llvm/llvm-project/commit/05b16aff0f4d5132799d7d4470ca13db3afe13ae
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
M llvm/test/CodeGen/AArch64/sve-vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
Log Message:
-----------
[DAGCombiner] Add combine for vector interleave of splats (#151110)
This patch adds two DAG combines:
1. vector_interleave(splat, splat, ...) -> {splat,splat,...}
2. concat_vectors(splat, splat, ...) -> wide_splat
where all the input splats are identical. Both of these
together enable us to fold
concat_vectors(vector_interleave(splat, splat, ...))
into a wide splat. Post-legalisation we must only do the
concat_vector combine if the wider type and splat operation
is legal.
For fixed-width vectors the DAG combine only occurs for
interleave factors of 3 or more, however it's not currently
safe to test this for AArch64 since there isn't any lowering
support for fixed-width interleaves. I've only added
fixed-width tests for RISCV.
Commit: bcbbb2c986e001e9c357df70ed43c9d998ecd6d2
https://github.com/llvm/llvm-project/commit/bcbbb2c986e001e9c357df70ed43c9d998ecd6d2
Author: Georgiy Samoylov <g.samoylov at syntacore.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
A clang/test/CodeGen/dbg-info-all-calls-described.c
Log Message:
-----------
[clang] Fix clang debug info generation for unprtototyped function (#150022)
Consider this declaration:
`int foo();`
This function is described in LLVM with `clang::FunctionNoProtoType`
class. ([See
description](https://clang.llvm.org/doxygen/classclang_1_1FunctionNoProtoType.html))
Judging by [this
comment](https://github.com/llvm/llvm-project/blob/a1bf0d1394e48894be05d274d3942ff77c35ce87/clang/lib/CodeGen/CGCall.cpp#L159C11-L159C12)
all such functions are treated like functions with variadic number of
parameters.
When we want to [emit debug
info](https://github.com/llvm/llvm-project/blob/0a8ddd396546bec7eaa4c3b7ef2f495e52bca0b8/clang/lib/CodeGen/CGDebugInfo.cpp#L4808)
we have to know function that we calling.
In method
[getCalledFunction()](https://github.com/llvm/llvm-project/blob/0a8ddd396546bec7eaa4c3b7ef2f495e52bca0b8/llvm/include/llvm/IR/InstrTypes.h#L1348)
we compare two types of function:
1. Function that we deduce from calling operand, and
2. Function that we store locally
If they differ we get `nullptr` and can't emit appropriate debug info.
The only thing they differ is: lhs function is variadic, but rhs
function isn't
Reason of this difference is that under RISC-V there is no overridden
function that tells us about treating functions with no parameters.
[Default
function](https://github.com/llvm/llvm-project/blob/0a8ddd396546bec7eaa4c3b7ef2f495e52bca0b8/clang/lib/CodeGen/TargetInfo.cpp#L87)
always return `false`.
This patch overrides this function for RISC-V
Commit: 09dc08b707cf70897a7cb47efba19a14798561b3
https://github.com/llvm/llvm-project/commit/09dc08b707cf70897a7cb47efba19a14798561b3
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/phi.ll
Log Message:
-----------
[InstCombine] Handle repeated users in foldOpIntoPhi()
If the phi is used multiple times in the same user, it will appear
multiple times in users(), in which case make_early_inc_range()
is insufficient to prevent iterator invalidation.
Fixes the issue reported at:
https://github.com/llvm/llvm-project/pull/151115#issuecomment-3141542852
Commit: 7c1b948e30b538803f79ac90c538e04f96470dd3
https://github.com/llvm/llvm-project/commit/7c1b948e30b538803f79ac90c538e04f96470dd3
Author: Nathan Gauër <brioche at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/lifetime.ll
M llvm/test/CodeGen/SPIRV/logical-struct-access.ll
A llvm/test/CodeGen/SPIRV/pointers/structured-buffer-access-constant-index-1.ll
A llvm/test/CodeGen/SPIRV/pointers/structured-buffer-access-constant-index-2.ll
A llvm/test/CodeGen/SPIRV/pointers/structured-buffer-access.ll
Log Message:
-----------
[SPIR-V] Fix some GEP legalization (#150943)
Pointers and GEP are untyped. SPIR-V required structured OpAccessChain.
This means the backend will have to determine a good way to retrieve the
structured access from an untyped GEP. This is not a trivial problem,
and needs to be addressed to have a robust compiler.
The issue is other workstreams relies on the access chain deduction to
work. So we have 2 options:
- pause all dependent work until we have a good chain deduction.
- submit this limited fix to we can work on both this and other features
in parallel.
Choice we want to make is #2: submitting this **knowing this is not a
good** fix. It only increase the number of patterns we can work with,
thus allowing others to continue working on other parts of the backend.
This patch as-is has many limitations:
- If cannot robustly determine the depth of the structured access from a
GEP. Fixing this would require looking ahead at the full GEP chain.
- It cannot always figure out the correct access indices, especially
with dynamic indices. This will require frontend collaboration.
Because we know this is a temporary hack, this patch only impacts the
logical SPIR-V target. Physical SPIR-V, which can rely on pointer cast
remains on the old method.
Related to #145002
Commit: f04ea2ef1ca11673cd87371ae54dcbdf7dde3cd6
https://github.com/llvm/llvm-project/commit/f04ea2ef1ca11673cd87371ae54dcbdf7dde3cd6
Author: 黃國庭 <we3223 at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
Add m_SelectCCLike matcher to match SELECT_CC or SELECT with SETCC (#149646)
Fix #147282 and Follow-up to #148834
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 7d815c7642ef202741ea27c3aa6a3ffd4113ecf7
https://github.com/llvm/llvm-project/commit/7d815c7642ef202741ea27c3aa6a3ffd4113ecf7
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
Log Message:
-----------
[LV] Remove unused variables after 965231ca0a9a. (NFC)
Clean up unused/dead variables after 965231ca0a9a
(https://github.com/llvm/llvm-project/pull/151311)
Commit: 067f87c5830337a5d9fa8a5ea7f16df7591a8b73
https://github.com/llvm/llvm-project/commit/067f87c5830337a5d9fa8a5ea7f16df7591a8b73
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[lldb][Bazel] Add missing dependency.
Commit: 2b27377b0bf72e4524774dedf4b03521b07606d5
https://github.com/llvm/llvm-project/commit/2b27377b0bf72e4524774dedf4b03521b07606d5
Author: Gao Yanfeng <gaoyanfeng at linux.alibaba.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Support stmatrix intrinsics (#148377)
Add support for the `@llvm.nvvm.stmatrix` intrinsic series. These
correspond to PTX stmatrix operations, as documented in the [PTX ISA
reference](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#warp-level-matrix-store-instruction-stmatrix).
Commit: 51469174074b478e7a5fe0f8c69452b1d6752e30
https://github.com/llvm/llvm-project/commit/51469174074b478e7a5fe0f8c69452b1d6752e30
Author: Lewis Crawford <lcrawford at nvidia.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstSimplify/const-fold-nvvm-unary-arithmetic.ll
Log Message:
-----------
[ConstantFolding] Fix incorrect nvvm_round folding (#151563)
The `nvvm_round` intrinsic should round to the nearest even number in
the case of ties. It lowers to PTX `cvt.rni`, which will "round to
nearest integer, choosing even integer if source is equidistant between
two integers", so it matches the semantics of `rint` (and not `round` as
the name suggests).
Commit: b40e535818ebad8e68fa5672a3621359e3f415c2
https://github.com/llvm/llvm-project/commit/b40e535818ebad8e68fa5672a3621359e3f415c2
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/lit.cfg.py
Log Message:
-----------
[NFC] test/lit.cfg.py formatting (#151218)
Commit: ebe6eba62580592af7065a36b22d929c15291e9a
https://github.com/llvm/llvm-project/commit/ebe6eba62580592af7065a36b22d929c15291e9a
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/test/API/functionalities/tail_call_frames/cross_dso/TestCrossDSOTailCalls.py
M lldb/test/API/functionalities/tail_call_frames/cross_object/TestCrossObjectTailCalls.py
Log Message:
-----------
[lldb][test] Un-XFAIL tail_call_frames tests on Linux arm/arm64
These have been XPASSing after
https://github.com/llvm/llvm-project/pull/150022
Commit: 77363fbd7ca24206a991eeb43d5ded54dd52a1f6
https://github.com/llvm/llvm-project/commit/77363fbd7ca24206a991eeb43d5ded54dd52a1f6
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
Log Message:
-----------
[mlir][linalg] Add getCollapsedVecType and update vectorization of linalg.unpack (#151503)
This patch introduces a new helper, `getCollapsedVecType`, and updates
`vectorizeAsTensorUnpackOp` to use it. The motivation stems from improving how
`vector.shape_cast` operations are generated when vectorizing `linalg.unpack`.
Previously, the vectorizer relied on
* `tensor::CollapseShapeOp::inferCollapsedType`
to compute the collapsed vector type. This approach is suboptimal
because:
* `inferCollapsedType` lacks awareness of scalable vector flags.
* Linalg vectorization should not depend on Tensor dialect utilities.
Instead of relocating `inferCollapsedType`, we introduce
`getCollapsedVecType` — a lightweight, specialized hook that:
* Assumes no dynamic sizes.
* Handles scalable flags alongside shape dimensions.
This change also reduces temporary variables in
`vectorizeAsTensorUnpackOp` and paves the way for a cleaner update in
#149293.
Commit: ceb2b9c141903c16d76e0b3a0cbeb0e9f3c68d5c
https://github.com/llvm/llvm-project/commit/ceb2b9c141903c16d76e0b3a0cbeb0e9f3c68d5c
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/sve-vscale-combine.ll
M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll
Log Message:
-----------
[LLVM][DAGCombiner] fold (shl (X * vscale(C0)), C1) -> (X * vscale(C0 << C1)). (#150651)
Commit: 103461f1190e90b141830bc50734874ba954dfe6
https://github.com/llvm/llvm-project/commit/103461f1190e90b141830bc50734874ba954dfe6
Author: Jaeho Kim <oojahooo at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRVPass.cpp
A mlir/test/Conversion/GPUToSPIRV/lookup-target-env.mlir
Log Message:
-----------
[mlir][spirv] Fix lookup logic `spirv.target_env` for `gpu.module` (#147262)
The `gpu.module` operation can contain `spirv.target_env` attributes
within an array attribute named `"targets"`. So it accounts for that
case by iterating over the `"targets"` attribute, if present, and
looking up `spirv.target_env`.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: dfbbb744384167bc874985c340149e39c107e37f
https://github.com/llvm/llvm-project/commit/dfbbb744384167bc874985c340149e39c107e37f
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/include/mlir/IR/Operation.h
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
Log Message:
-----------
[MLIR] Introduce a OpWithState class to act as a stream modifier for Operations (NFC) (#151547)
On the model of OpWithFlags, this modifier allows to stream an operation
using a custom AsmPrinter.
Commit: 96f3872dc950e01b9b41fa0c214dbcb78c71eaa8
https://github.com/llvm/llvm-project/commit/96f3872dc950e01b9b41fa0c214dbcb78c71eaa8
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
Log Message:
-----------
[AMDGPU][Scheduler] Delete RegionsWithMinOcc bitvector from scheduler (NFC) (#142361)
The `GCNScheduleDAGMILive`'s `RegionsWithMinOcc` bitvector is only used
by the `UnclusteredHighRPStage`. Its presence in the scheduler's state
forces us to maintain its value throughout scheduling even though it is
of no use to the iterative scheduling process itself. At any point
during scheduling it is possible to cheaply compute the occupancy
induced by a particular register pressure. Furthermore, the field
doesn't appear to be updated correctly throughout scheduling i.e., bits
corresponding to regions at minimum occupancy are not always set in the
vector.
This removes the bitvector from `GCNScheduleDAGMILive`.
`UnclusteredHighRPStage::initGCNRegion` now directly computes the
occupancy of possibly reschedulable regions instead of querying the
vector. Since it is the most expensive check, it is done last in the
list.
Commit: 6a8a279882e321e5e64ef8a0a2a73d79ccfb46cb
https://github.com/llvm/llvm-project/commit/6a8a279882e321e5e64ef8a0a2a73d79ccfb46cb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/CodeGen/ARM/nop_concat_vectors.ll
Log Message:
-----------
[ARM] nop_concat_vectors.ll - regenerate test checks
Commit: 5ea945abfed10b4a6f316a2d4268e30df71fac8c
https://github.com/llvm/llvm-project/commit/5ea945abfed10b4a6f316a2d4268e30df71fac8c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/udivrem24.ll
Log Message:
-----------
[AMDGPU] udivrem24.ll - regenerate test checks
Commit: f9088f1eb5647cafb63b6cd42df339e19735d9c6
https://github.com/llvm/llvm-project/commit/f9088f1eb5647cafb63b6cd42df339e19735d9c6
Author: Iris Shi <0.0 at owo.li>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/test/Analysis/builtin_assume.cpp
Log Message:
-----------
[static analyzer] Fix crash on parenthesized expression in assume attribute (#151682)
- Closes #151529
`ParenExpr` should be ignored before reaching `ExprEngine::Visit`.
Failing to do so triggers the assertion.
Commit: 1023f6c9db6c722fd0f8d631b114419cd522594f
https://github.com/llvm/llvm-project/commit/1023f6c9db6c722fd0f8d631b114419cd522594f
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[mlir][tosa] Support boolean types for clamp folder (#151653)
This PR fixes several bugs in `ClampIsNoOp` pattern.
- static shape check is no need.
- ensures i1 values are zero extended to support fold boolean types
clamp.
Fixes #130016.
Commit: 1c5e6199a166b70ca9cd2329b6fb3d1d470022dd
https://github.com/llvm/llvm-project/commit/1c5e6199a166b70ca9cd2329b6fb3d1d470022dd
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/Frontend/FrontendAction.cpp
Log Message:
-----------
[Clang] Flush minimization hints after writing (#151522)
This helps to get well-formed output if Clang crashes after that point.
Commit: f48a8da34292b367ba8a5e7b25065172df966848
https://github.com/llvm/llvm-project/commit/f48a8da34292b367ba8a5e7b25065172df966848
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
A llvm/test/CodeGen/PowerPC/aix-lower-arbitrary-sized-ints.ll
Log Message:
-----------
[AIX] Handle arbitrary sized integers when lowering formal arguments passed on the stack (#149351)
When arbitrary sized (non-simple type, or non-power of two types)
integers are passed on the stack, these integers are not handled when
lowering formal arguments on AIX as we always assume we will encounter
simple type integers.
However, it is possible for frontends to generate arbitrary sized
immediate values in IR. Specifically in rustc, it will generate an
integer value in LLVM IR for small structures that are less than a
pointer size, which is done for optimization purposes for the Rust ABI.
For example, if a Rust structure of three characters is passed into
function on the stack,
```
struct my_struct {
field1: u8,
field2: u8,
field3: u8,
}
```
This will generate an `i24` type in LLVM IR.
Currently, it is not obvious for the backend to distinguish an integer
versus something that wasn't an integer to begin with (such as a
struct), and the latter case would not have an extend on the parameter.
Thus, this PR allows us to perform a truncation and extend on integers,
both non-simple and simple types.
Commit: d8ca85a184c0fb511fe6483c4c24e48b5b1eb07a
https://github.com/llvm/llvm-project/commit/d8ca85a184c0fb511fe6483c4c24e48b5b1eb07a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[clang][ExprConst] Remove Loc param (#151461)
The Loc param to these functions was weird and not always set in error
cases. It wasn't reliable to use.
This was almost entirely unused inside of clang and the one call site
that used the returned source location doesn't make a difference in
practice.
Commit: c0591477ac99bf8ae51ce116a6471420f128ac9f
https://github.com/llvm/llvm-project/commit/c0591477ac99bf8ae51ce116a6471420f128ac9f
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/wsloop-simd.f90
Log Message:
-----------
[flang][OpenMP] Support delayed privatisation for composite do simd (#150979)
Implement the lowering for delayed privatisation for composite "do simd"
constructs. Fixes new crashes previously masked by simd information on
composite constructs being ignored, such as llvm#150975.
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: a361cde4421540e7ba3d6cdae0ef6e2860e126d8
https://github.com/llvm/llvm-project/commit/a361cde4421540e7ba3d6cdae0ef6e2860e126d8
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/distribute-simd.f90
Log Message:
-----------
[flang][OpenMP] Support delayed privatisation for composite distribute simd (#151169)
Implement the lowering for delayed privatisation for composite
"distibute simd"constructs. Fixes new crashes previously masked by simd
information on composite constructs being ignored.
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: 48ea3e425bb97b73a2c3117fdcd55fe96314ab1c
https://github.com/llvm/llvm-project/commit/48ea3e425bb97b73a2c3117fdcd55fe96314ab1c
Author: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/Target/SPIRV/constant.mlir
Log Message:
-----------
[mlir][spirv] Enable (de)serialization of TensorARM to/from OpConstan… (#151485)
…tNull
This patch enables (de)serialization to/from OpConstantNull for null
TensorARM
---------
Signed-off-by: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Commit: 812b982e3642354660103d694e12ceb355c14e2e
https://github.com/llvm/llvm-project/commit/812b982e3642354660103d694e12ceb355c14e2e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/hip-offload-compress-zlib.hip
M clang/test/Driver/hip-offload-compress-zstd.hip
Log Message:
-----------
[HIP] Fix compression arguments being passed to linker wrapper (#151591)
Summary:
The new driver's behavior forwards all unrecognized command line
arguments to the host linker. It only knew `--compress` so when
`-compress` was passed it didn't forward it correctly. This patch
changes the spelling because multi word arguments should have two
dashes.
Commit: 803a50aa0547fdbcd661c54f19de0c155a23d50d
https://github.com/llvm/llvm-project/commit/803a50aa0547fdbcd661c54f19de0c155a23d50d
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/Frontend/FrontendAction.cpp
M clang/test/Frontend/dump-minimization-hints.cpp
Log Message:
-----------
[Clang] Dump minimization hints for namespaces (#151534)
Unlike other declarations, these cover two ranges:
- from `namespace/inline namespace` to the opening `{`,
- the closing `}`.
This allows to mark the declarations inside the namespace itself
independently.
Commit: c569c1f15fdd1e75e7ef15503f78d53029817d79
https://github.com/llvm/llvm-project/commit/c569c1f15fdd1e75e7ef15503f78d53029817d79
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/include/llvm/Support/DebugLog.h
M llvm/unittests/Support/DebugLogTest.cpp
M mlir/lib/Rewrite/PatternApplicator.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[MLIR] Migrate pattern application / dialect conversion to the LDBG logging format (#150991)
This prefix the output with the DEBUG_TYPE.
Dialect conversion is using a ScopedPrinter, we insert the
raw_ldbg_ostream to consistently prefix each new line.
Commit: ae6a9ce0006b0590414f1702631bd0316011b888
https://github.com/llvm/llvm-project/commit/ae6a9ce0006b0590414f1702631bd0316011b888
Author: Piotr Sobczak <piotr.sobczak at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M llvm/test/CodeGen/AMDGPU/mad_u64_u32.ll
Log Message:
-----------
[AMDGPU] Update tests (#151688)
Fix two minor issues:
- Add double quote
- Remove unused prefix
Commit: 0b9470b329103bcdfe3578d99664974d2a53bf8d
https://github.com/llvm/llvm-project/commit/0b9470b329103bcdfe3578d99664974d2a53bf8d
Author: woruyu <99597449+woruyu at users.noreply.github.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
M lldb/tools/lldb-dap/JSONUtils.cpp
Log Message:
-----------
[lldb-dap] support moduleId in the stackTrace response (#149774)
This PR resolves https://github.com/llvm/llvm-project/issues/149316
---------
Co-authored-by: Ebuka Ezike <yerimyah1 at gmail.com>
Commit: 1ee1bddd741982b01e2ac37f3778e5e80a11423d
https://github.com/llvm/llvm-project/commit/1ee1bddd741982b01e2ac37f3778e5e80a11423d
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/tools.cpp
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
Log Message:
-----------
[flang][Evaluate] OperationCode cleanup, fix for Constant<T> (#151566)
Make the OperationCode overloads take the derived operation instead of
the Operation base class instance. This makes them usable from visitors
of "Expr<T>.u".
Also, fix small bug: OperationCode(Constant<T>) shoud be "Constant".
Commit: 6533ad04edcbc02d012cdb181d8745ca0d2f2e75
https://github.com/llvm/llvm-project/commit/6533ad04edcbc02d012cdb181d8745ca0d2f2e75
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/openmp-utils.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-atomic.cpp
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Parser/OpenMP/affinity-clause.f90
M flang/test/Parser/OpenMP/allocators-unparse.f90
M flang/test/Parser/OpenMP/atomic-compare.f90
M flang/test/Parser/OpenMP/atomic-end.f90
M flang/test/Parser/OpenMP/block-construct.f90
M flang/test/Parser/OpenMP/construct-prefix-conflict.f90
M flang/test/Parser/OpenMP/defaultmap-clause.f90
M flang/test/Parser/OpenMP/defaultmap-unparse.f90
M flang/test/Parser/OpenMP/dispatch.f90
M flang/test/Parser/OpenMP/if-clause.f90
M flang/test/Parser/OpenMP/in-reduction-clause.f90
M flang/test/Parser/OpenMP/map-modifiers-v60.f90
M flang/test/Parser/OpenMP/map-modifiers.f90
M flang/test/Parser/OpenMP/masked-unparse.f90
M flang/test/Parser/OpenMP/master-unparse.f90
M flang/test/Parser/OpenMP/openmp6-directive-spellings.f90
M flang/test/Parser/OpenMP/proc-bind.f90
M flang/test/Parser/OpenMP/scope.f90
M flang/test/Parser/OpenMP/target_device_parse.f90
M flang/test/Parser/OpenMP/task-reduction-clause.f90
M flang/test/Parser/OpenMP/task.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/symbol08.f90
Log Message:
-----------
[flang][OpenMP] Make all block constructs share the same structure (#150956)
The structure is
- OmpBeginDirective (aka OmpDirectiveSpecification)
- Block
- optional<OmpEndDirective> (aka optional<OmpDirectiveSpecification>)
The OmpBeginDirective and OmpEndDirective are effectively different
names for OmpDirectiveSpecification. They exist to allow the semantic
analyses to distinguish between the beginning and the ending of a block
construct without maintaining additional context.
The actual changes are in the parser: parse-tree.h and openmp-parser.cpp
in particular. The rest is simply changing the way the directive/clause
information is accessed (typically for the simpler).
All standalone and block constructs now use OmpDirectiveSpecification to
store the directive/clause information.
Commit: 9af2c21be4bc949bfa200eac55035f786c7c3f98
https://github.com/llvm/llvm-project/commit/9af2c21be4bc949bfa200eac55035f786c7c3f98
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/atan2f.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/atan2f.h
A libc/src/__support/math/atan2f_float.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atan2f.cpp
R libc/src/math/generic/atan2f_float.h
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 atan2f implementation to header-only in src/__support/math folder. (#150993)
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: 3eda63c958bdb8f95547665492264e5d5f28ab35
https://github.com/llvm/llvm-project/commit/3eda63c958bdb8f95547665492264e5d5f28ab35
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/Analysis/TypeBasedAliasAnalysis/gvn-nonlocal-type-mismatch.ll
M llvm/test/Transforms/GVN/PRE/pre-after-rle.ll
M llvm/test/Transforms/GVN/PRE/rle.ll
Log Message:
-----------
[GVN] Add MemorySSA coverage to tests (NFC)
Test check lines have been regenerated by ensuring parity between
MemDep and MemorySSA, while migrating towards the latter.
Commit: 6da1a0908a975a55adb5eae293b37ae0a850b21d
https://github.com/llvm/llvm-project/commit/6da1a0908a975a55adb5eae293b37ae0a850b21d
Author: veera <veera at efficient.computer>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/docs/CommandGuide/opt.rst
Log Message:
-----------
[Docs] Update Opt's Option to Specify Pass Pipeline (NFC) (#148402)
Since the new pass manager, we use `--passes=<string>` to specify the
pass pipeline instead of the `-{passname}` syntax.
Commit: 2ae996cbbe92f006d711eeeb8f29e0946fc1c1e8
https://github.com/llvm/llvm-project/commit/2ae996cbbe92f006d711eeeb8f29e0946fc1c1e8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
M llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp
M llvm/test/Analysis/LoopAccessAnalysis/early-exit-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
Log Message:
-----------
[LAA] Support assumptions in evaluatePtrAddRecAtMaxBTCWillNotWrap (#147047)
This patch extends the logic added in
https://github.com/llvm/llvm-project/pull/128061 to support
dereferenceability information from assumptions as well.
Unfortunately both assumption cache and the dominator tree need to be
threaded through multiple layers to make them available where needed.
PR: https://github.com/llvm/llvm-project/pull/147047
Commit: 03fd5f125b61ad6e80eb589b52db0bee22bdd540
https://github.com/llvm/llvm-project/commit/03fd5f125b61ad6e80eb589b52db0bee22bdd540
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/dynamic_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
Log Message:
-----------
[mlir][tosa] Enable Constant Operand Check by Default in TOSA Validation Pass (#150598)
Previous behaviour was to only run the check for constant operands when
the "strict-op-spec-alignment" check was enabled. However, this type of
check seems more generally useful without this option enabled. For
example, tosa-to-linalg doesn't enable the "strict-op-spec-alignment"
option when running the tosa-validate pass, but it does expect operands
to be constant.
By enabling this type of checking by default, lowering that don't
support non constant operands and don't use the
"strict-op-spec-alignment" option will fail early, rather than later in
the lowering pipeline.
Should a use-case need to disable this type of checking,
`--tosa-validate="extension=dynamic"` can be used.
Commit: e0fa6569c836a57a64d71ce53521da59112810bf
https://github.com/llvm/llvm-project/commit/e0fa6569c836a57a64d71ce53521da59112810bf
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
Log Message:
-----------
[AArch64] Add getCondCode() helper (NFC) (#150521)
Follow-up to #150313.
Commit: c300a99ea89568e18ce7207e42501c79d2b48b92
https://github.com/llvm/llvm-project/commit/c300a99ea89568e18ce7207e42501c79d2b48b92
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use MapVector for InstsToScalarize for deterministic iter order (NFC)
We iterate over InstsToScalarize when printing costs, and currently the
iteration order is not deterministic. Currently no tests check the
output with multiple instructions in InstsToScalarize, but those will
come soon.
Commit: c4c0a597414316d30a209dab1012b96d130dc545
https://github.com/llvm/llvm-project/commit/c4c0a597414316d30a209dab1012b96d130dc545
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/operands-to-args-lifetimes.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
[llvm-reduce] Do not convert lifetime operand to argument (#151694)
The lifetime argument is now required to be an alloca, so do not try to
convert it to a function argument.
The reduction is now going to leave behind an unused alloca with
lifetime markers, which should be cleaned up separately.
I'd say this fixes https://github.com/llvm/llvm-project/issues/93713. It
doesn't remove the lifetime markers as the issue suggests, but at least
they're now not going to be on the argument.
Commit: 3d7a3a1ef4844ad0735865bd5bec8ecd577de955
https://github.com/llvm/llvm-project/commit/3d7a3a1ef4844ad0735865bd5bec8ecd577de955
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
Log Message:
-----------
[NFC][arm_sve.td] Remove StructLoad/Store classes and improve tabification.
Commit: 022039e4978991bd15263a78122166c0d3def8bb
https://github.com/llvm/llvm-project/commit/022039e4978991bd15263a78122166c0d3def8bb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
Log Message:
-----------
[SPIRV] Fix a warning
This patch fixes:
llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp:642:16: error: unused
variable 'StructSize' [-Werror,-Wunused-variable]
Commit: 183b38078a51714bbcbeaabfa3cc84670cd575f8
https://github.com/llvm/llvm-project/commit/183b38078a51714bbcbeaabfa3cc84670cd575f8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CodeGenerator.rst
M llvm/docs/CommandGuide/llvm-bcanalyzer.rst
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/docs/CommandGuide/llvm-exegesis.rst
M llvm/docs/CommandGuide/llvm-ifs.rst
M llvm/docs/CommandGuide/llvm-locstats.rst
M llvm/docs/CommandGuide/llvm-mca.rst
M llvm/docs/CommandGuide/llvm-profdata.rst
M llvm/docs/CommandGuide/llvm-symbolizer.rst
M llvm/docs/DirectX/DXContainer.rst
M llvm/docs/Frontend/PerformanceTips.rst
M llvm/docs/FuzzingLLVM.rst
M llvm/docs/GettingStarted.rst
M llvm/docs/GlobalISel/GMIR.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/GlobalISel/Pipeline.rst
M llvm/docs/HowToUpdateDebugInfo.rst
M llvm/docs/JITLink.rst
M llvm/docs/LangRef.rst
M llvm/docs/Lexicon.rst
M llvm/docs/MIRLangRef.rst
M llvm/docs/PDB/CodeViewTypes.rst
M llvm/docs/SymbolizerMarkupFormat.rst
M llvm/docs/WritingAnLLVMBackend.rst
M llvm/docs/WritingAnLLVMPass.rst
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl10.rst
Log Message:
-----------
[llvm] Proofread *.rst (#151087)
This patch hyphenates words that are used as adjecives, such as:
- architecture specific
- human readable
- implementation defined
- language independent
- language specific
- machine readable
- machine specific
- target independent
- target specific
Commit: b6cfa023b4fda5093ebc3672c26c00abbd8380b6
https://github.com/llvm/llvm-project/commit/b6cfa023b4fda5093ebc3672c26c00abbd8380b6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M bolt/lib/Core/Exceptions.cpp
Log Message:
-----------
[BOLT] Use std::optional::value_or (NFC) (#151628)
Commit: 33625f7cb395a3664b81f1327868828d2e51fa46
https://github.com/llvm/llvm-project/commit/33625f7cb395a3664b81f1327868828d2e51fa46
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/source/Interpreter/OptionArgParser.cpp
Log Message:
-----------
[lldb] Use std::optional::value_or (NFC) (#151629)
Commit: d10dc67fc388fa26bf5b83f36fb12aba010c074f
https://github.com/llvm/llvm-project/commit/d10dc67fc388fa26bf5b83f36fb12aba010c074f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopUnroll/partial-unroll-reductions.ll
Log Message:
-----------
[LoopUnroll] Add additional reduction unroll tests for #149470.
Add additional tests from https://github.com/llvm/llvm-project/pull/149470.
Commit: 89e4d9f905f7abbf5803c011ab6fba26796ced30
https://github.com/llvm/llvm-project/commit/89e4d9f905f7abbf5803c011ab6fba26796ced30
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M flang/lib/Lower/Mangler.cpp
A flang/test/Lower/parametrized-derived-types.f90
Log Message:
-----------
[Flang] Fix crash with parametrized derived types usage (#150289)
The current mangleName implementation doesn't take a FoldingContext,
which prevents the proper evaluation of expressions containing parameter
references to an integer constant. Since parametrized derived types are
not yet implemented, the compiler will crash there in some cases (see
example in issue #127424).
This is a workaround so that doesn't happen until the feature is
properly implemented.
Fixes #127424
Commit: 1e8b65d8cdb38cb7aba92a459a65abaf4a213593
https://github.com/llvm/llvm-project/commit/1e8b65d8cdb38cb7aba92a459a65abaf4a213593
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
Log Message:
-----------
[clang][bytecode][NFC] Add a FIXME comment for heap allocations (#151700)
Commit: 6b7a8e9015fad3f73b37e517d9189cbf98feb5d1
https://github.com/llvm/llvm-project/commit/6b7a8e9015fad3f73b37e517d9189cbf98feb5d1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/test/Driver/crash-report-modules.m
Log Message:
-----------
[clang] Remove use of %T from crash-report-modules.m (#151615)
This patch removes the use of %T from crash-report-modules.m. %T has
been deprecated for about seven years, and is to be avoided as it can
lead to races between tests.
Posting this one as a separate patch given it was explicitly ported to
%T in 5c268f078ddbaa7cc1e9ea0ef658eb90563ff5db. Given
36bb47c70802629df98276ce90b0f8163f959e28 was landed seven years ago to
completely disable the test on Windows due to continued failures, I
think it should be fine to just leave this test unsupported on Windows.
Commit: be03d257cdc29172a7b4b35f85d3242fddba1d43
https://github.com/llvm/llvm-project/commit/be03d257cdc29172a7b4b35f85d3242fddba1d43
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
A clang/test/Analysis/element-region-address-space.c
Log Message:
-----------
[analyzer] Retain address space information in getElementRegion (#151370)
The factory method `MemRegionManager::getElementRegion()` is the main
way of constructing `ElementRegion` objects, which are widespread in the
analysis and may represent array elements (as lvalues), pointer
arithmetic and type conversions.
This factory method used to strip all qualifiers from the type
associated with the element (after canonicalizing it), but the address
space qualifier can affect the size of a pointer type, so stripping it
caused an assertion failure (in `evalBinOpLL`):
clang: clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp:785: void
assertEqualBitWidths(clang::ento::ProgramStateRef, clang::ento::Loc,
clang::ento::Loc): Assertion `RhsBitwidth == LhsBitwidth && "RhsLoc and
LhsLoc bitwidth must be same!"' failed.
---------
Co-authored-by: Vince Bridgers <vince.a.bridgers at ericsson.com>
Commit: c5459a0b57cbaacaca356a59148e2252d124b47b
https://github.com/llvm/llvm-project/commit/c5459a0b57cbaacaca356a59148e2252d124b47b
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/lit.cfg.py
Log Message:
-----------
Ignore FileCheck when profcheck is enabled (#151214)
When profcheck is enabled (presumably on a specific build bot), we want to ignore FileCheck because we're only interested in profile validation, and some tests are sensitive to the precise IR output, which profile validation alters slightly by inserting profile metadata.
Issue #147390
Commit: 5f2a8cd9a685935726421fd28a42b61c303aef27
https://github.com/llvm/llvm-project/commit/5f2a8cd9a685935726421fd28a42b61c303aef27
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
Log Message:
-----------
[lldb] Replace Python APIs with their stable equivalent (#151618)
Commit: 73ce0aca72348a80dc2c2175516a0993ab8d6be3
https://github.com/llvm/llvm-project/commit/73ce0aca72348a80dc2c2175516a0993ab8d6be3
Author: bd1976bris <Ben.Dunbobbin at sony.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lld/test/ELF/dtlto/archive-thin.test
Log Message:
-----------
[Test] Adjust quoting in archive-thin.test for spaces in paths (#151707)
As suggested in review (see: #149425), I believed that using single
quotes was a nicer quoting scheme that correctly handled paths with
spaces. Alas, build bot failures have demonstrated that this is not the
case.
Revert to the original quoting scheme (see: #146749).
Commit: 6ba25c1a565014bc94eb79b11e391b01c197659e
https://github.com/llvm/llvm-project/commit/6ba25c1a565014bc94eb79b11e391b01c197659e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/DebugInfo/PDB/obj-globalhash.test
M llvm/test/Examples/OrcV2Examples/lljit-with-thinlto-summaries.test
M llvm/test/ExecutionEngine/JITLink/x86-64/MachO_foo-in-weak-dylib.s
M llvm/test/MC/AArch64/ELF_ARM64_large-relocations.s
M llvm/test/Object/archive-darwin-duplicates.test
M llvm/test/TableGen/GlobalISelEmitter/ContextlessPredicates.td
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/test/TableGen/GlobalISelEmitter/HwModes.td
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/amdgpu-no-merge-comments.test
M llvm/test/tools/dsymutil/X86/swift-ast-x86_64.test
M llvm/test/tools/llvm-dwarfdump/dump_dwo.test
M llvm/test/tools/llvm-libtool-darwin/L-and-l.test
M llvm/test/tools/llvm-objcopy/COFF/dump-section.test
Log Message:
-----------
[llvm] Remove uses of %T in tests (#151621)
This patch removes all uses of %T from within LLVM tests. %T has been
deprecated for about seven years and use is not advised given it is not
unique per test and can thus lead to races. The goal of this is to
eventually remove support for %T from lit.
Commit: 5a586375aa3a128dadc9473cfa196bf8588c2a82
https://github.com/llvm/llvm-project/commit/5a586375aa3a128dadc9473cfa196bf8588c2a82
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/test/Analysis/undef-call.c
M clang/test/CodeGen/thinlto_backend.ll
M clang/test/CodeGenCXX/module-intializer-pmf.cpp
M clang/test/CodeGenCXX/profile-remap.cpp
M clang/test/Driver/HLSL/metal-converter.hlsl
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/check-time-trace-ParseDeclarationOrFunctionDefinition.cpp
M clang/test/Driver/cl-showfilenames.c
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/mingw-sysroot.cpp
M clang/test/Modules/implicit-module-header-maps.cpp
M clang/test/Preprocessor/lang-std.cpp
Log Message:
-----------
[clang] Remove %T from tests (#151614)
This patch removes %T from clang lit tests. %T has been deprecated for
about seven years and is not reccomended as it is not unique to each
test, which can lead to races. This patch is intended to remove usage in
tree with the end goal of removing support for %T within lit.
Commit: 89c1da6f78842feaa5fb2adae4a813384a2bbcbe
https://github.com/llvm/llvm-project/commit/89c1da6f78842feaa5fb2adae4a813384a2bbcbe
Author: Victor Chernyakin <chernyakin.victor.j at outlook.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/.clang-tidy
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Enable `readability-avoid-return-with-void-value` check in the codebase (#151356)
Commit: e7e74945a6c77349963e03ba42989faad715b6bc
https://github.com/llvm/llvm-project/commit/e7e74945a6c77349963e03ba42989faad715b6bc
Author: Dan Blackwell <dan_blackwell at apple.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M compiler-rt/lib/asan/asan_mac.cpp
Log Message:
-----------
[TSan] Fix asan_mac.cpp function pointer cast warnings (#151517)
Fixes these compiler warnings:
```
.../llvm-project/compiler-rt/lib/asan/asan_mac.cpp:252:4: warning: cast from 'dispatch_function_t' (aka 'void (*)(void *)') to 'void (*)(void *, size_t)' (aka 'void (*)(void *, unsigned long)') converts to incompatible function type [-Wcast-function-type-mismatch]
252 | ((void (*)(void *, size_t))asan_ctxt->func)(asan_ctxt->block, iteration);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.../llvm-project/compiler-rt/lib/asan/asan_mac.cpp:259:32: warning: cast from 'void (*)(void *, size_t)' (aka 'void (*)(void *, unsigned long)') to 'dispatch_function_t' (aka 'void (*)(void *)') converts to incompatible function type [-Wcast-function-type-mismatch]
259 | alloc_asan_context(ctxt, (dispatch_function_t)work, &stack);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
```
Commit: 23bcc239ac5730ef43815364ded12f2177502567
https://github.com/llvm/llvm-project/commit/23bcc239ac5730ef43815364ded12f2177502567
Author: Dan Blackwell <dan_blackwell at apple.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp
Log Message:
-----------
[TSan] Fix tsan_rtl_access printf type warnings (#151508)
When compiling TSan I currently get a handful of warnings like this:
"warning: format specifies type 'void *' but the argument has type 'X
*'". This patch adds the necessary casts to fix them.
Commit: d204fdcc231667090a327c444612ff0798f987e1
https://github.com/llvm/llvm-project/commit/d204fdcc231667090a327c444612ff0798f987e1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/vect.stats.ll
Log Message:
-----------
[LV] Add countable multi-exit test to vec.stats.ll
Currently the multi-exit loops with all countable exits are considered
vectorized with early exit, while that terminology is used for loops we
performed early-exit vectorization, instead of requring a scalar
epilogue.
Commit: d7c75629b27ce9fbe4f423247fcd2af9e038ef01
https://github.com/llvm/llvm-project/commit/d7c75629b27ce9fbe4f423247fcd2af9e038ef01
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
Log Message:
-----------
[clang][ExprConst] Call `FastEvaluateAsRValue` in `isCXX11ConstantExpr` (#151466)
This was one case where we didn't call `FastEvaluateAsRValue` before
going through `EvaluateAsRValue`.
Also replace the `EvalResult` parameter with an `APValue` one, since
`FastEvaluateAsRVaule` only needs that.
Small gains:
https://llvm-compile-time-tracker.com/compare.php?from=112af8e62e734938547d50eeb7b416c8dd666f45&to=b2ea804b9e22b7f37eb1b07b01c0a8057275fe4a&stat=instructions:u
Commit: 4a509f853fa4821ecdb0f6bc3b90ddd48794cc8c
https://github.com/llvm/llvm-project/commit/4a509f853fa4821ecdb0f6bc3b90ddd48794cc8c
Author: A. Jiang <de34 at live.cn>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/tuple
M libcxx/include/version
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/optional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/eq.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/lt.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/size_incompatible_three_way.compile.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/three_way.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Implement comparison operators for `tuple` added in C++23 (#148799)
And constrain the new `operator==` since C++26.
This patch implements parts of P2165R4, P2944R3, and a possibly improved
resolution of LWG3882. Currently, libstdc++ and MSVC STL constrain the
new overloads in the same way.
Also set feature-test macro `__cpp_lib_constrained_equality` and add
related release note, as P2944R3 will completed with this patch.
Fixes #136765
Fixes #136770
Fixes #105424
Commit: a96d8aed984210fedcee2ff1c7d7968e72843191
https://github.com/llvm/llvm-project/commit/a96d8aed984210fedcee2ff1c7d7968e72843191
Author: James Newling <james.newling at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/canonicalize/vector-from-elements.mlir
A mlir/test/Dialect/Vector/canonicalize/vector-splat.mlir
M mlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir
Log Message:
-----------
[mlir][vector] vector.splat and vector.broadcast folding/canonicalizing parity (#150284)
This PR ensures parity in folding/canonicalizing of vector.broadcast
(from a scalar) and vector.splat. This means that by using
vector.broadcast instead of vector.splat (which is currently
deprecated), there is no loss in optimizations performed. All tests
which were previously checking folding/canonicalizing of vector.splat
are now done for vector.broadcast. The vector.splat canonicalization
tests are now in a separate file, ready for removal when, in the future,
we remove vector.splat completely.
This PR also adds a canonicalizer to vector.splat to always convert it
to vector.broadcast. This is to reduce the 'traffic' through
vector.splat.
There is a chance that this PR will break downstream users who create/expect
for vector.splat. Changing all such logic to work just vector.broadcast instead
should fix.
Commit: e7200c734df9ac75c07923823d57f320ac03fe67
https://github.com/llvm/llvm-project/commit/e7200c734df9ac75c07923823d57f320ac03fe67
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/min-max.ll
M llvm/test/Analysis/CostModel/AArch64/sve-min-max.ll
A llvm/test/Transforms/LoopVectorize/AArch64/pr151664-cost-hoisted-vector-scalable.ll
Log Message:
-----------
[LV] Pre-commit test for #151664 (#151671)
Hoisted vector instructions are costed incorrectly.
Commit: 25c07763f76700fdfe8fa568ae2b1e36bc8a7e84
https://github.com/llvm/llvm-project/commit/25c07763f76700fdfe8fa568ae2b1e36bc8a7e84
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
A clang/test/CIR/CodeGenOpenACC/combined-private-clause.cpp
A clang/test/CIR/CodeGenOpenACC/compute-private-clause.cpp
A clang/test/CIR/CodeGenOpenACC/loop-private-clause.cpp
M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[OpenACC][CIR] Implement 'private' clause lowering. (#151360)
The private clause is the first with 'recipes', so a lot of
infrastructure is included here, including some MLIR dialect changes
that allow simple adding of a privatization. We'll likely get similar
for firstprivate and reduction.
Also, we have quite a bit of infrastructure in clause lowering to make
sure we have most cases we could think of covered.
At the moment, ONLY private is implemented, so all it requires is an
'init' segment (that doesn't call any copy operations), and potentially
a 'destroy' segment. However, actually calling 'init' functions on each
of the elements in them are not properly implemented, and will be in a
followup patch.
This patch implements all of that, and adds tests in a way that will be
useful for firstprivate as well.
Commit: 2f33b01651b1041682bab363e556ff1a396262fc
https://github.com/llvm/llvm-project/commit/2f33b01651b1041682bab363e556ff1a396262fc
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/lib/Lower/Bridge.cpp
Log Message:
-----------
[flang] Ensure lowering diagnostic handler does not outlive lowering (#151608)
When the LoweringBridge is created, it registers an MLIR Diagnostics
handler with the MLIRContext. However, it never deregisters it once
lowering is finished.
This fixes this particular scenario. It also makes it so that the
Diagnostics handler is optional.
Commit: 96d1571a2fc68061b3e007d0502c49923363ba49
https://github.com/llvm/llvm-project/commit/96d1571a2fc68061b3e007d0502c49923363ba49
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/include/clang/CIR/CIRGenerator.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
Log Message:
-----------
[CIR] Add diagnostic for NYI AST visitor handlers (#151561)
A couple of handlers that were missing from the CIRGenerator AST visitor
allowed important features to be silently ignored during CIR generation.
This change adds these handlers with diagnostics to report that they are
not yet handled (except in the case where only debug information is
missed).
Commit: 17327482f045b7119e116320db3e9c12fcf250ae
https://github.com/llvm/llvm-project/commit/17327482f045b7119e116320db3e9c12fcf250ae
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
A clang/test/Analysis/engine/gh151711.cpp
Log Message:
-----------
[Analyzer] No longer crash with VLA operands to unary type traits (#151719)
sizeof was handled correctly, but __datasizeof and _Countof were not.
Fixes #151711
Commit: 3d098f78bfa82bfae5242402d4b8201b1ec38d06
https://github.com/llvm/llvm-project/commit/3d098f78bfa82bfae5242402d4b8201b1ec38d06
Author: barsolo2000 <barsolo at meta.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/bindings/interface/SBMemoryRegionInfoDocstrings.i
M lldb/include/lldb/API/SBMemoryRegionInfo.h
Log Message:
-----------
[LLDB] Update SBMemoryRegionInfo doc strings to document len and str (#149903)
Updated SBMemoryRegionInfo doc strings:
- Added detailed documentation for the GetDescription() method.
- Included information about the overwritten len() and str() functions
for the SBMemoryRegionInfo type, explaining their behavior and usage.
---------
Co-authored-by: Bar Soloveychik <barsolo at fb.com>
Commit: 7c2f109811181a227ffd784c046ed8d475173f8f
https://github.com/llvm/llvm-project/commit/7c2f109811181a227ffd784c046ed8d475173f8f
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
A flang/test/Semantics/OpenMP/if-clause-45.f90
A flang/test/Semantics/OpenMP/if-clause-50.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[flang][OpenMP] Check for OpenMP 5.0+ for the if clause on "do simd" (#151154)
The "if" clause on "do simd" is only supported from OpenMP version 5.0.
Currently the tablegen for OMP_DoSimd does not restrict it, leading to
an ICE if the clause is used with an older OpenMP version as opposed to
a semantic error. Restrict the version to show the correct semantic
error.
Add flang tests for using the if clause with -fopenmp-version=45
and -fopenmp-version=50 to check for these types of errors.
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: a7425f900f6467dcbc7847ba0d80382e346a1030
https://github.com/llvm/llvm-project/commit/a7425f900f6467dcbc7847ba0d80382e346a1030
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
Log Message:
-----------
[RISCV] Use (i64 GPR:$rs1) instead of i64:$rs1 in isel patterns.
Commit: d28bb1fd786677fca73390a57972d3c722c30dcd
https://github.com/llvm/llvm-project/commit/d28bb1fd786677fca73390a57972d3c722c30dcd
Author: macurtis-amd <macurtis at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
A llvm/test/CodeGen/AMDGPU/bug-undef-spilled-agpr.mir
Log Message:
-----------
[AMDGPU] Ensure non-reserved CSR spilled regs are live-in (#146427)
Fixes:
```
*** Bad machine code: Using an undefined physical register ***
- function: widget
- basic block: %bb.0 bb (0x564092cbe140)
- instruction: $vgpr63 = V_ACCVGPR_READ_B32_e64 killed $agpr13, implicit $exec
- operand 1: killed $agpr13
LLVM ERROR: Found 1 machine code errors.
```
The detailed sequence of events that led to this assert:
1. MachineVerifier fails because `$agpr13` is not defined on line 19
below:
``` 1: bb.0.bb:
2: successors: %bb.1(0x80000000); %bb.1(100.00%)
3: liveins: $agpr14, $agpr15, $sgpr12, $sgpr13, $sgpr14, \
4: $sgpr15, $sgpr30, $sgpr31, $sgpr34, $sgpr35, \
5: $sgpr36, $sgpr37, $sgpr38, $sgpr39, $sgpr48, \
6: $sgpr49, $sgpr50, $sgpr51, $sgpr52, $sgpr53, \
7: $sgpr54, $sgpr55, $sgpr64, $sgpr65, $sgpr66, \
8: $sgpr67, $sgpr68, $sgpr69, $sgpr70, $sgpr71, \
9: $sgpr80, $sgpr81, $sgpr82, $sgpr83, $sgpr84, \
10: $sgpr85, $sgpr86, $sgpr87, $sgpr96, $sgpr97, \
11: $sgpr98, $sgpr99, $vgpr0, $vgpr31, $vgpr40, $vgpr41, \
12: $sgpr4_sgpr5, $sgpr6_sgpr7, $sgpr8_sgpr9, \
13: $sgpr10_sgpr11
14: $sgpr16 = COPY $sgpr33
15: $sgpr33 = frame-setup COPY $sgpr32
16: $sgpr18_sgpr19 = S_XOR_SAVEEXEC_B64 -1, \
17: implicit-def $exec, implicit-def dead $scc, \
18: implicit $exec
19: $vgpr63 = V_ACCVGPR_READ_B32_e64 killed $agpr13, \
20: implicit $exec
21: BUFFER_STORE_DWORD_OFFSET killed $vgpr63, \
22: $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr33, 0, 0, 0, \
23: implicit $exec :: (store (s32) into %stack.38, \
24: addrspace 5)
25: ...
26: $vgpr43 = IMPLICIT_DEF
27: $vgpr43 = SI_SPILL_S32_TO_VGPR $sgpr15, 0, \
28: killed $vgpr43(tied-def 0)
29: $vgpr43 = SI_SPILL_S32_TO_VGPR $sgpr14, 1, \
30: killed $vgpr43(tied-def 0)
31: $sgpr100_sgpr101 = S_OR_SAVEEXEC_B64 -1, \
32: implicit-def $exec, implicit-def dead $scc, \
33: implicit $exec
34: renamable $agpr13 = COPY killed $vgpr43, implicit $exec
```
2. That instruction is created by
[`emitCSRSpillStores`](https://github.com/llvm/llvm-project/blob/d599bdeaa49d7a2b1246328630328d23ddda5a47/llvm/lib/Target/AMDGPU/SIFrameLowering.cpp#L977)
(called by
[`SIFrameLowering::emitPrologue`](https://github.com/llvm/llvm-project/blob/d599bdeaa49d7a2b1246328630328d23ddda5a47/llvm/lib/Target/AMDGPU/SIFrameLowering.cpp#L1122))
because `$agpr13` is in `WWMSpills`.
See lines 982, 998, and 993 below.
```
977: // Spill Whole-Wave Mode VGPRs. Save only the inactive lanes of the
scratch
978: // registers. However, save all lanes of callee-saved VGPRs. Due to
this, we
979: // might end up flipping the EXEC bits twice.
980: Register ScratchExecCopy;
981: SmallVector<std::pair<Register, int>, 2> WWMCalleeSavedRegs,
WWMScratchRegs;
982: FuncInfo->splitWWMSpillRegisters(MF, WWMCalleeSavedRegs,
WWMScratchRegs);
983: if (!WWMScratchRegs.empty())
984: ScratchExecCopy =
985: buildScratchExecCopy(LiveUnits, MF, MBB, MBBI, DL,
986: /*IsProlog*/ true, /*EnableInactiveLanes*/ true);
987:
988: auto StoreWWMRegisters =
989: [&](SmallVectorImpl<std::pair<Register, int>> &WWMRegs) {
990: for (const auto &Reg : WWMRegs) {
991: Register VGPR = Reg.first;
992: int FI = Reg.second;
993: buildPrologSpill(ST, TRI, *FuncInfo, LiveUnits, MF, MBB, MBBI, DL,
994: VGPR, FI, FrameReg);
995: }
996: };
997:
998: StoreWWMRegisters(WWMScratchRegs);
```
3. `$agpr13` got added to `WWMSpills` by
[`SILowerWWMCopies::run`](https://github.com/llvm/llvm-project/blob/59a7185dd9d69cbf737a98f5c2d1cf3d456bee03/llvm/lib/Target/AMDGPU/SILowerWWMCopies.cpp#L137)
as it processed the `WWM_COPY` on line 3 below (corresponds to line 34
above in point #_1_):
```
1: %45:vgpr_32 = SI_SPILL_S32_TO_VGPR $sgpr15, 0, %45:vgpr_32(tied-def
0)
2: %45:vgpr_32 = SI_SPILL_S32_TO_VGPR $sgpr14, 1, %45:vgpr_32(tied-def
0)
3: %44:av_32 = WWM_COPY %45:vgpr_32
```
Commit: d77e339e7ba3af21e92ad7f7d17fc8ad1d5dd5b4
https://github.com/llvm/llvm-project/commit/d77e339e7ba3af21e92ad7f7d17fc8ad1d5dd5b4
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/Transforms/Reassociate/fast-ReassociateVector.ll
Log Message:
-----------
[NFC][LLVM] Make test resilent to value of use-constant-*-splat flags.
Ensure Transforms/Reassociate/fast-ReassociateVector.ll passes when
UseConstantIntForFixedLengthSplat defaults to true.
Commit: 6c072c06cc59b56f83014450afe82f03666407ad
https://github.com/llvm/llvm-project/commit/6c072c06cc59b56f83014450afe82f03666407ad
Author: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/Target/SPIRV/constant.mlir
Log Message:
-----------
[mlir][spirv] Fix verification and serialization replicated constant … (#151168)
…composites of multi-dimensional array
This fixes a bug in verification and serialization of replicated
constant composite ops where the splat value can potentially be a
multi-dimensional array.
---------
Signed-off-by: Mohammadreza Ameri Mahabadian <mohammadreza.amerimahabadian at arm.com>
Commit: 401e72c830e4ac7ea334e9e62366bc50f72fbfeb
https://github.com/llvm/llvm-project/commit/401e72c830e4ac7ea334e9e62366bc50f72fbfeb
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ssegN-load.ll
Log Message:
-----------
[RISCV] Add intrinsics for strided segment loads with fixed vectors (#151611)
These intrinsics are the strided version of `llvm.riscv.segN.load`
intrinsics.
Commit: 4c80193a58a5c24e2bbebe291feb406191c4e2ab
https://github.com/llvm/llvm-project/commit/4c80193a58a5c24e2bbebe291feb406191c4e2ab
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/test/Analysis/undef-call.c
M clang/test/CodeGen/thinlto_backend.ll
M clang/test/CodeGenCXX/module-intializer-pmf.cpp
M clang/test/CodeGenCXX/profile-remap.cpp
M clang/test/Driver/HLSL/metal-converter.hlsl
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/check-time-trace-ParseDeclarationOrFunctionDefinition.cpp
M clang/test/Driver/cl-showfilenames.c
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/mingw-sysroot.cpp
M clang/test/Modules/implicit-module-header-maps.cpp
M clang/test/Preprocessor/lang-std.cpp
Log Message:
-----------
Revert "[clang] Remove %T from tests (#151614)"
This reverts commit 5a586375aa3a128dadc9473cfa196bf8588c2a82.
This breaks two buildbots with failures in
implicit-module-header-maps.cpp. No idea why these failures are
occurring.
https://lab.llvm.org/buildbot/#/builders/64/builds/5166
https://lab.llvm.org/buildbot/#/builders/13/builds/8725
Commit: 46f6e62eb9ea01e43ec45961e68c22f9c00b0a27
https://github.com/llvm/llvm-project/commit/46f6e62eb9ea01e43ec45961e68c22f9c00b0a27
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/unittests/Support/CommandLineTest.cpp
M llvm/unittests/Support/DynamicLibrary/PipSqueak.h
M llvm/unittests/Support/VirtualFileSystemTest.cpp
Log Message:
-----------
[LLVM][Support] Fix tests on Cygwin (#151417)
Cygwin returns -1 for `getconf(_SC_ARG_MAX)`, which makes
`llvm::sys::commandLineFitsWithinSystemLimits` always return true, so
skip the `ArgumentLimit` test in that case. Skip the
`ArgumentLimitWindows` and `ResponseFileWindows` tests on Cygwin also as
it doesn't suffer from the Windows limits either.
Cygwin requires the same `dllexport` annotation as Win32 in the
`DynamicLibrary` test, so add its preprocessor check to PipSqueak.h.
Cygwin's `getcwd` function does not fail with `ENOENT` if the current
working directory is unlinked. According to POSIX issue 8, this is not
required. Skip the `PhysicalFileSystemWorkingDirFailure` test on Cygwin
as it relies on this behavior.
Commit: 78c57c9b026277a293099d3aaecaa1d568898878
https://github.com/llvm/llvm-project/commit/78c57c9b026277a293099d3aaecaa1d568898878
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/pr151664-cost-hoisted-vector-scalable.ll
Log Message:
-----------
[LV] Fix missing REQUIRES: asserts in test (#151737)
e7200c7 ([LV] Pre-commit test for #151664) forgot to require asserts in
the test, and stripped a CHECK line in error. Fix this.
Commit: bda9272591c478d6fde6da66d10ad47fe8169360
https://github.com/llvm/llvm-project/commit/bda9272591c478d6fde6da66d10ad47fe8169360
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/ClangScanDeps/modules-debug-dir.c
Log Message:
-----------
[clang][ScanDeps] Clear compilation directory if needed (#150129)
During explicit module build, clear the compilation directory flags when
CWD optimization is on. Now clang CodeGen will not add compilation
directories to DIFile when the corresponding flags are not passed and
make debug info not dependent on CWD.
Commit: 558277ae4db665bea93686db4b4538c1c2c0cf4d
https://github.com/llvm/llvm-project/commit/558277ae4db665bea93686db4b4538c1c2c0cf4d
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/Basic/Targets/ARM.cpp
M clang/test/CodeGen/atomic-arm.c
M clang/test/CodeGen/pr45476.cpp
Log Message:
-----------
[clang][ARM] Fix setting of MaxAtomicInlineWidth. (#151404)
2f497ec3a0056f15727ee6008211aeb2c4a8f455 updated the backend's rules for
when lock-free atomics are available, but we never made a corresponding
change to the frontend. Fix it to be consistent. This only affects
targets older than v7.
Commit: afce9320ca40bcab0c08b59576a3afffff3cf171
https://github.com/llvm/llvm-project/commit/afce9320ca40bcab0c08b59576a3afffff3cf171
Author: YixingZhang007 <yixing.zhang at intel.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/test/Dialect/SPIRV/IR/arithmetic-ops.mlir
M mlir/test/Dialect/SPIRV/IR/bit-ops.mlir
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Dialect/SPIRV/IR/group-ops.mlir
M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
M mlir/test/Dialect/SPIRV/IR/intel-ext-ops.mlir
M mlir/test/Dialect/SPIRV/IR/khr-cooperative-matrix-ops.mlir
M mlir/test/Dialect/SPIRV/IR/logical-ops.mlir
M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
M mlir/test/Dialect/SPIRV/IR/ocl-ops.mlir
Log Message:
-----------
[mlir][spirv] Enforce Fixed-Size Vectors for SPIR-V (#151738)
This PR enforces that SPIR-V instructions only allow fixed-size vectors
(no scalable vectors) by updating `SPIRV_VectorOf` to use
`FixedVectorOfLengthAndType` instead of `VectorOfLengthAndType`. The
affected MLIR tests are also updated accordingly.
Commit: b36f05ce48bd714182481765ac14fcaff129639f
https://github.com/llvm/llvm-project/commit/b36f05ce48bd714182481765ac14fcaff129639f
Author: enh-google <enh at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M libc/src/wchar/wcstok.cpp
M libc/test/src/wchar/wcstok_test.cpp
Log Message:
-----------
[libc] Fix wcstok() "subsequent searches" behavior. (#151589)
POSIX says "If no such wide-character code is found, the current token
extends to the end of the wide-character string pointed to by ws1, and
subsequent searches for a token shall return a null pointer", but the
current implementation only returns nullptr the first time. This failed
an existing bionic test when I tried to switch over to llvm-libc
wcstok().
Commit: 149d4b503391b4643f3085bd82e19eae69e5e3fb
https://github.com/llvm/llvm-project/commit/149d4b503391b4643f3085bd82e19eae69e5e3fb
Author: Jaden Angella <ajaden at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/EmitC/Transforms/WrapFuncInClass.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/mlir-translate/emitc_classops.mlir
Log Message:
-----------
[mlir][EmitC]Allow Fields to have initial values (#151437)
This will ensure that:
- The `field` of a class can have an initial value
- The `field` op is emitted correctly
- The `getfield` op is emitted correctly
Commit: 605f652cba726b40e25dc63765e58e40c79c2fe6
https://github.com/llvm/llvm-project/commit/605f652cba726b40e25dc63765e58e40c79c2fe6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_sched_param.h
M libc/src/sched/linux/CMakeLists.txt
M libc/src/sched/sched_getparam.h
M libc/src/sched/sched_setparam.h
M libc/src/sched/sched_setscheduler.h
M libc/test/src/sched/CMakeLists.txt
M libc/test/src/sched/param_and_scheduler_test.cpp
M libc/test/src/sched/sched_rr_get_interval_test.cpp
Log Message:
-----------
[libc] Add struct_sched_param proxy header (#151722)
This enables cleaning up the remaining sched.h includes littered around
the code base.
Commit: a304e09fe767eb6e15680602cdabf5c405894061
https://github.com/llvm/llvm-project/commit/a304e09fe767eb6e15680602cdabf5c405894061
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/test/CIR/CodeGen/cleanup.cpp
Log Message:
-----------
[CIR] Handle expression with cleanups (#151600)
This adds code to handle expressions with cleanup, including
materializing a temporary object for the expression.
Commit: 4820b183a8d3a1b22dcc374f67ce89c8c01361b1
https://github.com/llvm/llvm-project/commit/4820b183a8d3a1b22dcc374f67ce89c8c01361b1
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRSimplify.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR] Simplify ConstantOp accesses and its getDefiningOp (#151216)
- Replaces dyn_cast<cir::ConstantOp>(v.getDefiningOp()) and similar with v.getDefiningOp<cir::ConstantOp>()
- Adds `getValueAttr` method to ConstantOp
Commit: c188e1db6a4c469f5ad92c4ce088fd113335410f
https://github.com/llvm/llvm-project/commit/c188e1db6a4c469f5ad92c4ce088fd113335410f
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
A clang/test/CIR/CodeGen/virtual-function-calls.cpp
Log Message:
-----------
[CIR] Add vptr type and generate vptr field when needed (#151377)
This adds a new CIR type, cir.vptr, and generates a field of that type
when a record is declared that requires a vptr member.
Commit: 0b37de296833f2bd860d735b671f0612f3c194a4
https://github.com/llvm/llvm-project/commit/0b37de296833f2bd860d735b671f0612f3c194a4
Author: Thomas Raoux <thomas.raoux at openai.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
M mlir/test/Conversion/SCFToControlFlow/convert-to-cfg.mlir
Log Message:
-----------
[MLIR][SCF] Propagate loop annotation during while op lowering (#151746)
This is expanding on https://github.com/llvm/llvm-project/pull/102562
This allows also propagating attributes for scf.while lowering
Commit: b63a9b7a3cdc1e41545df595215077e50bfd04af
https://github.com/llvm/llvm-project/commit/b63a9b7a3cdc1e41545df595215077e50bfd04af
Author: YixingZhang007 <yixing.zhang at intel.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVIntelExtOps.td
M mlir/lib/Dialect/SPIRV/IR/CastOps.cpp
M mlir/test/Dialect/SPIRV/IR/intel-ext-ops.mlir
M mlir/test/Target/SPIRV/intel-ext-ops.mlir
Log Message:
-----------
[mlir][spirv] Add OpExtension "SPV_INTEL_tensor_float32_conversion" (#151337)
This PR provides the support for the capability
`TensorFloat32RoundingINTEL` and the instruction `OpRoundFToTF32INTE`L,
as specified by the `SPV_INTEL_tensor_float32_conversion` extension.
This extension introduces a rounding instruction that converts standard
32-bit floating-point values to the TensorFloat32 (TF32) format.
Reference Specification:
https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/INTEL/SPV_INTEL_tensor_float32_conversion.asciidoc
Commit: 9fdb5e1fef223c777d9cdf2f6d5eaffb33c59b0d
https://github.com/llvm/llvm-project/commit/9fdb5e1fef223c777d9cdf2f6d5eaffb33c59b0d
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Support/APFloat.cpp
M llvm/unittests/ADT/APFloatTest.cpp
Log Message:
-----------
[APFloat] Properly implement next for DoubleAPFloat
Rather than converting to the legacy 106-bit format, perform next() on the
low APFloat. Of course, we need to renormalize the two APFloats if
either of the two constraints are violated:
1. abs(low) <= ulp(high)/2
2. high = rtne(high + low)
Should renormalization be needed, it will increment the high component
and set low to the smallest value which obeys these rules.
Commit: dc90472532702b202e93839c6d980d3b584a60cf
https://github.com/llvm/llvm-project/commit/dc90472532702b202e93839c6d980d3b584a60cf
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/Transforms/MemProfContextDisambiguation/iterative_merge.ll
M llvm/test/Transforms/MemProfContextDisambiguation/mergenodes.ll
M llvm/test/Transforms/MemProfContextDisambiguation/mergenodes2.ll
Log Message:
-----------
[MemProf] Ensure node merging happens for newly created nodes (#151593)
We weren't performing node merging on newly created nodes in some cases.
Use a simple iteration over the node and its callers until no more
opportunities are found. I confirmed that for several large codes the
max iterations is 3 (meaning we only needed to do any work on the first
2, as expected). This can potentially be made more elegant in the
future, but it is a simple and effective solution.
Also fix a bug exposed by the test case, getting the function for a call
instruction in the FullLTO handling, using an existing method to look
through aliases if needed.
Commit: 55c2b273ea5d3b949c6431d429a4da20612d9808
https://github.com/llvm/llvm-project/commit/55c2b273ea5d3b949c6431d429a4da20612d9808
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/test/API/functionalities/memory/cache/main.cpp
Log Message:
-----------
[lldb] Ensure that TestMemoryCache.py reads allocated memory (#151635)
The test reads 400 bytes of memory above the local variable. If the
stack is shallow, this can reach non-allocated space, resulting in a
test failure. The patch fixes the issue by reserving enough space in
the upper stack frame.
Commit: eee9755881bf39bc15e6e05697abbbfabb51cb78
https://github.com/llvm/llvm-project/commit/eee9755881bf39bc15e6e05697abbbfabb51cb78
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
Log Message:
-----------
[LV] Refine check to find epilogue IV resume value.
Make sure to check that the vector trip count is containedin the list of
incoming values to serve as tie-breaker with phis with all-zero incoming
values.
Fixes https://github.com/llvm/llvm-project/issues/151686.
Commit: 12eab1a7b82d8db0e781862902b674332298162f
https://github.com/llvm/llvm-project/commit/12eab1a7b82d8db0e781862902b674332298162f
Author: Artem Belevich <tra at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Driver/cuda-arch-translation.cu
M clang/test/Driver/cuda-options.cu
Log Message:
-----------
[CUDA] Use --image3 to construct fat binary (#151760)
CUDA-12.9 has removed fatbinary tool's `--image` argument we've been
using till now.
--image3 has been supported since cuda-9, so we do not need CUDA SDK
version checks.
Commit: c0fa4323150c36ef6c9512b19b45ddc88805dc03
https://github.com/llvm/llvm-project/commit/c0fa4323150c36ef6c9512b19b45ddc88805dc03
Author: YixingZhang007 <yixing.zhang at intel.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_tensor_float32_conversion/tf32-conv-negative1.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_tensor_float32_conversion/tf32-conv-negative2.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_tensor_float32_conversion/tf32-conv.ll
Log Message:
-----------
[SPIR-V] Add support for the SPIR-V extension SPV_INTEL_tensor_float32_conversion (#150090)
This PR introduces the support for the SPIR-V extension
`SPV_INTEL_tensor_float32_conversion` and the corresponding OpenCL
extension `cl_intel_tensor_float32_conversions`.
This extension introduces a rounding instruction that converts standard
32-bit floating-point values to the TensorFloat32 (TF32) format.
Reference Specification:
https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/INTEL/SPV_INTEL_tensor_float32_conversion.asciidoc
Commit: c696ecddeea74fd3289234ea7b82083ef90c7189
https://github.com/llvm/llvm-project/commit/c696ecddeea74fd3289234ea7b82083ef90c7189
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
A llvm/test/CodeGen/AArch64/arm64ec-available-externally.ll
Log Message:
-----------
[win][arm64ec] Handle `available_externally` functions (#151610)
While testing Arm64EC, I observed that LLVM crashes when an
`available_externally` function is used as it tries to place it in a
COMDAT, which is not permitted by the verifier.
This the fix from #151409 plus a dedicated test.
Commit: 920079b7935352c28385c17bc8c36256bebcd279
https://github.com/llvm/llvm-project/commit/920079b7935352c28385c17bc8c36256bebcd279
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/atan2f128.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/atan2f128.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atan2f128.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 atan2f128 implementation to header-only in src/__support/math folder. (#151012)
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: 23022a4683b61c5705fe6bf756b5f33648bd3fbc
https://github.com/llvm/llvm-project/commit/23022a4683b61c5705fe6bf756b5f33648bd3fbc
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/cmp-select-sign.ll
Log Message:
-----------
[SelectionDAG] Move sign pattern check from AArch64 and ARM to general SelectionDAG (#151736)
This works on all cases much like the XOR case above it in SelectionDAG.
Commit: 66e8163f53cacc704aab9d4c81f208727e37d3d0
https://github.com/llvm/llvm-project/commit/66e8163f53cacc704aab9d4c81f208727e37d3d0
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
A llvm/test/CodeGen/NVPTX/byval-arg-vectorize.ll
M llvm/test/CodeGen/NVPTX/convert-call-to-indirect.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/param-vectorize-device.ll
Log Message:
-----------
[NVPTX] Vectorize loads when lowering of byval calls, misc. cleanup (#151070)
This change rewrites LowerCall handling of byval arguments to vectorize
the loads in addition to the stores. In addition various minor NFC
updates and cleanups are made to reduce code duplication.
Commit: df392b518b7e187f72c036a611feca75ea8b796b
https://github.com/llvm/llvm-project/commit/df392b518b7e187f72c036a611feca75ea8b796b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
Log Message:
-----------
[lldb] Reimplment PyRun_String using the Python stable C API (#151761)
Reimplement `PyRun_String` using `Py_CompileString` and`
PyEval_EvalCode`, which are part of the stable C API.
Part of #151617
Commit: c3b5f1cfe9e3eb4261ed768b4dfb6153b49b675a
https://github.com/llvm/llvm-project/commit/c3b5f1cfe9e3eb4261ed768b4dfb6153b49b675a
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.cpp
Log Message:
-----------
[lldb] Fix incorrect conversion from boolean in RegisterContextThreadMemory (#151767)
The method ConvertRegisterKindToRegisterNumber should return
INVALID_REGNUM, and not "false" upon failure: false would mean 0 which
is usually the number for generic PC.
Likewise, NumSupportedHardwareBreakpoints should return 0 instead of
false (though for this one they are equivalent).
Commit: 33abf05af4f8f7f80856bd018d117c98f8807e87
https://github.com/llvm/llvm-project/commit/33abf05af4f8f7f80856bd018d117c98f8807e87
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 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/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.gfx1250.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] gfx1250 v_permlane_* instructions (#151749)
Commit: 4d1ae58d9e1d679cd0f35ce935579df221b14882
https://github.com/llvm/llvm-project/commit/4d1ae58d9e1d679cd0f35ce935579df221b14882
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
Log Message:
-----------
[lldb] Reimplment PyRun_SimpleString using the Python stable C API (#151777)
Reimplment `PyRun_SimpleString` using the Python stable C API and the
`RunString` helper.
Part of https://github.com/llvm/llvm-project/issues/151617
Commit: 3b92e83121e6ba23665d7f60ad5474d4c7f5fe03
https://github.com/llvm/llvm-project/commit/3b92e83121e6ba23665d7f60ad5474d4c7f5fe03
Author: Artem Belevich <tra at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/Headers/__clang_cuda_runtime_wrapper.h
Log Message:
-----------
[CUDA] Do not include obsolete texture_fetch_functions.h (#151766)
Commit: 154354e60e46debb68716cde867cb4e325ce5eb7
https://github.com/llvm/llvm-project/commit/154354e60e46debb68716cde867cb4e325ce5eb7
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
Log Message:
-----------
[lldb] Remove unused PythonObject::Dump (NFC) (#151783)
PythonObject::Dump isn't called and uses `_PyObject_Dump`, which isn't
part of the stable API.
Part of https://github.com/llvm/llvm-project/issues/151617.
Commit: 99cd1d8aef2e1be8a0571eec47b4527ca5ad59d4
https://github.com/llvm/llvm-project/commit/99cd1d8aef2e1be8a0571eec47b4527ca5ad59d4
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/atanhf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/atanhf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atanhf.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 atanhf implementation to header-only in src/__support/math folder. (#151399)
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: 49a24b3116236d65cc2541e8d176ecf9dcb152db
https://github.com/llvm/llvm-project/commit/49a24b3116236d65cc2541e8d176ecf9dcb152db
Author: Bill Wendling <morbo at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/attr-counted-by.c
Log Message:
-----------
[CodeGen][counted_by] Support use of the comma operator (#151776)
Writing something like this:
__builtin_dynamic_object_size((0, p->array), 0)
is equivalent to writing this:
__builtin_dynamic_object_size(p->array, 0)
though the former will give a warning about the first value being
unused.
Commit: 65990d61486c44186daec8e3c0831a32780b3e1d
https://github.com/llvm/llvm-project/commit/65990d61486c44186daec8e3c0831a32780b3e1d
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/tools/lli/lli.cpp
Log Message:
-----------
[lli] Fix crash with --no-process-syms on MinGW (#151386)
In this case, `J->getProcessSymbolsJITDylib()` returns a NULL pointer.
In order to make sure `__main` is still defined, add the symbol to
`J->getMainJITDylib()` instead in that case. This returns a reference
and thus cannot be NULL.
Fixes #143080
Commit: 962ee7a5688d4156e0cf035422a26d273563643f
https://github.com/llvm/llvm-project/commit/962ee7a5688d4156e0cf035422a26d273563643f
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 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/VOP3Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk8.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] gfx1250 v_cvt_scalef32_pk8_* instructions (#151758)
Commit: 8934a6e13bd8d2a0ad2609bd62832ca700dab3a7
https://github.com/llvm/llvm-project/commit/8934a6e13bd8d2a0ad2609bd62832ca700dab3a7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M offload/DeviceRTL/src/State.cpp
Log Message:
-----------
[OpenMP] Use the `libc` malloc for AMDGPU if available (#151241)
Summary:
This patch enables the OpenMP runtime to use the general-purpose
`malloc` interface in `libc` if the user built OpenMP with it enabled.
All this requires is keeping `malloc` as an external function so it will
be resolved later by the linker.
Commit: 4205da0f130cf86ae6b89bfc36723e7ddba9b0b7
https://github.com/llvm/llvm-project/commit/4205da0f130cf86ae6b89bfc36723e7ddba9b0b7
Author: James Y Knight <jyknight at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/Utils.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Interpreter/CodeCompletion.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/libclang/CIndexCodeCompletion.cpp
M clang/tools/libclang/CXIndexDataConsumer.cpp
M clang/tools/libclang/CXIndexDataConsumer.h
M clang/tools/libclang/Indexing.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/ExternalASTSourceTest.cpp
M clang/unittests/Frontend/ASTUnitTest.cpp
M clang/unittests/Frontend/FrontendActionTest.cpp
M clang/unittests/Frontend/PCHPreambleTest.cpp
M clang/unittests/Frontend/ReparseWorkingDirTest.cpp
M clang/unittests/Sema/ExternalSemaSourceTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/Syntax/TokensTest.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.h
M clang/unittests/Tooling/ToolingTest.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
Log Message:
-----------
NFC: Clean up of IntrusiveRefCntPtr construction from raw pointers. (#151782)
This commit handles the following types:
- clang::ExternalASTSource
- clang::TargetInfo
- clang::ASTContext
- clang::SourceManager
- clang::FileManager
Part of cleanup #151026
Commit: cc3932bf290fce1ba13102fbe1af9e1758323f55
https://github.com/llvm/llvm-project/commit/cc3932bf290fce1ba13102fbe1af9e1758323f55
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 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/VOP3Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx1250.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] gfx1250 v_cvt_scalef32_sr_pk8_* instructions (#151765)
Commit: 185a23e865c31145588276e7e0db2460e01eb703
https://github.com/llvm/llvm-project/commit/185a23e865c31145588276e7e0db2460e01eb703
Author: Justin Cai <justin.cai at intel.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
A llvm/include/llvm/Frontend/Offloading/PropertySet.h
M llvm/lib/Frontend/Offloading/CMakeLists.txt
A llvm/lib/Frontend/Offloading/PropertySet.cpp
M llvm/unittests/Frontend/CMakeLists.txt
A llvm/unittests/Frontend/PropertySetRegistryTest.cpp
Log Message:
-----------
[SYCL] Add property set types and JSON representation (#147321)
This PR adds the `PropertySet` type, along with a pair of functions used
to serialize and deserialize into a JSON representation. A property set
is a key-value map, with values being one of 2 types - uint32 or byte
array. A property set registry is a collection of property sets, indexed
by a "category" name.
In SYCL offloading, property sets will be used to communicate metadata
about device images needed by the SYCL runtime. For example, there is a
property set which has a byte array containing the numeric ID, offset,
and size of each SYCL2020 spec constant. Another example is a property
set describing the optional kernel features used in the module: does it
use fp64? fp16? atomic64?
This metadata will be computed by `clang-sycl-linker` and the JSON
representation will be inserted in the string table of each
output `OffloadBinary`. This JSON will be consumed the SYCL offload
wrapper and will be lowered to the binary form SYCL runtime expects.
For example, consider this SYCL program that calls a kernel that uses
fp64:
```c++
#include <sycl/sycl.hpp>
using namespace sycl;
class MyKernel;
int main() {
queue q;
auto *p = malloc_shared<double>(1, q);
*p = .1;
q.single_task<MyKernel>([=]{ *p *= 2; }).wait();
std::cout << *p << "\n";
free(p, q);
}
```
The device code for this program would have the kernel marked with
`!sycl_used_aspects`:
```
define spir_kernel void @_ZTS8MyKernel([...]) !sycl_used_aspects !n { [...] }
!n = {i32 6}
```
`clang-sycl-linker` would recognize this metadata and then would output
the following JSON in the `OffloadBinary`'s key-value map:
```
{
"SYCL/device requirements": {
// aspects contains a list of sycl::aspect values used
// by the module; in this case just the value 6 encoded
// as a 4-byte little-endian integer
"aspects": "BjAwMA=="
}
}
```
The SYCL offload wrapper would lower those property sets to something
like this:
```c++
struct _sycl_device_binary_property_set_struct {
char *CategoryName;
_sycl_device_binary_property *PropertiesBegin;
_sycl_device_binary_property *PropertiesEnd;
};
struct _sycl_device_binary_property_struct {
char *PropertyName;
void *ValAddr;
uint64_t ValSize;
};
//
_sycl_device_binary_property_struct device_requirements[] = {
/* PropertyName */ "aspects",
/* ValAddr */ [pointer to the bytes 0x06 0x00 0x00 0x00],
/* ValSize */ 4,
};
_sycl_device_binary_property_set_struct properties[] = {
/* CategoryName */ "SYCL/device requirements",
/* PropertiesBegin */ device_requirements,
/* PropertiesEnd */ std::end(device_requirments),
}
```
---------
Co-authored-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: 8039486706dcfa206e614715e5a131ee5b41e1df
https://github.com/llvm/llvm-project/commit/8039486706dcfa206e614715e5a131ee5b41e1df
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Frontend/Offloading/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn
Log Message:
-----------
[gn build] Port 185a23e865c3
Commit: 0988510ad436e3fc9e9526dda505c02a53d497a1
https://github.com/llvm/llvm-project/commit/0988510ad436e3fc9e9526dda505c02a53d497a1
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
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/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/TargetParser/TargetParser.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.perm.pk.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] gfx1250 v_perm_pk16_* instructions (#151773)
Commit: 1db2879a36d11b2e54826b2fc97174e61ad68474
https://github.com/llvm/llvm-project/commit/1db2879a36d11b2e54826b2fc97174e61ad68474
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/MC/MCAssembler.cpp
M llvm/test/MC/ELF/mc-dump.s
Log Message:
-----------
MCAssembler: Split evaluateFixup to Number of fixups and Number of fixup evaluations for relaxation
The number of fixups is a more important metric, guiding the data
structure optimization.
Commit: ee67f78776d0af64bc27cabcca62883f7a698467
https://github.com/llvm/llvm-project/commit/ee67f78776d0af64bc27cabcca62883f7a698467
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Frontend/Offloading/PropertySet.cpp
Log Message:
-----------
Fix error caused by reference to local binding (#151789)
This change fixes one of the failures in
https://github.com/llvm/llvm-project/pull/147321
Following code snippet:
`
for (const auto &[CategoryName, PropSet] : PSRegistry) {
J.attributeObject(CategoryName, [&] {
for (const auto &[PropName, PropVal] : PropSet) {
`
causes a build warning that is emitted as an error.
error: reference to local binding 'PropSet' declared in enclosing lambda
expression
This is resolved by capturing PropSet in a local variable.
Thanks
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: de7ee884a6ff50afc6379ee9febb4780ddedff11
https://github.com/llvm/llvm-project/commit/de7ee884a6ff50afc6379ee9febb4780ddedff11
Author: jinge90 <ge.jin at intel.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M compiler-rt/test/builtins/Unit/muldc3_test.c
Log Message:
-----------
Relax muldc3 test to avoid precision issue (#151663)
Commit: b075dadbd3e0e928bdeddb3d36af64e8a383e305
https://github.com/llvm/llvm-project/commit/b075dadbd3e0e928bdeddb3d36af64e8a383e305
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/unittests/Frontend/CMakeLists.txt
Log Message:
-----------
Add missing link component for Frontend offloading test (#151796)
This change fixes one of the failures in
https://github.com/llvm/llvm-project/pull/147321
/usr/bin/ld:
unittests/Frontend/CMakeFiles/LLVMFrontendTests.dir/PropertySetRegistryTest.cpp.o:
undefined reference to symbol
'_ZN4llvm10offloading21writePropertiesToJSONERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES1_IS7_St7variantIJjNS_11SmallVectorIhLj0EEEEESt4lessIS7_ESaISt4pairIKS7_SB_EEESD_SaISE_ISF_SI_EEERNS_11raw_ostreamE'
Need to add a missing LLVM link component in CMakeLists.txt.
Thanks
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: 5e3cc00060e3fc19996d3201360c5693bc3ecaa8
https://github.com/llvm/llvm-project/commit/5e3cc00060e3fc19996d3201360c5693bc3ecaa8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Frontend/Offloading/PropertySet.cpp
Log Message:
-----------
[Offloading] Fix a warning
This patch fixes:
llvm/lib/Frontend/Offloading/PropertySet.cpp:95:12: error: unused
variable '[It, Inserted]' [-Werror,-Wunused-variable]
Commit: a1c3c6554f0fe2a0404268c07017c315f52b5415
https://github.com/llvm/llvm-project/commit/a1c3c6554f0fe2a0404268c07017c315f52b5415
Author: Nathan Chancellor <nathan at kernel.org>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
A clang/test/Modules/specializations-lazy-load-parentmap-crash-analyzer.cpp
M clang/test/Modules/specializations-lazy-load-parentmap-crash.cpp
Log Message:
-----------
[clang][test] Split out staticanalyzer portion of Modules/specializations-lazy-load-parentmap-crash.cpp (#151259)
When the static analyzer is disabled with
-DCLANG_ENABLE_STATIC_ANALYZER=OFF, the newly added
specializations-lazy-load-parentmap-crash.cpp test fails with:
error: action RunAnalysis not compiled in
--
********************
********************
Failed Tests (1):
Clang :: Modules/specializations-lazy-load-parentmap-crash.cpp
Split out the part of the test that requires the static analyzer so that
it does not run when the static analyzer is unavailable.
Commit: 44500ae265cb537905e53b02d8c1e6ef7154a3bd
https://github.com/llvm/llvm-project/commit/44500ae265cb537905e53b02d8c1e6ef7154a3bd
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR] Use getDefiningOp<OpTy>() instead of dyn_cast<OpTy>(getDefiningOp()) (NFC) (#151217)
This applies similar changes to llvm/llvm-project#150428
Commit: af0be76a35a4edefcad778bd329fc44174c0e108
https://github.com/llvm/llvm-project/commit/af0be76a35a4edefcad778bd329fc44174c0e108
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanCFG.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Replace reverse RPOT with PO traversal (NFC) (#151757)
Commit: 69aa6a0bdd5adb2d48d3cfbea1a50135d68e0453
https://github.com/llvm/llvm-project/commit/69aa6a0bdd5adb2d48d3cfbea1a50135d68e0453
Author: Javed Absar <javed.absar at gmail.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/Quant/IR/QuantTypes.h
M mlir/lib/Dialect/Quant/IR/QuantTypes.cpp
Log Message:
-----------
[mlir][quant] Fix quantization example. (#151518)
Fix and improve code example
quic_mabsar at quicinc.com
Commit: eefc3d275f1e089cb400e697659c55d3ae05006d
https://github.com/llvm/llvm-project/commit/eefc3d275f1e089cb400e697659c55d3ae05006d
Author: Iris Shi <0.0 at owo.li>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateVariadic.cpp
A clang/test/FixIt/fixit-c++17.cpp
Log Message:
-----------
[clang][diagnostics] Fix fix-it hint parenthesis placement for fold expressions (#151790)
- Closes #151787
Insert the right parenthesis one token later to correctly enclose the
expression.
---------
Co-authored-by: Corentin Jabot <corentinjabot at gmail.com>
Commit: 0e40051565db1399b573b4bddc43c806ca86dc8d
https://github.com/llvm/llvm-project/commit/0e40051565db1399b573b4bddc43c806ca86dc8d
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy] Skip declarations in system headers in RenamerClangTidyC… (#151772)
…heck
One typically only wants to perform renaming operations in user code,
not in system headers (which are out of the user's control). Let's skip
those altogether.
This leads to performance improvements in clang-tidy. As a benchmark, I
run all checks on a .cpp file that #includes all C++ standard headers.
On trunk:
```
Suppressed 213362 warnings (213362 in non-user code).
real 0m14.422s
user 0m14.236s
sys 0m0.184s
```
On this patch:
```
Suppressed 75411 warnings (75411 in non-user code).
real 0m12.472s
user 0m12.334s
sys 0m0.136s
```
Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>
Commit: 41803a24140c3c53bbc82c7b61c7b196cf9d113a
https://github.com/llvm/llvm-project/commit/41803a24140c3c53bbc82c7b61c7b196cf9d113a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpState.cpp
Log Message:
-----------
[clang][bytecode] Replace MoveFn With DtorFn + memcpy (#151717)
First, the old MoveFn was rather inefficient, since the dead data cannot
ever be accessed anyway.
Second, there was a problem where the only reason a block still had a
pointer to it (and thus was made into a DeadBlock instead of simply
being deallocated) as that a nested field in the block pointed to the
block itself.
Fix this by calling the dtor function unconditionally. If the block
*still* has pointers after that, we really need to create a DeadBlock
for it.
Commit: 834621564fffb792008a6177ecade1c685519820
https://github.com/llvm/llvm-project/commit/834621564fffb792008a6177ecade1c685519820
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Descriptor.cpp
Log Message:
-----------
[clang][bytecode] Don't call ctor of primitive array elements (#151725)
We don't do that for single primitive variables, so avoid it for
primitive array elements as well.
Commit: acc8b977d96745843a421e3b45da01343a3b5a2a
https://github.com/llvm/llvm-project/commit/acc8b977d96745843a421e3b45da01343a3b5a2a
Author: Matthias Springer <me at m-sp.org>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
A mlir/test/Transforms/test-legalizer-full-rollback.mlir
M mlir/test/Transforms/test-legalizer-full.mlir
A mlir/test/Transforms/test-legalizer-rollback.mlir
M mlir/test/Transforms/test-legalizer.mlir
Log Message:
-----------
[mlir][Transforms][NFC] Move rollback tests to separate file (#151809)
Move dialect conversion tests that require a rollback to a separate
file. This is in preparation of the One-Shot Dialect Conversion
refactoring, which does no longer support rollbacks.
Also add a few more `CHECK:`.
Commit: 16a0892a9db1825ffa5e42b801e13215418d93b9
https://github.com/llvm/llvm-project/commit/16a0892a9db1825ffa5e42b801e13215418d93b9
Author: Matthias Springer <me at m-sp.org>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M mlir/test/Transforms/test-legalizer-full-rollback.mlir
Log Message:
-----------
[mlir][Transforms][NFC] Add missing FileCheck (#151817)
This should have been part of #151809.
Commit: acdc01b0392343daa7b91a34ba5d9c45372ed1bf
https://github.com/llvm/llvm-project/commit/acdc01b0392343daa7b91a34ba5d9c45372ed1bf
Author: Leandro Lacerda <leandrolcampos at yahoo.com.br>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M offload/unittests/CMakeLists.txt
Log Message:
-----------
[Offload][UnitTests] Fix incorrect CUDA path variable in CMake helper (#151820)
This PR fixes a minor bug in the `add_offload_test_device_code` CMake
helper function in `offload/unittests/CMakeLists.txt`.
The function was discovering the local CUDA Toolkit path and storing it
in the `cuda_path` variable but was then using the incorrect `CUDA_ROOT`
variable in the `add_custom_command` call for the NVPTX target.
This change corrects the command to use the intended `cuda_path`
variable.
Commit: a1dfcc6e8154bb8c188062f0a50436a27b54f763
https://github.com/llvm/llvm-project/commit/a1dfcc6e8154bb8c188062f0a50436a27b54f763
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/hlsl.hlsl
Log Message:
-----------
[clang][bytecode] Fix D3DCOLORtoUBYTE4 hlsl test (#151819)
HLSL is using CK_FloatingToIntegral casts to cast to vectors, which we
don't support (neither does the current interpreter). Also fix a crash
when trying to promote the HLSL bool, which can't be promoted it seems.
Commit: 0bdb4a36465407a529405cc7b84c2d5acb6528c2
https://github.com/llvm/llvm-project/commit/0bdb4a36465407a529405cc7b84c2d5acb6528c2
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
[lldb][DWARFIndex][NFC] Change GetNamespace/GetGlobalVariables APIs to use IterationAction (#151668)
Continuation from https://github.com/llvm/llvm-project/pull/151489
Commit: fc712aa9a6e843baa658aed4cb6d1cd5249d7b46
https://github.com/llvm/llvm-project/commit/fc712aa9a6e843baa658aed4cb6d1cd5249d7b46
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[clang][NFC] Remove leftover comment (#151822)
>From d8ca85a184c0fb511fe6483c4c24e48b5b1eb07a
Commit: 7e9927127f47c9576f273329a7f7dcc718ad622b
https://github.com/llvm/llvm-project/commit/7e9927127f47c9576f273329a7f7dcc718ad622b
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/test/CIR/CodeGen/bitfields.c
Log Message:
-----------
[CIR] Fix outdated bitfield iteration logic in accumulateFields (#151741)
This PR fixes the outdated logic for accumulating bitfields in
`accumulateFields`. The old approach remained after the algorithm was
updated. A non-bitfield member would act as a barrier, causing
`accumulateBitFields` to receive an incomplete range of fields. As a
result, it failed to accumulate them properly when clipping was
necessary.
For reference, in ClangIR we already handle this correctly:
[https://github.com/llvm/clangir/blob/b647f4b97b1f936fd7700ec0fd0d896a12fe581b/clang/lib/CIR/CodeGen/CIRRecordLayoutBuilder.cpp#L711-L714](https://github.com/llvm/clangir/blob/b647f4b97b1f936fd7700ec0fd0d896a12fe581b/clang/lib/CIR/CodeGen/CIRRecordLayoutBuilder.cpp#L711-L714)
Commit: b04968c4cd01758a728d46670a763b06ddf75e3b
https://github.com/llvm/llvm-project/commit/b04968c4cd01758a728d46670a763b06ddf75e3b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
Log Message:
-----------
[ExecutionEngine] Remove an unnecessary cast (NFC) (#151798)
value() already returns uint64_t.
Commit: 8bc2c7ceb3bb5cf0aff34269e4a0d1574f9a69a9
https://github.com/llvm/llvm-project/commit/8bc2c7ceb3bb5cf0aff34269e4a0d1574f9a69a9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/tools/llvm-objdump/COFFDump.cpp
Log Message:
-----------
[llvm-objdump] Remove an unnecessary cast (NFC) (#151799)
Size is already of uint32_t.
Commit: 1b0285671e33e7ef3d2d7a9029373acd8273a55a
https://github.com/llvm/llvm-project/commit/1b0285671e33e7ef3d2d7a9029373acd8273a55a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/AST/MicrosoftMangle.cpp
Log Message:
-----------
[AST] Use llvm::iterator_range::empty (NFC) (#151800)
With empty, we don't have to repeat the whole expression.
Commit: 02b89b8f47eecbae7ce16273966499cbf9ab0a1c
https://github.com/llvm/llvm-project/commit/02b89b8f47eecbae7ce16273966499cbf9ab0a1c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
Log Message:
-----------
[clang-tidy] Use llvm::none_of (NFC) (#151801)
We can pass a range to llvm::none_if.
Commit: d72907624544714ea53698da2f678e40947ee8d9
https://github.com/llvm/llvm-project/commit/d72907624544714ea53698da2f678e40947ee8d9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
Log Message:
-----------
[clang] Proofread LanguageExtensions.rst (#151802)
Commit: 969b246c0218a05a0ed0e237f4f92d28554b88c2
https://github.com/llvm/llvm-project/commit/969b246c0218a05a0ed0e237f4f92d28554b88c2
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
Log Message:
-----------
[RISCV] Refactor X60 scheduling model helper classes. NFC. (#151572)
This patch improves the helper classes in the SpacemiT-X60 vector
scheduling model and will be used in follow-up PRs:
There are now two functions to map LMUL to values:
* ConstValueUntilLMULThenDoubleBase: returns BaseValue for LMUL values
before startLMUL, Value for startLMUL, then doubles Value for each
subsequent LMUL. Useful for cases where fractional LMULs have constant
cycles, and integer LMULs double as they increase.
* GetLMULValue: takes an ordered list of LMUL cycles and LMUL and
returns the corresponding cycle. Useful for cases we can't easily cover
with ConstValueUntilLMULThenDoubleBase.
This PR also adds some useful, simplified versions of
ConstValueUntilLMULThenDoubleBase, e.g., ConstValueUntilLMULThenDouble
(when BaseValue == Value), or ConstOneUntilMF4ThenDouble (when cycles
start to double after MF2).
Commit: c304a2bb0c83ce34c7a63d9812888fc89c3facb5
https://github.com/llvm/llvm-project/commit/c304a2bb0c83ce34c7a63d9812888fc89c3facb5
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
Log Message:
-----------
[clang][bytecode][NFC] Code size is always aligned (#151824)
We don't need to align Code.size(), since we always resize it to aligned
values, so Code.size() is always aligned.
Commit: 08f50e96657bcc4ee9186b54184c5e82c42b910e
https://github.com/llvm/llvm-project/commit/08f50e96657bcc4ee9186b54184c5e82c42b910e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
Log Message:
-----------
[VPlan] Use vector tripcount if computable when simplifying conds. (#151034)
Update isConditionTrueViaVFAndUF to use the vector trip count if
computable. This is the case when it has been materialized to a
constant. Otherwise fall back to the trip count.
PR: https://github.com/llvm/llvm-project/pull/151034
Commit: 300e41d72fc4f04b3cd6e65bd56a01643bf7f060
https://github.com/llvm/llvm-project/commit/300e41d72fc4f04b3cd6e65bd56a01643bf7f060
Author: Adam Nemet <anemet at apple.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
Log Message:
-----------
[CG] Add VTs for v[567]i1 and v[567]f16 (#151763)
We already had corresponding f32 and i32 vector types for these sizes.
Also add VTs v[567]i8 and v[567]i16: these are needed by the Hexagon
backend which for each i1 vector types want to query information about
the corresponding i8 and i16 types in
HexagonTargetLowering::getPreferredHvxVectorAction.
Commit: d3589edafca1f893188540c8e85a1fa1a4dd22c1
https://github.com/llvm/llvm-project/commit/d3589edafca1f893188540c8e85a1fa1a4dd22c1
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h
M llvm/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/DirectX/MCTargetDesc/DirectXMCTargetDesc.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430AsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaAsmBackend.cpp
Log Message:
-----------
MCAsmBackend::applyFixup: Change `Data` to indicate the relocated location
`Data` now references the first byte of the fixup offset within the current fragment.
MCAssembler::layout asserts that the fixup offset is within either the
fixed-size content or the optional variable-size tail, as this is the
most the generic code can validate without knowing the target-specific
fixup size.
Many backends applyFixup assert
```
assert(Offset + Size <= F.getSize() && "Invalid fixup offset!");
```
This refactoring allows a subsequent change to move the fixed-size
content outside of MCSection::ContentStorage, fixing the
-fsanitize=pointer-overflow issue of #150846
Pull Request: https://github.com/llvm/llvm-project/pull/151724
Commit: a3808d9a67649a091f459c66db787d78ef6778df
https://github.com/llvm/llvm-project/commit/a3808d9a67649a091f459c66db787d78ef6778df
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
Log Message:
-----------
MC: Remove unused MCEncodedFragment
Commit: 8e9e38acc8ff4c3bcae74e85a65e499947264782
https://github.com/llvm/llvm-project/commit/8e9e38acc8ff4c3bcae74e85a65e499947264782
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/cmp.ll
Log Message:
-----------
[X86] Try to shrink i64 compares if the input has enough sign bits (#149719)
If there are enough sign bits in a 64 bit value, we can just compare the bottom 32 bits.
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 9d7a23304497742612af7b33b94b99a7c9d06701
https://github.com/llvm/llvm-project/commit/9d7a23304497742612af7b33b94b99a7c9d06701
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
Log Message:
-----------
Revert "[RISCV] Refactor X60 scheduling model helper classes. NFC. (#151572)"
This reverts commit 969b246c0218a05a0ed0e237f4f92d28554b88c2.
The commit caused ubsan failure:
```
/home/ray/llvm/llvm/lib/TableGen/Record.cpp:1567:41: runtime error: shift exponent 18446744073709551612 is too large for 64-bit type 'uint64_t' (aka 'unsigned long')
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/ray/llvm/llvm/lib/TableGen/Record.cpp:1567:41
```
Commit: f1aa6050bd90f8ec4273da55d362e23905ad3a81
https://github.com/llvm/llvm-project/commit/f1aa6050bd90f8ec4273da55d362e23905ad3a81
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.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
A llvm/test/MC/ELF/many-instructions.s
Log Message:
-----------
MCFragment: Use trailing data for fixed-size part
Reapply after #151724 switched to `char *Data`, fixing a
-fsanitize=pointer-overflow issue in MCAssembler::layout.
---
The fixed-size content of the MCFragment object is now stored as
trailing data, replacing ContentStart/ContentEnd with ContentSize. The
available space for trailing data is tracked using `FragSpace`. If the
available space is insufficient, a new block is allocated within the
bump allocator `MCObjectStreamer::FragStorage`.
FragList::Tail cannot be reused when switching sections or subsections,
as it is not associated with the fragment space tracked by `FragSpace`.
Instead, allocate a new fragment, which becomes less expensive after #150574.
Data can only be appended to the tail fragment of a subsection, not to
fragments in the middle. Post-assembler-layout adjustments (such as
.llvm_addrsig and .llvm.call-graph-profile) have been updated to use the
variable-size part instead.
Pull Request: https://github.com/llvm/llvm-project/pull/150846
Commit: dfbf13cded64983e0a7512bcdcab577732671ec6
https://github.com/llvm/llvm-project/commit/dfbf13cded64983e0a7512bcdcab577732671ec6
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll
M llvm/test/lit.cfg.py
Log Message:
-----------
[LLVM] adjust lit.cfg.py for Cygwin (#151416)
Cygwin is like Windows in that it uses COFF, and doesn't emit
.debug_frame on 64-bit architectures.
However, if -elf is appended to the target triple on Cygwin MCJIT remote
tests fail due to `__register_frame` not being defined. Only one test
fails without -elf that succeeds with it, so mark just that test as
XFAIL on Cygwin.
Commit: 7598c25b5a2a4e81a302cc775a7882c793cfe6fb
https://github.com/llvm/llvm-project/commit/7598c25b5a2a4e81a302cc775a7882c793cfe6fb
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.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/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scale.pk.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] v_cvt_scale_pk16 gfx1250 instructions (#151804)
Commit: f952a84f2f913c6f93a85af07e86b1a87778d349
https://github.com/llvm/llvm-project/commit/f952a84f2f913c6f93a85af07e86b1a87778d349
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[TargetLowering] Use getShiftAmountConstant in buildSDIVPow2WithCMov.
Commit: a585d5758847dd7e4cd7d8137bea6c1577c53009
https://github.com/llvm/llvm-project/commit/a585d5758847dd7e4cd7d8137bea6c1577c53009
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/test/CodeGen/RISCV/rvv/vsha2cl.ll
Log Message:
-----------
[RISCV] vsha2cl intrinsics should select vsha2cl instructions.
Fixes #151814.
Commit: c7500a2ec3baae1f0d7de0de94407d4bdb2e5d4d
https://github.com/llvm/llvm-project/commit/c7500a2ec3baae1f0d7de0de94407d4bdb2e5d4d
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
Log Message:
-----------
RISCVAsmBackend: Simplify relaxDwarfLineAddr and remove getRelocPairForSize
Instead of creating two separate fixups, create a single one. Leverage
RISCVAsmBackend::addReloc to generate ADD/SUB relocation pairs.
In a future change MCFragment::setVarFixup may be restricted to a single
fixup.
Commit: 39c30665e99145e07b0170b552f18371a67b2e03
https://github.com/llvm/llvm-project/commit/39c30665e99145e07b0170b552f18371a67b2e03
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/single-scalar-cast-minbw.ll
Log Message:
-----------
[VPlan] Update type of cloned instruction in scalarizeInstruction.
The operands of the replicate recipe may have been narrowed, resulting
in a narrower result type. Update the type of the cloned instruction to
the correct type.
Fixes https://github.com/llvm/llvm-project/issues/151392.
Commit: d696f8104e422f807d64b4d5d24c6e7bc22d429f
https://github.com/llvm/llvm-project/commit/d696f8104e422f807d64b4d5d24c6e7bc22d429f
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
M clang/lib/Format/TokenAnnotator.cpp
Log Message:
-----------
[clang-format][NFC] Maximize usage of isOneOf() in TokenAnnotator (#151658)
Also make a StringRef literal `static constexpr`.
Commit: c330585bc78ec356a9d050832565999abb8ad1d4
https://github.com/llvm/llvm-project/commit/c330585bc78ec356a9d050832565999abb8ad1d4
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
Log Message:
-----------
LoongArchAsmBackend: Simplify relaxDwarfLineAddr and remove getRelocPairForSize
Instead of creating two separate fixups, create a single one. Leverage
LoongArchAsmBackend::addReloc to generate ADD/SUB relocation pairs.
In a future change MCFragment::setVarFixup may be restricted to a single
fixup.
Similar to c7500a2ec3baae1f0d7de0de94407d4bdb2e5d4d
Commit: bc463c059ccc5652c0c63e86f82d38d94efe1dbd
https://github.com/llvm/llvm-project/commit/bc463c059ccc5652c0c63e86f82d38d94efe1dbd
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-02 (Sat, 02 Aug 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/VOP3Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk16.gfx1250.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] v_cvt_scalef32_pk16_* gfx1250 instructions (#151807)
Commit: 281df9e64720c3ab1c5e03d05087d3fab752d459
https://github.com/llvm/llvm-project/commit/281df9e64720c3ab1c5e03d05087d3fab752d459
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/test/DebugInfo/RISCV/dwarf-riscv-relocs.ll
Log Message:
-----------
RISCVAsmBackend::relaxDwarflineAddr: Try special opcode
LoongArch #77728 did better than RISCV.
If the label difference can be resolved (there is no linker-relaxable
fragment in between), we should use the default handling, which utilizes
a shorter special opcode.
Commit: bb3cd6221b207e13a430d8cd438e1d4212b80aa4
https://github.com/llvm/llvm-project/commit/bb3cd6221b207e13a430d8cd438e1d4212b80aa4
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/atanhf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/atanhf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atanhf16.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/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 atanhf16 implementation to header-only in src/__support/math folder. (#151779)
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: b7b501e54c1e711fb838a2e881ec1e6d99ce2e38
https://github.com/llvm/llvm-project/commit/b7b501e54c1e711fb838a2e881ec1e6d99ce2e38
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M clang/test/Analysis/undef-call.c
M clang/test/CodeGen/thinlto_backend.ll
M clang/test/CodeGenCXX/module-intializer-pmf.cpp
M clang/test/CodeGenCXX/profile-remap.cpp
M clang/test/Driver/HLSL/metal-converter.hlsl
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/check-time-trace-ParseDeclarationOrFunctionDefinition.cpp
M clang/test/Driver/cl-showfilenames.c
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/mingw-sysroot.cpp
M clang/test/Modules/implicit-module-header-maps.cpp
M clang/test/Preprocessor/lang-std.cpp
Log Message:
-----------
Reapply "[clang] Remove %T from tests (#151614)"
This reverts commit 4c80193a58a5c24e2bbebe291feb406191c4e2ab.
This relands the commit. The issues have theoretically been fixed.
Commit: 5f8338749aa2fab742960b013809e1e0a8fbcfdd
https://github.com/llvm/llvm-project/commit/5f8338749aa2fab742960b013809e1e0a8fbcfdd
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M libc/src/__support/math/atanhf16.h
Log Message:
-----------
[libc] fix build errors caused by atanhf16. (#151838)
Commit: 21f1f9558df3830ffa637def364e3c0cb0dbb3c0
https://github.com/llvm/llvm-project/commit/21f1f9558df3830ffa637def364e3c0cb0dbb3c0
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-ir2vec.rst
M llvm/test/tools/llvm-ir2vec/embeddings.ll
M llvm/test/tools/llvm-ir2vec/entities.ll
M llvm/test/tools/llvm-ir2vec/error-handling.ll
M llvm/test/tools/llvm-ir2vec/triplets.ll
M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
M llvm/utils/mlgo-utils/IR2Vec/generateTriplets.py
Log Message:
-----------
[IR2Vec][llvm-ir2vec] Changing clEnumValN to cl::SubCommand (#151384)
Refactor llvm-ir2vec to use subcommands instead of a mode flag for better CLI usability.
- Converted the `--mode` flag to three distinct subcommands: `triplets`, `entities`, and `embeddings`
- Updated documentation, tests, and python script
Commit: faa931b717c02d57f0814caa9133219040e6a85b
https://github.com/llvm/llvm-project/commit/faa931b717c02d57f0814caa9133219040e6a85b
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCSection.cpp
Log Message:
-----------
MCFragment: Store the number of variable-size tail fixups as uint8_t
Decrease sizeof(MCFragment) by 8 on 64-bit machines.
Commit: d18511e10a0d737c13a7a017ef3d0655911fc22d
https://github.com/llvm/llvm-project/commit/d18511e10a0d737c13a7a017ef3d0655911fc22d
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-02 (Sat, 02 Aug 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/VOP3Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk16.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] v_cvt_scalef32_sr_pk16_* gfx1250 instructions (#151810)
Commit: 849009c6350476d7a9968ea300e2805f1384f8cc
https://github.com/llvm/llvm-project/commit/849009c6350476d7a9968ea300e2805f1384f8cc
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] Add missing v_permlane_up_b32 test. NFC. (#151811)
Commit: 7ebbbd885f759ef5b7ae50a1b07f810296c4967f
https://github.com/llvm/llvm-project/commit/7ebbbd885f759ef5b7ae50a1b07f810296c4967f
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/test/CodeGen/AMDGPU/ctpop16.ll
M llvm/test/CodeGen/AMDGPU/kernel-args.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
M llvm/test/CodeGen/AMDGPU/load-local-i16.ll
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/AMDGPU/shl.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
A llvm/test/CodeGen/RISCV/rvv/fp4-bitcast.ll
Log Message:
-----------
[DAG] Always use stack to promote bitcast when the source is vector (#151065)
The optimization introduced by #125637 tried to avoid using stacks to
promote bitcast with vector result type. However, it wouldn't be correct
if the input type is vector. This patch limits that optimizations to
only scalar to vector bitcasts.
Commit: 779868de6975f6fd0ea17bb9a8e929037d3752d7
https://github.com/llvm/llvm-project/commit/779868de6975f6fd0ea17bb9a8e929037d3752d7
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M lldb/test/API/functionalities/tail_call_frames/cross_dso/TestCrossDSOTailCalls.py
M lldb/test/API/functionalities/tail_call_frames/cross_object/TestCrossObjectTailCalls.py
Log Message:
-----------
[lldb][test] Skip tail_call_frames tests on older Clang versions
These have been un-XFAILed in
`ebe6eba62580592af7065a36b22d929c15291e9a`, but require following Clang
fix: https://github.com/llvm/llvm-project/pull/150022. So skip older
compilers.
Commit: cd19fbad093f2834bfafa6ee1535a48c8d453077
https://github.com/llvm/llvm-project/commit/cd19fbad093f2834bfafa6ee1535a48c8d453077
Author: Leandro Lacerda <leandrolcampos at yahoo.com.br>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/include/math.yaml
Log Message:
-----------
[libc] Enable float math functions on the GPU (#151841)
This patch adds the `tanpif` math functions to the GPU build. It also
adds the `cospif` and `sinpif` math functions to the `math.h` header.
Commit: 7de0da40c0938e1ea7c11a672ae5a329dcf92def
https://github.com/llvm/llvm-project/commit/7de0da40c0938e1ea7c11a672ae5a329dcf92def
Author: timon-ul <timon.ulrich at advantest.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
Log Message:
-----------
[clangd] Support invoking call hierarchy on enum constants (#147042)
Fixes https://github.com/clangd/clangd/issues/2203
Commit: 1da76b42ae437235a6be2c75d91b8d4e04a6d1da
https://github.com/llvm/llvm-project/commit/1da76b42ae437235a6be2c75d91b8d4e04a6d1da
Author: Jouni <dz4tune at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clangd/HeaderSourceSwitch.cpp
Log Message:
-----------
[clangd][NFC] Make some local variables HeaderSourceSwitch.cpp const and constexpr (#143193)
Commit: 1c1432f5d2001885d9f816ef03d5164bab7c55d5
https://github.com/llvm/llvm-project/commit/1c1432f5d2001885d9f816ef03d5164bab7c55d5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
Log Message:
-----------
[RISCV] Remove duplicate vsha2ch/vsha2cl/vsha2ms i32 patterns. NFC (#151835)
We had separate i32 patterns for Zvknha and Zvknhb. Use an Or predicate
to combine them.
Commit: 8259be65c7d60d6ccba4ee168f275076061029e2
https://github.com/llvm/llvm-project/commit/8259be65c7d60d6ccba4ee168f275076061029e2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Program.cpp
Log Message:
-----------
[clang][bytecode] Remove unused includes (#151848)
UnsignedOrNone.h from PrimType.h and ASTLambda.h from Function.h.
Commit: c76a9afe248ac88a19a1c0a2ed456c86c7c55ad3
https://github.com/llvm/llvm-project/commit/c76a9afe248ac88a19a1c0a2ed456c86c7c55ad3
Author: Mythreya Kuricheti <git at mythreya.dev>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
M clang/unittests/Tooling/HeaderIncludesTest.cpp
Log Message:
-----------
[clang][Tooling] Choose header insertion location in global module fragment (#151624)
Ensures that headers are inserted after `module;` declaration by
updating minimum offset.
Commit: 49b5a1fa71d5af2b463c327e17017c754eb50801
https://github.com/llvm/llvm-project/commit/49b5a1fa71d5af2b463c327e17017c754eb50801
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fmuladd.f32.ll
Log Message:
-----------
[AMDGPU] fmuladd.f32.ll - clean up prefixes and regenerate checks (#151832)
Automate the fmuladd.f32.ll test checks as manually fixing changes while
working on the topological dag patches was doing my head in
Commit: f72b3ec85267af38d55cd80060415079780406a4
https://github.com/llvm/llvm-project/commit/f72b3ec85267af38d55cd80060415079780406a4
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/infrastructure/run-clang-tidy-enable-check-profile.cpp
Log Message:
-----------
[clang-tidy] Add 'enable-check-profiling' with aggregated results to 'run-clang-tidy' (#151011)
Add new option `enable-check-profiling` to `run-clang-tidy` for seamless
integration of `clang-tidy`'s `enable-check-profiling` option.
`run-clang-tidy` will post aggregated results report in the same style
as `clang-tidy`.
This PR will help users to benchmark their `clang-tidy` runs easily.
Also, `clang-tidy` developers could build benchmark infrastructure in
the future.
Commit: d9971be83e5d23631b04b3ce40bfb2be01b6085e
https://github.com/llvm/llvm-project/commit/d9971be83e5d23631b04b3ce40bfb2be01b6085e
Author: David Green <david.green at arm.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/load-cmp.ll
Log Message:
-----------
[InstCombine] Make foldCmpLoadFromIndexedGlobal more resilient to non-array geps. (#150639)
My understanding is that gep [n x i8] and gep i8 can be treated
equivalently - the array type conveys no extra information and could be
removed. This goes through foldCmpLoadFromIndexedGlobal and tries to
make it work for non-array gep types, so long as the index type still
matches the array being loaded.
Commit: 69bec0afbb8f2aa0021d18ea38768360b16583a9
https://github.com/llvm/llvm-project/commit/69bec0afbb8f2aa0021d18ea38768360b16583a9
Author: Wesley Wiser <wwiser at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.h
A llvm/test/CodeGen/X86/avx512f-large-stack.ll
M llvm/test/CodeGen/X86/huge-stack.ll
A llvm/test/CodeGen/X86/large-displacements-fastisel.ll
A llvm/test/CodeGen/X86/large-displacements.ll
M llvm/test/CodeGen/X86/merge-huge-sp-updates.ll
M llvm/test/CodeGen/X86/stack-clash-extra-huge.ll
M llvm/test/CodeGen/X86/stack-clash-huge.ll
M llvm/test/CodeGen/X86/win64-stackprobe-overflow.ll
Log Message:
-----------
[X86] Correct 32-bit immediate assertion and fix 64-bit lowering for huge frame offsets (#123872)
The assertion previously did not work correctly because the operand was
being truncated to an `int` prior to comparison.
Change the assertion into a a reported error as suggested in
https://github.com/llvm/llvm-project/pull/101840#issuecomment-2304992425
by @arsenm
Finally, fix the lowering on 64-bit targets so that offsets larger than
32-bit are correctly addressed and add tests for various reported
issues.
Commit: 5325f2b93065ed2981d51a266bea54c0f5ebd632
https://github.com/llvm/llvm-project/commit/5325f2b93065ed2981d51a266bea54c0f5ebd632
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/.clang-tidy
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Enable 'performance-move-const-arg' in '.clang-tidy' config (#148549)
Set `performance-move-const-arg.CheckTriviallyCopyableMove` option to
`false` because "trivially copyable" is too strict and give warning for
e.g. `MixData` class:
https://github.com/llvm/llvm-project/blob/1fbfa333f64bf714efa84db6b1075fc864d53bf8/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp#L389
Here:
https://github.com/llvm/llvm-project/blob/1fbfa333f64bf714efa84db6b1075fc864d53bf8/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp#L504-L505
I find `std::move` here useful.
Commit: c3902e46b748cd808fbffeea25489bb41b15a6b2
https://github.com/llvm/llvm-project/commit/c3902e46b748cd808fbffeea25489bb41b15a6b2
Author: Andrey <andrey.a.davydov at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.cpp
Log Message:
-----------
[clang-tidy] fix `bugprone-narrowing-conversions` false positive for conditional expression (#139474)
Let's consider the following code from the issue #139467:
```c
void test(int cond, char c) {
char ret = cond > 0 ? ':' : c;
}
```
Initializer of `ret` looks the following:
```
-ImplicitCastExpr 'char' <IntegralCast>
`-ConditionalOperator 'int'
|-BinaryOperator 'int' '>'
| |-ImplicitCastExpr 'int' <LValueToRValue>
| | `-DeclRefExpr 'int' lvalue ParmVar 'cond' 'int'
| `-IntegerLiteral 'int' 0
|-CharacterLiteral 'int' 58
`-ImplicitCastExpr 'int' <IntegralCast>
`-ImplicitCastExpr 'char' <LValueToRValue>
`-DeclRefExpr 'char' lvalue ParmVar 'c' 'char'
```
So it could be seen that `RHS` of the conditional operator is
`DeclRefExpr 'c'` which is casted to `int` and then the whole
conditional expression is casted to 'char'. But this last conversion is
not narrowing, because `RHS` was `char` _initially_. We should just
remove the cast from `char` to `int` before the narrowing conversion
check.
Fixes #139467
Commit: b983ce8145622160b65736bbe4b73860d5557b0c
https://github.com/llvm/llvm-project/commit/b983ce8145622160b65736bbe4b73860d5557b0c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
Log Message:
-----------
[VPlan] handleMaxMinNumReductions - fix gcc Wparentheses warning. NFC.
Commit: 2579ffccc7258830dc7b1635c60ad2a24f7060bd
https://github.com/llvm/llvm-project/commit/2579ffccc7258830dc7b1635c60ad2a24f7060bd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Frontend/HLSL/RootSignatureMetadata.cpp
Log Message:
-----------
[HLSL] MetadataParser::parseRootDescriptors - fix gcc Wparentheses warning. NFC.
Commit: e44a14e9ac4f5bfc6f274a24689377eeba509146
https://github.com/llvm/llvm-project/commit/e44a14e9ac4f5bfc6f274a24689377eeba509146
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
R clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.c
R clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.cpp
Log Message:
-----------
Revert "[clang-tidy] fix `bugprone-narrowing-conversions` false positive for conditional expression" (#151859)
Reverts llvm/llvm-project#139474 due to lit test failures on `arm`
platforms.
Commit: 559d1dff891682ec66d4a987dfa0b9404c7af3e4
https://github.com/llvm/llvm-project/commit/559d1dff891682ec66d4a987dfa0b9404c7af3e4
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
Log Message:
-----------
[VPlan] Materialize BackedgeTakenCount using VPInstructions.
Explicitly compute the backedge-taken count using VPInstruction. This is
needed to model the full skeleton in VPlan.
NFC modulo some instruction re-ordering.
Commit: b16fe132c68834a601b29c0eb53c7ec25a3cd627
https://github.com/llvm/llvm-project/commit/b16fe132c68834a601b29c0eb53c7ec25a3cd627
Author: tigbr <gabor.tothvari at ericsson.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/tagged-union-member-count.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/tagged-union-member-count/stdnamespace.h
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/tagged-union-member-count/system/pthread.h
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.m
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.mm
Log Message:
-----------
[clang-tidy] Fix bugprone-tagged-union-member-count false-positive (#135831)
This patch implements a fix for the false-positive case described in
[issue #134840](https://github.com/llvm/llvm-project/issues/134840) for
the
[bugprone-tagged-union-member-count](https://clang.llvm.org/extra/clang-tidy/checks/bugprone/tagged-union-member-count.html)
clang-tidy check.
The example given in the linked issue was the following:
```C
#include <pthread.h>
typedef enum {
MYENUM_ONE,
MYENUM_TWO,
} myEnumT;
typedef struct {
pthread_mutex_t mtx;
myEnumT my_enum;
} myTypeT;
```
The
[bugprone-tagged-union-member-count](https://clang.llvm.org/extra/clang-tidy/checks/bugprone/tagged-union-member-count.html)
check emits the following a warning for this struct:
```
<source>:8:9: warning: tagged union has more data members (3) than tags (2)! [bugprone-tagged-union-member-count]
8 | typedef struct {
| ^
1 warning generated.
```
The issue is that `pthread_mutex_t` can be a union behind a typedef like
the following:
```C
typedef union
{
struct __pthread_mutex_s __data;
char __size[__SIZEOF_PTHREAD_MUTEX_T];
long int __align;
} pthread_mutex_t;
```
>From the checker's point of view therefore `myTypeT` contains a data
member with an enum type and another data member with a union type and
starts analyzing it like a user-defined tagged union.
The proposed solution is that the types from system headers and the std
namespace are no longer candidates to be the enum part or the union part
of a user-defined tagged union. This filtering for enums and the std
namespace may not be strictly necessary in this example, however I added
it preemptively out of (perhaps unnecessary) caution.
Fixes https://github.com/llvm/llvm-project/issues/134840.
Commit: fca9f70e420899b6a61c6d9b46b3e8479d3a431e
https://github.com/llvm/llvm-project/commit/fca9f70e420899b6a61c6d9b46b3e8479d3a431e
Author: David Green <david.green at arm.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/AArch64/interleave_vec.ll
Log Message:
-----------
[AArch64] Add some simple phase ordering tests for interleaving at various factors. NFC
Commit: 8b7f81f2de1faceaa29b2c148d99b663d23f7110
https://github.com/llvm/llvm-project/commit/8b7f81f2de1faceaa29b2c148d99b663d23f7110
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
M clang/include/clang/Sema/SemaHLSL.h
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p4.cpp
R clang/test/Interpreter/assigment-with-implicit-ctor.cpp
A clang/test/Interpreter/assignment-with-implicit-ctor.cpp
M clang/test/SemaCXX/warn-self-assign-builtin.cpp
M clang/test/SemaCXX/warn-self-assign-field-builtin.cpp
M clang/test/SemaCXX/warn-self-assign-field-overloaded.cpp
M clang/test/SemaCXX/warn-self-assign-overloaded.cpp
M clang/unittests/Format/FormatTest.cpp
M flang-rt/include/flang-rt/runtime/type-info.h
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Semantics/check-omp-atomic.cpp
M lldb/unittests/Utility/ScalarTest.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
Log Message:
-----------
[NFC] Fix `assignment` typo. (#151864)
Commit: d0d3f15c383e380dcb5c57c322f34a970dc326df
https://github.com/llvm/llvm-project/commit/d0d3f15c383e380dcb5c57c322f34a970dc326df
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
A llvm/test/CodeGen/Generic/fp128-exp10-libcall.ll
M llvm/test/CodeGen/Generic/fp128-math-libcalls.ll
M llvm/test/CodeGen/X86/exp10-libcall-names.ll
A llvm/test/CodeGen/X86/exp10l-libcall-names.ll
Log Message:
-----------
RuntimeLibcalls: Stop opting out of exp10 (#148604)
Commit: c068f8b408f677d953704e470f243e96cd310af5
https://github.com/llvm/llvm-project/commit/c068f8b408f677d953704e470f243e96cd310af5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
Log Message:
-----------
[Scalar] Remove an unnecessary cast (NFC) (#151849)
LoadType is already of Type *.
Commit: 3549134836a8b162f6ddcba7e203e17ee568b4ef
https://github.com/llvm/llvm-project/commit/3549134836a8b162f6ddcba7e203e17ee568b4ef
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[Vectorize] Remove an unnecessary cast (NFC) (#151850)
getNumElements() already returns unsigned.
Commit: 3412735d290e3b7dd25e77fc6be510e38fc6700a
https://github.com/llvm/llvm-project/commit/3412735d290e3b7dd25e77fc6be510e38fc6700a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[llvm-readobj] Remove an unnecessary cast (NFC) (#151851)
Addr is already of const uint8_t *.
Commit: 32bc2512a3f596ed176b0e8c1a2566e9229db825
https://github.com/llvm/llvm-project/commit/32bc2512a3f596ed176b0e8c1a2566e9229db825
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
Log Message:
-----------
[Sema] Use llvm::iterator_range::empty (NFC) (#151852)
Commit: 90f1e04954daff087166c1072ad908d62e6ac6c9
https://github.com/llvm/llvm-project/commit/90f1e04954daff087166c1072ad908d62e6ac6c9
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang/test/Modules/implicit-module-header-maps.cpp
Log Message:
-----------
[clang] Try fixing implicit-module-header-maps.cpp
This is still crashing on AIX and Solaris. It looks like maybe issues
due to trying to delete the current working directory. cd to the source
directory beforehand to try and work around that.
Commit: 84fa58c5d8963ecfd33d6fa7edbe59039b99ceb2
https://github.com/llvm/llvm-project/commit/84fa58c5d8963ecfd33d6fa7edbe59039b99ceb2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/docs/ProgrammersManual.rst
Log Message:
-----------
[llvm] Proofread ProgrammersManual.rst (#151853)
Co-authored-by: Tim Gymnich <tim at gymni.ch>
Commit: 408fe1d369df926eecd6c15ce939d38652b4b58d
https://github.com/llvm/llvm-project/commit/408fe1d369df926eecd6c15ce939d38652b4b58d
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
Log Message:
-----------
[NFC][run-clang-tidy] Add minor type hints (#151873)
This script passes
```
python3 -m mypy --strict clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
```
Commit: a048aeb06e5de571eadd646860c320b9a67d1efc
https://github.com/llvm/llvm-project/commit/a048aeb06e5de571eadd646860c320b9a67d1efc
Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang/lib/Analysis/ThreadSafety.cpp
M clang/test/SemaCXX/warn-thread-safety-negative.cpp
Log Message:
-----------
Thread safety analysis: Don't warn on acquiring reentrant capability (#150857)
The point of reentrant capabilities is that they can be acquired
multiple times, so they should probably be excluded from requiring a
negative capability on acquisition via -Wthread-safety-negative.
However, we still propagate explicit negative requirements.
Commit: 003f6ada15970608c183563949e73320b0fea36a
https://github.com/llvm/llvm-project/commit/003f6ada15970608c183563949e73320b0fea36a
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/cbrt.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/cbrt.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/cbrt.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 cbrt implementation to header-only in src/__support/math folder. (#151837)
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: d7f00a9f9554825d35bd864be1e44e74a133d5b6
https://github.com/llvm/llvm-project/commit/d7f00a9f9554825d35bd864be1e44e74a133d5b6
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M libc/src/__support/math/cbrt.h
Log Message:
-----------
[libc] fix build errors caused by cbrt. (#151879)
Commit: 09a6a255bd2013f41f22c870d3e220df2e49b2fd
https://github.com/llvm/llvm-project/commit/09a6a255bd2013f41f22c870d3e220df2e49b2fd
Author: Ebin-McW <ebin.jose at multicorewareinc.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
A llvm/test/CodeGen/SPIRV/transcoding/OpenCL/convert_functions.ll
A llvm/test/CodeGen/SPIRV/transcoding/OpenCL/nan.ll
A llvm/test/CodeGen/SPIRV/transcoding/OpenCL/shuffle.ll
A llvm/test/CodeGen/SPIRV/transcoding/printf.ll
Log Message:
-----------
[SPIRV] Ported tests to transcoding directory from the translator (#151662)
- Checks for printf calls
- Handling of convert_* builtins and fallback
- Generation of nan and shuffle OpExtInst
Commit: f3e7b355c58b3080e23fb8d9a415a15410088cd6
https://github.com/llvm/llvm-project/commit/f3e7b355c58b3080e23fb8d9a415a15410088cd6
Author: Ebin-McW <ebin.jose at multicorewareinc.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/memcpy.align.ll
Log Message:
-----------
[SPIRV] Test file for memcpy intrinsic (#151657)
Test lowering of llvm.memcpy intrinsics to OpCopyMemorySized with
alignment.
Commit: 95e96b94d75e975470ccb7dfa41df776bb289f8d
https://github.com/llvm/llvm-project/commit/95e96b94d75e975470ccb7dfa41df776bb289f8d
Author: Aadesh Premkumar <aadesh.premkumar at multicorewareinc.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
A llvm/test/CodeGen/SPIRV/entry-point-interfaces.ll
A llvm/test/CodeGen/SPIRV/get_global_size.ll
A llvm/test/CodeGen/SPIRV/layout.ll
Log Message:
-----------
[SPIRV] Addition of entry-point-interfaces.ll, get_global_size.ll, layout.ll test files (#151648)
--Test that verifies correct emission of OpEntryPoint and interface
variables for SPIR-V when using multiple global constants in the kernel
entry point.
--Test that verifies code generation for get_global_size() calls.
--Test that verifies SPIR-V layout and initialization of various global
variables.
Commit: 9591f16a5ada294fa825a2581fed568ee1f24597
https://github.com/llvm/llvm-project/commit/9591f16a5ada294fa825a2581fed568ee1f24597
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCCodeView.h
M llvm/include/llvm/MC/MCContext.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
Move FragmentAllocator from MCContext to MCObjectStreamer
In MCContext::reset, delete a stale comment as MCCodeView no longer
owns or deallocates MCFragment.
Commit: 72fbf107555a95c380b32a7df20d88f0a24f868f
https://github.com/llvm/llvm-project/commit/72fbf107555a95c380b32a7df20d88f0a24f868f
Author: Aadesh Premkumar <aadesh.premkumar at multicorewareinc.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
A llvm/test/CodeGen/SPIRV/SpecConstants/spec-constant-length-array.ll
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/bitreverse_small_type.ll
Log Message:
-----------
[SPIRV] Addition of spe-constant-length-array.ll, bit_reverse_small_type.ll test files (#151645)
--Test for support for specialization constant-based variable-length
--Test for ensuring that encoding of variable with undef initializer has
correct
--Test for bitreverse intrinsic with small types
Commit: bc0f696b1fbf85b16bc9493b3e0e7027eb32f638
https://github.com/llvm/llvm-project/commit/bc0f696b1fbf85b16bc9493b3e0e7027eb32f638
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCContext.h
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
Log Message:
-----------
MCSymbol: Replace isELF with MCContext::isELF
Commit: f9be391dd7cf04d83525cfccc954c80c6f05d15d
https://github.com/llvm/llvm-project/commit/f9be391dd7cf04d83525cfccc954c80c6f05d15d
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M clang/lib/Analysis/LifetimeSafety.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
Log Message:
-----------
[LifetimeSafety] Handle pruned-edges (null blocks) in dataflow (#150670)
Fix a crash in the lifetime safety dataflow analysis when handling null CFG blocks.
Added a null check for adjacent blocks in the dataflow analysis algorithm to prevent dereferencing null pointers. This occurs when processing CFG blocks with unreachable successors or predecessors.
Original crash: https://compiler-explorer.com/z/qfzfqG5vM
Fixes https://github.com/llvm/llvm-project/issues/150095
Commit: 29d9c4a6fe869a1800bb44f125c09a9442413451
https://github.com/llvm/llvm-project/commit/29d9c4a6fe869a1800bb44f125c09a9442413451
Author: Aadesh Premkumar <aadesh.premkumar at multicorewareinc.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/tan.ll
A llvm/test/CodeGen/SPIRV/zero-length-array.ll
Log Message:
-----------
[SPIRV] Addition of test files for @llvm.tan and zero_length_array.ll (#142097)
Co-authored-by: Michal Paszkowski <michal at michalpaszkowski.com>
Commit: 3a1cb68fb6419ca1fcf7bf2cf0c6cb87ff71ce37
https://github.com/llvm/llvm-project/commit/3a1cb68fb6419ca1fcf7bf2cf0c6cb87ff71ce37
Author: Ebin-McW <ebin.jose at multicorewareinc.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
A llvm/test/CodeGen/SPIRV/GlobalVarAddrspace.ll
A llvm/test/CodeGen/SPIRV/SamplerArgNonKernel.ll
A llvm/test/CodeGen/SPIRV/align-duplicate.ll
A llvm/test/CodeGen/SPIRV/duplicate-types.ll
Log Message:
-----------
[SPIRV] Porting 4 tests from Translator (#151678)
Tests that checks:
- Duplicate alignment
- Duplicate types
- Non-function storage class for global variable
- Generating image instructions from opencl builtins
---------
Co-authored-by: Michal Paszkowski <michal at michalpaszkowski.com>
Commit: b03d1e1e2e8e4b0b4b9e035b7ad9fb86dccefb93
https://github.com/llvm/llvm-project/commit/b03d1e1e2e8e4b0b4b9e035b7ad9fb86dccefb93
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M lld/ELF/Relocations.cpp
Log Message:
-----------
[NFC][ELF] Add missing blank line between functions
Fixes: b42f96bc057f ("[lld] Add thunks for hexagon (#111217)")
Commit: de15d365743e16848a9d15fc32ae6ab98d399ec2
https://github.com/llvm/llvm-project/commit/de15d365743e16848a9d15fc32ae6ab98d399ec2
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M lld/ELF/Relocations.cpp
Log Message:
-----------
[NFC][ELF][Hexagon] Avoid pointless ArrayRef::drop_front
Fixes: b42f96bc057f ("[lld] Add thunks for hexagon (#111217)")
Commit: 723b40a8d92f76fc913ef21061fc3d74e8c47441
https://github.com/llvm/llvm-project/commit/723b40a8d92f76fc913ef21061fc3d74e8c47441
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M lld/ELF/Relocations.cpp
Log Message:
-----------
[ELF][Hexagon] Fix host endianness assumption
Fixes: b42f96bc057f ("[lld] Add thunks for hexagon (#111217)")
Commit: 1c75c829dc4f47575e1e702009b511f9cd0da2cb
https://github.com/llvm/llvm-project/commit/1c75c829dc4f47575e1e702009b511f9cd0da2cb
Author: VISHAKH PRAKASH <vishakh.prakash at multicorewareinc.com>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/fp-to-int-intrinsics.ll
Log Message:
-----------
[SPIRV] support for the intrinsic @llvm.fptosi.sat.* and @llvm.fptoui.sat.* (#129222)
Add support for the intrinsic @llvm.fptosi.sat.* and @llvm.fptoui.sat.*
- add legalizer for G_FPTOSI_SAT and G_FPTOUI_SAT
- add instructionSelector for G_FPTOSI_SAT and G_FPTOUI_SAT
- add function to add saturatedConversion decoration to the intrinsic
---------
Co-authored-by: Dmitry Sidorov <dmitry.sidorov at intel.com>
Co-authored-by: Ebin-McW <ebin.jose at multicorewareinc.com>
Co-authored-by: Michal Paszkowski <michal at michalpaszkowski.com>
Commit: e2d761df321a711234470b7596a47ccd6ffd665d
https://github.com/llvm/llvm-project/commit/e2d761df321a711234470b7596a47ccd6ffd665d
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCELFStreamer.cpp
Log Message:
-----------
MCSymbolELF: Migrate away from classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: 5570ce5cefdae8f5c16b3733a594bc509ece990b
https://github.com/llvm/llvm-project/commit/5570ce5cefdae8f5c16b3733a594bc509ece990b
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
Log Message:
-----------
MCSymbolELF: Migrate away from classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: e640ca8b9adc390325e2c0406b0032dd24563c75
https://github.com/llvm/llvm-project/commit/e640ca8b9adc390325e2c0406b0032dd24563c75
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
Log Message:
-----------
MCSymbolELF: Migrate away from classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: b51ff2705fe15a214ba234dae221c39b105fa57c
https://github.com/llvm/llvm-project/commit/b51ff2705fe15a214ba234dae221c39b105fa57c
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
Log Message:
-----------
MCSymbolELF: Migrate away from classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: 5d5ce06cae12cd129cefd8f2d6ba2b6150fb18fd
https://github.com/llvm/llvm-project/commit/5d5ce06cae12cd129cefd8f2d6ba2b6150fb18fd
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCContext.h
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
Log Message:
-----------
MCSymbolELF: Migrate away from classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: 7efb70ff6f4d061652970fdbef208cfbcaf02198
https://github.com/llvm/llvm-project/commit/7efb70ff6f4d061652970fdbef208cfbcaf02198
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbol.h
M llvm/include/llvm/MC/MCSymbolELF.h
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
Log Message:
-----------
MCSymbolELF: Remove classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: b2f0ffd659e7eb3d17fedad5de21a122cc58c4ef
https://github.com/llvm/llvm-project/commit/b2f0ffd659e7eb3d17fedad5de21a122cc58c4ef
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/test/CodeGen/AVR/llvm.sincos.ll
M llvm/test/TableGen/RuntimeLibcallEmitter.td
M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
Log Message:
-----------
RuntimeLibcalls: Really move default libcall handling to tablegen (#148780)
Hack in the default setting so it's consistently generated like
the other cases. Maintain a list of targets where this applies.
The alternative would require new infrastructure to sort the system
library initialization in some way.
I wanted the unhandled target case to be treated as a fatal
error, but it turns out there's a hack in IRSymtab using
RuntimeLibcalls, which will fail out in many tests that
do not have a triple set. Many of the failures are simply
running llvm-as with no triple, which probably should not
depend on knowing an accurate set of calls.
Commit: 441fff7ebe6bad3502da368236885f76cf9e5f30
https://github.com/llvm/llvm-project/commit/441fff7ebe6bad3502da368236885f76cf9e5f30
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/CodeGen/XCore/llvm.sincos.ll
Log Message:
-----------
XCore: Fix broken check lines in test
Commit: 45a061b8c81837d8283bcf4ad79df7d0f60b19a5
https://github.com/llvm/llvm-project/commit/45a061b8c81837d8283bcf4ad79df7d0f60b19a5
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbolCOFF.h
M llvm/include/llvm/MC/MCWinCOFFStreamer.h
M llvm/lib/MC/MCParser/COFFMasmParser.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
Log Message:
-----------
MCSymbolCOFF: Remove classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: 570e09047c23108d5498326cb259e4b79288ddc4
https://github.com/llvm/llvm-project/commit/570e09047c23108d5498326cb259e4b79288ddc4
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbolWasm.h
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCParser/WasmAsmParser.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
Log Message:
-----------
MCSymbolWasm: Remove classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: 85f00707dd651d6c09c25aab882dc568a1f32f52
https://github.com/llvm/llvm-project/commit/85f00707dd651d6c09c25aab882dc568a1f32f52
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
Log Message:
-----------
MCSymbolMachO: Migrate away from classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: d6c2e531518e84d154f1f1dccdf4967dbe26b500
https://github.com/llvm/llvm-project/commit/d6c2e531518e84d154f1f1dccdf4967dbe26b500
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
Log Message:
-----------
MCSymbolXCOFF: Migrate away from classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: c7bacc9f26dd0b51f666fd49f0b5f1eae38a0cac
https://github.com/llvm/llvm-project/commit/c7bacc9f26dd0b51f666fd49f0b5f1eae38a0cac
Author: Austin <zhenhangwang at huawei.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/Support/BalancedPartitioning.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
Log Message:
-----------
[llvm] using wrapper llvm::sort(nfc) (#151000)
using wrapper llvm::sort(nfc)
Commit: 888d3cde3a1cc742ec5d8483c2f518c9637becbb
https://github.com/llvm/llvm-project/commit/888d3cde3a1cc742ec5d8483c2f518c9637becbb
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbolGOFF.h
M llvm/lib/MC/GOFFObjectWriter.cpp
Log Message:
-----------
MCSymbolGOFF: Remove classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: b77f51f3f1137e68ed8d5190abdc50b16f48c011
https://github.com/llvm/llvm-project/commit/b77f51f3f1137e68ed8d5190abdc50b16f48c011
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbolXCOFF.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Log Message:
-----------
MCSymbolXOFF: Remove classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: 9a60841dc446e954cd81d33da96e6566d617a810
https://github.com/llvm/llvm-project/commit/9a60841dc446e954cd81d33da96e6566d617a810
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Utils/ProfileVerify.cpp
A llvm/test/Transforms/PGOProfile/prof-inject-existing.ll
M llvm/test/Transforms/PGOProfile/prof-verify-as-needed.ll
M llvm/test/Transforms/PGOProfile/prof-verify-existing.ll
A llvm/test/Transforms/PGOProfile/prof-verify-known-cold.ll
A llvm/test/Transforms/PGOProfile/prof-verify-no-entrycount.ll
M llvm/test/Transforms/PGOProfile/prof-verify.ll
Log Message:
-----------
[PGO][profcheck] ignore explicitly cold functions (#151778)
There is a case when branch profile metadata is OK to miss, namely, cold functions. The goal of the RFC (see the referenced issue) is to avoid accidental omission (and, at a later date, corruption) of profile metadata. However, asking cold functions to have all their conditional branches marked with "0" probabilities would be overdoing it. We can just ask cold functions to have an explicit 0 entry count.
This patch:
- injects an entry count for functions, unless they have one (synthetic or not)
- if the entry count is 0, doesn't inject, nor does it verify the rest of the metadata
- at verification, if the entry count is missing, it reports an error
Issue #147390
Commit: 2d4ecba957a6cd3b5228e0773ec2d52d8bc5c505
https://github.com/llvm/llvm-project/commit/2d4ecba957a6cd3b5228e0773ec2d52d8bc5c505
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbol.h
M llvm/include/llvm/MC/MCSymbolMachO.h
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
Log Message:
-----------
MCSymbolMachO: Remove classof
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to eliminate MCSymbol::Kind in the base class.
Commit: 5b528a1041fb6b64e5722f1bc600eb0617118a3e
https://github.com/llvm/llvm-project/commit/5b528a1041fb6b64e5722f1bc600eb0617118a3e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Remove darwin override of half convert libcalls (#148782)
These are already the default calls set for these conversions, so
they should not require explicit setting. The non-default cases are
currently overridden in ARMISelLowering. Just delete this until
the list of calls and lowering decisions are separated.
This was added back in 6402ad27c01c9503a12d41d7e40646cf0d1f919f. It
appears to not be relevant for AArch64, where calls appear to never
be used for these. It also appears to not be relevant for x86, where
the default calls seem to always end up used anyway.
Commit: d1ee636b98aae1029575af05c3dadca25620188a
https://github.com/llvm/llvm-project/commit/d1ee636b98aae1029575af05c3dadca25620188a
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbol.h
M llvm/include/llvm/MC/MCSymbolCOFF.h
M llvm/include/llvm/MC/MCSymbolELF.h
M llvm/include/llvm/MC/MCSymbolGOFF.h
M llvm/include/llvm/MC/MCSymbolMachO.h
M llvm/include/llvm/MC/MCSymbolWasm.h
M llvm/include/llvm/MC/MCSymbolXCOFF.h
M llvm/lib/MC/MCContext.cpp
Log Message:
-----------
MCSymbol: Remove Kind
The object file format specific derived classes are used in context
where the type is statically known. We don't use isa/dyn_cast and we
want to discourage dynamic dispatching on the type.
Commit: 8b03b3bd4df62af2de659434495419be2a2f4a45
https://github.com/llvm/llvm-project/commit/8b03b3bd4df62af2de659434495419be2a2f4a45
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
Log Message:
-----------
MIPS: Avoid MCSymbol::isUnset
The unset state will be merged into the undefined state,
so isUnset should be avoided.
The code used by register equating uses the inaccurate condition.
```
.set r1, $4
```
For now just use isUndefined. GNU Assembler has a warning:
```
Warning: register value used as expression
```
Commit: 781e5f0b5dc78305e5726d2118c1304f0229f36b
https://github.com/llvm/llvm-project/commit/781e5f0b5dc78305e5726d2118c1304f0229f36b
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
Log Message:
-----------
PowerPC: Avoid MCSymbol::isUnset
"unset" is not a meaningful separae state and it will be merged into
"undefined".
https://reviews.llvm.org/D72570 ported a GAS hack that moves the label
when a prefixed instruction on the same source line needs automatic
alignment. However, we can used isDefined instead of isUnset.
Commit: 5478da99a169f5f65a2096cd1af86bd98c0aa50b
https://github.com/llvm/llvm-project/commit/5478da99a169f5f65a2096cd1af86bd98c0aa50b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Move __stack_chk_fail config to tablegen (#148789)
Commit: 57b0843f68f5f349c73d1bf54e321a1a6d1800bf
https://github.com/llvm/llvm-project/commit/57b0843f68f5f349c73d1bf54e321a1a6d1800bf
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbol.h
M llvm/lib/MC/MCParser/AsmParser.cpp
Log Message:
-----------
MCSymbol: Remove isUnset
The isUnset state lacks significance and should be treated as equivalent
to an undefined symbol.
Equated and common symbols seem to have subtle semantic distinctions in
GAS, justifying the use of distinct `SymContents*` values.
TODO: Ensure common symbols have a fragment, so that `isDefined()`
returns true, rejecting `.comm c, 4, 4; .set c, 4`
Commit: 144cd87088dc82263b25e816c77fc03f29fd1288
https://github.com/llvm/llvm-project/commit/144cd87088dc82263b25e816c77fc03f29fd1288
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Remove target check for sjlj config (#148792)
I'm assuming this was the set of targets that were relevant
for sjlj handling. Just take the raw exception setting instead,
and assume it makes sense for the target.
Commit: a2fef664c29a53bfa8a66927fcf8b2e5c9da4876
https://github.com/llvm/llvm-project/commit/a2fef664c29a53bfa8a66927fcf8b2e5c9da4876
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-03 (Sun, 03 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.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
R llvm/test/MC/ELF/many-instructions.s
Log Message:
-----------
Revert "MCFragment: Use trailing data for fixed-size part"
This reverts commit f1aa6050bd90f8ec4273da55d362e23905ad3a81 (reland of #150846),
fixing conflicts.
It caused https://github.com/ClangBuiltLinux/linux/issues/2116 ,
which surfaced after a subsequent commit faa931b717c02d57f0814caa9133219040e6a85b decreased sizeof(MCFragment).
```
% /tmp/Debug/bin/clang "-cc1as" "-triple" "aarch64" "-filetype" "obj" "-main-file-name" "a.s" "-o" "a.o" "a.s"
clang: /home/ray/llvm/llvm/lib/MC/MCAssembler.cpp:615: void llvm::MCAssembler::writeSectionData(raw_ostream &, const MCSection *) const: Assertion `getContext().hadError() || OS.tell() - Start == getSectionAddressSize(*Sec)' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /tmp/Debug/bin/clang -cc1as -triple aarch64 -filetype obj -main-file-name a.s -o a.o a.s
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0 libLLVMSupport.so.22.0git 0x00007cf91eb753cd llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 61
fish: Job 1, '/tmp/Debug/bin/clang "-cc1as" "…' terminated by signal SIGABRT (Abort)
```
The test is sensitive to precise fragment offsets. Using llvm-mc
-filetype=obj -triple=aarch64 a.s does not replicate the issue. However,
clang -cc1as includes an unnecessary `initSection` (adding an extra
FT_Align), which causes the problem.
Commit: 342f212d47ed90edcb8236125979941869fc6d42
https://github.com/llvm/llvm-project/commit/342f212d47ed90edcb8236125979941869fc6d42
Author: David Green <david.green at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-ext.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-vext.ll
M llvm/test/CodeGen/AArch64/arm64-vext_reverse.ll
M llvm/test/CodeGen/AArch64/extend_inreg_of_concat_subvectors.ll
Log Message:
-----------
[AArch64] Regnerate and update a number of tests. NFC
extend_inreg_of_concat_subvectors.ll was using -mattr=+global-isel, which is
now replaced by -global-isel
Commit: 28ed57eda80dc5e3b7dd01d15100c126fa4e50f6
https://github.com/llvm/llvm-project/commit/28ed57eda80dc5e3b7dd01d15100c126fa4e50f6
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprConcepts.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/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Initialization.h
M clang/include/clang/Sema/Ownership.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaInternal.h
M clang/lib/AST/ASTConcept.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/CodeGenCXX/mangle-concept.cpp
M clang/test/Parser/cxx-template-template-recovery.cpp
M clang/test/Parser/cxx2a-concept-declaration.cpp
A clang/test/Parser/cxx2c-template-template-param.cpp
A clang/test/SemaCXX/cxx2c-template-template-param.cpp
M clang/utils/TableGen/ClangBuiltinTemplatesEmitter.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[Clang] Initial support for P2841 (Variable template and concept template parameters) (#150823)
This is a first pass at implementing
[P2841R7](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p2841r7.pdf).
The implementation is far from complete; however, I'm aiming to do that
in chunks, to make our lives easier.
In particular, this does not implement
- Subsumption
- Mangling
- Satisfaction checking is minimal as we should focus on #141776 first
(note that I'm currently very stuck)
FTM, release notes, status page, etc, will be updated once the feature
is more mature. Given the state of the feature, it is not yet allowed in
older language modes.
Of note:
- Mismatches between template template arguments and template template
parameters are a bit wonky. This is addressed by #130603
- We use `UnresolvedLookupExpr` to model template-id. While this is
pre-existing, I have been wondering if we want to introduce a different
OverloadExpr subclass for that. I did not make the change in this patch.
Commit: 549990124d1f71b1cdd0f14228a22738113b2f84
https://github.com/llvm/llvm-project/commit/549990124d1f71b1cdd0f14228a22738113b2f84
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/reduce-operands-alloca.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
Log Message:
-----------
[llvm-reduce] Do not replace lifetime pointer arg with zero/one/poison (#151697)
The lifetime argument is now required to be an alloca, so we should not
try to replace it with a constant.
We also shouldn't try to change the size argument to zero/one, similar
to how we avoid zero-size allocas.
Commit: c9684e58923babef7b994846b2208a05f3e3b31b
https://github.com/llvm/llvm-project/commit/c9684e58923babef7b994846b2208a05f3e3b31b
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.h
A llvm/test/CodeGen/RISCV/xqcilsm-memset.ll
Log Message:
-----------
[RISCV] Implement EmitTargetCodeForMemset for Xqcilsm (#151555)
This patch adds support for converting memset calls to one or more
`QC_SETWMI` instructions when beneficial. We only handle aligned memset
calls for now.
We limit a `QC_SETWMI` to 16 words or less to improve interruptibility.
So for `1-16` words we use a single `QC_SETWMI`:
`QC_SETWMI reg1, N, 0(reg2)`
For `17-32 `words we use two `QC_SETWMI's` with the first as 16 words
and the second for the remainder:
```
QC_SETWMI reg1, 16, 0(reg2)
QC_SETWMI reg1, N, 64(reg2)
```
For `33-48` words, we would like to use `(16, 16, n)`, but that means
the last QC_SETWMI needs an offset of `128` which the instruction
doesn't support. So in this case we use a length of `15` for the second
instruction and we do the rest with the third instruction.
This means the maximum number of words handled is `47` (for now):
```
QC_SETWMI R2, R0, 16, 0
QC_SETWMI R2, R0, 15, 64
QC_SETWMI R2, R0, N, 124
```
For `48` words or more, call the target independent memset.
Commit: df71243fa885cd3db701dc35a0c8d157adaf93b3
https://github.com/llvm/llvm-project/commit/df71243fa885cd3db701dc35a0c8d157adaf93b3
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-04 (Mon, 04 Aug 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/test/MC/ELF/mc-dump.s
Log Message:
-----------
MC: Evaluate .org during fragment relaxation
Similar to 742ecfc13e8aa34cfff2900e31838f657fcafe30 for MCFillFragment,
ensure `.org` directives with expressions are re-evaluated during
fragment relaxation, as their sizes may change. Continue iteration to
prevent stale, incorrect sizes. While I knew MCOrgFragment likely needed
to be re-evaluated at all, I did not have a motivation to add it;-)
This fixes the root cause of
https://github.com/ClangBuiltLinux/linux/issues/2116
(writeSectionData assertion failure when building the Linux kernel for arm64)
The issue cannot be reliably replicated. The specific test case would
not replicate if any of the following condition was not satisfied:
* .org was not re-evaluated. Fixed by this commit.
* clang -cc1as has a redundant `initSections` call, leading to a
redundant initial FT_Align fragment. llvm-mc -filetype=obj, lacking
the redundant `initSections`, doesn't replicate.
* faa931b717c02d57f0814caa9133219040e6a85b decreased sizeof(MCFragment).
* f1aa6050bd90f8ec4273da55d362e23905ad3a81 added more fragments
Commit: d95dadff8f094e793b79eec57737ec397fad7724
https://github.com/llvm/llvm-project/commit/d95dadff8f094e793b79eec57737ec397fad7724
Author: nerix <nerixdev at outlook.de>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
M lldb/source/Symbol/Type.cpp
A lldb/test/Shell/SymbolFile/NativePDB/namespace-access.test
Log Message:
-----------
[LLDB][NativePDB] Allow type lookup in namespaces (#149876)
Previously, `type lookup` for types in namespaces didn't work with the
native PDB plugin, because `FindTypes` would only look for types whose
base name was equal to their full name. PDB/CodeView does not store the
base names in the TPI stream, but the types have their full name (e.g.
`std::thread` instead of `thread`). So `findRecordsByName` would only
return types in the top level namespace.
This PR changes the lookup to go through all types and check their base
name. As that could be a bit expensive, the names are first cached
(similar to the function lookup in the DIA PDB plugin). Potential types
are checked with `TypeQuery::ContextMatches`.
To be able to handle anonymous namespaces, I changed
`TypeQuery::ContextMatches`. The [`TypeQuery`
constructor](https://github.com/llvm/llvm-project/blob/9ad7edef4276207ca4cefa6b39d11145f4145a72/lldb/source/Symbol/Type.cpp#L76-L79)
inserts all name components as `CompilerContextKind::AnyDeclContext`. To
skip over anonymous namespaces, `ContextMatches` checked if a component
was empty and exactly of kind `Namespace`. For our query, the last check
was always false, so we never skipped anonymous namespaces. DWARF
doesn't have this problem, as it [constructs the context
outside](https://github.com/llvm/llvm-project/blob/abe93d9d7e891a2a6596ddb0c6324280137c89dc/lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp#L154-L160)
and has proper information about namespaces. I'm not fully sure if my
change is correct and that it doesn't break other users of `TypeQuery`.
This enables `type lookup <type>` to work on types in namespaces.
However, expressions don't work with this yet, because `FindNamespace`
is unimplemented for native PDB.
Commit: 86727fe9a13daf313429c04fe602f45dbf35036c
https://github.com/llvm/llvm-project/commit/86727fe9a13daf313429c04fe602f45dbf35036c
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/Analysis/StackLifetime.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
A llvm/test/CodeGen/AArch64/lifetime-poison.ll
M llvm/test/Instrumentation/AddressSanitizer/lifetime.ll
M llvm/test/Instrumentation/HWAddressSanitizer/stack-safety-analysis.ll
R llvm/test/Transforms/InstCombine/pr150338.ll
A llvm/test/Transforms/InstCombine/unreachable-alloca-lifetime-markers.ll
Log Message:
-----------
[IR] Allow poison argument to lifetime markers (#151148)
This slightly relaxes the invariant established in #149310, by also
allowing the lifetime argument to be poison. This is to support the
typical pattern of RAUWing with poison when removing an instruction.
It's worth noting that this does not require any conservative
assumptions, lifetimes with poison arguments can simply be skipped.
Fixes https://github.com/llvm/llvm-project/issues/151119.
Commit: 0cfe9f7287f7c65d3539d39762815ed7497e06ac
https://github.com/llvm/llvm-project/commit/0cfe9f7287f7c65d3539d39762815ed7497e06ac
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/Frontend/FrontendAction.cpp
A clang/test/Frontend/dump-minimization-hints-cpp20-modules.cpp
Log Message:
-----------
[Clang] Handle C++20 export declarations in -dump-minimization-hints (#151666)
Thanks to Justin Stitt for bringing this up, providing test cases and a
direction for the fix!
Commit: 1862e3c56ce1eb3762b4ccd6e9e222f3022c9c7c
https://github.com/llvm/llvm-project/commit/1862e3c56ce1eb3762b4ccd6e9e222f3022c9c7c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Move __stack_smash_handler config to tablegen (#150870)
Commit: d64371b8197fab17f12a5faeb1c6951054aca0ba
https://github.com/llvm/llvm-project/commit/d64371b8197fab17f12a5faeb1c6951054aca0ba
Author: Nathan Gauër <brioche at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/CodeGen/SPIRV/lit.local.cfg
R llvm/test/Other/spirv-sim/branch.spv
R llvm/test/Other/spirv-sim/call.spv
R llvm/test/Other/spirv-sim/constant.spv
R llvm/test/Other/spirv-sim/lit.local.cfg
R llvm/test/Other/spirv-sim/loop.spv
R llvm/test/Other/spirv-sim/simple-bad-result.spv
R llvm/test/Other/spirv-sim/simple.spv
R llvm/test/Other/spirv-sim/simulator-args.spv
R llvm/test/Other/spirv-sim/switch.spv
R llvm/test/Other/spirv-sim/wave-get-lane-index.spv
R llvm/test/Other/spirv-sim/wave-read-lane-first.spv
R llvm/utils/spirv-sim/instructions.py
R llvm/utils/spirv-sim/spirv-sim.py
Log Message:
-----------
[tools] Cleanup spirv-sim (#151705)
spirv-sim was supposed to be used to test cross-lane interactions. This
utility was in the end never used for testing, and as we move to proper
end-to-end testing through the llvm/offload-test-suite project, this
becomes obsolete.
Cleaning this up.
Commit: 8a55d46ebc07b276e207d4db2220a115a1810db3
https://github.com/llvm/llvm-project/commit/8a55d46ebc07b276e207d4db2220a115a1810db3
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
Log Message:
-----------
[LV] Add missing CHECK lines for a test from UTC (#151871)
Commit: c467946c3a7bf6c52aef0bdf5e51c5608a664ebf
https://github.com/llvm/llvm-project/commit/c467946c3a7bf6c52aef0bdf5e51c5608a664ebf
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/IR/Instruction.cpp
Log Message:
-----------
[IR] Improve code in isIdenticalToWhenDefined (NFC) (#151881)
Prefer llvm::equal() over std::equal().
Commit: d6dc4336bf2490395039821c84856266d89792c4
https://github.com/llvm/llvm-project/commit/d6dc4336bf2490395039821c84856266d89792c4
Author: Matthias Springer <me at m-sp.org>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/test/Dialect/Linalg/detensorize_0d.mlir
Log Message:
-----------
[mlir][linalg][NFC] Remove references to IREE (#151825)
Commit: 961a4aabf89481950de5f4704aaaa2f2595484f8
https://github.com/llvm/llvm-project/commit/961a4aabf89481950de5f4704aaaa2f2595484f8
Author: jyli0116 <yu.li at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
Log Message:
-----------
[GlobalISel] Add constant matcher for APInt (#151357)
Changed m_SpecificICst, m_SpecificICstSplat and m_SpecificICstorSplat to
match against APInt as well.
Commit: e136fb04f2b9a4c42a43c86f141eaf253c998a52
https://github.com/llvm/llvm-project/commit/e136fb04f2b9a4c42a43c86f141eaf253c998a52
Author: David Green <david.green at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-fpext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptrunc.ll
Log Message:
-----------
[AArch64] Add sve bf16 fpext and fpround costs. (#150485)
This prevents them from generating Invalid costs, as generating the
instructions seems to work fine with and without +bf16. The costs are
mostly taken from the number of instructions (minus ptrue and constants).
Commit: 1454db130a7e14de4295217f9ff80e5f149564c4
https://github.com/llvm/llvm-project/commit/1454db130a7e14de4295217f9ff80e5f149564c4
Author: Gergely Futo <gergely.futo at hightec-rt.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/Sema/SemaRISCV.cpp
A clang/test/Sema/riscv-interrupt-attr-rnmi.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/test/CodeGen/RISCV/rnmi-interrupt-attr-error.ll
A llvm/test/CodeGen/RISCV/rnmi-interrupt-attr.ll
Log Message:
-----------
[RISCV] Support resumable non-maskable interrupt handlers (#148134)
The `rnmi` interrupt attribute value has been added for the `Smrnmi`
extension.
---------
Co-authored-by: Sam Elliott <sam at lenary.co.uk>
Commit: 19803d824971826fb6961059cce160da2094ab6b
https://github.com/llvm/llvm-project/commit/19803d824971826fb6961059cce160da2094ab6b
Author: Piotr Sobczak <piotr.sobczak at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaAMDGPU.cpp
Log Message:
-----------
[AMDGPU] Fix nested cases (#151918)
The Incorrect nesting was added in #151616 in what looks like a merge
error.
Commit: 96c8b9e508f72304cbd958be18fdd7b7240f7e63
https://github.com/llvm/llvm-project/commit/96c8b9e508f72304cbd958be18fdd7b7240f7e63
Author: Jack Frankland <jack.frankland at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
Log Message:
-----------
[mlir][memref][spirv] Add SPIR-V Image Lowering (#150978)
Adds an initial conversion in the Memref -> SPIR-V lowering for images.
Any memref in the "Image" storage-class/address-space will be considered
for lowering to the `!spirv.image` type during Memref to SPIR-V
conversion. Initially only the reading of sampled images are support and
images are read via the `OpImageFetch` instruction. Future work should
expand the conversion patterns to target non-sampled images and add
support for image write operations.
Images are supported for fp32, fp16, int32, uint32, int16 and uint16
types and lit tests have been added to verify this is the case along
with negative testing to check the cases where images aren't supported.
---------
Signed-off-by: Jack Frankland <jack.frankland at arm.com>
Commit: 30728eb26bff55af00375b7a835c519cfdf316a4
https://github.com/llvm/llvm-project/commit/30728eb26bff55af00375b7a835c519cfdf316a4
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/X86/x86-vector-shifts.ll
M llvm/test/Transforms/InstCombine/bitcast-known-bits.ll
M llvm/test/Transforms/InstSimplify/shift-knownbits.ll
Log Message:
-----------
[Reland][ValueTracking] Improve Bitcast handling to match SDAG (#145223)
Fixes #125228
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: f1ca88cebf84365368be06db89f1ab55f47f903b
https://github.com/llvm/llvm-project/commit/f1ca88cebf84365368be06db89f1ab55f47f903b
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
Log Message:
-----------
[mlir][tosa] Use `typeConverter->convertType<T>` (#150578)
Since `resultTy` might be nullptr, we should use `dyn_cast` instead of
`cast`. Additionally, `typeConverter->convertType<T>` is more
appropriate in this context.
Commit: 147bce78588b53db661888257e8bb915f1de98d9
https://github.com/llvm/llvm-project/commit/147bce78588b53db661888257e8bb915f1de98d9
Author: frayien <garbani.adrien at yahoo.fr>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
Log Message:
-----------
[clangd] textDocument/documentLink to support include statements with macro argument (#137550)
See issue https://github.com/clangd/clangd/issues/2375
The clangd textDocument/documentLink request does not support include
statements with macro argument and fails by returning an invalid range.
This PR adds support for macro argument by detecting what form of
include statement is currently being processed and returning a range
accordingly
First time contributing to LLVM, so if you have advice, questions or if
I messed up procedure please tell me !
---------
Co-authored-by: Adrien Garbani <garbani.adrien at frayien.fr>
Commit: 440a4de55265c67cf41a77e40f96d7c18ed7590a
https://github.com/llvm/llvm-project/commit/440a4de55265c67cf41a77e40f96d7c18ed7590a
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/include/lldb/Utility/XcodeSDK.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Utility/XcodeSDK.cpp
Log Message:
-----------
[lldb][darwin] force BuiltinHeadersInSystemModules to be always false (#151535)
This is a re-landing of
https://github.com/llvm/llvm-project/pull/144913, which was reverted
because of tests failing on Darwin.
The bots were failing because the x64 bots run the macOS 14.0 SDKs
whereas we assumed all the bots were running the macOS 15.0+ SDKs.
To address this, we deactivated the failing tests on SDKs that are older
than 15.0 in https://github.com/llvm/llvm-project/pull/147768.
Now that this is merged, we can re-land
https://github.com/llvm/llvm-project/pull/144913.
Commit: 1feed444aa065ff94ce63250a00de188001617be
https://github.com/llvm/llvm-project/commit/1feed444aa065ff94ce63250a00de188001617be
Author: Leon Clark <PeddleSpam at users.noreply.github.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/test/CodeGenOpenCL/preserve_vec3.cl
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/vec-load-combine.ll
M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/X86/load-widening.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
A llvm/test/Transforms/VectorCombine/load-shufflevector.ll
Log Message:
-----------
[VectorCombine] Shrink loads used in shufflevector rebroadcasts (#128938)
Attempt to shrink the size of vector loads where only some of the incoming lanes are used for rebroadcasts in shufflevector instructions.
---------
Co-authored-by: Leon Clark <leoclark at amd.com>
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 4b5b36e5c4b887a86fc7164d6899caaa2e2f5aed
https://github.com/llvm/llvm-project/commit/4b5b36e5c4b887a86fc7164d6899caaa2e2f5aed
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/test/Transforms/GVN/lifetime-simple.ll
Log Message:
-----------
[GVN] Avoid creating lifetime of non-alloca
There is a larger problem here in that we should not be performing
arbitrary pointer replacements for assumes. This is handled for
branches, but assume goes through a different code path.
Fixes https://github.com/llvm/llvm-project/issues/151785.
Commit: 76e38ca981a2c04879af911e8eb0065ed913f6ef
https://github.com/llvm/llvm-project/commit/76e38ca981a2c04879af911e8eb0065ed913f6ef
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/cxx11.cpp
Log Message:
-----------
[clang][bytecode] Try to load primitive values directly (#151833)
Instead of doing a GetPtrLocal + Load or GetPtrGlobal + Load pair, try
to load the value directly.
Commit: 0824811b0beddae1f6fd25f7acdd17a3f2db07ff
https://github.com/llvm/llvm-project/commit/0824811b0beddae1f6fd25f7acdd17a3f2db07ff
Author: Chris Jackson <chris.jackson at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
Log Message:
-----------
[AMDGPU] Remove dead code in VOP1 tablegen (NFC) (#151932)
Remove dead class in VOP1Instructions.td.
Commit: 66a8341f6d89d562faad667986af8fa584ad7426
https://github.com/llvm/llvm-project/commit/66a8341f6d89d562faad667986af8fa584ad7426
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/test/Transforms/LoopVectorize/vect.stats.ll
Log Message:
-----------
[VPlan] Skip disconnected exit blocks in hasEarlyExit. (#151718)
Currently hasEarlyExit returns true, if there are multiple exit blocks.
ExitBlocks contains the wrapped original IR exit blocks. Without
checking the predecessors we incorrectly return true for loops with
multiple countable exits, that have been vectorized by requiring a
scalar epilogue. In that case, the exit blocks will get disconnected.
Fix this by filtering out disconnected exit blocks.
Currently this should only impact the 'early-exit vectorized' statistic.
PR: https://github.com/llvm/llvm-project/pull/151718
Commit: d07abde4b8a0354796838b38498037d39276edea
https://github.com/llvm/llvm-project/commit/d07abde4b8a0354796838b38498037d39276edea
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for 185a23e865c31145588276e7e0db2460e01eb703
Commit: 8cc4c6d78f08ca38b5051a09a71ec14ae8931cda
https://github.com/llvm/llvm-project/commit/8cc4c6d78f08ca38b5051a09a71ec14ae8931cda
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
A flang/test/Lower/OpenMP/Todo/wsloop-reduction-non-intrinsic.f90
R flang/test/Lower/OpenMP/wsloop-reduction-non-intrinsic.f90
Log Message:
-----------
[flang][Lower] Make reduction processing failure a hard error (#150233)
See #150178
This may regress some test cases which only ever passed by accident.
I've tested SPEC2017 and a sample of applications to check that this
doesn't break anything too obvious. Presumably this was not a widely
used feature or we would have noticed the bug sooner.
I'm unsure whether this should be backported to LLVM 21 or not: I think
it is much better to refuse to compile than to silently produce the
wrong result, but there is a chance this could regress something which
previously worked by accident. Opinions welcome.
Commit: a24fae3aefd14cfff4bd911101cd0a1fb4dfdafe
https://github.com/llvm/llvm-project/commit/a24fae3aefd14cfff4bd911101cd0a1fb4dfdafe
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/build-vector-packed-partial-undef.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/fmaximum.ll
M llvm/test/CodeGen/AMDGPU/fminimum.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll
M llvm/test/CodeGen/AMDGPU/strict_ldexp.f16.ll
Log Message:
-----------
[AMDGPU][True16][GlobalISel] Fix v2*16 build_vector patterns (#151496)
- Pattern with IMPLICIT_DEF failed to generate an entry in MatchTable and
did not report an error, just silently failed. This is fixed by casting
IMPLICIT_DEF to appropriate type. This also fixes selecting
"build_vector s16, undef" for GlobalISel with True16.
- Add pattern for "build_vector undef, s16" that will work for GlobalISel.
True16 GlobalISel has a G_TRUNC that it needs to deal with.
- Use REG_SEQUENCE for Real16 patterns instead of V_LSHLREV_B32_e64 to
generate more optimal code.
Commit: 19b4258d659114abd9b15a0ad16f470afea8785a
https://github.com/llvm/llvm-project/commit/19b4258d659114abd9b15a0ad16f470afea8785a
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/docs/UsersManual.rst
Log Message:
-----------
[Docs] Some updates to the Clang user's manual (#151702)
* Fills out the terminology section
* Removes the basic usage section (we should bring it back someday
though!)
* Updates the list of supported language versions
* Adds information about what versions of Clang are officially supported
* Moves some extensions into the intentionally unsupported extensions
section.
There are likely far more updates that could be done, but this seemed
worth posting just to get things moving.
Commit: 95191d54603e6bcd6b924c99755b3a9f3bb1c345
https://github.com/llvm/llvm-project/commit/95191d54603e6bcd6b924c99755b3a9f3bb1c345
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-gep.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-switch.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-gep-flags.ll
M llvm/test/CodeGen/AArch64/GlobalISel/translate-gep.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll
Log Message:
-----------
[GISel] Set more MIFlags when translating GEPs (#151708)
The IRTranslator sets the flags now more consistently with
`SelectionDAGBuilder::visitGetElementPtr()`. This affects `nuw` and `nusw`, as
well as the recently introduced `inbounds` MIFlag (see PR #150900).
This PR also adds more tests to `AArch64/GlobalISel/irtranslator-gep-flags.ll`
to cover all points in `IRTranslator::translateGetElementPtr` that set flags.
For SWDEV-516125.
Commit: f1eb869bae2ab86726ee3a5a5c7980d5b2acbd5d
https://github.com/llvm/llvm-project/commit/f1eb869bae2ab86726ee3a5a5c7980d5b2acbd5d
Author: Leandro Lacerda <leandrolcampos at yahoo.com.br>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M offload/unittests/CMakeLists.txt
M offload/unittests/Conformance/device_code/CMakeLists.txt
R offload/unittests/Conformance/device_code/LLVMLibm.c
A offload/unittests/Conformance/device_code/LLVMLibm.cpp
M offload/unittests/OffloadAPI/device_code/CMakeLists.txt
R offload/unittests/OffloadAPI/device_code/bar.c
A offload/unittests/OffloadAPI/device_code/bar.cpp
R offload/unittests/OffloadAPI/device_code/foo.c
A offload/unittests/OffloadAPI/device_code/foo.cpp
R offload/unittests/OffloadAPI/device_code/global.c
A offload/unittests/OffloadAPI/device_code/global.cpp
R offload/unittests/OffloadAPI/device_code/global_ctor.c
A offload/unittests/OffloadAPI/device_code/global_ctor.cpp
R offload/unittests/OffloadAPI/device_code/global_dtor.c
A offload/unittests/OffloadAPI/device_code/global_dtor.cpp
R offload/unittests/OffloadAPI/device_code/localmem.c
A offload/unittests/OffloadAPI/device_code/localmem.cpp
R offload/unittests/OffloadAPI/device_code/localmem_reduction.c
A offload/unittests/OffloadAPI/device_code/localmem_reduction.cpp
R offload/unittests/OffloadAPI/device_code/localmem_static.c
A offload/unittests/OffloadAPI/device_code/localmem_static.cpp
R offload/unittests/OffloadAPI/device_code/noargs.c
A offload/unittests/OffloadAPI/device_code/noargs.cpp
R offload/unittests/OffloadAPI/device_code/sequence.c
A offload/unittests/OffloadAPI/device_code/sequence.cpp
Log Message:
-----------
[Offload][UnitTests] Build device code as C++ (#151714)
This commit refactors the `add_offload_test_device_code` CMake function
to compile device code using the C++ compiler (`CMAKE_CXX_COMPILER`)
instead of the C compiler.
This change enables the use of C++ features, such as templates, within
device-side test kernels. This will allow for more advanced and reusable
kernel wrappers, reducing boilerplate code in the conformance test
suite.
As part of this change:
- All `.c` files for device code in `unittests/` have been renamed to
`.cpp`.
- Kernel definitions are now wrapped in `extern "C"` to ensure C linkage
and prevent name mangling.
This change affects the `OffloadAPI` and `Conformance` test suites.
cc @callumfare @RossBrunton @jhuber6
Commit: ed5bd23867eacaa3789060f9250ba6fcece2a3de
https://github.com/llvm/llvm-project/commit/ed5bd23867eacaa3789060f9250ba6fcece2a3de
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/implicit-def-subreg-to-reg-regression.ll
M llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_darwin.ll
R llvm/test/CodeGen/AArch64/register-coalesce-implicit-def-subreg-to-reg.mir
M llvm/test/CodeGen/AArch64/register-coalesce-update-subranges-remat.mir
M llvm/test/CodeGen/PowerPC/aix-vec_insert_elt.ll
M llvm/test/CodeGen/PowerPC/build-vector-tests.ll
M llvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
M llvm/test/CodeGen/PowerPC/combine-fneg.ll
M llvm/test/CodeGen/PowerPC/fp-strict-round.ll
M llvm/test/CodeGen/PowerPC/frem.ll
M llvm/test/CodeGen/PowerPC/froundeven-legalization.ll
M llvm/test/CodeGen/PowerPC/handle-f16-storage-type.ll
M llvm/test/CodeGen/PowerPC/ldexp.ll
M llvm/test/CodeGen/PowerPC/llvm.modf.ll
M llvm/test/CodeGen/PowerPC/vec_insert_elt.ll
M llvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
R llvm/test/CodeGen/X86/coalescer-breaks-subreg-to-reg-liveness.ll
M llvm/test/CodeGen/X86/coalescer-implicit-def-regression-imp-operand-assert.mir
R llvm/test/CodeGen/X86/coalescing-subreg-to-reg-requires-subrange-update.mir
R llvm/test/CodeGen/X86/pr76416.ll
M llvm/test/CodeGen/X86/subreg-fail.mir
R llvm/test/CodeGen/X86/subreg-to-reg-coalescing.mir
Log Message:
-----------
Revert "Reland "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG" (#134408)"
This reverts commit bae8f1336db6a7f3288a7dcf253f2d484743b257.
Some issues were found:
* https://github.com/llvm/llvm-project/issues/151768
* https://github.com/llvm/llvm-project/issues/151592
* https://github.com/llvm/llvm-project/pull/134408#issuecomment-3145468321
* https://github.com/llvm/llvm-project/issues/151888#issuecomment-3149286820
I'll revert this for the time being while I investigate.
Commit: e833bb0991dd20655dae1c3812bd84f0fb36ea25
https://github.com/llvm/llvm-project/commit/e833bb0991dd20655dae1c3812bd84f0fb36ea25
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
Log Message:
-----------
[Local] Do not pass Root to replaceDominatedUsesWith (NFC)
Capture it in the lambdas instead.
Commit: edae78d2aa5bcbee36084907684c7f1c6497f628
https://github.com/llvm/llvm-project/commit/edae78d2aa5bcbee36084907684c7f1c6497f628
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[mlir][OpenMP][NFC] Fix gcc 14 warning (#151941)
GCC couldn't tell that the enum is checked exhaustively and so was
warning about there being no return on this path from the function.
Commit: da11c1d59433a2813ca0333f81d4faca443a8a77
https://github.com/llvm/llvm-project/commit/da11c1d59433a2813ca0333f81d4faca443a8a77
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/Transforms/GVN/assume-equal.ll
Log Message:
-----------
[GVN] Generate test checks (NFC)
Commit: ca513ee1ec635cc5579f6d65983676c1bb417508
https://github.com/llvm/llvm-project/commit/ca513ee1ec635cc5579f6d65983676c1bb417508
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
Log Message:
-----------
[flang][OpenMP] Remove unused class OmpMemoryOrderClause, NFC (#151759)
Commit: b30d5315b7ed6d9e2f5aab7140896d16ed020a40
https://github.com/llvm/llvm-project/commit/b30d5315b7ed6d9e2f5aab7140896d16ed020a40
Author: David Green <david.green at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/Analysis/CostModel/AArch64/fcmp.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/vector-select.ll
M llvm/test/Transforms/SLPVectorizer/scalarazied-result.ll
Log Message:
-----------
[AArch64] Add better fcmp costs for expanded predicates (#147940)
Certain fcmp predicates need to be expanded into multiple operations and
or'd together. This adds some more accurate cost modelling for them
based on the predicate. Unsupported operations are given the cost of a
libcall and the latency is set to 2 as that seemed to be fairly common
between different CPUs.
Commit: fb4a8f67b9f4b898b95dda7ba184f3f256876031
https://github.com/llvm/llvm-project/commit/fb4a8f67b9f4b898b95dda7ba184f3f256876031
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/compare-signs.ll
Log Message:
-----------
[LLVM][InstCombine] foldICmpEquality: Compare APInt values rather than addresses. (#151726)
Commit: 3a20c005f6fce92600ca1167255e2a7ef7a0e0d0
https://github.com/llvm/llvm-project/commit/3a20c005f6fce92600ca1167255e2a7ef7a0e0d0
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp
M mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir
Log Message:
-----------
Reland "[mlir][spirv] Fix UpdateVCEPass to deduce the correct set of capabilities" (#151502)
This reland PR #151108
The original PR made sanitizer builds to fail. The issue are now
resolved in this new patch.
Original commit message:
> When deducing capabilities implied capabilities are not considered,
which causes generation of incorrect SPIR-V modules. This commit fixes
that by pulling in the capability set all the implied ones.
---------
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: a3d0c541eb6a443ef4cf6c84facb4d5c35009bea
https://github.com/llvm/llvm-project/commit/a3d0c541eb6a443ef4cf6c84facb4d5c35009bea
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/docs/analyzer/checkers.rst
A clang/docs/analyzer/checkers/storetoimmutable_example.cpp
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
A clang/lib/StaticAnalyzer/Checkers/StoreToImmutableChecker.cpp
A clang/test/Analysis/store-to-immutable-basic.c
A clang/test/Analysis/store-to-immutable-basic.cpp
A clang/test/Analysis/store-to-immutable-lambda-init.cpp
Log Message:
-----------
[clang][analyzer] Add StoreToImmutable checker (#150417)
This adds alpha.core.StoreToImmutable, a new alpha checker that detects
writes
to immutable memory regions, implementing part of SEI CERT Rule ENV30-C.
The
original proposal only handled global const variables, but this
implementation
extends it to also detect writes to:
- Local const variables
- String literals
- Const parameters and struct members
- Const arrays and pointers to const data
This checker is the continuation of the work started by zukatsinadze.
Discussion: https://reviews.llvm.org/D124244
Commit: 04f98889ae497d895be7c478415e0e9a8c6d330b
https://github.com/llvm/llvm-project/commit/04f98889ae497d895be7c478415e0e9a8c6d330b
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
M llvm/test/Instrumentation/NumericalStabilitySanitizer/basic.ll
Log Message:
-----------
[LLVM][NumericalStabilitySanitizer] Add support for vector ConstantFPs. (#151739)
Commit: 1406058cbacc8720042eed15a087f8ff1b5c5e1c
https://github.com/llvm/llvm-project/commit/1406058cbacc8720042eed15a087f8ff1b5c5e1c
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/masked_intrinsics.ll
Log Message:
-----------
[LLVM][InstCombine] Extend masked_gather's demanded elt analysis. (#151732)
Add support for other Constant types for the mask operand.
Commit: 80dae158318a42f6217a38b1f8ec9299c7390234
https://github.com/llvm/llvm-project/commit/80dae158318a42f6217a38b1f8ec9299c7390234
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/CodeGenCXX/debug-info-class.cpp
M clang/test/CodeGenCXX/vtable-debug-info-inheritance-simple.cpp
M clang/test/Modules/ExtDebugInfo.cpp
Log Message:
-----------
[clang][DebugInfo] Disable VTable debug info (#130255) on COFF platforms (#151684)
On COFF platform, d1b0cbff806b50d399826e79b9a53e4726c21302 generates a
debug info linked with VTable regardless definition is present or not.
If that VTable ends up implicitly dllimported from another DLL, ld.bfd
produces a runtime pseudo relocation for it (LLD doesn't, since
d17db6066d2524856fab493dd894f8396e896bc7). If the debug section is
stripped, the runtime pseudo relocation points to memory space outside
of the module, causing an access violation.
At this moment, we simply disable VTable debug info on COFF platform to
avoid this problem.
Commit: 4655907099e3b2277d82a307b494adc14463f8e0
https://github.com/llvm/llvm-project/commit/4655907099e3b2277d82a307b494adc14463f8e0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-selects.ll
Log Message:
-----------
[VectorCombine][X86] Fix typo in src_v8tov8_i16 shuffle(select(),select()) test
Shuffle was (free) identity, messing up the fold's cost benefit test
Commit: f382b7f25c3035dc55c01c7e3f1e13d42fa6519d
https://github.com/llvm/llvm-project/commit/f382b7f25c3035dc55c01c7e3f1e13d42fa6519d
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[Bazel][lldb] Add PluginProcessWasm target.
Commit: 7cd1ce3aa006424d20e95a2a4fe7df7113527976
https://github.com/llvm/llvm-project/commit/7cd1ce3aa006424d20e95a2a4fe7df7113527976
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/vector-like-instr-does-not-dominate.ll
Log Message:
-----------
[SLP]Check vector-like instruction for dominance in copyables
Need to check if the vector-like instruction is dominated by main
operation in the copyables to prevent broken def-use chain
Fixes #151456
Commit: 12b9c0da04a0b34cb12000bccf5b90e1f98d23d6
https://github.com/llvm/llvm-project/commit/12b9c0da04a0b34cb12000bccf5b90e1f98d23d6
Author: Michael Marjieh <99331190+mmarjieh at users.noreply.github.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td
M mlir/include/mlir/Dialect/SCF/Transforms/Passes.h
M mlir/include/mlir/Dialect/SCF/Transforms/Passes.td
M mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
A mlir/lib/Dialect/SCF/Transforms/ParallelForToNestedFors.cpp
A mlir/test/Dialect/SCF/parallel-to-nested-fors.mlir
A mlir/test/Dialect/SCF/transform-op-parallel-to-nested-fors.mlir
Log Message:
-----------
[mlir][scf] Implement Conversion from scf.parallel to Nested scf.for (#147692)
Add a utility function/transform operation to convert `scf.parallel`
loops to nested `scf.for` loops.
Commit: 872da999bec33adf768d8601c3218c4780558589
https://github.com/llvm/llvm-project/commit/872da999bec33adf768d8601c3218c4780558589
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Log Message:
-----------
[gn build] Port a3d0c541eb6a
Commit: cd8f348c69345755f559049f415ce8b6c0d6edc1
https://github.com/llvm/llvm-project/commit/cd8f348c69345755f559049f415ce8b6c0d6edc1
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/lib/AST/Mangle.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/unittests/AST/DeclTest.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[clang][Attr] Remove 'literal label' form of AsmLabelAttr (#151858)
This was added purely for the needs of LLDB. However, starting with
https://github.com/llvm/llvm-project/pull/151355 and
https://github.com/llvm/llvm-project/pull/148877 we no longer create
literal AsmLabels in LLDB either. So this is unused and we can get rid
of it.
In the near future LLDB will want to add special support for mangling
`AsmLabel`s (specifically
https://github.com/llvm/llvm-project/pull/149827).
Commit: 1c0ac80d4a9ef6c21914f2317003979952c2a2c3
https://github.com/llvm/llvm-project/commit/1c0ac80d4a9ef6c21914f2317003979952c2a2c3
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
A llvm/test/CodeGen/AArch64/combine-storetomstore.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
A llvm/test/CodeGen/RISCV/combine-storetomstore.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll
A llvm/test/CodeGen/X86/combine-storetomstore.ll
M llvm/test/CodeGen/X86/pr30284.ll
Log Message:
-----------
[DAG] Combine `store + vselect` to `masked_store` (#145176)
Add a new combine to replace
```
(store ch (vselect cond truevec (load ch ptr offset)) ptr offset)
```
to
```
(mstore ch truevec ptr offset cond)
```
This saves a blend operation on targets that support conditional stores.
Commit: 9bb31e8f88ab49c3f983067540e553dd13fd3b42
https://github.com/llvm/llvm-project/commit/9bb31e8f88ab49c3f983067540e553dd13fd3b42
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/include/flang/Lower/ConvertType.h
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertType.cpp
A flang/test/Lower/derived-type-private.f90
Log Message:
-----------
[Flang] Fix crash when a derived type with private attribute is specified in extends (#151051)
While lowering to HLFIR, when a parent type is private, its name is
mangled, so we need to get it from the parent symbol.
Fixes #120922
Commit: 2e404d1f800c804b5088ad1f54f24738efbdf9cd
https://github.com/llvm/llvm-project/commit/2e404d1f800c804b5088ad1f54f24738efbdf9cd
Author: Matt <msta at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/DeclID.h
M clang/lib/Sema/Sema.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/pr151277.cpp
Log Message:
-----------
clang: Make the type_info builtin declaration a singleton (#151277)
This fixes an ambiguous type type_info when you try and reference the
`type_info` type while using clang modulemaps with `-fms-compatibility`
enabled
Fixes #38400
Commit: 4431331cb6b0a3327adbd49b49792f693f868866
https://github.com/llvm/llvm-project/commit/4431331cb6b0a3327adbd49b49792f693f868866
Author: Will Froom <willfroom at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/test/CAPI/pass.c
Log Message:
-----------
[MLIR] Add test to check that we don't reinit after running pass again (#151963)
Following on from #150948
Commit: 88c6448fa265e5f50d92251202ab57458ca23064
https://github.com/llvm/llvm-project/commit/88c6448fa265e5f50d92251202ab57458ca23064
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/test/CodeGenOpenCL/preserve_vec3.cl
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/vec-load-combine.ll
M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/X86/load-widening.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
R llvm/test/Transforms/VectorCombine/load-shufflevector.ll
Log Message:
-----------
Revert "[VectorCombine] Shrink loads used in shufflevector rebroadcasts" (#151960)
Reverts llvm/llvm-project#128938 while a crash regression is investigated
Commit: c6fd3d32c37f599c69da16f5ff026b925b510f94
https://github.com/llvm/llvm-project/commit/c6fd3d32c37f599c69da16f5ff026b925b510f94
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/RISCV/switch-of-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/RISCV/switch_to_lookup_table-rv64.ll
M llvm/test/Transforms/SimplifyCFG/X86/disable-lookup-table.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-of-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-bitcast.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-gep.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-globals.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
M llvm/test/Transforms/SimplifyCFG/rangereduce.ll
M llvm/test/Transforms/SimplifyCFG/switch_mask.ll
Log Message:
-----------
[SimplifyCfg] Add nneg to zext for switch to table conversion (#147180)
Commit: d03692a00ee2404aa5c98a5f6c447f66d77a4663
https://github.com/llvm/llvm-project/commit/d03692a00ee2404aa5c98a5f6c447f66d77a4663
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M offload/liboffload/API/Device.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
M offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
Log Message:
-----------
[Offload] Rework `MAX_WORK_GROUP_SIZE` (#151926)
`MAX_WORK_GROUP_SIZE` now represents the maximum total number of work
groups the device can allocate, rather than the maximum per dimension.
`MAX_WORK_GROUP_SIZE_PER_DIMENSION` has been added, which has the old
behaviour.
Commit: ba10c1d46a221f8cf7be565cc75074ec822d5c70
https://github.com/llvm/llvm-project/commit/ba10c1d46a221f8cf7be565cc75074ec822d5c70
Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[clang][NFC] Code Cleanup of inferred noreturn attributes in explicit specializations. (#151815)
Addressing
https://github.com/llvm/llvm-project/pull/150003#discussion_r2249169463
Commit: 25c02fbc42d06534444f2b724012126cfe7d618e
https://github.com/llvm/llvm-project/commit/25c02fbc42d06534444f2b724012126cfe7d618e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/tools/offload-arch/AMDGPUArchByHIP.cpp
M clang/tools/offload-arch/NVPTXArch.cpp
Log Message:
-----------
[Clang] Hide `offload-arch` initialization errors behind verbose flag (#151964)
Summary:
This tool tries to print the offloading architectures. If the user
doesn't have the HIP libraries or the CUDA libraries it will print and
error.
This isn't super helpful since we're just querying things. So, for
example, if we're on an AMD machine with no CUDA you'll get the AMD GPUs
and then an error message saying that CUDA wasn't found. This silences
the error just on failing to find the library unless verbose is on.
Commit: 5c2054a4ea2e5dbbf2a7734246123ea3a4ce623c
https://github.com/llvm/llvm-project/commit/5c2054a4ea2e5dbbf2a7734246123ea3a4ce623c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] getMinMaxOpcodeForFP - split if-else chain. NFC. (#151938)
(style) All cases return so split the chain
Commit: 6de745b5473f4ae206110c497f28f040ea317d31
https://github.com/llvm/llvm-project/commit/6de745b5473f4ae206110c497f28f040ea317d31
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.h
R llvm/test/CodeGen/X86/avx512f-large-stack.ll
M llvm/test/CodeGen/X86/huge-stack.ll
R llvm/test/CodeGen/X86/large-displacements-fastisel.ll
R llvm/test/CodeGen/X86/large-displacements.ll
M llvm/test/CodeGen/X86/merge-huge-sp-updates.ll
M llvm/test/CodeGen/X86/stack-clash-extra-huge.ll
M llvm/test/CodeGen/X86/stack-clash-huge.ll
M llvm/test/CodeGen/X86/win64-stackprobe-overflow.ll
Log Message:
-----------
Revert "[X86] Correct 32-bit immediate assertion and fix 64-bit lowering for huge frame offsets" (#151975)
Reverts llvm/llvm-project#123872 - this is breaking on EXPENSIVE_CHECKS builds
Co-authored-by: Abhishek Kaushik <abhishek.kaushik at intel.com>
Commit: df7473673214b063f7ca5d726263c5089f193ffd
https://github.com/llvm/llvm-project/commit/df7473673214b063f7ca5d726263c5089f193ffd
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
A clang/test/Driver/Inputs/libclc/libclc.bc
A clang/test/Driver/Inputs/libclc/subdir/libclc.bc
A clang/test/Driver/opencl-libclc.cl
M libclc/CMakeLists.txt
Log Message:
-----------
[clang] Add the ability to link libclc OpenCL libraries (#146503)
This commit adds driver support for linking libclc OpenCL libraries. It
takes the form of a new optional flag: --libclc-lib=namespec. Nothing is
linked unless this flag is specified.
Not all libclc targets have corresponding clang targets. For this reason
it is desirable for users to be able to specify a libclc library name.
We support this by taking both a library name (without the .bc suffix)
or a filename. Both of these are searched for in the clang resource
directory. Filenames are
also checked themselves so that absolute paths can be provided. The
syntax for specifying filenames (as opposed to library names) uses a
leading colon (:), inspired by the -l option.
To accommodate this option, libclc libraries are now placed into clang's
resource directory in an in-tree configuration. The libraries are all
placed in <resource-dir>/lib/libclc and
are not grouped under host-specific directories as some other runtime
libraries are; it is not expected that OpenCL libraries will differ
depending on the host toolchain.
Currently only the AMDGPU toolchain supports this option as a proof of
concept. Other targets such as NVPTX or SPIR/SPIR-V could support it
too. We could optionally let target toolchains search for libclc
libraries themselves, possibly when passed an empty --libclc-lib.
Commit: 6f74a44b63f3f5de6c741077e11558eb16fc3459
https://github.com/llvm/llvm-project/commit/6f74a44b63f3f5de6c741077e11558eb16fc3459
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[ADT] Use range-based for loops in DenseMap.h (NFC) (#151900)
This patch introduces helper function buckets() to convert several
loops to range-based for loops.
Commit: 76abef60b0d7adb9996220894e4390a93cf9bc1c
https://github.com/llvm/llvm-project/commit/76abef60b0d7adb9996220894e4390a93cf9bc1c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/TargetInstrInfo.cpp
Log Message:
-----------
[CodeGen] Remove an unnecessary cast (NFC) (#151901)
getOpcode() already returns unsigned.
Commit: 9559de180336ec542bc9c49da9f2800fa3ea5004
https://github.com/llvm/llvm-project/commit/9559de180336ec542bc9c49da9f2800fa3ea5004
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
Log Message:
-----------
[Target] Remove unnecessary casts (NFC) (#151902)
getImm() already returns int64_t.
Commit: c5c2570d09de1a78f45a3a03a3167c35b05eae6e
https://github.com/llvm/llvm-project/commit/c5c2570d09de1a78f45a3a03a3167c35b05eae6e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/include/lldb/Core/Opcode.h
Log Message:
-----------
[lldb] Include bit.h instead of SwapByteOrder.h (NFC) (#151903)
We use llvm::byteswap from bit.h, but we don't use any feature from
SwapByteOrder.h.
Commit: 39ca925ffefe2f8307e6ead1f7ffd99c58528d0f
https://github.com/llvm/llvm-project/commit/39ca925ffefe2f8307e6ead1f7ffd99c58528d0f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/QualTypeNames.cpp
Log Message:
-----------
[AST] Use llvm::iterator_range::empty (NFC) (#151904)
Commit: 35dd88918fccfafe60124d4046eb766299015f31
https://github.com/llvm/llvm-project/commit/35dd88918fccfafe60124d4046eb766299015f31
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
M llvm/lib/SandboxIR/Value.cpp
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[llvm] Use llvm::iterator_range::empty (NFC) (#151905)
Commit: 0398ad41bdf1ce5f74c80a74494bfe733fe3e214
https://github.com/llvm/llvm-project/commit/0398ad41bdf1ce5f74c80a74494bfe733fe3e214
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/docs/Coroutines.rst
Log Message:
-----------
[llvm] Proofread Coroutines.rst (#151906)
Commit: 32efbb707ecaa4d55ad322c2b85393603e440541
https://github.com/llvm/llvm-project/commit/32efbb707ecaa4d55ad322c2b85393603e440541
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/tools/opt/optdriver.cpp
Log Message:
-----------
[nfc][profcheck] fix cl::desc typo (#151979)
The pass is `prof-verify`, not `prof-check`. (Meanwhile, `profcheck` is an informal handle we could use for the whole feature in the [RFC](https://discourse.llvm.org/t/rfc-profile-information-propagation-unittesting/73595))
Commit: 38bfe9ae56e5bd35d68a178e99453fc0a1fbefda
https://github.com/llvm/llvm-project/commit/38bfe9ae56e5bd35d68a178e99453fc0a1fbefda
Author: woruyu <99597449+woruyu at users.noreply.github.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/AArch64/vselect-ext.ll
M llvm/test/CodeGen/X86/avg-mask.ll
M llvm/test/CodeGen/X86/avx512-ext.ll
M llvm/test/CodeGen/X86/pr78897.ll
M llvm/test/CodeGen/X86/sqrt-fastmath.ll
M llvm/test/CodeGen/X86/ushl_sat_vec.ll
M llvm/test/CodeGen/X86/var-permute-128.ll
M llvm/test/CodeGen/X86/vector-bo-select.ll
Log Message:
-----------
[DAG] combineVSelectWithAllOnesOrZeros - missing freeze (#150388)
This PR resolves https://github.com/llvm/llvm-project/issues/150069
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 6df66a0683fee8ed35bb2aa85fff458add434c5f
https://github.com/llvm/llvm-project/commit/6df66a0683fee8ed35bb2aa85fff458add434c5f
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/Instrumentation/TypeSanitizer/alloca.ll
Log Message:
-----------
[TypeSanitizer] Add test with lifetime intrinsics (NFC)
Commit: 105963ad5e6b05214318874aef93d02e10ce6c43
https://github.com/llvm/llvm-project/commit/105963ad5e6b05214318874aef93d02e10ce6c43
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Function.h
Log Message:
-----------
[clang][bytecode] Use SmallVector for Function::Code (#151821)
This way we can use resize_for_overwrite, which is slightly more
efficient:
https://llvm-compile-time-tracker.com/compare.php?from=7bdab76350970a3ac471da6a30035dd5b7ef14f3&to=b55bd2c74f230e2150e54b0523db6a8426eab54d&stat=instructions:u
Commit: b18377ccad8dd330622b012df0ec73fc5bf768a4
https://github.com/llvm/llvm-project/commit/b18377ccad8dd330622b012df0ec73fc5bf768a4
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/test/Analysis/GlobalsModRef/memset-escape.ll
Log Message:
-----------
[GlobalsModRef] Generate test checks (NFC)
Commit: 2b20cf7291c139f32b55a31397d7de1dfa323f3f
https://github.com/llvm/llvm-project/commit/2b20cf7291c139f32b55a31397d7de1dfa323f3f
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/si-fold-reg-sequence.mir
Log Message:
-----------
[AMDGPU] Fold into uses of splat REG_SEQUENCEs through COPYs. (#145691)
Commit: f72c8dce1586d27e4723259166a21f01499dda60
https://github.com/llvm/llvm-project/commit/f72c8dce1586d27e4723259166a21f01499dda60
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] canCreateUndefOrPoisonForTargetNode - RISCVISD::SELECT_CC is only for integer comparisons - which can't create poison (#151943)
The result type is irrelevant - its the comparison type that matters
Commit: 3ee8d047109ea4bb479095f4b153c2120a8d726c
https://github.com/llvm/llvm-project/commit/3ee8d047109ea4bb479095f4b153c2120a8d726c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/main-alternate-interechanged-detect.ll
Log Message:
-----------
[SLP] Fix a check for main/alternate interchanged instruction
If the instruction is checked for matching the main instruction, need to
check if the opcode of the main instruction is compatible with the
operands of the instruction. If they are not, need to check the
alternate instruction and its operands for compatibility and return
alternate instruction as a match.
Fixes #151699
Commit: cd834449a6d551cace6afad798ffad318f4ff325
https://github.com/llvm/llvm-project/commit/cd834449a6d551cace6afad798ffad318f4ff325
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
M lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
Log Message:
-----------
[vscode-lldb] Fix format (#151829)
Generated by running the formatter:
```
royshi-mac-home ~/public_llvm/llvm-project/lldb/tools/lldb-dap % yarn format
yarn run v1.22.22
warning package.json: License should be a valid SPDX license expression
warning lldb-dap at 0.2.15: The engine "vscode" appears to be invalid.
$ npx prettier './src-ts/' --write
src-ts/debug-adapter-factory.ts 65ms
src-ts/debug-configuration-provider.ts 17ms (unchanged)
src-ts/debug-session-tracker.ts 11ms (unchanged)
src-ts/disposable-context.ts 2ms (unchanged)
src-ts/extension.ts 3ms (unchanged)
src-ts/lldb-dap-server.ts 7ms
src-ts/ui/error-with-notification.ts 4ms (unchanged)
src-ts/ui/modules-data-provider.ts 5ms (unchanged)
src-ts/ui/show-error-message.ts 6ms (unchanged)
src-ts/uri-launch-handler.ts 5ms (unchanged)
✨ Done in 0.99s.
```
Commit: 7fb620a5cc02a511a019d6918b0993b4cbdea825
https://github.com/llvm/llvm-project/commit/7fb620a5cc02a511a019d6918b0993b4cbdea825
Author: qxy11 <qxy11 at meta.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Core/ModuleList.cpp
M lldb/test/API/functionalities/statusline/TestStatusline.py
Log Message:
-----------
Fix a deadlock in ModuleList when starting a standalone lldb client/server (#148774)
Summary:
There was a deadlock was introduced by [PR
#146441](https://github.com/llvm/llvm-project/pull/146441) which changed
`CurrentThreadIsPrivateStateThread()` to
`CurrentThreadPosesAsPrivateStateThread()`. This change caused the
execution path in
[`ExecutionContextRef::SetTargetPtr()`](https://github.com/llvm/llvm-project/blob/10b5558b61baab59c7d3dff37ffdf0861c0cc67a/lldb/source/Target/ExecutionContext.cpp#L513)
to now enter a code block that was previously skipped, triggering
[`GetSelectedFrame()`](https://github.com/llvm/llvm-project/blob/10b5558b61baab59c7d3dff37ffdf0861c0cc67a/lldb/source/Target/ExecutionContext.cpp#L522)
which leads to a deadlock.
Thread 1 gets m_modules_mutex in
[`ModuleList::AppendImpl`](https://github.com/llvm/llvm-project/blob/96148f92146e5211685246722664e51ec730e7ba/lldb/source/Core/ModuleList.cpp#L218),
Thread 3 gets m_language_runtimes_mutex in
[`GetLanguageRuntime`](https://github.com/llvm/llvm-project/blob/96148f92146e5211685246722664e51ec730e7ba/lldb/source/Target/Process.cpp#L1501),
but then Thread 1 waits for m_language_runtimes_mutex in
[`GetLanguageRuntime`](https://github.com/llvm/llvm-project/blob/96148f92146e5211685246722664e51ec730e7ba/lldb/source/Target/Process.cpp#L1501)
while Thread 3 waits for m_modules_mutex in
[`ScanForGNUstepObjCLibraryCandidate`](https://github.com/llvm/llvm-project/blob/96148f92146e5211685246722664e51ec730e7ba/lldb/source/Plugins/LanguageRuntime/ObjC/GNUstepObjCRuntime/GNUstepObjCRuntime.cpp#L57).
This fixes the deadlock by adding a scoped block around the mutex lock
before the call to the notifier, and moved the notifier call outside of
the mutex-guarded section. The notifier call
[`NotifyModuleAdded`](https://github.com/llvm/llvm-project/blob/96148f92146e5211685246722664e51ec730e7ba/lldb/source/Target/Target.cpp#L1810)
should be thread-safe, since the module should be added to the
`ModuleList` before the mutex is released, and the notifier doesn't
modify the module list further, and the call is operates on local state
and the `Target` instance.
### Deadlocked Thread backtraces:
```
* thread #3, name = 'dbg.evt-handler', stop reason = signal SIGSTOP
* frame #0: 0x00007f2f1e2973dc libc.so.6`futex_wait(private=0, expected=2, futex_word=0x0000563786bd5f40) at futex-internal.h:146:13
/*... a bunch of mutex related bt ... */
liblldb.so.21.0git`std::lock_guard<std::recursive_mutex>::lock_guard(this=0x00007f2f0f1927b0, __m=0x0000563786bd5f40) at std_mutex.h:229:19
frame #8: 0x00007f2f27946eb7 liblldb.so.21.0git`ScanForGNUstepObjCLibraryCandidate(modules=0x0000563786bd5f28, TT=0x0000563786bd5eb8) at GNUstepObjCRuntime.cpp:60:41
frame #9: 0x00007f2f27946c80 liblldb.so.21.0git`lldb_private::GNUstepObjCRuntime::CreateInstance(process=0x0000563785e1d360, language=eLanguageTypeObjC) at GNUstepObjCRuntime.cpp:87:8
frame #10: 0x00007f2f2746fca5 liblldb.so.21.0git`lldb_private::LanguageRuntime::FindPlugin(process=0x0000563785e1d360, language=eLanguageTypeObjC) at LanguageRuntime.cpp:210:36
frame #11: 0x00007f2f2742c9e3 liblldb.so.21.0git`lldb_private::Process::GetLanguageRuntime(this=0x0000563785e1d360, language=eLanguageTypeObjC) at Process.cpp:1516:9
...
frame #21: 0x00007f2f2750b5cc liblldb.so.21.0git`lldb_private::Thread::GetSelectedFrame(this=0x0000563785e064d0, select_most_relevant=DoNoSelectMostRelevantFrame) at Thread.cpp:274:48
frame #22: 0x00007f2f273f9957 liblldb.so.21.0git`lldb_private::ExecutionContextRef::SetTargetPtr(this=0x00007f2f0f193778, target=0x0000563786bd5be0, adopt_selected=true) at ExecutionContext.cpp:525:32
frame #23: 0x00007f2f273f9714 liblldb.so.21.0git`lldb_private::ExecutionContextRef::ExecutionContextRef(this=0x00007f2f0f193778, target=0x0000563786bd5be0, adopt_selected=true) at ExecutionContext.cpp:413:3
frame #24: 0x00007f2f270e80af liblldb.so.21.0git`lldb_private::Debugger::GetSelectedExecutionContext(this=0x0000563785d83bc0) at Debugger.cpp:1225:23
frame #25: 0x00007f2f271bb7fd liblldb.so.21.0git`lldb_private::Statusline::Redraw(this=0x0000563785d83f30, update=true) at Statusline.cpp:136:41
...
* thread #1, name = 'lldb', stop reason = signal SIGSTOP
* frame #0: 0x00007f2f1e2973dc libc.so.6`futex_wait(private=0, expected=2, futex_word=0x0000563785e1dd98) at futex-internal.h:146:13
/*... a bunch of mutex related bt ... */
liblldb.so.21.0git`std::lock_guard<std::recursive_mutex>::lock_guard(this=0x00007ffe62be0488, __m=0x0000563785e1dd98) at std_mutex.h:229:19
frame #8: 0x00007f2f2742c8d1 liblldb.so.21.0git`lldb_private::Process::GetLanguageRuntime(this=0x0000563785e1d360, language=eLanguageTypeC_plus_plus) at Process.cpp:1510:41
frame #9: 0x00007f2f2743c46f liblldb.so.21.0git`lldb_private::Process::ModulesDidLoad(this=0x0000563785e1d360, module_list=0x00007ffe62be06a0) at Process.cpp:6082:36
...
frame #13: 0x00007f2f2715cf03 liblldb.so.21.0git`lldb_private::ModuleList::AppendImpl(this=0x0000563786bd5f28, module_sp=ptr = 0x563785cec560, use_notifier=true) at ModuleList.cpp:246:19
frame #14: 0x00007f2f2715cf4c liblldb.so.21.0git`lldb_private::ModuleList::Append(this=0x0000563786bd5f28, module_sp=ptr = 0x563785cec560, notify=true) at ModuleList.cpp:251:3
...
frame #19: 0x00007f2f274349b3 liblldb.so.21.0git`lldb_private::Process::ConnectRemote(this=0x0000563785e1d360, remote_url=(Data = "connect://localhost:1234", Length = 24)) at Process.cpp:3250:9
frame #20: 0x00007f2f27411e0e liblldb.so.21.0git`lldb_private::Platform::DoConnectProcess(this=0x0000563785c59990, connect_url=(Data = "connect://localhost:1234", Length = 24), plugin_name=(Data = "gdb-remote", Length = 10), debugger=0x0000563785d83bc0, stream=0x00007ffe62be3128, target=0x0000563786bd5be0, error=0x00007ffe62be1ca0) at Platform.cpp:1926:23
```
## Test Plan:
Built a hello world a.out
Run server in one terminal:
```
~/llvm/build/Debug/bin/lldb-server g :1234 a.out
```
Run client in another terminal
```
~/llvm/build/Debug/bin/lldb -o "gdb-remote 1234" -o "b hello.cc:3"
```
Before:
Client hangs indefinitely
```
~/llvm/build/Debug/bin/lldb -o "gdb-remote 1234" -o "b main"
(lldb) gdb-remote 1234
^C^C
```
After:
```
~/llvm/build/Debug/bin/lldb -o "gdb-remote 1234" -o "b hello.cc:3"
(lldb) gdb-remote 1234
Process 837068 stopped
* thread #1, name = 'a.out', stop reason = signal SIGSTOP
frame #0: 0x00007ffff7fe4a60
ld-linux-x86-64.so.2`_start:
-> 0x7ffff7fe4a60 <+0>: movq %rsp, %rdi
0x7ffff7fe4a63 <+3>: callq 0x7ffff7fe5780 ; _dl_start at rtld.c:522:1
ld-linux-x86-64.so.2`_dl_start_user:
0x7ffff7fe4a68 <+0>: movq %rax, %r12
0x7ffff7fe4a6b <+3>: movl 0x18067(%rip), %eax ; _dl_skip_args
(lldb) b hello.cc:3
Breakpoint 1: where = a.out`main + 15 at hello.cc:4:13, address = 0x00005555555551bf
(lldb) c
Process 837068 resuming
Process 837068 stopped
* thread #1, name = 'a.out', stop reason = breakpoint 1.1
frame #0: 0x00005555555551bf a.out`main at hello.cc:4:13
1 #include <iostream>
2
3 int main() {
-> 4 std::cout << "Hello World" << std::endl;
5 return 0;
6 }
```
Commit: 2cf276d48a3f2726dcbd786ff030e6ce3d5dffb4
https://github.com/llvm/llvm-project/commit/2cf276d48a3f2726dcbd786ff030e6ce3d5dffb4
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/test/Target/SPIRV/module.mlir
Log Message:
-----------
[mlir][spirv] Support SPIR-V 1.6 in deserializer (#151958)
After skimming through the changes in the spec, there does not seem to
be anything that will cause issues. A new roundtrip test has been added
and validate with `spirv-val` just in case.
Commit: 2fe96439fb81d85ea78a6311b1d9e6ed9b85bcfa
https://github.com/llvm/llvm-project/commit/2fe96439fb81d85ea78a6311b1d9e6ed9b85bcfa
Author: Chris B <chris.bieneman at me.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm-c/Object.h
M llvm/include/llvm/Object/Binary.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/Object/ObjectFile.h
M llvm/lib/Object/Binary.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/Object/Object.cpp
M llvm/lib/Object/ObjectFile.cpp
M llvm/lib/Object/SymbolicFile.cpp
A llvm/test/tools/llvm-objdump/DXContainer/part-headers.yaml
M llvm/tools/llvm-objdump/CMakeLists.txt
A llvm/tools/llvm-objdump/DXContainerDump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.h
Log Message:
-----------
[DirectX] Add ObjectFile boilerplate for objdump (#151434)
This change adds boilerplate code to implement the object::ObjectFile
interface for the DXContainer object file and an empty implementation of
the objdump Dumper object.
Adding an ObjectFile implementation for DXContainer is a bit odd because
the DXContainer format doesn't have a symbol table, so there isn't a
reasonable implementation for the SymbolicFile interfaces. That said, it
does have sections, and it will be useful for objdump to be able to
inspect some of the structured data stored in some of the special named
sections.
At this point in the implementation it can't do much other than dump the
part names, offsets, and sizes. Dumping detailed structured section
contents to be extended in subsequent PRs.
Fixes #151433
Commit: a3a8e1c064d15ce560840279b77e5a421103a58d
https://github.com/llvm/llvm-project/commit/a3a8e1c064d15ce560840279b77e5a421103a58d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
A llvm/test/CodeGen/RISCV/and-negpow2-cmp.ll
Log Message:
-----------
[TargetLowering][RISCV] Use sra for (X & -256) == 256 -> (X >> 8) == 1 if it yields a better icmp constant. (#151762)
If using srl does not produce a legal constant for the RHS of the
final compare, try to use sra instead.
Because the AND constant is negative, the sign bits participate in the
compare. Using an arithmetic shift right duplicates that bit.
Commit: 8d9afb8d955553bcc6aecba930fe94264b3ceebc
https://github.com/llvm/llvm-project/commit/8d9afb8d955553bcc6aecba930fe94264b3ceebc
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
Log Message:
-----------
[lldb][DWARFIndex] Adapt DWARFIndex ObjC APIs to IterationAction (#151839)
Continuation of https://github.com/llvm/llvm-project/pull/151489
Commit: 0ee1811624383b4601c969d72e851377f868120f
https://github.com/llvm/llvm-project/commit/0ee1811624383b4601c969d72e851377f868120f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb] Eliminate InitializePythonRAII::InitializeThreadsPrivate (NFC) (#151780)
The behavior of thread initialization changed in Python 3.7. The minimum
supported Python version is now 3.8. That means that
`PyEval_ThreadsInitialized` always returns true and `PyEval_InitThreads`
is never called.
The helper function existed to coordinate initializing the threads and
acquiring the GIL, which is no longer necessary. With that, there's no
point in having the helper at all. This PR eliminates the function and
inlines to GIL acquisition into the caller.
Commit: b738f630f73975bc591a82fdcb4858ae5da67477
https://github.com/llvm/llvm-project/commit/b738f630f73975bc591a82fdcb4858ae5da67477
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/ADT/Bitset.h
Log Message:
-----------
ADT: Expose typedef for Bitset's storage type (#151986)
Allows subclasses to directly initialize the underlying storage.
This will enable tablegen to emit a smaller initializer list to
initialize constant bitsets. For runtime libcalls we need to
initialize many hundreds of bits in many different sets so this
shrinks the generated output to a more manageable size.
Extracted from #151948
Commit: e8fc808bf8e78a3c80d1f8e293a92677b92366dd
https://github.com/llvm/llvm-project/commit/e8fc808bf8e78a3c80d1f8e293a92677b92366dd
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.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
A llvm/test/MC/ELF/many-instructions.s
Log Message:
-----------
Reapply "MCFragment: Use trailing data for fixed-size part" (#150846)
The fixed-size content of the MCFragment object is now stored as
trailing data, replacing ContentStart/ContentEnd with ContentSize. The
available space for trailing data is tracked using `FragSpace`. If the
available space is insufficient, a new block is allocated within the
bump allocator `MCObjectStreamer::FragStorage`.
FragList::Tail cannot be reused when switching sections or subsections,
as it is not associated with the fragment space tracked by `FragSpace`.
Instead, allocate a new fragment, which becomes less expensive after #150574.
Data can only be appended to the tail fragment of a subsection, not to
fragments in the middle. Post-assembler-layout adjustments (such as
.llvm_addrsig and .llvm.call-graph-profile) have been updated to use the
variable-size part instead.
---
This reverts commit a2fef664c29a53bfa8a66927fcf8b2e5c9da4876,
which reverted the innocent f1aa6050bd90f8ec4273da55d362e23905ad3a81 .
Commit df71243fa885cd3db701dc35a0c8d157adaf93b3, the MCOrgFragment fix,
has fixed the root cause of https://github.com/ClangBuiltLinux/linux/issues/2116
Commit: a461e2b16056a0ad0e09e7866ed70edb97763b03
https://github.com/llvm/llvm-project/commit/a461e2b16056a0ad0e09e7866ed70edb97763b03
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
M llvm/test/CodeGen/RISCV/note-gnu-property-zicfiss.ll
Log Message:
-----------
[RISCV] Improvements to .note.gnu.property section. (#151436)
Put the emitValueToAlignment at the beginning instead of in the middle.
Emit the descsz directly instead of using the difference of 2 labels.
Remove the section alignment. emitValueToAlignment will increase the
section alignment if necessary.
Commit: 0f08dc84405796c25c070ef57258309f66017984
https://github.com/llvm/llvm-project/commit/0f08dc84405796c25c070ef57258309f66017984
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
Log Message:
-----------
[lldb] Use fully qualified name instead of namespace (NFC)
In #151761, both Alex and Pavel prefer to use a fully qualified name
instead of opening a namespace. This PR addresses that post-commit
feedback.
Commit: afbabb1d9f7899c82f7e28e7c17d27b06c14a646
https://github.com/llvm/llvm-project/commit/afbabb1d9f7899c82f7e28e7c17d27b06c14a646
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-objdump/BUILD.gn
Log Message:
-----------
[gn build] Port 2fe96439fb81
Commit: 5a80274cae3c5d19cf5058550139cb857513ae02
https://github.com/llvm/llvm-project/commit/5a80274cae3c5d19cf5058550139cb857513ae02
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
Log Message:
-----------
[RISCV] Reuse lowerToScalableOp for more nodes. NFC (#151911)
A lot of fixed-length custom lowerings just involve inserting the
operands into a scalable container and extracting the result out, and
lowerToScalableOp already does this.
We just need to teach it to handle operands with different element types
(but same vector element count), and we can reuse it for
vselect/zext/sext/setcc/fcopysign.
Commit: 8f77fa7026de9f544778063fd9fe900d0804b863
https://github.com/llvm/llvm-project/commit/8f77fa7026de9f544778063fd9fe900d0804b863
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb] Simplify Python Locker log messages (NFC)
Eliminate the `log` variable by inlining the GetLog call and use
"locked" and "unlocked" directly, as requested by Ismail in #151780.
Commit: a0db29d64788c44230b0808317d5841c5558bec6
https://github.com/llvm/llvm-project/commit/a0db29d64788c44230b0808317d5841c5558bec6
Author: satyanarayana reddy janga <satyajanga at fb.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Expression/DWARFExpression.cpp
M lldb/unittests/Expression/DWARFExpressionTest.cpp
Log Message:
-----------
[lldb] Zero extend APInt when piece size is bigger than the bitwidth (#150149)
### Summary
We have internally seen cases like this
`DW_OP_lit0, DW_OP_stack_value, DW_OP_piece 0x28`
where we have longer op pieces than what Scalar supports (32, 64 or 128
bits). In these cases LLDB is currently hitting the assertion
`assert(ap_int.getBitWidth() >= bit_size);`
We are extending the generated APInt to the piece size by filling zeros.
### Test plan
Added a unit to cover this case.
### Reviewers
@clayborg , @jeffreytan81 , @Jlalond
Commit: 7b208e04b2e7c4a10eebf026996d8116eac5f603
https://github.com/llvm/llvm-project/commit/7b208e04b2e7c4a10eebf026996d8116eac5f603
Author: nerix <nerixdev at outlook.de>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h
A lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDBProperties.td
A lldb/test/Shell/SymbolFile/PDB/native-setting.cpp
Log Message:
-----------
[LLDB] Add setting for native PDB reader (#151490)
Initially suggested in
https://github.com/llvm/llvm-project/pull/149305#issuecomment-3113413702
- this PR adds the setting `plugin.symbol-file.pdb.use-native-reader`.
It doesn't remove support for `LLDB_USE_NATIVE_PDB_READER` to allow some
backwards compatibility. This was the suggested way to use the native
reader - changing that would mean users who set this, now use the DIA
reader. The setting has priority over the environment variable, though.
If the default gets flipped on Windows, the environment variable could
probably be removed as well.
This would make it possible to test both native PDB and DIA PDB in the
API tests (see linked PR).
Commit: 80bd72b9b0d5d1f8fd54a4ee6f8af80734912d5d
https://github.com/llvm/llvm-project/commit/80bd72b9b0d5d1f8fd54a4ee6f8af80734912d5d
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/include/lldb/Target/ExecutionContext.h
M lldb/source/Target/ExecutionContext.cpp
Log Message:
-----------
[lldb][nfc] Use delegating ctor for ExecutionContext (#151987)
The ctor that takes a reference to ExecutionContextRef can be
implemented in terms of the ctor that takes a pointer to that object,
removing code duplication.
Commit: 849daa4aa05f2b3ac114762c73b9cb48d132a060
https://github.com/llvm/llvm-project/commit/849daa4aa05f2b3ac114762c73b9cb48d132a060
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/include/lldb/API/SBThread.h
M lldb/source/API/SBThread.cpp
Log Message:
-----------
[lldb][NFC] Move SBThread::ResumeNewPlan out of the header (#151988)
This *private* method is only defined as a member class of SBThread so
that it may be declared a `friend` of SBError and access a private
constructor of SBError that takes a `Status`, which is an `lldb_private`
object. In other words, the method does not use anything about the class
is belongs to, so it has no business being a member method.
A subsequent patch will need to add a new argument to this class, a
`Process::StopLocker`, which is also another `lldb_private` object. This
is another strong suggestion that this method does not belong on the
header file of a public API, even if at the private visibility level. We
can't forward declare nested types like `Process:StopLocker`, so this
problem is not easily solvable.
This commit moves the method out of the header and into an anon
namespace of the cpp file. It is also made to return a Status instead,
and the private `SBError` constructor is accessed by the SBThread
methods that call it.
Commit: cb50d78a0063244434d883d89ddda7f74abbffc9
https://github.com/llvm/llvm-project/commit/cb50d78a0063244434d883d89ddda7f74abbffc9
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaStmt.cpp
M clang/test/Sema/for.c
Log Message:
-----------
[C] static_assert in a for loop is not an extension (#151955)
The original wording can be squinted at to pretend this was always
allowed. GCC squints at it that way, so we're doing the same and no
longer issuing an extension diagnostic for use of static_assert in the
condition-1 of a for loop in C.
Fixes #149633
Commit: 37b6fbc95b7dd623c8cfff04af1f1b787cf3d4cd
https://github.com/llvm/llvm-project/commit/37b6fbc95b7dd623c8cfff04af1f1b787cf3d4cd
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFDebugNamesIndexTest.cpp
Log Message:
-----------
[lldb][DWARFIndex] Adapt DWARFIndex GetTypes APIs to IterationAction (#151992)
Continuation of https://github.com/llvm/llvm-project/pull/151489
Commit: 70af09e3a19c7465a6b263385ffcbbaa3a1a51e4
https://github.com/llvm/llvm-project/commit/70af09e3a19c7465a6b263385ffcbbaa3a1a51e4
Author: Michael Halkenhäuser <MichaelGerald.Halkenhauser at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
R llvm/test/Transforms/SLPVectorizer/X86/main-alternate-interechanged-detect.ll
Log Message:
-----------
Revert "[SLP] Fix a check for main/alternate interchanged instruction" (#151997)
This reverts commit 3ee8d047109ea4bb479095f4b153c2120a8d726c.
Revert reason: FAILED build for openmp-offload-amdgpu-runtime-2
https://lab.llvm.org/buildbot/#/builders/10/builds/10827
Commit: 9d151897ba4a12fb8a85c545b7033efe328fe7d4
https://github.com/llvm/llvm-project/commit/9d151897ba4a12fb8a85c545b7033efe328fe7d4
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/pr36983-multiple-lcssa.ll
R llvm/test/Transforms/LoopVectorize/pr36983.ll
Log Message:
-----------
[LV] Improve a test, regen with UTC (#151947)
Commit: ad623a813e6d9ffdef62270656245b35ffceda37
https://github.com/llvm/llvm-project/commit/ad623a813e6d9ffdef62270656245b35ffceda37
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb] Eliminate PyGILState_Check (NFC) (#152006)
Eliminate calls to PyGILState_Check, which is not part of the Python
Limited C API. In the Locker, we can use PyGILState_Ensure directly. We
could do something similar to replace the assert, but I don't think it's
worth it. We don't assert that we hold the GIL anywhere else.
Commit: 147cfc89f05e8953fa8eaff7448353c817b17cc9
https://github.com/llvm/llvm-project/commit/147cfc89f05e8953fa8eaff7448353c817b17cc9
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.h
Log Message:
-----------
[lldb][DWARFIndex] Adapt DWARFIndex DIERefCallback to IterationAction (#152001)
Continuation of https://github.com/llvm/llvm-project/pull/151489
Commit: 66eadbb235320b476214c810f5bbdc0daa44d2d7
https://github.com/llvm/llvm-project/commit/66eadbb235320b476214c810f5bbdc0daa44d2d7
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/CIR/CodeGenOpenACC/combined-private-clause.cpp
A clang/test/CIR/CodeGenOpenACC/compute-private-clause-templates.cpp
M clang/test/CIR/CodeGenOpenACC/compute-private-clause.cpp
M clang/test/CIR/CodeGenOpenACC/loop-private-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC][CIR] Implement 'init' lowering for private clause vars (#151781)
Previously, #151360 implemented 'private' clause lowering, but didn't
properly initialize the variables. This patch adds that behavior to make
sure we correctly get the constructor or other init called.
Commit: e27831ff9b4aa31b7dd9b1caca2c4a6585573608
https://github.com/llvm/llvm-project/commit/e27831ff9b4aa31b7dd9b1caca2c4a6585573608
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/main-alternate-interechanged-detect.ll
Log Message:
-----------
[SLP] Fix a check for main/alternate interchanged instruction
If the instruction is checked for matching the main instruction, need to
check if the opcode of the main instruction is compatible with the
operands of the instruction. If they are not, need to check the
alternate instruction and its operands for compatibility and return
alternate instruction as a match.
Fixes #151699
Fixed check for non-supported binary operations.
Commit: 215e6beae023341a8a17af1bd537472d16097e30
https://github.com/llvm/llvm-project/commit/215e6beae023341a8a17af1bd537472d16097e30
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use MapVector for ScalarCostsTy for deterministic iter order (NFC)
We iterate over the scalar costs of instruction when printing costs, and
currently the iteration order is not deterministic. Currently no tests
check the output with multiple instructions in the map, but those will
come soon.
Commit: dd0737bd99e691b038e463171fbfefe8e53b018d
https://github.com/llvm/llvm-project/commit/dd0737bd99e691b038e463171fbfefe8e53b018d
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 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/SIDefines.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
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
Log Message:
-----------
[AMDGPU] gfx1250 v_wmma_ld_scale instructions (#152010)
Commit: 4e0b68cef0bdf0d806cd778fbf0b7ddd80b44b4d
https://github.com/llvm/llvm-project/commit/4e0b68cef0bdf0d806cd778fbf0b7ddd80b44b4d
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
Log Message:
-----------
[OpenACC] Implement warning restrictions for 'firstprivate'
'firstprivate' can't be generated unless we have a copy constructor, so
this patch implements the restriction as a warning, and prevents the
item from being added to the AST.
Commit: a27d34b3f22b1134b2d47590c25b7f81eb7710b2
https://github.com/llvm/llvm-project/commit/a27d34b3f22b1134b2d47590c25b7f81eb7710b2
Author: Alex Langford <alangford at apple.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py
M lldb/test/API/lang/c/tls_globals/main.c
Log Message:
-----------
[lldb] Fix TLS support on Darwin platforms (#151601)
When I wrote this previously, I was unaware that the TLS function
already adds the offset. The test was working previously because the
offset was 0 in this case (only 1 thread-local variable). I added
another thread-local variable to the test to make sure the offset is
indeed handled correctly.
rdar://156547548
Commit: 5514e5ed8cadbcd9876bf87634eaf1eabd737eb9
https://github.com/llvm/llvm-project/commit/5514e5ed8cadbcd9876bf87634eaf1eabd737eb9
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
A mlir/test/Target/SPIRV/arm-tensor-constant.mlir
M mlir/test/Target/SPIRV/constant.mlir
A mlir/test/Target/SPIRV/replicated-composites-constant.mlir
Log Message:
-----------
[mlir][spirv] Fix constant.mlir test (#152015)
Fix forward a few issues instead of reverting recent PRs....
1. Remove split so that the output is properly serialized. This got
added in #145687.
2. Add missing extensions and capabilities so that the spirv-val passes
(tensors_arm, linkage).
3. Disable spirv-val test for arm tensor constants. These fail to
verify. Added in #151485.
Issue: #152012
Commit: 1e815ced81da6b66e1d331414fed2c3b53babecc
https://github.com/llvm/llvm-project/commit/1e815ced81da6b66e1d331414fed2c3b53babecc
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 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/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
[AMDGPU] Use SDNodeXForm to select a few VOP3P modifiers, NFC (#151907)
It is not necessary to use ComplexPattern to select VOP3PModsNeg, VOP3PModsNegs
and VOP3PModsNegAbs. We can use SDNodeXForm instead.
Commit: 0433e1e15fa3a9ef8485aaba2b96203f2e3d3e6a
https://github.com/llvm/llvm-project/commit/0433e1e15fa3a9ef8485aaba2b96203f2e3d3e6a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Add VPlan::getTrue/getFalse convenience helpers (NFC).
Makes it slightly more convenient to create true/false constants.
Commit: a911eee3bc4923fcfa579c9f0b2c08eddff673eb
https://github.com/llvm/llvm-project/commit/a911eee3bc4923fcfa579c9f0b2c08eddff673eb
Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/Analysis/ThreadSafety.cpp
Log Message:
-----------
Thread safety analysis: Allocate FactEntrys with BumpPtrAllocator (#149660)
The FactManager managing the FactEntrys stays alive for the analysis of
a single function. We are already using that by allocating TIL
S-expressions via BumpPtrAllocator. We can do the same with FactEntrys.
If we allocate the facts in an arena, we won't get destructor calls for
them, and they better be trivially destructible. This required replacing
the SmallVector member of ScopedLockableFactEntry with TrailingObjects.
FactEntrys are now passed around by plain pointer. However, to hide the
allocation of TrailingObjects from users, we introduce `create` methods,
and this allows us to make the constructors private.
Commit: d27656925817cfc30607c3ab0e6a563637b71798
https://github.com/llvm/llvm-project/commit/d27656925817cfc30607c3ab0e6a563637b71798
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
Log Message:
-----------
[lldb][DWARFIndex] Adapt DebugNamesDWARFIndex::ProcessEntry to IterationAction (#152025)
Continuation of https://github.com/llvm/llvm-project/pull/151489
Commit: b757bc8b13b1088e2f2b1b98aa33ebb16334b59d
https://github.com/llvm/llvm-project/commit/b757bc8b13b1088e2f2b1b98aa33ebb16334b59d
Author: Aaron Puchert <aaron.puchert at sap.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/test/sanitizer_common/CMakeLists.txt
Log Message:
-----------
[compiler-rt][test] Apply CFLAGS from sanitizer_common to all tests (#120798)
Sanitizer-specific tests don't use the sanitizer_common flags, but the
issues they address probably also apply to the individual sanitizers.
This was observed in #119071: moving a test from sanitizer_common to
msan broke it in builds with CMAKE_SYSROOT set, because the --sysroot
argument was no longer applied to the test.
Commit: 58aeb7952f30b7fea28d74d3a8d4b0112cc553ee
https://github.com/llvm/llvm-project/commit/58aeb7952f30b7fea28d74d3a8d4b0112cc553ee
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Port 7b208e04b2e7c4a10eebf026996d8116eac5f603 (#152033)
Commit: 37fe9f6382da02a9f46dbf67aeaae4d1c3e0d2d7
https://github.com/llvm/llvm-project/commit/37fe9f6382da02a9f46dbf67aeaae4d1c3e0d2d7
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/branch-relaxation-gfx1250.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_wmma_w32.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_wmma_w32.txt
Log Message:
-----------
[AMDGPU] Add gfx1250 v_wmma_scale[16]_f32_16x16x128_f8f6f4 MC support (#152014)
This adds new VOP3PX2e encoding
Commit: 6e94dc39623882fa594811d5beb18cda5ac3e414
https://github.com/llvm/llvm-project/commit/6e94dc39623882fa594811d5beb18cda5ac3e414
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M mlir/Maintainers.md
Log Message:
-----------
[MLIR] Add tensor compiler dialect maintainers (#150945)
As per https://discourse.llvm.org/t/mlir-project-maintainers/87189
@llvm/mlir-area-team
@jpienaar
@banach-space
Commit: 518703806286c98bac7b84156738839f8bd55bef
https://github.com/llvm/llvm-project/commit/518703806286c98bac7b84156738839f8bd55bef
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/ARM/Utils/ARMBaseInfo.h
M llvm/lib/Target/M68k/M68kInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/XCore/XCoreInstrInfo.cpp
Log Message:
-----------
[X86][ARM][RISCV][XCore][M68K] Invert the low bit to get the inverse predicate (NFC) (#151748)
All these platforms defined their predicate in such a way to allow bit
twiddling to get inverse predicates
Commit: 771d9ab7017369093e98d8a82010a7a7f4d32226
https://github.com/llvm/llvm-project/commit/771d9ab7017369093e98d8a82010a7a7f4d32226
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/SubTest.h
Log Message:
-----------
[libc][math] Fix subtraction of infinity in fputil::add_or_sub (#152017)
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Commit: 7223f67ffc37fe479c399f87d8bec606496e50fe
https://github.com/llvm/llvm-project/commit/7223f67ffc37fe479c399f87d8bec606496e50fe
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/SymbolTable.cpp
M lld/test/COFF/import_weak_alias.test
Log Message:
-----------
[LLD][COFF] Don't resolve weak aliases when performing local import (#152000)
Fixes crashes reported in #151255.
The alias may have already been stored for later resolution, which can
lead to treating a resolved alias as if it were still undefined.
Instead, use the alias target directly for the import.
Also extended the test to make reproducing the problem more likely, and
added an assert that catches the issue.
Commit: 318d639ea142c5b9544d9602683c9a3d802aa7f2
https://github.com/llvm/llvm-project/commit/318d639ea142c5b9544d9602683c9a3d802aa7f2
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M .github/workflows/libc-fullbuild-tests.yml
Log Message:
-----------
[libc] Update clang to v22 in the fullbuild tests (#152039)
The apt repository has been updated so installing version 22 actually
works now.
Fixes #151215.
Commit: f58bc72759e2e6e11d7e50ef3370a5a7d345e651
https://github.com/llvm/llvm-project/commit/f58bc72759e2e6e11d7e50ef3370a5a7d345e651
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/ARM/Utils/ARMBaseInfo.h
M llvm/lib/Target/M68k/M68kInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/XCore/XCoreInstrInfo.cpp
Log Message:
-----------
Revert "[X86][ARM][RISCV][XCore][M68K] Invert the low bit to get the inverse predicate (NFC) (#151748)"
This reverts commit 518703806286c98bac7b84156738839f8bd55bef.
Failing M68k build bot.
Commit: 9f7f3d65483769cba287242120362f8e21407e8d
https://github.com/llvm/llvm-project/commit/9f7f3d65483769cba287242120362f8e21407e8d
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/test/CIR/CodeGen/aapcs-volatile-bitfields.c
Log Message:
-----------
[CIR] Implemented get/set for volatile bitfields (#151875)
This PR adds support for loading and storing volatile bit-field members
according to the AAPCS specification.
> A volatile bit-field must always be accessed using an access width
appropriate to the type of its container, except when any of the
following are true:
>
> * The bit-field container overlaps with a zero-length bit-field.
> * The bit-field container overlaps with a non-bit-field member.
For example, if a bit-field is declared as `int`, the load/store must
use a 32-bit access, even if the field itself is only 3 bits wide.
Commit: a708b4bf21d7c2298224cdacf7d424abc3c8fed4
https://github.com/llvm/llvm-project/commit/a708b4bf21d7c2298224cdacf7d424abc3c8fed4
Author: Thurston Dang <thurston at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
Log Message:
-----------
[sanitizer] Print diagnostic if ptrace syscall fails (#151406)
StopTheWorld() clones a child process (with shared virtual address space
and shared TLS) that calls ptrace before releasing a mutex; the parent
process yields until the mutex is unlocked. If seccomp kills the child
process, the parent process will silently hang. The parent process
cannot use waitpid to detect that the child process has been killed,
because the processes share errno.
This patch forks the process one-time to test whether ptrace is allowed.
If it fails, it prints an informational message (though it does not
abort the sanitizer).
Fixes https://github.com/llvm/llvm-project/issues/150380 and
https://github.com/google/sanitizers/issues/777
Commit: abc394c6576eba790fd5eed02da19527981618bc
https://github.com/llvm/llvm-project/commit/abc394c6576eba790fd5eed02da19527981618bc
Author: Thurston Dang <thurston at google.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
Log Message:
-----------
[sanitizer] Fix-forward "[sanitizer] Print diagnostic if ptrace syscall fails #151406"
Use internal__exit instead of _exit
Buildbot: https://lab.llvm.org/buildbot/#/builders/174/builds/22276
Commit: 05b52ef909475f4048e5b8cd86b3671772506682
https://github.com/llvm/llvm-project/commit/05b52ef909475f4048e5b8cd86b3671772506682
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
Log Message:
-----------
[flang][cuda][NFC] Update to the new create APIs (#152050)
Some operation creations were updated in flang directory but not all.
Migrate the CUF ops to the new create APIs introduce in #147168
Commit: 717e753d1ef6d371d09f957f23df5c7a0e05a197
https://github.com/llvm/llvm-project/commit/717e753d1ef6d371d09f957f23df5c7a0e05a197
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/IR/Mangler.cpp
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
A llvm/test/CodeGen/AArch64/arm64ec-empty-name.ll
Log Message:
-----------
[win][arm64ec] Handle empty function names (#151609)
While testing Arm64EC, I observed that LLVM crashes when an empty
function name is used. My original fix in #151409 was to raise an error,
but this change now handles the empty name via
`Mangler::getNameWithPrefix` (which assigns a name to the function).
To get this working, I had to create the `Mangler` in
`TargetLoweringObjectFile` early so it would be available to Arm64EC's
lowering. There's no reason why `Mangler` is only created when
`Initialize` is called (or re-created if it exists), and so I moved
creation to the constructor and switched the raw pointer for a
`unique_ptr` to avoid the explicit `delete` in the destructor.
Commit: 314e82514d979338d17baddf180ab1dbfef9c864
https://github.com/llvm/llvm-project/commit/314e82514d979338d17baddf180ab1dbfef9c864
Author: Nico Weber <thakis at chromium.org>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/SymbolFile/PDB/BUILD.gn
Log Message:
-----------
[gn] port 7b208e04b2e7
Commit: 951f40ac388fc389b958af027df96356a4c51e33
https://github.com/llvm/llvm-project/commit/951f40ac388fc389b958af027df96356a4c51e33
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/unittests/Optimizer/Builder/Runtime/AllocatableTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/AssignTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/CharacterTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/CommandTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/DerivedTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/RaggedTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/ReductionTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/TransformationalTest.cpp
M flang/unittests/Optimizer/FortranVariableTest.cpp
Log Message:
-----------
[flang][NFC] Update flang/unittests to the new create APIs (#152056)
While I was updating the creation of CUF operation in #152050, I noticed
some other places in flang that were not updated. This patch updates the
FIR operation creations in `flang/unittests`
Commit: 9b195dc3ef66de2c1ff0048822b24a322ec3c52a
https://github.com/llvm/llvm-project/commit/9b195dc3ef66de2c1ff0048822b24a322ec3c52a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Lower/CUDA/cuda-allocatable.cuf
Log Message:
-----------
[flang][cuda] Generate cuf.allocate for descriptor with CUDA components (#152041)
The descriptor for derived-type with CUDA components are allocated in
managed memory. The lowering was calling the standard runtime on
allocate statement where it should be a `cuf.allocate` operation.
Commit: 875a3debde1cecf04604024548e981f0e5d47bf0
https://github.com/llvm/llvm-project/commit/875a3debde1cecf04604024548e981f0e5d47bf0
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
Log Message:
-----------
[RISCV][EVL] Drop EVLIndVarSimplifyPass from the pipeline (#151483)
With the VPlan-based canonical induction variable replacement landed in
#147222, it appears to cover the functionality previously provided by
the EVLIndVarSimplify pass introduced in #131005.
This patch suggests removing EVLIndVarSimplify from the RISC-V pipeline
as a follow-up step. Feedback is very welcome!
Commit: 04691aae0dd783162919c85aef5b8b143c0ca411
https://github.com/llvm/llvm-project/commit/04691aae0dd783162919c85aef5b8b143c0ca411
Author: Wenju He <wenju.he at intel.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libclc/opencl/lib/generic/async/async_work_group_strided_copy.inc
Log Message:
-----------
[libclc] Refine id in async_work_group_copy STRIDED_COPY (#151644)
Move id first along 0th dimension to achieve coalesced memory access
when stride is 1.
Commit: 862fb42b065dd01584f219994bc791f9d0a4c9b8
https://github.com/llvm/llvm-project/commit/862fb42b065dd01584f219994bc791f9d0a4c9b8
Author: Maksim Shelegov <maksim.shelegov at intel.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-unmerge-values.mir
Log Message:
-----------
[AMDGPU][GlobalISel] Fix G_UNMERGE_VALUES combine (#141812)
Fixes #139791.
When trying to combine two G_UNMERGE_VALUES with a COPY between them,
a crash occurs in tryCombineUnmergeValues() because getDefIndex() tries
to find the index of the original source register in the def found by
getDefIgnoringCopies(). In the case of a COPY in between, this register
is not present in the def, only in the COPY.
Commit: 03e902cc68115e9c5be1a624849e30c5e510c930
https://github.com/llvm/llvm-project/commit/03e902cc68115e9c5be1a624849e30c5e510c930
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512fp16-combine-shuffle-fma.ll
M llvm/test/CodeGen/X86/fmaddsub-combine.ll
M llvm/test/CodeGen/X86/fmsubadd-combine.ll
Log Message:
-----------
[X86] Remove `UnsafeFPMath` uses (#151667)
Remove `UnsafeFPMath` in X86 part, it blocks some bugfixes related to
clang and the ultimate goal is to remove `resetTargetOptions` method in
`TargetMachine`, see FIXME in `resetTargetOptions`.
See also
https://discourse.llvm.org/t/rfc-honor-pragmas-with-ffp-contract-fast
https://discourse.llvm.org/t/allowfpopfusion-vs-sdnodeflags-hasallowcontract
Commit: 3b23fdb35def583ae5db58576a7fcb312315879e
https://github.com/llvm/llvm-project/commit/3b23fdb35def583ae5db58576a7fcb312315879e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/Factory.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertProcedureDesignator.cpp
M flang/lib/Lower/CustomIntrinsicCall.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
Log Message:
-----------
[flang][NFC] Update more FIR op creation to the new APIs (#152060)
Commit: 8761b6cf8f989c9f0a29f241e50756929e7190b7
https://github.com/llvm/llvm-project/commit/8761b6cf8f989c9f0a29f241e50756929e7190b7
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
Log Message:
-----------
[VPlan] Use VPTypeAnalysis to get the step type of widen pointer induction (#147925)
This patch uses VPTypeAnalysis to determine its type since the induction
step is not always a live-in value in the VPlan and may be defined by a
recipe.
Commit: e848959cb5d01eef57e379f70b9b43ae7a4bc5aa
https://github.com/llvm/llvm-project/commit/e848959cb5d01eef57e379f70b9b43ae7a4bc5aa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/TargetParser/ARMTargetParser.h
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/TargetParser/ARMTargetParser.cpp
Log Message:
-----------
ARM: Remove CPU from computeTargetABI (#151983)
The target CPU is a subtarget / function level concept, which
should not influence the module level ABI decisions. No tests fail
so it appears nothing is relying on this.
Commit: c5986765dc708d682deb2cdf62f5e16df737179b
https://github.com/llvm/llvm-project/commit/c5986765dc708d682deb2cdf62f5e16df737179b
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
Log Message:
-----------
Fix missing clang changes for #151983 (#152066)
That change was missing the API update in clang.
Commit: a153e83e41a31d36589ed252083b4ce5ed52ea60
https://github.com/llvm/llvm-project/commit/a153e83e41a31d36589ed252083b4ce5ed52ea60
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 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/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.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/CodeGen/AMDGPU/wmma-hazards-gfx1250-w32.mir
M llvm/test/Transforms/InstCombine/AMDGPU/wmma-f8f6f4.ll
Log Message:
-----------
[AMDGPU] gfx1250 v_wmma_scale[16]_f32_16x16x128_f8f6f4 codegen (#152036)
Commit: 0206c0f8eadc2e797c3b21e971a275c0e47d3ad2
https://github.com/llvm/llvm-project/commit/0206c0f8eadc2e797c3b21e971a275c0e47d3ad2
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
[AMDGPU] Add fixed size to wmma instructions with scale (#152043)
Commit: d02714c85a5e4794b9c77d7b2aae979633fe2566
https://github.com/llvm/llvm-project/commit/d02714c85a5e4794b9c77d7b2aae979633fe2566
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/test/AST/ByteCode/cxx11.cpp
Log Message:
-----------
[clang][bytecode] Return success for pointers to locals (#151980)
They aren't valid, but we leave them successful here and
CheckLValueConstantExpression will diagnose them later.
Commit: 203b35d214252349d58abba558ed086e281bd208
https://github.com/llvm/llvm-project/commit/203b35d214252349d58abba558ed086e281bd208
Author: Iris Shi <0.0 at owo.li>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
Log Message:
-----------
[NFC] Precommit test for "[RISCV] Create disjoint or in RISCVGatherScatterLowering" (#152068)
#151981
Commit: 5678aefc4578ffcbef1eb26b79ecf92ad2069aeb
https://github.com/llvm/llvm-project/commit/5678aefc4578ffcbef1eb26b79ecf92ad2069aeb
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/combine-min-max.ll
Log Message:
-----------
[NVPTX] Add support for integer min/max ReLU idiom (#151727)
Commit: 8eab158396d8c627849cc3d5e818725e22434c9c
https://github.com/llvm/llvm-project/commit/8eab158396d8c627849cc3d5e818725e22434c9c
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M libc/test/IntegrationTest/CMakeLists.txt
M libc/test/IntegrationTest/test.cpp
Log Message:
-----------
[libc] make integration test malloc work properly when threaded (#151622)
Make the simple bump allocation backed by atomic operations.
Commit: 12568b6a4f735948316b9eceba0f6b48c21a0dc8
https://github.com/llvm/llvm-project/commit/12568b6a4f735948316b9eceba0f6b48c21a0dc8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
A llvm/test/CodeGen/SystemZ/llvm.sincos.f16.ll
A llvm/test/CodeGen/SystemZ/llvm.sincos.ll
Log Message:
-----------
SystemZ: Add sincos intrinsic test (#147473)
The ZOS run line is mostly broken. update_test_checks seems
to not work on it and I have no idea what I'm looking at here.
It's not obvious to me what the calls are. I added some checks
for the references to the libcalls printed at the end of the module,
but didn't check anything in the function body. half also just
asserts somewhere.
Commit: 0885740465951c3e4498eb63b2277427ec8f277f
https://github.com/llvm/llvm-project/commit/0885740465951c3e4498eb63b2277427ec8f277f
Author: Iris Shi <0.0 at owo.li>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
Log Message:
-----------
[RISCV] Create disjoint or in RISCVGatherScatterLowering (#151981)
We can create disjoint or in IRBuilder since #146350.
---------
Co-authored-by: Min-Yih Hsu <min.hsu at sifive.com>
Commit: e4d3dc6359f568a9b0ac2e1010bbc7d13f4982b6
https://github.com/llvm/llvm-project/commit/e4d3dc6359f568a9b0ac2e1010bbc7d13f4982b6
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-04 (Mon, 04 Aug 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertArrayConstructor.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/TemporaryStorage.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
Log Message:
-----------
[flang][NFC] Update HLFIR ops creation to the new APIs (#152075)
See #147168
Commit: df3f6297354b3ea5fa53cc6a9d5464b54aae6f15
https://github.com/llvm/llvm-project/commit/df3f6297354b3ea5fa53cc6a9d5464b54aae6f15
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/InterpShared.cpp
M clang/test/AST/ByteCode/nullable.cpp
Log Message:
-----------
[clang][bytecode][NFC] Only collect non-null args if we have to (#152074)
Only do this if the function really has a NonNullArg.
Commit: 1eaf736384e6d1de1f9c23c8f60d872499b7cc97
https://github.com/llvm/llvm-project/commit/1eaf736384e6d1de1f9c23c8f60d872499b7cc97
Author: Boyana Norris <brnorris03 at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/lib/IR/MLIRContext.cpp
M mlir/test/IR/test-clone.mlir
Log Message:
-----------
[mlir] Clone attrs of unregistered dialect ops (#151847)
`Operation::clone` does not clone the properties of unregistered ops.
This patch modifies the property initialization for unregistered ops to
initialize properties as attributes.
fixes #151640
---------
Signed-off-by: Boyana Norris <brnorris03 at gmail.com>
Commit: 95d9e8af64bc8e3f257553e2da01388bb72823fe
https://github.com/llvm/llvm-project/commit/95d9e8af64bc8e3f257553e2da01388bb72823fe
Author: Philip Lassen <plassen at groq.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/include/mlir/Analysis/DataFlowFramework.h
Log Message:
-----------
[NFC][mlir] Update DataFlowFramework.h to be compatible with clang c++23 (#152040)
This change makes `DataFlowFramework.h` compatible with `clang++` and
`--std=c++23`.
Previously clang was checking the templated `DataFlowSolver::eraseState`
body before being instantiated. This resulted in issues with incomplete
types, and happened at least with `clang++-19`.
This is fixed by moving the definition of `DataFlowSolver::eraseState`
after the `AnalysisState`'s full class declaration.
For full context:
-
https://discourse.llvm.org/t/what-is-the-status-of-c-23-support-in-mlir/87674/12
Commit: 8f7dfc689c4750bfffc0c57f2f8f5b69383f747b
https://github.com/llvm/llvm-project/commit/8f7dfc689c4750bfffc0c57f2f8f5b69383f747b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/cxx2a.cpp
Log Message:
-----------
[clang][bytecode] Call CheckLocalLoad in GetLocal (#152090)
I forgot to call this here as well. It was only used in the EvalEmitter
implementation of the function. Also fix a problem where we didn't
diagnose out-of-lifetime reads here.
Commit: e044cc50eec8b2875b047c242f7afa4bc47046fe
https://github.com/llvm/llvm-project/commit/e044cc50eec8b2875b047c242f7afa4bc47046fe
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/test/Transforms/GVN/condprop.ll
Log Message:
-----------
[GVN] Handle not in equality propagation (#151942)
Look through `not` when propagating equalities in GVN. Usually these
will be canonicalized away, but they may be retained due to multi-use or
involvement in logical expressions.
Fixes https://github.com/llvm/llvm-project/issues/143529.
Commit: fcae1ba7757a9c7b4e65ff068e0cb854a9fa2edd
https://github.com/llvm/llvm-project/commit/fcae1ba7757a9c7b4e65ff068e0cb854a9fa2edd
Author: David Green <david.green at arm.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/test/Analysis/CostModel/ARM/active_lane_mask.ll
M llvm/test/Analysis/CostModel/ARM/cast.ll
M llvm/test/Analysis/CostModel/ARM/cast_ldst.ll
Log Message:
-----------
[ARM] Use -cost-kind=all for cast and active_lane_mask tests. NFC
Commit: fb632ed2377d280b581b8d4653b855e60d611f77
https://github.com/llvm/llvm-project/commit/fb632ed2377d280b581b8d4653b855e60d611f77
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/test/Transforms/GVN/assume-equal.ll
M llvm/test/Transforms/GVN/lifetime-simple.ll
Log Message:
-----------
[GVN] Handle provenance when propagating assume equality (#151953)
If we have a known `p == p2` equality, we cannot replace `p2` with `p`
unless they are known to have the same provenance. GVN handles this when
propagating equalities from conditions, but not for assumes, as these go
through a different code path for uses in the same block.
Call canReplacePointersInUseIfEqual() before performing the replacement.
This is subject to the usual approximations (e.g. that we always allow
replacement with a dereferenceable constant and null).
This restriction does not appear to have any impact in practice.
Commit: ba099c516daf4c5e77e3342803b1d91c9a0f9399
https://github.com/llvm/llvm-project/commit/ba099c516daf4c5e77e3342803b1d91c9a0f9399
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/Analysis/StackLifetime.h
M llvm/lib/Analysis/StackLifetime.cpp
M llvm/test/Analysis/StackSafetyAnalysis/lifetime.ll
M llvm/test/Instrumentation/AddressSanitizer/lifetime-uar-uas.ll
Log Message:
-----------
[StackLifetime] Remove handling for lifetime size mismatch (#151965)
Split out from #150248:
Since #150944 the size passed to lifetime.start/end is considered
meaningless. The lifetime always applies to the whole alloca.
Accordingly remove handling for size mismatch in the StackLifetime
analysis.
Commit: 6393a9edde6da41d0e927b34a6c9ba965289c6da
https://github.com/llvm/llvm-project/commit/6393a9edde6da41d0e927b34a6c9ba965289c6da
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/test/IntegrationTest/CMakeLists.txt
M libc/test/IntegrationTest/test.cpp
Log Message:
-----------
Revert "[libc] make integration test malloc work properly when threaded" (#152096)
Reverts llvm/llvm-project#151622
This broke our libc on GPU bot:
https://lab.llvm.org/buildbot/#/builders/10/builds/10864
Commit: c233deb794b71260f012ac339574d51908b4fe26
https://github.com/llvm/llvm-project/commit/c233deb794b71260f012ac339574d51908b4fe26
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M bolt/test/link_fdata.py
Log Message:
-----------
[BOLT] Use llvm-nm by default on Windows (#151805)
Use `llvm-nm` by default instead of `nm` in case of Windows host.
Commit: 0cf7377a1e6545821e3525b40a091575a3dfce61
https://github.com/llvm/llvm-project/commit/0cf7377a1e6545821e3525b40a091575a3dfce61
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/compare-pointer-to-member-virtual-function.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/copy-constructor-init.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/crtp-constructor-accessibility.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/nondeterministic-pointer-iteration-order.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/redundant-branch-condition.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/standalone-empty.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/no-recursion.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/pass-by-value.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/replace-auto-ptr.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/replace-disallow-copy-and-assign-macro.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/type-traits.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-auto.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-trailing-return-type.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/function-cognitive-complexity.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/misleading-indentation.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/qualified-auto.rst
Log Message:
-----------
[clang-tidy][docs][NFC] Make uniform "Limitations" sections across all checks (#151863)
Commit: c5e6938c6710a1c34a32830c743f19a29ffef6e5
https://github.com/llvm/llvm-project/commit/c5e6938c6710a1c34a32830c743f19a29ffef6e5
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/performance/unnecessary-copy-initialization.rst
Log Message:
-----------
[clang-tidy][docs][NFC] Add limitation of variable lifetimes in performance-unnecessary-copy-initialization (#151862)
Addresses https://github.com/llvm/llvm-project/issues/150189.
Commit: 87283db54852a899a52e4e01aa01b471ffa34a1d
https://github.com/llvm/llvm-project/commit/87283db54852a899a52e4e01aa01b471ffa34a1d
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/Headers/arm_acle.h
M clang/test/CodeGen/arm_acle.c
A clang/test/CodeGen/arm_acle_swp.c
Log Message:
-----------
[clang][ARM] Fix build failure in <arm_acle.h> for __swp (#151354)
In commit d5985905ae8e5b2 I introduced a Sema check that prohibits
`__builtin_arm_ldrex` and `__builtin_arm_strex` for data sizes not
supported by the target architecture version. However, `arm_acle.h`
unconditionally uses those builtins with a 32-bit data size. So now
including that header will cause a build failure on Armv6-M, or historic
architectures like Armv5.
To fix it, `arm_acle.h` now queries the compiler-defined
`__ARM_FEATURE_LDREX` macro (also fixed recently in commit
34f59d79209268e so that it matches the target architecture). If 32-bit
LDREX isn't available it will fall back to the older SWP instruction, or
failing that (on Armv6-M), a libcall.
While I was modifying the header anyway, I also renamed the local
variable `v` inside `__swp` so that it starts with `__`, avoiding any
risk of user code having #defined `v`.
Commit: 091c33b1f5d54201f8129b03f8cfc70aa94b053c
https://github.com/llvm/llvm-project/commit/091c33b1f5d54201f8129b03f8cfc70aa94b053c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libcxx/include/__fwd/tuple.h
M libcxx/include/__memory/uses_allocator_construction.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/module.modulemap.in
M libcxx/include/tuple
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_element.verify.cpp
Log Message:
-----------
[libc++] Remove SFINAE on __tuple_impl constructors (#151654)
The SFINAE isn't required, since the primary `tuple` class already does
the SFINAE checks. This removes a bit of code that was only used for
these constraints.
This also moves the `tuple_element` specialization for `tuple` to
`__fwd/tuple.h` to avoid a dependency on `__tuple/sfinae_helpers.h`
(which should be moved in a follow-up).
Commit: 1cac2be874c5f1b1b70bdaea8891f5e5b76a84e2
https://github.com/llvm/llvm-project/commit/1cac2be874c5f1b1b70bdaea8891f5e5b76a84e2
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/include/__tree
M libcxx/include/map
M libcxx/include/set
M libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h
M libcxx/test/benchmarks/containers/associative/map.bench.cpp
M libcxx/test/benchmarks/containers/associative/multimap.bench.cpp
M libcxx/test/benchmarks/containers/associative/multiset.bench.cpp
M libcxx/test/benchmarks/containers/associative/set.bench.cpp
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp
Log Message:
-----------
[libc++] Optimize copy construction and assignment of __tree (#151304)
```
----------------------------------------------------------------------------------------------------------
Benchmark old new
----------------------------------------------------------------------------------------------------------
std::map<int, int>::ctor(const&)/0 15.5 ns 14.9 ns
std::map<int, int>::ctor(const&)/32 474 ns 321 ns
std::map<int, int>::ctor(const&)/1024 24591 ns 11101 ns
std::map<int, int>::ctor(const&)/8192 236153 ns 98868 ns
std::map<std::string, int>::ctor(const&)/0 15.2 ns 14.9 ns
std::map<std::string, int>::ctor(const&)/32 2673 ns 2340 ns
std::map<std::string, int>::ctor(const&)/1024 115354 ns 86088 ns
std::map<std::string, int>::ctor(const&)/8192 1298510 ns 626876 ns
std::map<int, int>::operator=(const&) (into cleared Container)/0 16.5 ns 16.1 ns
std::map<int, int>::operator=(const&) (into cleared Container)/32 548 ns 323 ns
std::map<int, int>::operator=(const&) (into cleared Container)/1024 28418 ns 11026 ns
std::map<int, int>::operator=(const&) (into cleared Container)/8192 281827 ns 97113 ns
std::map<int, int>::operator=(const&) (into populated Container)/0 2.42 ns 1.85 ns
std::map<int, int>::operator=(const&) (into populated Container)/32 369 ns 73.0 ns
std::map<int, int>::operator=(const&) (into populated Container)/1024 24078 ns 2322 ns
std::map<int, int>::operator=(const&) (into populated Container)/8192 266537 ns 22963 ns
std::map<std::string, int>::operator=(const&) (into cleared Container)/0 16.6 ns 16.2 ns
std::map<std::string, int>::operator=(const&) (into cleared Container)/32 2614 ns 1622 ns
std::map<std::string, int>::operator=(const&) (into cleared Container)/1024 116826 ns 63281 ns
std::map<std::string, int>::operator=(const&) (into cleared Container)/8192 1316655 ns 649177 ns
std::map<std::string, int>::operator=(const&) (into populated Container)/0 2.42 ns 1.89 ns
std::map<std::string, int>::operator=(const&) (into populated Container)/32 1264 ns 581 ns
std::map<std::string, int>::operator=(const&) (into populated Container)/1024 238826 ns 39943 ns
std::map<std::string, int>::operator=(const&) (into populated Container)/8192 2412327 ns 379456 ns
```
Fixes #77658
Fixes #62571
Commit: 43ead215e4e519b99942b1bda9368681a1f13bea
https://github.com/llvm/llvm-project/commit/43ead215e4e519b99942b1bda9368681a1f13bea
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/test/CodeGen/X86/sibcall.ll
Log Message:
-----------
[X86] Precommit tests for PR146575 (NFC)
Commit: 00a648ab110583ed45cc931a0c1aabf4bfcd17e3
https://github.com/llvm/llvm-project/commit/00a648ab110583ed45cc931a0c1aabf4bfcd17e3
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/test/CodeGen/X86/sibcall.ll
Log Message:
-----------
[X86] Elect to tail call when `sret` ptr is passed to the callee
We may be able to allow the callee to be tail-called when the caller
expects a `sret` pointer argument, as long as this pointer is forwarded
to the callee.
Fixes: https://github.com/llvm/llvm-project/issues/146303.
Commit: 155359c1f2bda7fb8d4e8001157ecea03689df68
https://github.com/llvm/llvm-project/commit/155359c1f2bda7fb8d4e8001157ecea03689df68
Author: Tommy MᶜMichen <tommy at mcmichen.net>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/Transforms/SROA/invariant-group.ll
Log Message:
-----------
[llvm][sroa] Disable support for `invariant.group` (#151743)
Resolves #151574.
> SROA pass does not perform aggregate load/store rewriting on a pointer
whose source is a `launder.invariant.group`.
>
> This causes failed assertion in `AllocaSlices`.
>
> ```
> void (anonymous
namespace)::AllocaSlices::SliceBuilder::visitStoreInst(StoreInst &):
> Assertion `(!SI.isSimple() || ValOp->getType()->isSingleValueType())
&&
> "All simple FCA stores should have been pre-split"' failed.
> ```
Disables support for `{launder,strip}.invariant.group` intrinsics in
SROA.
Updates SROA test for `invariant.group` support.
Commit: 76d98cfcc40e9a351efc52287338f0fd5d4402fb
https://github.com/llvm/llvm-project/commit/76d98cfcc40e9a351efc52287338f0fd5d4402fb
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
Log Message:
-----------
[RISCV][TTI] Enable masked interleave access (#151665)
Now that support for masked loads/stores of interleave groups has
landed, we can enable the loop vectorizer to generate masked interleave
access where applicable.
This improves vectorization in several ways:
* Internal predication support: This enables interleave group
vectorization for loops with internal control flow predication, provided
all members of the group share the same predicate. Gaps in interleave
groups are still not efficiently handled by masking, so masking for gaps
remains disabled for now.
* Tail folding: This allows tail folding of loops with interleave groups
by using masking. Without this, vectorized loops with interleaves would
fall back to using separate gather/scatter accesses, which can be
significantly less efficient.
"[RISCV][TTI] Enable masked interleave access for scalable vector
(#149981)" was reverted by 5294793bdcf6ca142f7a0df897638bd4e85ed1a7 due
to triggering an assertion. The issue has been addressed in the patch
"[LV] Fix gap mask requirement for interleaved access (#151105)". On the
other hand, this patch also enable fixed-length masked interleave access
(#150624) since support for fixed-length has also been landed
992118cb4deab139ae384bb85f03225a9a21b008.
---------
Co-authored-by: Philip Reames <preames at rivosinc.com>
Commit: a53489606a4e704e5a7ac148e950eabfe21397cd
https://github.com/llvm/llvm-project/commit/a53489606a4e704e5a7ac148e950eabfe21397cd
Author: Ferdinand Lemaire <flscminecraft at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/CMakeLists.txt
A mlir/include/mlir/Dialect/WasmSSA/CMakeLists.txt
A mlir/include/mlir/Dialect/WasmSSA/IR/CMakeLists.txt
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSA.h
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSABase.td
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAInterfaces.h
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAInterfaces.td
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAOps.td
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSATypes.td
M mlir/lib/Dialect/CMakeLists.txt
A mlir/lib/Dialect/WasmSSA/CMakeLists.txt
A mlir/lib/Dialect/WasmSSA/IR/CMakeLists.txt
A mlir/lib/Dialect/WasmSSA/IR/WasmSSADialect.cpp
A mlir/lib/Dialect/WasmSSA/IR/WasmSSAInterfaces.cpp
A mlir/lib/Dialect/WasmSSA/IR/WasmSSAOps.cpp
A mlir/lib/Dialect/WasmSSA/IR/WasmSSATypes.cpp
M mlir/lib/RegisterAllDialects.cpp
A mlir/test/Dialect/WasmSSA/custom_parser/global.mlir
A mlir/test/Dialect/WasmSSA/custom_parser/import.mlir
A mlir/test/Dialect/WasmSSA/custom_parser/local.mlir
A mlir/test/Dialect/WasmSSA/extend-invalid.mlir
A mlir/test/Dialect/WasmSSA/global-invalid.mlir
A mlir/test/Dialect/WasmSSA/locals-invalid.mlir
A mlir/test/Dialect/WasmSSA/reinterpret-invalid.mlir
Log Message:
-----------
[MLIR][Wasm] Introduce the WasmSSA MLIR dialect (#149233)
Introduce the WasmSSA dialect as discussed in
https://discourse.llvm.org/t/rfc-mlir-dialect-for-webassembly/86758 and
during the ODM
https://discourse.llvm.org/t/mlir-open-meeting-webassembly-dialect/86928
This PR only introduces the dialect definition and interfaces, the list
of operators and some operators-related helper functions (related to
parsing or verification) and some tests for those.
Follow-up PRs will bring the binary Webassembly importer and the
lowerings to other dialects along with testing and a driver for
conversion of Webassembly binaries to LLVM IR.
Co-authored-by: Luc Forget <dev at alias.lforget.fr>
Co-authored-by: Ferdinand Lemaire <ferdinand.lemaire at woven-planet.global>
Co-authored-by: Jessica Paquette <jessica.paquette at woven-planet.global>
Co-authored-by: Luc Forget <luc.forget at woven.toyota>
Commit: d561259a083725cb9242f00cb14ae3a0ec1d2c7b
https://github.com/llvm/llvm-project/commit/d561259a083725cb9242f00cb14ae3a0ec1d2c7b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/vselect-ext.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/freeze.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
M llvm/test/CodeGen/AMDGPU/load-local-i16.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sext-in-reg-vector-shuffle.ll
M llvm/test/CodeGen/NVPTX/i1-select.ll
M llvm/test/CodeGen/RISCV/abds.ll
M llvm/test/CodeGen/RISCV/fpclamptosat.ll
M llvm/test/CodeGen/RISCV/iabs.ll
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv32zbs.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/vec3-setcc-crash.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
M llvm/test/CodeGen/VE/Scalar/min.ll
M llvm/test/CodeGen/X86/combine-sdiv.ll
M llvm/test/CodeGen/X86/freeze-binary.ll
M llvm/test/CodeGen/X86/freeze-vector.ll
M llvm/test/CodeGen/X86/knownbits-hadd-hsub.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
M llvm/test/CodeGen/X86/midpoint-int.ll
M llvm/test/CodeGen/X86/oddsubvector.ll
M llvm/test/CodeGen/X86/pr38539.ll
M llvm/test/CodeGen/X86/vector-compress.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
M llvm/test/CodeGen/X86/vector-rotate-128.ll
M llvm/test/CodeGen/X86/vector-rotate-256.ll
Log Message:
-----------
[DAG] visitFREEZE - replace multiple frozen/unfrozen uses of an SDValue with just the frozen node (#150017)
Similar to InstCombinerImpl::freezeOtherUses, attempt to ensure that we
merge multiple frozen/unfrozen uses of a SDValue. This fixes a number of
hasOneUse() problems when trying to push FREEZE nodes through the DAG.
Remove SimplifyMultipleUseDemandedBits handling of FREEZE nodes as we
now want to keep the common node, and not bypass for some nodes just
because of DemandedElts.
Fixes #149799
Commit: c9dd14d1d4c357ad29e0e5c446f1bb8f596ab9c0
https://github.com/llvm/llvm-project/commit/c9dd14d1d4c357ad29e0e5c446f1bb8f596ab9c0
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/predication_costs.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/load-store-scalarization-cost.ll
Log Message:
-----------
[VPlan] Compute interleave count for VPlan. (#149702)
Move selectInterleaveCount to LoopVectorizationPlanner and retrieve some
information directly from VPlan. Register pressure was already computed
for a VPlan, and with this patch we now also check for reductions
directly on VPlan, as well as checking how many load and store
operations remain in the loop.
This should be mostly NFC, but we may compute slightly different
interleave counts, except for some edge cases, e.g. where dead loads
have been removed. This shouldn't happen in practice, and the patch
doesn't cause changes across a large test corpus on AArch64.
Computing the interleave count based on VPlan allows for making better
decisions in presence of VPlan optimizations, for example when
operations on interleave groups are narrowed.
Note that there are a few test changes for tests that were still
checking the legacy cost-model output when it was computed in
selectInterleaveCount.
PR: https://github.com/llvm/llvm-project/pull/149702
Commit: c1b387e23d2c786fa7dc97d15ab11df0cb5c6877
https://github.com/llvm/llvm-project/commit/c1b387e23d2c786fa7dc97d15ab11df0cb5c6877
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Analysis/MemoryLocation.cpp
M llvm/test/Transforms/DeadStoreElimination/lifetime.ll
M llvm/unittests/Analysis/MemorySSATest.cpp
Log Message:
-----------
[MemoryLocation] Compute lifetime size from alloca size (#151982)
Split out from #150248:
Since #150944 the size passed to lifetime.start/end is considered
meaningless. The lifetime always applies to the whole alloca.
This adjusts MemoryLocation to determine the MemoryLocation size from
the alloca size, instead of using the argument.
Commit: 1392edcc0784071fe1ab02782ac1dbc7ac6a0350
https://github.com/llvm/llvm-project/commit/1392edcc0784071fe1ab02782ac1dbc7ac6a0350
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/div.ll
Log Message:
-----------
ARM: Remove idiv runtime call aliases (#152098)
Really only the i32 variants exist. We don't need synthetic
aliases for illegal types which will be promoted.
Commit: f72b3e1c07914fdea2fd367dada14b63adef731b
https://github.com/llvm/llvm-project/commit/f72b3e1c07914fdea2fd367dada14b63adef731b
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/and_then.mandates.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/or_else.mandates.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/value.observers.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/and_then.mandates.verify.cpp
M libcxx/test/std/containers/sequences/array/array.creation/to_array.verify.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/conversion.verify.cpp
M libcxx/test/std/utilities/function.objects/func.bind.partial/bind_back.verify.cpp
M libcxx/test/std/utilities/function.objects/func.bind_front/bind_front.verify.cpp
Log Message:
-----------
[Clang] Add detailed notes explaining why `is_constructible` evaluates to false (Revert 16d5db7) (#151935)
Adds explanation why `is_constructible` evaluates to false.
This reapplies as-is e476f968bc8e438a0435d10934f148de570db8eb.
This was reverted in 16d5db71b3c38f21aa17783a8758f947dca5883f because of
a test failure in libc++.
The test failure in libc++ is interesting in that, in the absence of
nested diagnostics a bunch of diagnostics are emitted as error instead
of notes, which we cannot silence with `-verify-ignore-unexpected`.
The fix here is to prevent the diagnostics to be emitted in the first
place.
However this is clearly not ideal and we should make sure to deploy a
better solution in the clang 22 time frame, in the lines of
https://discourse.llvm.org/t/rfc-add-a-new-text-diagnostics-format-that-supports-nested-diagnostics/87641/12
Fixes #150601
---------
Co-authored-by: Shamshura Egor <164661612+egorshamshura at users.noreply.github.com>
Commit: fbd18642a9eefc7bb3b7d40eaf8d16ef9d523064
https://github.com/llvm/llvm-project/commit/fbd18642a9eefc7bb3b7d40eaf8d16ef9d523064
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
Log Message:
-----------
[RISCV] Simplify EEW/EMUL check in VLOptimizer. NFC (#152100)
Currently when checking to see if two OperandInfos are compatible, we
check to see if the user operand only uses the first scalar and then do
two different checks depending on that.
However whether the user only uses the first scalar or not is already
encoded in OperandInfo, when EMUL is nullopt.
This removes the redundant check and keeps the logic in the OperandInfo
class to make the call site easier to reason about.
Commit: 94a6cd464e4dd2bf99b85d1e00b6fcfcdf21c6da
https://github.com/llvm/llvm-project/commit/94a6cd464e4dd2bf99b85d1e00b6fcfcdf21c6da
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-vmla.ll
M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/X86/pr48340.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
Log Message:
-----------
[VPlan] Expand VPWidenPointerInductionRecipe into separate recipes (#148274)
This is the VPWidenPointerInductionRecipe equivalent of #118638, with
the motivation of allowing us to use the EVL as the induction step.
There is a new VPInstruction added, WidePtrAdd to allow adding the step
vector to the induction phi, since VPInstruction::PtrAdd only handles
scalars or multiple scalar lanes.
Originally this transformation was copied from the original recipe's
execute code, but it's since been simplifed by teaching
`unrollWidenInductionByUF` to unroll the recipe, which brings it inline
with VPWidenIntOrFpInductionRecipe.
Commit: e0df5f8c1abda78eb294b43bb8bf5c91ca3268a8
https://github.com/llvm/llvm-project/commit/e0df5f8c1abda78eb294b43bb8bf5c91ca3268a8
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libcxx/test/libcxx/utilities/expected/expected.expected/value.observers.verify.cpp
Log Message:
-----------
[libc++][NFC] Remove comments incorrectly added in #151935.
Commit: b557cd3e8f82a66c4a64e1966389df8277c58c07
https://github.com/llvm/llvm-project/commit/b557cd3e8f82a66c4a64e1966389df8277c58c07
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/test/AST/ByteCode/cxx11.cpp
Log Message:
-----------
[clang][bytecode][NFC] Add a c++11 test case (#152104)
This test case breaks when ignoring trivial CXXConstructExprs of array
types, so make sure we don't do that.
Commit: 4b31b4ebdd923dccc89fbb4904a8378658b466a6
https://github.com/llvm/llvm-project/commit/4b31b4ebdd923dccc89fbb4904a8378658b466a6
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
Log Message:
-----------
[lldb][DWARFIndex][NFC] Remove DWARFIndex::IterationActionAdaptor
Now that all `DWARFIndex` APIs have been converted to use
`IterationAction`, the `IterationActionAdaptor` is unused.
Commit: d1b363e0b0d1cce3aa24d998058144295237fa56
https://github.com/llvm/llvm-project/commit/d1b363e0b0d1cce3aa24d998058144295237fa56
Author: quic_hchandel <quic_hchandel at quicinc.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
Log Message:
-----------
[RISCV] Add Tied operands to insert instructions in Qualcomm uC extension Xqcibm (#151339)
Commit: 3bdfca58a6c04272c70413f07b206f0b95743309
https://github.com/llvm/llvm-project/commit/3bdfca58a6c04272c70413f07b206f0b95743309
Author: A. Jiang <de34 at live.cn>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libcxx/include/__math/traits.h
M libcxx/include/math.h
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++] Workaround for a bug of overloads in MS UCRT's `<math.h>` (#149234)
MS UCRT seems confused on the status of LWG1327, and still provides
pre-LWG1327 overload set the related math functions, which can't handle
integer types as required. It is probably that UCRT won't fixed this in
a near future, per
https://developercommunity.visualstudio.com/t/10294165.
Before C++20, libc++ worked around this bug by relying on
`-fdelayed-template-parsing`. However, this non-conforming option is off
by default since C++20. I think we should use `requires` instead.
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 852cc9200f7c7cc76bc61ac2aa42712c94793f0d
https://github.com/llvm/llvm-project/commit/852cc9200f7c7cc76bc61ac2aa42712c94793f0d
Author: nerix <nerixdev at outlook.de>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/test/Shell/SymbolFile/NativePDB/namespace-access.test
Log Message:
-----------
[LLDB][NativePDB] Implement `FindNamespace` (#151950)
`FindNamespace` was not implemented for `SymbolFileNativePDB`. Without
it, it wasn't possible to lookup items through namespaces when
evaluating expressions.
This is mostly the same as in
[SymbolFilePDB](https://github.com/llvm/llvm-project/blob/f1eb869bae2ab86726ee3a5a5c7980d5b2acbd5d/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp#L1664-L1696)
as well as
[PDBAstParser](https://github.com/llvm/llvm-project/blob/f1eb869bae2ab86726ee3a5a5c7980d5b2acbd5d/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp#L1126-L1150):
The AST parser/builder saves the created namespaces in a map to lookup
when a namespace is requested.
This is working towards making
[Shell/SymbolFile/PDB/expressions.test](https://github.com/llvm/llvm-project/blob/f1eb869bae2ab86726ee3a5a5c7980d5b2acbd5d/lldb/test/Shell/SymbolFile/PDB/expressions.test)
pass with the native PDB plugin.
Commit: d4f51bd53ed583cb4c8b149d5e3d31ac5f64d82a
https://github.com/llvm/llvm-project/commit/d4f51bd53ed583cb4c8b149d5e3d31ac5f64d82a
Author: Bart Chrzaszcz <bartchr at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] Fix bazel after a534896. (#152117)
Needed to define the bazel targets for the new dialect.
Commit: 11eeb4d133aea2c823231bc771bb58de6d8387e3
https://github.com/llvm/llvm-project/commit/11eeb4d133aea2c823231bc771bb58de6d8387e3
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pmulh.ll
Log Message:
-----------
[X86] `combinePMULH` - combine `mulhu` + `srl` (#132548)
Fixes #132166
Commit: 94d374ab6cd559fa96e96bfb805b73a367bfda08
https://github.com/llvm/llvm-project/commit/94d374ab6cd559fa96e96bfb805b73a367bfda08
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
A llvm/test/Transforms/CodeGenPrepare/dont-sink-scalable-vector-compare.ll
Log Message:
-----------
[LLVM][CGP] Allow finer control for sinking compares. (#151366)
Compare sinking is selectable based on the result of
hasMultipleConditionRegisters. This function is too coarse grained by
not taking into account the differences between scalar and vector
compares. This PR extends the interface to take an EVT to allow finer
control.
The new interface is used by AArch64 to disable sinking of scalable
vector compares, but with isProfitableToSinkOperands updated to maintain
the cases that are specifically tested.
Commit: 13600c72ce848894fbd8dd6242e55d0bc29e7adf
https://github.com/llvm/llvm-project/commit/13600c72ce848894fbd8dd6242e55d0bc29e7adf
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.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_call.cpp
Log Message:
-----------
[CIR] Add CIRGen for cir.unreachable and cir.trap (#151363)
Commit: 0da6d91ad9dd769b2d9f97d9f9249f5523a11023
https://github.com/llvm/llvm-project/commit/0da6d91ad9dd769b2d9f97d9f9249f5523a11023
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
A llvm/test/CodeGen/AArch64/stacksmash-arm64ec.ll
Log Message:
-----------
RuntimeLibcalls: Fix stacksmash on arm64ec (#152116)
Fix after 5478da9
Commit: be4a739a7fc29df85e0fd3b0f74689c6b0183596
https://github.com/llvm/llvm-project/commit/be4a739a7fc29df85e0fd3b0f74689c6b0183596
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
A llvm/test/Transforms/CodeGenPrepare/AArch64/dont-sink-scalable-vector-compare.ll
R llvm/test/Transforms/CodeGenPrepare/dont-sink-scalable-vector-compare.ll
Log Message:
-----------
[LLVM][CDP] Move AArch64 test into AArch64 directory.
Commit: 940f37aa70bee523aca8f52d1c418d79bc9d99ab
https://github.com/llvm/llvm-project/commit/940f37aa70bee523aca8f52d1c418d79bc9d99ab
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-allowed-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-excluded-container-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-allowed-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-crash.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
Log Message:
-----------
[clang-tidy] Print type information to performance-unnecessary-* checks (#152101)
Useful when the check warns on template functions to know which type
it's complaining about. Otherwise, since the instantiation stack is not
printed, it's very hard to tell.
Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>
Commit: dc7c3c2b2b1d0dfe20cd2b6783d7ab773054ad3d
https://github.com/llvm/llvm-project/commit/dc7c3c2b2b1d0dfe20cd2b6783d7ab773054ad3d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/State.cpp
M clang/test/AST/ByteCode/lifetimes.cpp
M clang/test/AST/ByteCode/mutable.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p9.cpp
Log Message:
-----------
[clang][bytecode] Disable location tracking for implicit field inits (#150190)
Commit: 52b7b22cfabea0d89f443c0f05fa1073f3ba9c21
https://github.com/llvm/llvm-project/commit/52b7b22cfabea0d89f443c0f05fa1073f3ba9c21
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/src/__support/FPUtil/generic/div.h
M libc/test/src/math/smoke/DivTest.h
Log Message:
-----------
[libc][math] Fix division by infinity in fputil::div (#152092)
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Commit: 9b2b5bf8cd751fabccaca1b8847b4c291aa52081
https://github.com/llvm/llvm-project/commit/9b2b5bf8cd751fabccaca1b8847b4c291aa52081
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M openmp/CMakeLists.txt
Log Message:
-----------
[OpenMP] Fix LLVM_ENABLE_PROJECTS=openmp build (#151117)
Set LLVM_TREE_AVAILABLE when not defined after #149871. In particular,
the LLVM build tree is obviously available with
`add_subdirectory(openmp)` from the LLVM build tree itself. Note that
this build mode is deprecated since #136314.
Commit: 421f15d060ccb90c2bc97935ed2027a60093e5bd
https://github.com/llvm/llvm-project/commit/421f15d060ccb90c2bc97935ed2027a60093e5bd
Author: kkent030315 <hrn832 at protonmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
R llvm/test/tools/llvm-readobj/COFF/Inputs/has-exdllcharacteristics.exe
A llvm/test/tools/llvm-readobj/COFF/Inputs/has-exdllcharacteristics.yaml
M llvm/test/tools/llvm-readobj/COFF/exdllcharacteristics.test
Log Message:
-----------
[llvm-readobj][COFF] Improve extended DLL characteristics test (#151978)
Remove the need for the input binary by replacing it with a
yaml2obj-generated file.
Commit: 3cf072d4bfe2d038757ebe6197fdac9c9bd6a7ed
https://github.com/llvm/llvm-project/commit/3cf072d4bfe2d038757ebe6197fdac9c9bd6a7ed
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/test/CodeGen/NVPTX/combine-min-max.ll
Log Message:
-----------
[NVPTX] Fix ptxas-verify line.
Without specifying -arch=sm_90, we get this error:
ptxas fatal : SM version specified by .target is higher than default SM version assumed
Commit: ab6923b9b7a75de79ee06b400ae73771e130339e
https://github.com/llvm/llvm-project/commit/ab6923b9b7a75de79ee06b400ae73771e130339e
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/docs/use/formatting.rst
M lldb/include/lldb/Core/DemangledNameInfo.h
M lldb/include/lldb/Core/FormatEntity.h
M lldb/source/Core/DemangledNameInfo.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/unittests/Core/MangledTest.cpp
Log Message:
-----------
[lldb] add TemplateRange and NameQualifiersRange to DemangledNameInfo (#150999)
This patch adds 2 new attributes to `DemangledNameInfo`: `TemplateRange`
and `NameQualifiersRange`. It also introduces the
`function.name-qualifiers` entity formatter which allows tracking
qualifiers between the name of a function and its arguments/template.
This will be used downstream in Swift but may have applications in C++:
https://github.com/swiftlang/llvm-project/pull/11068.
Commit: 9f50224b252e1e5b05828fd6d929813e9f40d4f8
https://github.com/llvm/llvm-project/commit/9f50224b252e1e5b05828fd6d929813e9f40d4f8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.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:
-----------
[DAG] Remove Depth=1 hack from isGuaranteedNotToBeUndefOrPoison checks (#152127)
Now that #146490 removed the assertion in visitFreeze to assert that the
node was still isGuaranteedNotToBeUndefOrPoison we no longer need this
reduced depth hack (which had to account for the difference in depth of
freeze(op()) vs op(freeze())
Helps with some of the minor regressions in #150017
Commit: 7587a32d49d2cd8a9a90d98adcd9d557b6f14be4
https://github.com/llvm/llvm-project/commit/7587a32d49d2cd8a9a90d98adcd9d557b6f14be4
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/lib/Semantics/unparse-with-symbols.cpp
A flang/test/Parser/OpenMP/critical-unparse-with-symbols.f90
Log Message:
-----------
[flang][OpenMP] Fix crash in unparse-with-symbols for CRITICAL (#151962)
Commit: cda4820270dc9d4e84107152130a54c5ecc4976d
https://github.com/llvm/llvm-project/commit/cda4820270dc9d4e84107152130a54c5ecc4976d
Author: Marcos Maronas <marcos.maronas at intel.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
A llvm/test/CodeGen/SPIRV/array_type.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions/cl_khr_extended_bit_ops_spv-friendly_only.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions/cl_khr_extended_bit_ops_spv-friendly_only_no_extension.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions_no_extension.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/bitreverse_small_type.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/lifetime.ll
M llvm/test/CodeGen/SPIRV/memory_model_md.ll
M llvm/test/CodeGen/SPIRV/pointers/global-addrspacecast.ll
A llvm/test/CodeGen/SPIRV/pointers/variables-storage-class-private.ll
M llvm/test/CodeGen/SPIRV/pointers/variables-storage-class.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpBitReverse_i32.ll
R llvm/test/CodeGen/SPIRV/transcoding/OpBitReverse_v2i16.ll
A llvm/test/CodeGen/SPIRV/transcoding/OpBitReverse_v2i32.ll
M llvm/test/CodeGen/SPIRV/zero-length-array.ll
Log Message:
-----------
[SPIRV] Do not use OpTypeRuntimeArray in Kernel env. (#149522)
Prior to this patch, when `NumElems` was 0, `OpTypeRuntimeArray` was
directly generated, but it requires `Shader` capability, so it can only
be generated if `Shader` env is being used. We have observed a pattern
of using unbound arrays that translate into `[0 x ...]` types in OpenCL,
which implies `Kernel` capability, so `OpTypeRuntimeArray` should not be
used. To prevent this scenario, this patch simplifies GEP instructions
where type is a 0-length array and the first index is also 0. In such
scenario, we effectively drop the 0-length array and the first index.
Additionally, the newly added test prior to this patch was generating a
module with both `Shader` and `Kernel` capabilities at the same time,
but they're incompatible. This patch also fixes that.
Finally, prior to this patch, the newly added test was adding `Shader`
capability to the module even with the command line flag
`--avoid-spirv-capabilities=Shader`. This patch also has a fix for that.
Commit: e005ba3668846a013284b893b8bc246c63fce3ae
https://github.com/llvm/llvm-project/commit/e005ba3668846a013284b893b8bc246c63fce3ae
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/WasmSSA/IR/CMakeLists.txt
Log Message:
-----------
[MLIR] fix the `ninja mlir-doc` build
Commit: fd07d90f9f95190cb3abb901ae3d98eb67b84573
https://github.com/llvm/llvm-project/commit/fd07d90f9f95190cb3abb901ae3d98eb67b84573
Author: Marcos Maronas <marcos.maronas at intel.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
Log Message:
-----------
[SPIRV] Fix buildbot failure after #149522 (#152135)
Commit: ee47427386eb405d347bb2d24c925c3130bdde53
https://github.com/llvm/llvm-project/commit/ee47427386eb405d347bb2d24c925c3130bdde53
Author: KRM7 <Krisztian.Rugasi at hightec-rt.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/test/CodeGen/SystemZ/regcoal-subranges-update-remat.mir
Log Message:
-----------
[RegisterCoalescer] Fix subrange update when rematerialization widens a def (#151974)
Currently, when an instruction rematerialized by the register coalescer
defines more subregs of the destination register
than the original COPY instruction did, we only add dead defs for the
newly defined subregs if they were not defined anywhere
else. For example, consider something like this before
rematerialization:
```
%0:reg64 = CONSTANT 1
%1:reg128.sub_lo64_lo32 = COPY %0.lo32
%1:reg128.sub_lo64_hi32 = ...
...
```
that would look like this after rematerializing `%0`:
```
%0:reg64 = CONSTANT 2
%1:reg128.sub_lo64 = CONSTANT 2
%1:reg128.sub_lo64_hi32 = ...
...
```
A dead def would not be added for `%1.sub_lo64_hi32` at the 2nd
instruction because it's subrange wasn't empty beforehand.
Commit: 34c2ea326c7a8167d54575b794b9cf1ab6e7d2fd
https://github.com/llvm/llvm-project/commit/34c2ea326c7a8167d54575b794b9cf1ab6e7d2fd
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
Log Message:
-----------
[libc][Github] Remove ccache variant logic (#152042)
https://github.com/hendrikmuhs/ccache-action/issues/279 has now been
resolved, so we can use sccache for the arm tests too and do not need to
differentiate between platforms.
Commit: cc2a385e65483688d3e4a0091e0767960f9eb8c2
https://github.com/llvm/llvm-project/commit/cc2a385e65483688d3e4a0091e0767960f9eb8c2
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-private-implicit-scalar-map.f90
M flang/test/Lower/OpenMP/Todo/defaultmap-clause-firstprivate.f90
M flang/test/Lower/OpenMP/defaultmap.f90
M flang/test/Lower/OpenMP/optional-argument-map-2.f90
M flang/test/Lower/OpenMP/target-map-complex.f90
M flang/test/Lower/OpenMP/target.f90
Log Message:
-----------
[Flang][OpenMP] Make implicitly captured scalars fully firstprivatized (#147442)
Currently, we indicate to the runtime that implicit scalar captures are
firstprivate (via map and
capture types), enough for the runtime trace to treat it as such, but we
do not CodeGen the IR
in such a way that we can take full advantage of this aspect of the
OpenMP specification.
This patch seeks to change that by applying the correct symbol flags
(firstprivate/implicit) to the
implicitly captured scalars within target regions, which then triggers
the delayed privitization code
generation for these symbols, bringing the code generation in-line with
the explicit firstpriviate
clause. Currently, similarly to the delayed privitization I have
sheltered this segment of code
behind the EnabledDelayedPrivitization flag, as without it, we'll
trigger an compiler error for
firstprivate not being supported any time we implicitly capture a scalar
and try to firstprivitize
it, in future when this flag is removed it can also be removed here. So,
for now, you need to
enable this via providing the compiler the flag on compilation of any
programs.
Commit: 2444c4a69861c643c6628b736affe5861cc79080
https://github.com/llvm/llvm-project/commit/2444c4a69861c643c6628b736affe5861cc79080
Author: Aaron Danen <aaron.danen at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/docs/ClangRepl.rst
A clang/test/Interpreter/bad_percent_command.cpp
A clang/test/Interpreter/dynamic-library-bad-args.cpp
A clang/test/Interpreter/help.cpp
M clang/tools/clang-repl/ClangRepl.cpp
Log Message:
-----------
[clang-repl] add %help, documentation, and tests for %commands (#150348)
1. Added %commands to documentation
2. Added %help command to clang repl
3. Expanded parsing to throw unique errors in the case of users entering
an invalid %command or using %lib without an argument
4. Added tests to check the behvaior of %help, %lib, and bad %commands
Commit: 47ef3d069bcfb8ec31c06cdd619557c84d1084ad
https://github.com/llvm/llvm-project/commit/47ef3d069bcfb8ec31c06cdd619557c84d1084ad
Author: Carlos Seo <carlos.seo at linaro.org>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
A flang/test/Lower/undef-func-result.f90
Log Message:
-----------
[Flang] Avoid crash when a function return is undefined (#151577)
Properly terminate the StatementContext cleanup when a function return
value is undefined.
Fixes #126452
Commit: b723887224c57ecfd7d8530ad066ee233abf559b
https://github.com/llvm/llvm-project/commit/b723887224c57ecfd7d8530ad066ee233abf559b
Author: John Harrison <harjohn at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/include/lldb/Host/JSONTransport.h
M lldb/source/Host/common/JSONTransport.cpp
M lldb/test/API/tools/lldb-dap/io/TestDAP_io.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Transport.h
M lldb/unittests/DAP/DAPTest.cpp
M lldb/unittests/DAP/TestBase.cpp
M lldb/unittests/DAP/TestBase.h
M lldb/unittests/Host/JSONTransportTest.cpp
M lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
Log Message:
-----------
[lldb] Update JSONTransport to use MainLoop for reading. (#148300)
This updates JSONTransport to use a MainLoop for reading messages.
This also allows us to read in larger chunks than we did previously.
With the event driven reading operations we can read in chunks and store
the contents in an internal buffer. Separately we can parse the buffer
and split the contents up into messages.
Our previous version approach would read a byte at a time, which is less
efficient.
Commit: 3f59a22711ff6423ad158e2eec44d2c1f0eaee31
https://github.com/llvm/llvm-project/commit/3f59a22711ff6423ad158e2eec44d2c1f0eaee31
Author: Maksim Sabianin <maksim.sabianin at intel.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
A llvm/include/llvm/Transforms/Utils/SplitModuleByCategory.h
M llvm/lib/Transforms/Utils/CMakeLists.txt
A llvm/lib/Transforms/Utils/SplitModuleByCategory.cpp
A llvm/test/tools/llvm-split/SplitByCategory/amd-kernel-split.ll
A llvm/test/tools/llvm-split/SplitByCategory/complex-indirect-call-chain1.ll
A llvm/test/tools/llvm-split/SplitByCategory/complex-indirect-call-chain2.ll
A llvm/test/tools/llvm-split/SplitByCategory/module-split-func-ptr.ll
A llvm/test/tools/llvm-split/SplitByCategory/one-kernel-per-module.ll
A llvm/test/tools/llvm-split/SplitByCategory/ptx-kernel-split.ll
A llvm/test/tools/llvm-split/SplitByCategory/split-by-source.ll
A llvm/test/tools/llvm-split/SplitByCategory/split-with-kernel-declarations.ll
M llvm/tools/llvm-split/CMakeLists.txt
M llvm/tools/llvm-split/llvm-split.cpp
Log Message:
-----------
[offload][SYCL] Add Module splitting by categories. (#131347)
This patch adds Module splitting by categories. The splitting algorithm
is the necessary step in the SYCL compilation pipeline. Also it could be
reused for other heterogenous targets.
The previous attempt was at #119713. In this patch there is no
dependency in `TransformUtils` on "IPO" and on "Printing Passes". In
this patch a module splitting is self-contained and it doesn't introduce
linking issues.
Commit: 6099d0c1f93f17bcb5f79d33777defccfc46320b
https://github.com/llvm/llvm-project/commit/6099d0c1f93f17bcb5f79d33777defccfc46320b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
Log Message:
-----------
[gn build] Port 3f59a22711ff
Commit: 16766b3aef281a24acad08292ffe69554b44805b
https://github.com/llvm/llvm-project/commit/16766b3aef281a24acad08292ffe69554b44805b
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
Log Message:
-----------
Fix ms type_info to be a 'class' type
It was brought up on #151277 that the patch changes type_info from class
to struct. While I couldn't find a way to test/notice this, this patch
changes it to a class.
While I'm here, I am also removing unnecessary/against coding standard
curley brackets.
Commit: be8ef3dfbdd485df16bc9c7eed66f5c3c109d238
https://github.com/llvm/llvm-project/commit/be8ef3dfbdd485df16bc9c7eed66f5c3c109d238
Author: kadir çetinkaya <kadircet at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang-tools-extra/include-cleaner/lib/Record.cpp
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
Log Message:
-----------
[include-cleaner] Respect language when tracking IWYU pragmas on stdlib headers (#152142)
In absence we were associating all the IWYU pragmas with C++ versions of stdlib headers, which would result in false negatives when querying them from a C source file.
Commit: 908ef456062bcb5c5e4745f10e161782bd07f342
https://github.com/llvm/llvm-project/commit/908ef456062bcb5c5e4745f10e161782bd07f342
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SplitModuleByCategory.cpp
Log Message:
-----------
[Utils] Fix a warning
This patch fixes:
llvm/lib/Transforms/Utils/SplitModuleByCategory.cpp:321:14: error:
moving a temporary object prevents copy elision
[-Werror,-Wpessimizing-move]
Commit: 3847620ba9a22a13de30bd77d059aae6f484dd94
https://github.com/llvm/llvm-project/commit/3847620ba9a22a13de30bd77d059aae6f484dd94
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/Factory.h
M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/unittests/Optimizer/Builder/HLFIRToolsTest.cpp
M flang/unittests/Optimizer/FortranVariableTest.cpp
Log Message:
-----------
[flang][NFC] Move the rest of ops creation to new APIs (#152079)
Commit: 06458fff874fb272d1d99c26293b9210ae1aad5f
https://github.com/llvm/llvm-project/commit/06458fff874fb272d1d99c26293b9210ae1aad5f
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M llvm/lib/TargetParser/TargetParser.cpp
Log Message:
-----------
[AMDGCNSPIRV][NFC] Add missing target features to AMDGCNSPIRV (#152057)
`gfx1250` bring-up omitted updating the `amdgcnspirv` feature list, this
fixes that oversight.
Commit: ff8b4f8151391f94eac268775382d4b10a17d913
https://github.com/llvm/llvm-project/commit/ff8b4f8151391f94eac268775382d4b10a17d913
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
A clang/test/Sema/amdgcn-va-list-type.c
Log Message:
-----------
[AMDGCNSPIRV][NFC] Match AMDGPU's `__builtin_va_list` type (#152044)
AMDGCN flavoured SPIRV should math AMDGPU TI as much as possible, and
the va_list difference was spurious.
Commit: 1d594fdb8d0d210893ae346bb6869343dd7a1949
https://github.com/llvm/llvm-project/commit/1d594fdb8d0d210893ae346bb6869343dd7a1949
Author: Ritanya-B-Bharadwaj <ritanya.b.bharadwaj at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/metadirective_messages.cpp
Log Message:
-----------
[Clang][OpenMP] Fixing Clang error for metadirective with multiple when clauses and no otherwise (#148583)
Fixing - https://github.com/llvm/llvm-project/issues/147336
Commit: 12ef487ea7cfaefdca5ca0b58e89ea0496ecc154
https://github.com/llvm/llvm-project/commit/12ef487ea7cfaefdca5ca0b58e89ea0496ecc154
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[ADT] Use a range-based for loop in DenseMap.h (NFC) (#152084)
This patch introduces inlineBuckets to convert a loop into a
range-based for loop.
Commit: 86ab5dc5833b39be97c11e7c509a90fed92525cd
https://github.com/llvm/llvm-project/commit/86ab5dc5833b39be97c11e7c509a90fed92525cd
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp
Log Message:
-----------
[AsmPrinter] Remove an unnecessary cast (NFC) (#152085)
getValue() already returns uint64_t.
Commit: 94dc3c6c49d94b599619bcc1e1dc0b0f67a5cd48
https://github.com/llvm/llvm-project/commit/94dc3c6c49d94b599619bcc1e1dc0b0f67a5cd48
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
Log Message:
-----------
[GlobalISel] Remove an unnecessary cast (NFC) (#152086)
getImm() already returns int64_t.
Commit: cf18e5e0f84b23f5dc410af5447ca03b62aaa12c
https://github.com/llvm/llvm-project/commit/cf18e5e0f84b23f5dc410af5447ca03b62aaa12c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/ProfileData/InstrProf.cpp
Log Message:
-----------
[ProfileData] Remove an unnecessary cast (NFC) (#152087)
new already returns ValueProfData *.
Commit: 2e0ddbb5cd5b4c860cba6197b6977b96b9dde881
https://github.com/llvm/llvm-project/commit/2e0ddbb5cd5b4c860cba6197b6977b96b9dde881
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
Log Message:
-----------
[clang] Use llvm::iterator_range::empty (NFC) (#152088)
Commit: 522ea9c3300afdd66e8852373379eec339a7c78e
https://github.com/llvm/llvm-project/commit/522ea9c3300afdd66e8852373379eec339a7c78e
Author: Bart Chrzaszcz <bartchr at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[llvm] Fix bazel after `3f59a22`. (#152151)
Commit: 0a1eff2ecedcb11acb3e9d4b75ee1e1bebd69a70
https://github.com/llvm/llvm-project/commit/0a1eff2ecedcb11acb3e9d4b75ee1e1bebd69a70
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/AssumeModeling.cpp
M clang/test/Analysis/cxx23-assume-attribute.cpp
Log Message:
-----------
[analyzer] Drop assertion enforcing that assume args are known constants (#151908)
We sometimes don't know if the operand of [[assume]] is true/false, and
that's okay. We can just ignore the attribute in that case.
If we wanted something more fancy, we could bring the assumption to the
constraints, but dropping them should be just as fine for now.
Fixes #151854
Commit: f6c2a357e71ac2a4ce4137a0cf24b169aff9b42b
https://github.com/llvm/llvm-project/commit/f6c2a357e71ac2a4ce4137a0cf24b169aff9b42b
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
A llvm/test/MC/Disassembler/AArch64/apple-syntax.txt
Log Message:
-----------
[AArch64] Add Apple assembly syntax for recent instructions (#152111)
Some vector instructions override AsmString in the tablegen description,
but did not include the Apple syntax variant, so were printed without
operands.
Fixes #151330
Commit: cd40281685f642ad879e33f3fda8d1faa136ebf4
https://github.com/llvm/llvm-project/commit/cd40281685f642ad879e33f3fda8d1faa136ebf4
Author: John Harrison <harjohn at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/include/lldb/Host/JSONTransport.h
M lldb/source/Host/common/JSONTransport.cpp
M lldb/test/API/tools/lldb-dap/io/TestDAP_io.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Transport.h
M lldb/unittests/DAP/DAPTest.cpp
M lldb/unittests/DAP/TestBase.cpp
M lldb/unittests/DAP/TestBase.h
M lldb/unittests/Host/JSONTransportTest.cpp
M lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
Log Message:
-----------
Revert "[lldb] Update JSONTransport to use MainLoop for reading." (#152155)
Reverts llvm/llvm-project#148300
This is crashing in the aarch64 linux CI job. I'll revert it while I
investigate why this is crashing.
Commit: e06c3a968d8360d786e5f60d9270989fcfaef857
https://github.com/llvm/llvm-project/commit/e06c3a968d8360d786e5f60d9270989fcfaef857
Author: Marcos Maronas <marcos.maronas at intel.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
Log Message:
-----------
[SPIRV] Add assertion to simplify debugging (#152139)
Commit: 88283a6e4601381d192ab1e3389b11cd23a83e69
https://github.com/llvm/llvm-project/commit/88283a6e4601381d192ab1e3389b11cd23a83e69
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
Log Message:
-----------
[Flang][OpenMP] Fix MSVC missing include caused by #147442
Windows/MSVC build bots are having issues with a missing header where
linux is not. So, attempt to fix by adding missing header explicitly to file.
Commit: ae7be39601496aa8f712672844de82285a227646
https://github.com/llvm/llvm-project/commit/ae7be39601496aa8f712672844de82285a227646
Author: award999 <award999 at apple.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/tools/lldb-dap/package-lock.json
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
M lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
M lldb/tools/lldb-dap/src-ts/debug-session-tracker.ts
M lldb/tools/lldb-dap/src-ts/extension.ts
A lldb/tools/lldb-dap/src-ts/logging.ts
Log Message:
-----------
Logging setup for lldb-dap extension (#146884)
- ~Add `winston` dependency (MIT license) to handle logging setup~
- Have an `LogOutputChannel` to log user facing information, errors,
warnings
- Write a debug session logs under the provided `logUri` to capture
further diagnostics when the `lldb-dap.captureSessionLogs` setting is
enabled. *Note* the `lldb-dap.log-path` setting takes precedence when
set
Issue: #146880
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: fa39b67de01af189b59f9034ef6228a2951364b0
https://github.com/llvm/llvm-project/commit/fa39b67de01af189b59f9034ef6228a2951364b0
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/include/lldb/Host/Config.h.cmake
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
Log Message:
-----------
[lldb] Add a CMake option to build agains the Python limited API (#152034)
This adds a CMake option (which defaults to OFF) to force building
against the Python limited API. This makes iterating on #151617 easier
and eventually will prevent us from regressing this configuration.
Commit: c4f7d8744ac54bc1ede754e8d10655fb86b47f25
https://github.com/llvm/llvm-project/commit/c4f7d8744ac54bc1ede754e8d10655fb86b47f25
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
Log Message:
-----------
[lldb] Reimplement PythonObject::Dump using the limited API (#152055)
This reimplements `PythonObject::Dump` using functions that are part of
the limited API, instead of using `PyObject_Print`, which is not.
Commit: 0a8ebdb2f0adc60d9fc17d6b3af8933841cca50c
https://github.com/llvm/llvm-project/commit/0a8ebdb2f0adc60d9fc17d6b3af8933841cca50c
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/capturing-func.ll
M llvm/test/Transforms/MemCpyOpt/memcpy-undef.ll
M llvm/test/Transforms/MemCpyOpt/memset-memcpy-oversized.ll
Log Message:
-----------
[MemCpyOpt] Remove handling for lifetime sizes
Split out from #150248:
Since #150944 the size passed to lifetime.start/end is considered
meaningless. The lifetime always applies to the whole alloca.
Accordingly, remove checks of the lifetime size from MemCpyOpt.
Commit: 74af2cec7bbd307d1dcb7f9f3cdf339d551a1f9f
https://github.com/llvm/llvm-project/commit/74af2cec7bbd307d1dcb7f9f3cdf339d551a1f9f
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
Log Message:
-----------
[OpenACC] Fix 'type' checks in private/firstprivate for array types
These would not give a correct initializer, but they are not possible
to generate correctly anyway, so this patch makes sure we look through
the array type to correctly diagnose these.
Commit: 6c9f1ce429809e5a91683ed6cef9a435047bebd1
https://github.com/llvm/llvm-project/commit/6c9f1ce429809e5a91683ed6cef9a435047bebd1
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/test/Analysis/cxx23-assume-attribute.cpp
Log Message:
-----------
[analyzer] Add missing expected-warning after #151908
Commit: d72e58e422be747dfd1e42f8ad370420634190cb
https://github.com/llvm/llvm-project/commit/d72e58e422be747dfd1e42f8ad370420634190cb
Author: Erick Ochoa Lopez <eochoalo at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
Log Message:
-----------
[MLIR][LLVM] Propagate alignment attribute from memref to LLVM (#151380)
Propagate alignment attribute from operations in the memref dialect to
the LLVM dialect.
Possible improvements: maybe the alignment attribute in LLVM's store and
load operations should be confined/constrained to i64? I believe that
way one can avoid typing the value in the attribute dictionary. I.e.,
from `{ alignment = 32 : i64 }` to `{ alignment = 32}`
Commit: 2bbc6147138187946616c1b30743e09825fb61b8
https://github.com/llvm/llvm-project/commit/2bbc6147138187946616c1b30743e09825fb61b8
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Analysis/Loads.cpp
M llvm/test/Analysis/GlobalsModRef/memset-escape.ll
M llvm/test/Transforms/InstCombine/load-store-forward.ll
Log Message:
-----------
[InstCombine] Support offsets in `memset` to load forwarding (#151924)
Adds support for load offsets when performing `memset` load forwarding.
Commit: 2e40c567fbf5b7366df4f2b1fcb9b748da685d96
https://github.com/llvm/llvm-project/commit/2e40c567fbf5b7366df4f2b1fcb9b748da685d96
Author: Erick Ochoa Lopez <eochoalo at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/lib/Dialect/Transform/Transforms/TransformInterpreterUtils.cpp
A mlir/test/Dialect/Transform/interpreter-entry-point-2.mlir
Log Message:
-----------
[MLIR][Transform] Prefer entry points in current module (#151323)
The transform interpreter previously looked for the entry point using a
recursive walk in pre-order. This makes it so that any named_sequence
operation with an arbitrary level of nested-ness will be used as the
entry point for the transform interpreter as long as it is placed before
another one.
This change makes it so that code like the one reported in
https://github.com/llvm/llvm-project/issues/119578 works as expected.
Closes #119578
Some comments: alternatively, it would also be possible to solve this
issue in a slightly more elegant manner. We could define a new walker
iterator that iterates through the operations in a breadth first search.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: dd0bb2c3a8675ff1e2b9de565a301c0a09d3063b
https://github.com/llvm/llvm-project/commit/dd0bb2c3a8675ff1e2b9de565a301c0a09d3063b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Bump the version to 0.2.16
Commit: e8a87da482a13ac9b05acd79d3f412b1a1c06d9a
https://github.com/llvm/llvm-project/commit/e8a87da482a13ac9b05acd79d3f412b1a1c06d9a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M .ci/compute_projects_test.py
Log Message:
-----------
[CI] Add test for projects list for .ci on Windows
Partially to give me something to copy and paste into other scripts that
need to run all of the tests on Windows and partially to increase test
coverage on Windows. This does expose an issue with the script on
Windows, so that needs to be fixed. Given it does not impact anything it
should be fine for now though.
Commit: 258997c16e4d5438207377d6ce4f9d608860d7ae
https://github.com/llvm/llvm-project/commit/258997c16e4d5438207377d6ce4f9d608860d7ae
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC][NFCI] Add 'InitRecipes' to 'firstprivate' AST node
This patch adds the 'init recipes' to firstprivate like I did for
'private', so that we can properly init these types. At the moment,
the recipe init isn't generated (just the VarDecl), and this isn't
really used anywhere as it will be used exclusively in Codegen.
Commit: c455c4e2d7f78d5992369457066b249699fe2084
https://github.com/llvm/llvm-project/commit/c455c4e2d7f78d5992369457066b249699fe2084
Author: Daniel Sanders <daniel_l_sanders at apple.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/include/lldb/Target/UnwindLLDB.h
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
A lldb/test/Shell/Unwind/Inputs/eh-frame-dwarf-unwind-val-offset.s
A lldb/test/Shell/Unwind/eh-frame-dwarf-unwind-val-offset.test
M lldb/unittests/Symbol/TestDWARFCallFrameInfo.cpp
Log Message:
-----------
[lldb] Implement DW_CFA_val_offset and DW_CFA_val_offset_sf (#150732)
The test for this is artificial as I'm not aware of any upstream targets
that use DW_CFA_val_offset
RegisterContextUnwind::ReadFrameAddress now reports how it's attempting
to obtain the CFA unless all success/failure cases emit logs that
clearly identify the method it was attempting. Previously several of the
existing failure paths emit no message or a message that's
indistinguishable from those on other paths.
Commit: 9a4c6f9b3c0ffab783ed0e5373f5106c392426fe
https://github.com/llvm/llvm-project/commit/9a4c6f9b3c0ffab783ed0e5373f5106c392426fe
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/src/__support/wchar/mbrtowc.cpp
Log Message:
-----------
[libc][obvious] Removed mbstate_t include (#152046)
Internal function does not use the external mbstate_t but still had the
include for it.
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 302a452bd6e58591c875be5095da25a27159146f
https://github.com/llvm/llvm-project/commit/302a452bd6e58591c875be5095da25a27159146f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/docs/TestingGuide.rst
Log Message:
-----------
[llvm] Proofread TestingGuide.rst (#152089)
Co-authored-by: James Henderson <James.Henderson at sony.com>
Commit: 1b651bf2b7a689dd418bf5244ade1d5d21f02b90
https://github.com/llvm/llvm-project/commit/1b651bf2b7a689dd418bf5244ade1d5d21f02b90
Author: Nico Weber <thakis at chromium.org>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn
Log Message:
-----------
[gn] port fa39b67de01af (LLDB_ENABLE_PYTHON_LIMITED_API)
Commit: ed294c28aca6f1371df3de42131f7b41e2be151b
https://github.com/llvm/llvm-project/commit/ed294c28aca6f1371df3de42131f7b41e2be151b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
A lldb/include/lldb/Protocol/MCP/Protocol.h
M lldb/source/CMakeLists.txt
M lldb/source/Plugins/Protocol/MCP/CMakeLists.txt
M lldb/source/Plugins/Protocol/MCP/MCPError.cpp
M lldb/source/Plugins/Protocol/MCP/MCPError.h
R lldb/source/Plugins/Protocol/MCP/Protocol.cpp
R lldb/source/Plugins/Protocol/MCP/Protocol.h
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.cpp
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.h
M lldb/source/Plugins/Protocol/MCP/Resource.cpp
M lldb/source/Plugins/Protocol/MCP/Resource.h
M lldb/source/Plugins/Protocol/MCP/Tool.cpp
M lldb/source/Plugins/Protocol/MCP/Tool.h
A lldb/source/Protocol/CMakeLists.txt
A lldb/source/Protocol/MCP/CMakeLists.txt
A lldb/source/Protocol/MCP/Protocol.cpp
M lldb/unittests/CMakeLists.txt
M lldb/unittests/Protocol/CMakeLists.txt
R lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
M lldb/unittests/Protocol/ProtocolMCPTest.cpp
A lldb/unittests/ProtocolServer/CMakeLists.txt
A lldb/unittests/ProtocolServer/ProtocolMCPServerTest.cpp
Log Message:
-----------
[lldb] Move MCP protocol into its own library (NFC) (#152059)
This PR moves the MCP protocol code into its own library
(`lldbProtocolMCP`) so the code can be shared between the
`ProtocolServerMCP` plugin in LLDB as well as `lldb-mcp`. The goal is to
do the same thing for DAP (which, for now, would be used exclusively
from `lldb-dap`).
To make it clear that it's neither part of the `lldb` nor the
`lldb_private` namespace, I created a new `lldb_protocol` namespace.
Depending on how much code would be reused by lldb-dap, we may move more
code into the protocol library.
Commit: f45f4ae7834e2be54cc5d2f51c413d4259ec682e
https://github.com/llvm/llvm-project/commit/f45f4ae7834e2be54cc5d2f51c413d4259ec682e
Author: Majid Dadashi <5490974+majiddadashi at users.noreply.github.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/lib/Transforms/Utils/FoldUtils.cpp
M mlir/test/Transforms/canonicalize-debuginfo.mlir
Log Message:
-----------
Avoid unnecessary erasing of constant Locs (#151573)
Do not erase location info when moving an op within the same block.
Since #75415 , the FoldUtils.cpp erases the location information when
moving an operation. This was being done even when an operation was
moved to the front of a block it was already in.
In TFLite, this location information is used to provide meaningful names
for tensors, which aids in debugging and mapping compiled tensors back
to their original layers. The aggressive erasure of location info caused
many tensors in TFLite models to receive generic names (e.g.,
tfl.pseudo_qconst), making the models harder to inspect.
This change modifies the logic to preserve the location of an operation
when it is moved within the same block. The location is now only erased
when the operation is moved from a different block entirely. This
ensures that most tensor names are preserved, improving the debugging
experience for TFLite models.
Commit: e3467d8dead7b9c2b9b5012b8c0150fe2e93dee9
https://github.com/llvm/llvm-project/commit/e3467d8dead7b9c2b9b5012b8c0150fe2e93dee9
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
M mlir/test/Dialect/NVGPU/invalid.mlir
Log Message:
-----------
[mlir][nvgpu] Fix tma descriptor check (#152160)
The tma descriptor check does not appear to be correct, as it requires
the last dimension of memref to be 128 bytes. However, the bytes of the
last dimension can be equal to swizzle bytes.
Commit: 5dfc2d4535b6eb831a5baf8265962ee453c34900
https://github.com/llvm/llvm-project/commit/5dfc2d4535b6eb831a5baf8265962ee453c34900
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_test1_no_explicit_vect_width.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
M llvm/test/Transforms/LoopVectorize/X86/outer_loop_test1_no_explicit_vect_width.ll
M llvm/test/Transforms/LoopVectorize/assume.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
Log Message:
-----------
[LV] Regen some tests with UTC (#152128)
Commit: 913c5b4d1fffa00585edb6ba4f0915f29afa90cc
https://github.com/llvm/llvm-project/commit/913c5b4d1fffa00585edb6ba4f0915f29afa90cc
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/tools/driver/cc1as_main.cpp
Log Message:
-----------
clang -cc1as: Remove a redundant initSections call
`Parser->Run(Opts.NoInitialTextSection)` calls initSections. Remove a
redundant initSections to remove an extra FT_Align fragment, observed
when investigating a missing MCOrgFragment relaxation issue
https://github.com/ClangBuiltLinux/linux/issues/2116
Commit: d7074b63ed2022e27d3d9c884f0a4922b453b1f7
https://github.com/llvm/llvm-project/commit/d7074b63ed2022e27d3d9c884f0a4922b453b1f7
Author: zGoldthorpe <zgoldtho at ualberta.ca>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGen/link-builtin-bitcode.c
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/amdgpu-readonly-features-written-with-no-target.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-add.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-max.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-add-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-add-target-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-fmin-fmax-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-fmin-fmax-target-err.cl
M llvm/lib/TargetParser/TargetParser.cpp
Log Message:
-----------
[Clang][AMDGPU] Add builtins for some buffer resource atomics (#149216)
This patch exposes builtins for atomic `add`, `max`, and `min` operations that
operate over buffer resource pointers.
Commit: 3b2a1a5d9bb071bf210a2b070ee931b1d8e29b9e
https://github.com/llvm/llvm-project/commit/3b2a1a5d9bb071bf210a2b070ee931b1d8e29b9e
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
R clang/test/CodeGenHLSL/buffer-array-operator.hlsl
R clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
R clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
R clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
R clang/test/CodeGenHLSL/cbuffer.hlsl
R clang/test/CodeGenHLSL/cbuffer_align.hlsl
R clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
R clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
R clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
R clang/test/CodeGenHLSL/default_cbuffer.hlsl
R clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
R clang/test/CodeGenHLSL/resource-bindings.hlsl
A clang/test/CodeGenHLSL/resources/AppendStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/ByteAddressBuffers-constructors.hlsl
A clang/test/CodeGenHLSL/resources/ConsumeStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-constructor-opt.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-constructor.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-subscript.hlsl
A clang/test/CodeGenHLSL/resources/RWStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/RasterizerOrderedStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-constructors.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-lib.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-ps.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-subscripts.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_align.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_and_namespaces.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_with_packoffset.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_with_static_global_and_function.hlsl
A clang/test/CodeGenHLSL/resources/default_cbuffer.hlsl
A clang/test/CodeGenHLSL/resources/default_cbuffer_with_layout.hlsl
A clang/test/CodeGenHLSL/resources/resource-bindings.hlsl
Log Message:
-----------
[HLSL][NFC] Move all resource tests under CodeGenHLSL\resources (#152035)
Also removes an outdated test buffer-array-operator.hlsl. Array operator on resources is tested in StructuredBuffers-subscripts.hlsl and RWBuffer-subscript.hlsl.
Commit: 406f61fd3a28b9628f50cf009c6e65562f93a2cc
https://github.com/llvm/llvm-project/commit/406f61fd3a28b9628f50cf009c6e65562f93a2cc
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Core/Mangled.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/unittests/Core/MangledTest.cpp
Log Message:
-----------
[lldb][CPlusPlusLanguage] Create public accessors for getting DemangledNameInfo components and use them in tests (#152134)
This way we make sure that the logic to reconstruct demangled names in
the tests is the same as the logic when reconstructing the actual
frame-format variable.
`DemangledNameInfo::SuffixRange` is currently the only one which we
can't test in the same way until we set it from inside the
`TrackingOutputBuffer`. I added TODOs to track this.
Commit: 4a13f0912a166cc80d732d54a130f8c7933dc264
https://github.com/llvm/llvm-project/commit/4a13f0912a166cc80d732d54a130f8c7933dc264
Author: gulfemsavrun <gulfem at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/test/sanitizer_common/CMakeLists.txt
Log Message:
-----------
Revert "[compiler-rt][test] Apply CFLAGS from sanitizer_common to all tests" (#152177)
Reverts llvm/llvm-project#120798 because it caused an AddressSanitizer
test breakage in global-overflow-bfd.cpp:
https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-linux-x64/b8707434189452310849/overview
Commit: 8a2d3f5653eb8b97049e06a98459a61db397c01c
https://github.com/llvm/llvm-project/commit/8a2d3f5653eb8b97049e06a98459a61db397c01c
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
M llvm/include/llvm/Frontend/HLSL/RootSignatureValidations.h
M llvm/lib/Frontend/HLSL/RootSignatureValidations.cpp
M llvm/unittests/Frontend/CMakeLists.txt
R llvm/unittests/Frontend/HLSLRootSignatureRangesTest.cpp
Log Message:
-----------
[HLSL][Sema] Use hlsl::BindingInfoBuilder instead of RangeInfo. NFC (#150634)
Clean up some duplicated logic. We had two ways to do the same thing
here, and BindingInfoBuilder is more flexible.
Commit: f03345a07af808975caab2fcab24adf98857ffa0
https://github.com/llvm/llvm-project/commit/f03345a07af808975caab2fcab24adf98857ffa0
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/assume.ll
Log Message:
-----------
[LV] Improve a test; get rid of runtime checks (#152182)
Commit: b5bf1000465c69d647c0eb0f0dc40d03dde17aea
https://github.com/llvm/llvm-project/commit/b5bf1000465c69d647c0eb0f0dc40d03dde17aea
Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/include/dlfcn.yaml
Log Message:
-----------
[libc] Add RTLD_NEXT + RTLD_DEFAULT (#149909)
Related to #97920, this patch adds `dlsym` macros `RTLD_NEXT` AND
`RTLD_DEFAULT` to dlfcn.h.
Commit: 9179b079812319010ab09718926ee73ca26ecc78
https://github.com/llvm/llvm-project/commit/9179b079812319010ab09718926ee73ca26ecc78
Author: Walter Erquinigo <a20012251 at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Log Message:
-----------
[LLDB] Complete a missing register format mapping in the gdb-remote p… (#152170)
…rotocol
When writing a custom gdb-remote server I realized that the encoder and
decoder of register formats is incomplete.
- Add the encoder on the server side and add an llvm_unreachable is
there's a missing case.
- Add a decoder on the client side that doesn't fail. We have to keep it
flexible.
I couldn't figure out an easy way to test this but the changes seem very
straightforward to me.
Commit: 4882874ddc1017f2f1b9b11fb67065440b101701
https://github.com/llvm/llvm-project/commit/4882874ddc1017f2f1b9b11fb67065440b101701
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[vscode-lldb] Fix `yarn package` (#152002)
# Problem
`yarn package` cannot be run twice in a row - the second time will error
out:
> Error: ENOENT: no such file or directory, stat
'<path>/llvm-project/lldb/tools/lldb-dap/out/lldb-dap.vsix'
This error is also weird, because the file actually exists. See the end
of this [full
output](https://gist.github.com/royitaqi/f3f4838ed30d7ade846f53f0fb7d68f4).
# Fix
Delete the `lldb-dap.vsix` file at the start of each run. See
consecutive runs [being
successful](https://gist.github.com/royitaqi/9609181b4fe6a8a4e71880c36cd0c7c9).
Commit: bb3c060ca41455bc48e48ec51a66910c164b4345
https://github.com/llvm/llvm-project/commit/bb3c060ca41455bc48e48ec51a66910c164b4345
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++] Fix incorrect down-cast in __tree (#152181)
Commit: 12da87bef12d9545775a5c375cfc22904ca4602d
https://github.com/llvm/llvm-project/commit/12da87bef12d9545775a5c375cfc22904ca4602d
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
Log Message:
-----------
[lldb] Use Python Bytes instead of Buffer for Binary I/O (NFC) (#152031)
Binary I/O (also called buffered I/O) expects bytes-like objects and
produces bytes objects [1]. Switch from using a Python buffer to using
Python bytes to read the data. This eliminates calls to functions that
aren't part of the Python stable C API.
[1] https://docs.python.org/3/library/io.html#binary-i-o
Commit: 40fbc76dc8e81ede437b581a652ce6e5850cbc7b
https://github.com/llvm/llvm-project/commit/40fbc76dc8e81ede437b581a652ce6e5850cbc7b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
Log Message:
-----------
[lldb] Fix the build
This patch fixes:
lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp:623:47:
error: expected ';' after expression
Commit: 87a7a9caaf88d3944395cd45b2465377b30822a3
https://github.com/llvm/llvm-project/commit/87a7a9caaf88d3944395cd45b2465377b30822a3
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn
Log Message:
-----------
[gn build] Port 8a2d3f5653eb
Commit: e3ededa0f136764f42d94c60bfd762a275689b8c
https://github.com/llvm/llvm-project/commit/e3ededa0f136764f42d94c60bfd762a275689b8c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
Log Message:
-----------
[LV] Add tests with canonical widen IV, reductions in different order.
Add missing test coverage for re-using the resume value from the main
vector loop for the canonical IV in the epilogue.
Commit: 47258ca47085ec6be3347690c7dab2b73de0c3a1
https://github.com/llvm/llvm-project/commit/47258ca47085ec6be3347690c7dab2b73de0c3a1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Use VPPhi instead of dyn_cast + opcode check in isPhi (NFC).
Commit: 448c88478dc3148eb69c9b0025746d243ae19a0f
https://github.com/llvm/llvm-project/commit/448c88478dc3148eb69c9b0025746d243ae19a0f
Author: Leandro Lacerda <leandrolcampos at yahoo.com.br>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/config/gpu/amdgpu/entrypoints.txt
Log Message:
-----------
[libc] Enable the `acoshf` math function on AMD GPUs (#152157)
This patch adds the `acoshf` math function to the AMDGPU build.
Commit: cd0268063d47fb7e5331300db7c21d7302531e33
https://github.com/llvm/llvm-project/commit/cd0268063d47fb7e5331300db7c21d7302531e33
Author: Leandro Lacerda <leandrolcampos at yahoo.com.br>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M offload/unittests/CMakeLists.txt
M offload/unittests/Conformance/device_code/CMakeLists.txt
A offload/unittests/Conformance/device_code/Common.hpp
M offload/unittests/Conformance/device_code/LLVMLibm.cpp
A offload/unittests/Conformance/tests/AcosfTest.cpp
A offload/unittests/Conformance/tests/AcoshfTest.cpp
A offload/unittests/Conformance/tests/AsinfTest.cpp
A offload/unittests/Conformance/tests/AsinhfTest.cpp
A offload/unittests/Conformance/tests/AtanfTest.cpp
A offload/unittests/Conformance/tests/AtanhfTest.cpp
M offload/unittests/Conformance/tests/CMakeLists.txt
A offload/unittests/Conformance/tests/CbrtfTest.cpp
A offload/unittests/Conformance/tests/CosfTest.cpp
A offload/unittests/Conformance/tests/CoshfTest.cpp
A offload/unittests/Conformance/tests/CospifTest.cpp
A offload/unittests/Conformance/tests/ErffTest.cpp
A offload/unittests/Conformance/tests/Exp10fTest.cpp
A offload/unittests/Conformance/tests/Exp2fTest.cpp
A offload/unittests/Conformance/tests/ExpfTest.cpp
A offload/unittests/Conformance/tests/Expm1fTest.cpp
M offload/unittests/Conformance/tests/Hypotf16Test.cpp
A offload/unittests/Conformance/tests/Log10fTest.cpp
A offload/unittests/Conformance/tests/Log1pfTest.cpp
A offload/unittests/Conformance/tests/Log2fTest.cpp
A offload/unittests/Conformance/tests/SincosfTest.cpp
A offload/unittests/Conformance/tests/SinfTest.cpp
A offload/unittests/Conformance/tests/SinhfTest.cpp
A offload/unittests/Conformance/tests/SinpifTest.cpp
A offload/unittests/Conformance/tests/TanfTest.cpp
A offload/unittests/Conformance/tests/TanhfTest.cpp
A offload/unittests/Conformance/tests/TanpifTest.cpp
Log Message:
-----------
[Offload][Conformance] Add tests for single-precision math functions (#152013)
This patch adds a new set of conformance tests for single-precision math
functions provided by the LLVM libm for GPUs.
The functions included in this set were selected based on the following
criteria:
- An implementation exists in `libc/src/math/generic` (i.e., it is not
just a wrapper around a compiler built-in).
- The corresponding LLVM CPU libm implementation is correctly rounded.
- The function is listed in Table 65 of the OpenCL C Specification
v3.0.19.
Commit: f355a57728c28f1df35cb0bc5bacefc5d7f89bd1
https://github.com/llvm/llvm-project/commit/f355a57728c28f1df35cb0bc5bacefc5d7f89bd1
Author: Martin Storsjö <martin at martin.st>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libcxx/include/__exception/exception.h
Log Message:
-----------
[libcxx] Initialize vcruntime __std_exception_data in the exception copy ctor (#144329)
This fixes failures in a number of tests, in the
clang-cl-no-vcruntime configuration (where libcxx provides dummy, no-op
replacements of some vcruntime base exception classes), if building with
optimization enabled.
Previously, with optimization enabled, the compiler concluded that these
fields would be uninitialized at the points of asserts in the tests.
This fixes the following tests in this configuration:
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.dynamic/alloc.errors/bad.alloc/bad_alloc.pass.cpp
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_new_length.pass.cpp
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.exception/bad.exception/bad_exception.pass.cpp
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.exception/exception/exception.pass.cpp
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.rtti/bad.cast/bad_cast.pass.cpp
llvm-libc++-shared-no-vcruntime-clangcl.cfg.in ::
std/language.support/support.rtti/bad.typeid/bad_typeid.pass.cpp
Commit: c19314f070e2479dc0116d9c86a8afc37e4ab036
https://github.com/llvm/llvm-project/commit/c19314f070e2479dc0116d9c86a8afc37e4ab036
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Port fa39b67de01af189b59f9034ef6228a2951364b0 (#152191)
Commit: f8a4f61101bbed236adfeca58e59cac4b95afe15
https://github.com/llvm/llvm-project/commit/f8a4f61101bbed236adfeca58e59cac4b95afe15
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Target/Platform.cpp
M lldb/unittests/Platform/PlatformTest.cpp
Log Message:
-----------
[lldb] Avoid a crash after selecting an unknown platform (#151803)
`PlatformList::Create()` added an item to the list even when
`Platform::Create()` returned `nullptr`. Other methods use these items
without checking, which can lead to a crash. For example:
```
> lldb
(lldb) platform select unknown
error: unable to find a plug-in for the platform named "unknown"
(lldb) file a.out-arm64
PLEASE submit a bug report to...
Stack dump:
0. Program arguments: lldb
1. HandleCommand(command = "file a.out-arm64 ")
...
```
Commit: c1add93e45ecf4e5bbc50a933bbb451f0b9596eb
https://github.com/llvm/llvm-project/commit/c1add93e45ecf4e5bbc50a933bbb451f0b9596eb
Author: moscickimilosz <Milosz.Moscicki at imgtec.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td
Log Message:
-----------
[mlir][spirv] Change Spirv.GlobalVariableOp builtin -> built_in (#152148)
GlobalVariableOp describes that built_in specifies SPIR-V BuiltIn
decoration associated with the op. The attribute was defined as builtin
in the tablegen (no uderscore). This was causing correct
GlobalVariableOp decorations like: built_in("GlobalInvocationId") to be
saved as a new attribute making it impossible to access the built_in
attribute through getBuiltinAttr.
Commit: d478502a420c75ca6c52205a58e465998a249826
https://github.com/llvm/llvm-project/commit/d478502a420c75ca6c52205a58e465998a249826
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
Log Message:
-----------
[VPlan] Ensure that IV resume phi for epilogue is always first. (NFCI)
Update handling of canonical IV resume phi for the epilogue loop to make
sure the resume phi for the canonical IV is always the first phi in the
scalar preheader.
This makes it easier to retrieve it in preparePlanForEpilogueVectorLoop.
For now, we keep an assert to make sure we use the same resume phi as
before. This will be removed in the future.
Commit: 97dee3244535b4bc6cfb65a1dfa8f3ae93bd5752
https://github.com/llvm/llvm-project/commit/97dee3244535b4bc6cfb65a1dfa8f3ae93bd5752
Author: Jeremy Kun <jkun at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
M mlir/unittests/Analysis/Presburger/IntegerRelationTest.cpp
Log Message:
-----------
[MLIR][Presburger] add iterVarKind for convenient iterating over variables (#152091)
I find myself doing this alot
```
for (unsigned varIndex = rel.getVarKindOffset(VarKind::Domain);
varIndex < rel.getVarKindEnd(VarKind::Domain); ++varIndex) {
...
}
```
Adding this convenience method so I can instead do
```
for (unsigned varIndex : rel.iterVarKind(VarKind::Domain)) {
...
}
```
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: da6424c9e307cd324f37745b525d3884b5077707
https://github.com/llvm/llvm-project/commit/da6424c9e307cd324f37745b525d3884b5077707
Author: Jann <jannh at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/test/CodeGen/AArch64/xray-custom-log.ll
M llvm/test/CodeGen/X86/xray-custom-log.ll
A llvm/test/DebugInfo/X86/dwarf-callsite-related-attrs-indirect.ll
M llvm/test/DebugInfo/X86/dwarf-callsite-related-attrs.ll
Log Message:
-----------
[DebugInfo][DWARF] Don't emit bogus DW_AT_call_target for complex calls (#151378)
On X86-64, LLVM currently generates the same DWARF debug info for `call
rax` and `call [rax]`; in both cases, the generated DWARF claims that
the call goes to address RAX. This bug occurs because the X86 machine
instructions CALL64r and CALL64m both receive register operands, but
those register operands have different semantics.
To fix it, change DwarfDebug::constructCallSiteEntryDIEs() to validate
the callee operand's semantics (`OperandType`) and make sure it is not
semantically describing a memory location.
This fix will result in less DW_TAG_call_site and DW_AT_call_target
entries being generated.
There is an existing test in dwarf-callsite-related-attrs.ll that
asserts the broken behavior; remove the broken check, and instead add a
new test dwarf-callsite-related-attrs-indirect.ll that checks behavior
for indirect calls.
The existing test xray-custom-log.ll is validating something even more
broken: It checks the debug info generated by a PATCHABLE_EVENT_CALL.
`TII->getCalleeOperand()` assumes that the first argument of a call
instruction is always the destination, but the first argument of
PATCHABLE_EVENT_CALL is instead the event structure; and so we were
emitting debug info claiming the callee was stored in a register that
actually contains some kind of xray event descriptor, and the test
validates that this happens.
I am breaking and deleting this test.
I guess the intent there might have been to validate that we emit
debuginfo referencing the target of the direct call that LLVM emits
(which we don't do)? But I'm not sure.
Commit: cfd1ee781f116de891cd802b277b67a698acad60
https://github.com/llvm/llvm-project/commit/cfd1ee781f116de891cd802b277b67a698acad60
Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/include/dlfcn.yaml
M libc/src/dlfcn/CMakeLists.txt
A libc/src/dlfcn/dlinfo.cpp
A libc/src/dlfcn/dlinfo.h
Log Message:
-----------
[libc] Add dlinfo + RTLD_DI_* macros to dlfcn.h (#149938)
An initial commit for #149911, this adds a stub implementation for
dlinfo and the enums list of `RTLD_DI_*` values.
While the dlinfo implementation relies on dynamic linker support, this
patch will add its prototype in the generated dlfcn.h header so that it
can be used by downstream platforms that have their own dlinfo
implementation.
Commit: aec90f2f27317dbb075a5a816e11b4892f035680
https://github.com/llvm/llvm-project/commit/aec90f2f27317dbb075a5a816e11b4892f035680
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/io-stmt.h
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/lib/runtime/namelist.cpp
Log Message:
-----------
[flang][runtime] Fix child input bugs under NAMELIST (#151571)
When NAMELIST input takes place on a derived type, we need to preserve
the type in the descriptor that is created for storage sequence
association. Further, the fact that any child list input in within the
context of a NAMELIST must be inherited so that input fields don't try
to consume later "variable=" strings.
Fixes https://github.com/llvm/llvm-project/issues/151222.
Commit: effa35d240f34bcd07f0653b6fbdd999a5dbf02e
https://github.com/llvm/llvm-project/commit/effa35d240f34bcd07f0653b6fbdd999a5dbf02e
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/unittests/Runtime/NumericalFormatTest.cpp
M flang/docs/Extensions.md
Log Message:
-----------
[flang][runtime] Don't always accept a bare exponent letter (#151597)
For more accurate compatibility with other compilers' extensions, accept
a bare exponent letter as valid real input to a formatted READ statement
only in a fixed-width input field. So it works with (G1.0) editing, but
not (G)/(D)/(E)/(F) or list-directed input.
Fixes https://github.com/llvm/llvm-project/issues/151465.
Commit: 56051daaf0584ed797940fda74a4cfdc2b3586c0
https://github.com/llvm/llvm-project/commit/56051daaf0584ed797940fda74a4cfdc2b3586c0
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/unittests/Runtime/CMakeLists.txt
A flang-rt/unittests/Runtime/Descriptor.cpp
Log Message:
-----------
[flang][runtime] Optimize Descriptor::FixedStride() (#151755)
Put the common cases on fast paths, and don't depend on IsContiguous()
in the general case path. Add a unit test, too.
Commit: fc9a08078017c8a1ad812d01ed9a7d2066b31e07
https://github.com/llvm/llvm-project/commit/fc9a08078017c8a1ad812d01ed9a7d2066b31e07
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang-rt/lib/runtime/namelist.cpp
Log Message:
-----------
[flang][runtime] Handle empty NAMELIST value list (#151770)
InputNamelist() returns early if any value list read in by
InputDerivedType() or DescriptorIo<Input>() is empty, since they return
false. But an empty value list is okay, and the early return should
occur only on error.
Fixes https://github.com/llvm/llvm-project/issues/151756.
Commit: 867602742cf392849b5f1cfc9038ad679333fd59
https://github.com/llvm/llvm-project/commit/867602742cf392849b5f1cfc9038ad679333fd59
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/lib/Parser/parsing.cpp
Log Message:
-----------
[flang] Minor speed-up to module file parsing (#152178)
Module files shouldn't ever produce parsing errors, and if they did in
the case of a badly-generated module file, the compiler will notice and
crash. So we can run the parser on module files with message deferral
enabled, and that saves time that would otherwise be spent generating
messages on failed parsing alternatives that are discarded anyway when
backtracking. It's not a big savings (single digit percentage on overall
compilation time for a big application with lots of modules), but worth
doing.
Commit: dbaa82b384a7c7a57a3d9a93c2c968af422e6aa9
https://github.com/llvm/llvm-project/commit/dbaa82b384a7c7a57a3d9a93c2c968af422e6aa9
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
A lldb/include/lldb/Protocol/MCP/MCPError.h
A lldb/include/lldb/Protocol/MCP/Resource.h
A lldb/include/lldb/Protocol/MCP/Tool.h
M lldb/source/Plugins/Protocol/MCP/CMakeLists.txt
R lldb/source/Plugins/Protocol/MCP/MCPError.cpp
R lldb/source/Plugins/Protocol/MCP/MCPError.h
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.cpp
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.h
M lldb/source/Plugins/Protocol/MCP/Resource.cpp
M lldb/source/Plugins/Protocol/MCP/Resource.h
M lldb/source/Plugins/Protocol/MCP/Tool.cpp
M lldb/source/Plugins/Protocol/MCP/Tool.h
M lldb/source/Protocol/MCP/CMakeLists.txt
A lldb/source/Protocol/MCP/MCPError.cpp
A lldb/source/Protocol/MCP/Tool.cpp
M lldb/unittests/ProtocolServer/ProtocolMCPServerTest.cpp
Log Message:
-----------
[lldb] Move the generic MCP code into Protocol/MCP (NFC) (#152188)
This moves all the generic MCP code into the new ProtocolMCP library so
it can be shared between the MCP implementation in LLDB (built on the
private API) and lldb-mcp (built on the public API).
This PR doesn't include the actual MCP server. The reason is that the
transport mechanism will be different between the LLDB implementation
(using sockets) and the lldb-mcp implementation (using stdio). The goal
s to abstract away that difference by making the server use
JSONTransport (again) but I'm saving that for a separate PR.
Commit: d08c2977e86fc7220b3b9c5cb83616705c10046e
https://github.com/llvm/llvm-project/commit/d08c2977e86fc7220b3b9c5cb83616705c10046e
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
A llvm/test/MC/AMDGPU/gfx1250_asm_operands.s
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_operands.txt
Log Message:
-----------
[AMDGPU] Add MC support for new gfx1250 src_flat_scratch_base_lo/hi (#152203)
Commit: 06884d0204ecffc8f1164d520bab6117ae06baee
https://github.com/llvm/llvm-project/commit/06884d0204ecffc8f1164d520bab6117ae06baee
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/test/Dialect/XeGPU/subgroup-distribute.mlir
Log Message:
-----------
[mlir][xegpu] Bug fix in UpdateNdOffset distribution. (#150545)
Reason is UpdateNdOffset source operand not retaining the layouts when
it is yielded by the warp op. `warp_execute_on_lane0` op expects that
TensorDesc type is unchanged during distribution out of its region. we
use UnrealizedCasts to reconcile this mismatch outside the warpOp (via
`resolveDistributedTy`)
Commit: 81ed75679dcfb0b60764db1c8e0a91065a26a742
https://github.com/llvm/llvm-project/commit/81ed75679dcfb0b60764db1c8e0a91065a26a742
Author: keinflue <keinflue at posteo.de>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-cxx2a.cpp
Log Message:
-----------
[clang] Fix constant evaluation of member pointer access into sibling class. (#150829)
HandleMemberPointerAccess considered whether the lvalue path in a member
pointer access matched the bases of the containing class of the member,
but neglected to check the same for the containing class of the member
itself, thereby ignoring access attempts to members in direct sibling
classes.
Fixes #150705.
Fixes #150709.
Commit: 07da480614cd7ce3f105a153626a23f6888e503f
https://github.com/llvm/llvm-project/commit/07da480614cd7ce3f105a153626a23f6888e503f
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/.gitattributes
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/test/CodeGen/Generic/allow-check.ll
Log Message:
-----------
[win][arm64ec] More fixes for building and testing Arm64EC Windows (#151409)
* `tools/llvm-objcopy/MachO/update-section-object.test` was failing on
Windows since the input file (`macho_sections.s`) might be checked out
with the wrong line ending, resulting in difference in the size of
sections being checked.
* Removed the check for Windows in `AArch64Arm64ECCallLowering`: when
`llc` is run without an explicit target, the module's target triple is
unknown so this assert fires.
* Expect `llvm/test/CodeGen/Generic/allow-check.ll` to fail for Arm64EC:
Global ISel is not supported.
Commit: 5a076e3b4d5ec26d8944bff129c1cae67a44b3ef
https://github.com/llvm/llvm-project/commit/5a076e3b4d5ec26d8944bff129c1cae67a44b3ef
Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/include/dlfcn.yaml
A libc/include/llvm-libc-types/Dl_info.h
M libc/src/dlfcn/CMakeLists.txt
A libc/src/dlfcn/dladdr.cpp
A libc/src/dlfcn/dladdr.h
Log Message:
-----------
[libc] Add dladdr to dlfcn.h (#149872)
A initial commit for #97929, this adds a stub implementation for
`dladdr` and includes the definition for the `DL_info` type used as one
of its arguments.
While the `dladdr` implementation relies on dynamic linker support, this
patch will add its prototype in the generated `dlfcn.h` header so that
it can be used by downstream platforms that have their own `dladdr`
implementation.
Commit: 34aed0ed5615583a8f1aaf9c036cc69fa88b3503
https://github.com/llvm/llvm-project/commit/34aed0ed5615583a8f1aaf9c036cc69fa88b3503
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 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/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
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
Log Message:
-----------
[AMDGPU] Add gfx1250 wmma_scale[16]_f32_32x16x128_f4 instructions (#152194)
Commit: 9c6bb180407a7db004624d13d9de108d7cebc73c
https://github.com/llvm/llvm-project/commit/9c6bb180407a7db004624d13d9de108d7cebc73c
Author: Jasmine Tang <jjasmine at igalia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstSimplify/ConstProp/WebAssembly/dot.ll
Log Message:
-----------
[WebAssembly] Constant fold wasm.dot (#149619)
Constant fold wasm.dot of constant vectors/splats.
Test case added in
`llvm/test/Transforms/InstSimplify/ConstProp/WebAssembly/dot.ll`
Related to https://github.com/llvm/llvm-project/issues/55933
Commit: 3bc1b15235c86f08afec9d7a43e7ae431ee18926
https://github.com/llvm/llvm-project/commit/3bc1b15235c86f08afec9d7a43e7ae431ee18926
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M offload/DeviceRTL/include/Allocator.h
Log Message:
-----------
[OpenMP] Fix weak linkage on malloc declaration
Summary:
This being weak forces the external reference to be weak. Either we
define it weak or not by pulling it from `libc`. Doing it here causes it
to not be extracted properly.
Commit: 64eba6ef9610a4a82e1610ecd806b8488144bad0
https://github.com/llvm/llvm-project/commit/64eba6ef9610a4a82e1610ecd806b8488144bad0
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/unittests/Instruction/ARM64/TestAArch64Emulator.cpp
Log Message:
-----------
[lldb] Fix auto advance PC in `EmulateInstructionARM64` if PC >= 4G (#151460)
The `EmulateInstructionARM64::EvaluateInstruction()` method used
`uint32_t` to store the PC value, causing addresses greater than 2^32 to
be truncated.
As for now, the issue does not affect the mainline because the method is
never called with both `eEmulateInstructionOptionAutoAdvancePC` and
`eEmulateInstructionOptionIgnoreConditions` options set. However, it can
trigger on a downstream that uses software stepping.
Commit: 73685583c859deae7b30bb01692670fd7356c7db
https://github.com/llvm/llvm-project/commit/73685583c859deae7b30bb01692670fd7356c7db
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/IR/IntrinsicInst.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vploadff.ll
A llvm/test/CodeGen/RISCV/rvv/vploadff.ll
M llvm/unittests/IR/VPIntrinsicTest.cpp
Log Message:
-----------
[VP][RISCV] Add a vp.load.ff intrinsic for fault only first load. (#128593)
There's been some interest in supporting early-exit loops recently.
https://discourse.llvm.org/t/rfc-supporting-more-early-exit-loops/84690
This patch was extracted from our downstream where we've been using it
in our vectorizer.
Commit: 600976f4bfb06526c283dcc4efc4801792f08ca5
https://github.com/llvm/llvm-project/commit/600976f4bfb06526c283dcc4efc4801792f08ca5
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/unittests/Instruction/ARM64/TestAArch64Emulator.cpp
Log Message:
-----------
Revert "[lldb] Fix auto advance PC in `EmulateInstructionARM64` if PC >= 4G (#151460)"
This reverts commit 64eba6ef9610a4a82e1610ecd806b8488144bad0.
It breaks on lldb-arm-ubuntu
Commit: 4c2d56318fec16d1d5241cd91d38b59cb65bce83
https://github.com/llvm/llvm-project/commit/4c2d56318fec16d1d5241cd91d38b59cb65bce83
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
Log Message:
-----------
[lldb] Drop PY_MINOR_VERSION >= 3 check (NFC)
The minimum supported Python version is now 3.8, so there's no supported
configuration where the minor version is less than 3.
Commit: b8eb61adc92bb384bc63f01b7ccddd931409b223
https://github.com/llvm/llvm-project/commit/b8eb61adc92bb384bc63f01b7ccddd931409b223
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
A llvm/test/CodeGen/AMDGPU/addrspacecast-gas.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/scale-offset-flat.ll
Log Message:
-----------
[AMDGPU] Implement addrspacecast from flat <-> private on gfx1250 (#152218)
Commit: 435b8b51dc7e236d3940efe4b94104338dbac0e8
https://github.com/llvm/llvm-project/commit/435b8b51dc7e236d3940efe4b94104338dbac0e8
Author: Thurston Dang <thurston at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
Log Message:
-----------
[sanitizer] Don't TestPTrace() if SPARC; don't give up if internal_fork() fails (#152072)
Fixes corner cases of https://github.com/llvm/llvm-project/pull/151406:
- Don't run TestPTrace() on SPARC, because internal_fork() on SPARC
actually calls __fork(). We can't safely __fork(), because it's possible
seccomp has been configured to disallow fork() but allow clone().
- if internal_fork() fails for whatever reason, we shouldn't give up. It
is strictly worse to give up early than to attempt StopTheWorld.
Also updates some comments/TODOs.
Commit: 315e1f59c8a5a0f64c78b93e43af94d62312c7e2
https://github.com/llvm/llvm-project/commit/315e1f59c8a5a0f64c78b93e43af94d62312c7e2
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/TableGen/TGParser.h
Log Message:
-----------
[NFC] Run clang-format on TGLexer and TGParser (#151509)
In https://github.com/llvm/llvm-project/pull/149248, clang-format
applied some formatting to lines untouched by that PR, because the
existing code is not clang-format compliant. Hence applying clang-format
on the entire files here.
Commit: 124722bfe5bf668def1563cfb5778d9aa1b5436d
https://github.com/llvm/llvm-project/commit/124722bfe5bf668def1563cfb5778d9aa1b5436d
Author: Adam Nemet <anemet at apple.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
Log Message:
-----------
Revert "[CG] Add VTs for v[567]i1 and v[567]f16" (#152217)
Reverts llvm/llvm-project#151763
It caused: https://github.com/llvm/llvm-project/issues/152150
Commit: d44754c344885c249f381ace54ab1947e2d0f9fc
https://github.com/llvm/llvm-project/commit/d44754c344885c249f381ace54ab1947e2d0f9fc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
ARM: Remove redundant or buggy config of __aeabi_d2h (#152126)
This was set if `TT.isTargetAEABI()`. This was previously set above
if `TM.isAAPCS_ABI() && (TT.isTargetAEABI() || TT.isTargetGNUAEABI() ||
TT.isTargetMuslAEABI() || TT.isAndroid())`.
So this could differ based on a manually specified -target-abi flag due
to the `isAAPCS_ABI` part of the original condition. I'm guessing
these should be consistent, so either this second group of
setLibcallImpl
calls should have been guarded by the `isAAPCS_ABI` check, or the first
condition should remove it.
There doesn't appear to be any meaningful test coverage using the
manually specified ABI option, so #152108 tries to remove it
Commit: 9e9bf7ac5bc8bf7c2b07dbc8a09d7cb494c70acb
https://github.com/llvm/llvm-project/commit/9e9bf7ac5bc8bf7c2b07dbc8a09d7cb494c70acb
Author: Amy Huang <akhuang at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/config/windows/README.md
Log Message:
-----------
Update the cmake options in libc windows build docs (#152205)
Add the LLVM_ENABLE_RUNTIMES option and remove some that are out of date
or already the default setting.
Commit: 7b9786b4a602839179e7436620956a5597ffc0a3
https://github.com/llvm/llvm-project/commit/7b9786b4a602839179e7436620956a5597ffc0a3
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/TableGen/TGLexer.cpp
Log Message:
-----------
[NFC][TableGen] Capitalize comments in TGLexer.cpp (#152224)
Commit: ab209cafdcd8759302f04205d2f09f4243149f0f
https://github.com/llvm/llvm-project/commit/ab209cafdcd8759302f04205d2f09f4243149f0f
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/docs/index.rst
Log Message:
-----------
Add link to CFI design doc to the documentation index.
Commit: de09c27f5e4192e8d5f1ba6661c40d6337409a4d
https://github.com/llvm/llvm-project/commit/de09c27f5e4192e8d5f1ba6661c40d6337409a4d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.td
Log Message:
-----------
ARM: Simplify logic for default libcall calling convention (#152166)
Commit: 726847829553079a13b1b7104f2c2db9dcda9c1d
https://github.com/llvm/llvm-project/commit/726847829553079a13b1b7104f2c2db9dcda9c1d
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/test/CodeGenCXX/dynamic-cast-exact-disabled.cpp
Log Message:
-----------
[clang][PAC] Fix PAC codegen for final class dynamic_cast optimization (#152227)
The codegen for the final class dynamic_cast optimization fails to
consider pointer authentication. This change resolves this be simply
disabling the optimization when pointer authentication enabled.
Commit: f67548390582292253e1321a55cdf2c37abe08a7
https://github.com/llvm/llvm-project/commit/f67548390582292253e1321a55cdf2c37abe08a7
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Utils/ProfileVerify.cpp
A llvm/test/Transforms/PGOProfile/profcheck-select.ll
Log Message:
-----------
[profcheck] Annotate `select` instructions (#152171)
For `select`, we don't have the equivalent of the branch probability analysis to offer defaults, so we make up our own and allow their overriding with flags.
Issue #147390
Commit: 813e477155dee55d69297acbeac135b86ee72751
https://github.com/llvm/llvm-project/commit/813e477155dee55d69297acbeac135b86ee72751
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/docs/HardwareAssistedAddressSanitizerDesign.rst
Log Message:
-----------
Mention MTE in the HWASan design doc.
Commit: fe0948c9a5d4ad0255c94306b16ac977c2e84ee0
https://github.com/llvm/llvm-project/commit/fe0948c9a5d4ad0255c94306b16ac977c2e84ee0
Author: Steven Perron <stevenperron at google.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/AST/HLSL/vk_binding_attr.hlsl
A clang/test/CodeGenHLSL/vk_binding_attr.hlsl
Log Message:
-----------
[HLSL][SPIRV] Add vk::binding attribute (#150957)
The vk::binding attribute allows users to explicitly set the set and
binding for a resource in SPIR-V without chaning the "register"
attribute, which will be used when targeting DXIL.
Fixes https://github.com/llvm/llvm-project/issues/136894
Commit: b05e26be8a487d21cf15d34ef60b39b3ca94f235
https://github.com/llvm/llvm-project/commit/b05e26be8a487d21cf15d34ef60b39b3ca94f235
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/fpowi.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fix-xvshuf.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insert-extract-element.ll
Log Message:
-----------
[LoongArch] Optimize extracting f32/f64 from 256-bit vector by using XVPICKVE. (#151914)
Commit: 8470027f257a3304b2abe50e5663bcd711f6ca29
https://github.com/llvm/llvm-project/commit/8470027f257a3304b2abe50e5663bcd711f6ca29
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-acc-structure.h
M flang/test/Semantics/OpenACC/acc-loop.f90
Log Message:
-----------
[flang][acc] Add a semantic check for the validity of nested parallelism (#152225)
This PR implements a semantic checker to ensure the legality of nested
OpenACC parallelism. The following are quotes from Spec 3.3. We need to
disallow loops from having parallelism at the same level as or at a
sub-level of child loops.
>**2.9.2 gang clause**
>[2064] <ins>When the parent compute construct is a parallel
construct</ins>, or on an orphaned loop construct, the gang clause
behaves as follows. (...) The associated dimension is the value of the
dim argument, if it appears, or is dimension one. The dim argument must
be a constant positive integer with value 1, 2, or 3.
>[2112] The region of a loop with a gang(dim:d) clause may not contain a
loop construct with a gang(dim:e) clause where e >= d unless it appears
within a nested compute region.
>[2074] <ins>When the parent compute construct is a kernels
construct</ins>, the gang clause behaves as follows. (...)
>[2148] The region of a loop with the gang clause may not contain
another loop with a gang clause unless within a nested compute region.
>**2.9.3 worker clause**
>[2122]/[2129] The region of a loop with the worker clause may not
contain a loop with the gang or worker clause unless within a nested
compute region.
>**2.9.4 vector clause**
>[2141]/[2148] The region of a loop with the vector clause may not
contain a loop with a gang, worker, or vector clause unless within a
nested compute region.
https://openacc.org/sites/default/files/inline-images/Specification/OpenACC-3.3-final.pdf
Commit: 342bf58f93a72a675183c18b42ae811c635dda37
https://github.com/llvm/llvm-project/commit/342bf58f93a72a675183c18b42ae811c635dda37
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/AArch64/stacksmash-arm64ec.ll
Log Message:
-----------
RuntimeLibcalls: Add entries for __security_check_cookie (#151843)
Avoids hardcoding string name based on target, and gets
the entry in the centralized list of emitted calls.
Commit: a15b629527a975ec592c95d69d04ef3537915d1d
https://github.com/llvm/llvm-project/commit/a15b629527a975ec592c95d69d04ef3537915d1d
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/cmake/modules/LLVMProcessSources.cmake
M llvm/include/llvm/Support/DebugLog.h
Log Message:
-----------
Revert "Strip the full path from __FILE__ in the LDBG macro and keep only the filename (#150677)"
This reverts commit 5d26e3c227f4b4a1761a8b0001b3165198def479.
It breaks the modules build of clang, since every source file has a different
version of this macro, which causes
https://green.lab.llvm.org/job/clang-stage2-Rthinlto/ to run out of space. We
should probably be using __FILE_NAME__ instead when the host compiler supports
it, but until then let's revert-to-green, and un-block the bots.
see: https://github.com/llvm/llvm-project/pull/150677
see: https://github.com/llvm/llvm-project/pull/150677#issuecomment-3156779021
rdar://157465825
Commit: af16fc2e2a50c1cbac49726ea70739ad6e193729
https://github.com/llvm/llvm-project/commit/af16fc2e2a50c1cbac49726ea70739ad6e193729
Author: Wenju He <wenju.he at intel.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
A libclc/clc/include/clc/mem_fence/clc_mem_fence.h
A libclc/clc/include/clc/synchronization/clc_work_group_barrier.h
M libclc/clc/lib/amdgcn/SOURCES
A libclc/clc/lib/amdgcn/mem_fence/clc_mem_fence.cl
A libclc/clc/lib/amdgcn/synchronization/clc_work_group_barrier.cl
M libclc/clc/lib/ptx-nvidiacl/SOURCES
A libclc/clc/lib/ptx-nvidiacl/mem_fence/clc_mem_fence.cl
A libclc/clc/lib/ptx-nvidiacl/synchronization/clc_work_group_barrier.cl
M libclc/opencl/include/clc/opencl/synchronization/cl_mem_fence_flags.h
A libclc/opencl/include/clc/opencl/synchronization/utils.h
M libclc/opencl/lib/amdgcn/mem_fence/fence.cl
M libclc/opencl/lib/amdgcn/synchronization/barrier.cl
M libclc/opencl/lib/ptx-nvidiacl/mem_fence/fence.cl
M libclc/opencl/lib/ptx-nvidiacl/synchronization/barrier.cl
Log Message:
-----------
[libclc] Move mem_fence and barrier to clc library (#151446)
__clc_mem_fence and __clc_work_group_barrier function have two
parameters memory_scope and memory_order. The design allows the clc
functions to implement SPIR-V ControlBarrier and MemoryBarrier
functions in the future.
The default memory ordering in clc is set to __ATOMIC_SEQ_CST, which is
also the default and strongest ordering in OpenCL and C++.
OpenCL cl_mem_fence_flags parameter is converted to combination of
__MEMORY_SCOPE_DEVICE and __MEMORY_SCOPE_WRKGRP, which is passed to clc.
llvm-diff shows no change to nvptx64--nvidiacl.bc.
llvm-diff show a small change to amdgcn--amdhsa.bc and the number of
LLVM IR instruction is reduced by 1: https://alive2.llvm.org/ce/z/_Uhqvt
Commit: ee6afeb72ef2cee918c1338c926c481ad36aa915
https://github.com/llvm/llvm-project/commit/ee6afeb72ef2cee918c1338c926c481ad36aa915
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaModule.cpp
Log Message:
-----------
[NFC] [C++20] [Modules] Lookup in cache before checking if the primary template is an exposure
Checking if a declaration is an exposure may be relatively expensive.
Try to use cache to avoid such checks will be helpful.
Commit: d27802a2173ab3d864d3bf1ac507a4acc656e457
https://github.com/llvm/llvm-project/commit/d27802a2173ab3d864d3bf1ac507a4acc656e457
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/sext-setcc.ll
A llvm/test/CodeGen/NVPTX/trunc-setcc.ll
Log Message:
-----------
[DAGCombiner] Fold setcc of trunc, generalizing some NVPTX isel logic (#150270)
That change adds support for folding a SETCC when one or both of the
operands is a TRUNCATE with the appropriate no-wrap flags. This pattern
can occur when promoting i8 operations in NVPTX, and we currently have
some ISel rules to try to handle it.
Commit: 7b8dea265e72c3037b6b1e54d5ab51b7e14f328b
https://github.com/llvm/llvm-project/commit/7b8dea265e72c3037b6b1e54d5ab51b7e14f328b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
Log Message:
-----------
[lldb] Workaround omission of PyBUF_READ in the stable API (#152214)
PyMemoryView_FromMemory is part of stable ABI but the flag constants
such as PyBUF_READ are not. This was fixed in Python 3.11 [1], but still
requires this workaround when using older versions.
[1] https://github.com/python/cpython/issues/98680
Commit: 2d4e5c4e1f0ee00cc668b5f012d718e750a99cc7
https://github.com/llvm/llvm-project/commit/2d4e5c4e1f0ee00cc668b5f012d718e750a99cc7
Author: nerix <nerixdev at outlook.de>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
A lldb/test/Shell/SymbolFile/NativePDB/rust-unique-name.ll
M lldb/test/Shell/lit.cfg.py
Log Message:
-----------
[LLDB][NativePDB] Use undecorated name for types if UniqueName isn't mangled (#152114)
Languages other than C/C++ don't necessarily emit mangled names in the
`UniqueName` field of type records. Rust specifically emits a unique ID
that doesn't contain the name.
For example, `(i32, i32)` is emitted as
```llvm
!266 = !DICompositeType(
tag: DW_TAG_structure_type, name: "tuple$<i32,i32>", file: !9, size: 64, align: 32,
elements: !267, templateParams: !17, identifier: "19122721b0632fe96c0dd37477674472"
)
```
which results in
```
0x1091 | LF_STRUCTURE [size = 72, hash = 0x1AC67] `tuple$<i32,i32>`
unique name: `19122721b0632fe96c0dd37477674472`
vtable: <no type>, base list: <no type>, field list: 0x1090
options: has unique name, sizeof 8
```
In C++ with Clang and MSVC, a structure similar to this would result in
```
0x136F | LF_STRUCTURE [size = 44, hash = 0x30BE2] `MyTuple`
unique name: `.?AUMyTuple@@`
vtable: <no type>, base list: <no type>, field list: 0x136E
options: has unique name, sizeof 8
```
With this PR, if a `UniqueName` is encountered that couldn't be parsed,
it will fall back to using the undecorated (→ do the same as if the
unique name is empty/unavailable).
I'm not sure how to test this. Maybe compiling the LLVM IR that rustc
emits?
Fixes #152051.
Commit: 6ba6efea8438006be7d46ec064eb5da6dfda3d1b
https://github.com/llvm/llvm-project/commit/6ba6efea8438006be7d46ec064eb5da6dfda3d1b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/rv32zbkb.ll
Log Message:
-----------
[RISCV] Simplify one of the RV32 PACK isel patterns. (#152045)
This pattern previously checked a specific variant of 4 bytes being
packed that is generated by unaligned load expansion.
Our individual PACK patterns don't handle that particular case because a
DAG combine turns (or (or A, (shl B, 8)), (shl (or C, (shl D, 8)), 16))
into (or (or A, (shl B, 8)), (or (shl C, 16), (shl D, 24)). After this,
the outer OR doesn't have a shl operand so we needed a pattern that
looks through 2 layers of OR.
To match this pattern we don't need to look at the (or A, (shl B, 8))
part since that part wasn't affected by the DAG combine and can be
matched to PACKH by itself. It's enough to make sure that part of the
pattern has zeros in the upper 16 bits.
This allows tablegen to automatically generate more permutations of this pattern.
The associative variant expansion is limited to 3 children.
Commit: e797c716091b41af7901aa88c4739bed97661436
https://github.com/llvm/llvm-project/commit/e797c716091b41af7901aa88c4739bed97661436
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M libc/test/IntegrationTest/CMakeLists.txt
M libc/test/IntegrationTest/test.cpp
Log Message:
-----------
Reland "[libc] make integration test malloc work properly when threaded" (#152236)
Reverts llvm/llvm-project#152096
Commit: 3339a0045d66c0e56081b699b8535aecfb95ef85
https://github.com/llvm/llvm-project/commit/3339a0045d66c0e56081b699b8535aecfb95ef85
Author: Vincent <llvm at viceroygroup.ca>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGDecl.cpp
M clang/test/Frontend/backend-attribute-error-warning-optimize.c
Log Message:
-----------
[clang] Respect [[gnu::error]] on functions passed to [[gnu::cleanup]] (#152082)
Forward SourceLocation to `EmitCall` so that clang triggers an error
when a function inside `[[gnu::cleanup(func)]]` is annotated with
`[[gnu::error("some message")]]`.
resolves #146520
Commit: 2959051e655a5c77401285a68bab2027aa958b88
https://github.com/llvm/llvm-project/commit/2959051e655a5c77401285a68bab2027aa958b88
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/test/API/lang/cpp/extern_c/main.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/debug-types-address-ranges.s
Log Message:
-----------
[lldb] Preserve original symbol of Mangled function names (#152201)
Fixes a bug that surfaces in frame recognizers.
Details about the bug:
A new frame recognizer is configured to match a specific symbol
(`swift_willThrow`). This is an `extern "C"` symbol defined in a C++
source file. When Swift is built with debug info, the function
`ParseFunctionFromDWARF` will use the debug info to construct a function
name that looks like a C++ declaration (`::swift_willThrow(void *,
SwiftError**)`). The `Mangled` instance will have this string as its
`m_demangled` field, and have _no_ string for its `m_mangled` field.
The result is the frame recognizer would not match the symbol to the
name (`swift_willThrow` != `::swift_willThrow(void *, SwiftError**)`.
By changing `ParseFunctionFromDWARF` to assign both a demangled name and
a mangled, frame recognizers can successfully match symbols in this
configuration.
Commit: 255be51f3f64ff6ef20c6379c3f3fdae5504813b
https://github.com/llvm/llvm-project/commit/255be51f3f64ff6ef20c6379c3f3fdae5504813b
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
Log Message:
-----------
[Flang][OpenMP] Fix missing dereference in isConstructWithTopLevelTarget
This was causing false negatives, yielding incorrect programs.
Commit: f9386d3b1e5977a7920465d072761fc5d70968dc
https://github.com/llvm/llvm-project/commit/f9386d3b1e5977a7920465d072761fc5d70968dc
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/cmake/modules/LLVMProcessSources.cmake
M llvm/include/llvm/Support/DebugLog.h
Log Message:
-----------
Revert "Revert "Strip the full path from __FILE__ in the LDBG macro and keep only the filename (#150677)""
This reverts commit a15b629527a975ec592c95d69d04ef3537915d1d.
The revert made things worse. Oops.
Commit: 8c9feb7e13b2c01fd1cd2ecc5f699ba5cc32e369
https://github.com/llvm/llvm-project/commit/8c9feb7e13b2c01fd1cd2ecc5f699ba5cc32e369
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineLoopInfo.h
M llvm/include/llvm/IR/PassManager.h
Log Message:
-----------
[llvm] get Linux `-fvisibility=hidden` shared library build working with GCC (#151365)
## Purpose
Add missing annotations so that LLVM can build as a shared library on
Linux with `-fvisibility=hidden` using GCC.
## Overview
Add a couple of annotations that make GCC happy:
* Add `LLVM_TEMPLATE_ABI` to the `extern` declaration of
`LoopBase<MachineBasicBlock, MachineLoop>`. The instantiation of this of
this template is already properly annotated with `LLVM_EXPORT_TEMPLATE`
and this declaration was missed. This omission did not cause problems
with MSVC or Clang but results in undefined reference to the destructor
with GCC.
* Add `LLVM_ATTRIBUTE_VISIBILITY_DEFAULT` to the template declaration
for `InnerAnalysisManagerProxy::Key`. `LLVM_ABI` cannot be used here
because MSVC disallows storage-class specifiers on class members outside
of the class declaration (C2720). Since
`LLVM_ATTRIBUTE_VISIBILITY_DEFAULT` only applies to non-Windows targets,
it can be used in its place. Omitting this annotation does not cause
problems with Clang but results in undefined reference to
`InnerAnalysisManagerProxy::Key` fields for for explicitly instantiated
declarations when compiling with GCC.
## 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).
## Validation
On Fedora 42, build with GCC `LLVM_BUILD_LLVM_DYLIB=ON`,
`LLVM_BUILD_LLVM_DYLIB_VIS=ON`, and `LLVM_LINK_LLVM_DYLIB=ON`.
```
cmake -B build -S llvm -G Ninja -DLLVM_ENABLE_PROJECTS="llvm;clang;clang-tools-extra;lldb;lld" -DLLVM_OPTIMIZED_TABLEGEN=ON -DLLVM_BUILD_TESTS=ON -DLLVM_BUILD_EXAMPLES=ON -DLLDB_ENABLE_PYTHON=NO -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_BUILD_LLVM_DYLIB_VIS=ON -DLLVM_LINK_LLVM_DYLIB=ON -DCLANG_LINK_CLANG_DYLIB=OFF -DCMAKE_BUILD_TYPE=Release
ninja -C build
```
Commit: a3c386d241a103481604dc970ada168b786c56c1
https://github.com/llvm/llvm-project/commit/a3c386d241a103481604dc970ada168b786c56c1
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-08-05 (Tue, 05 Aug 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/Frontend/HLSL/HLSLBinding.h
M llvm/include/llvm/Frontend/HLSL/RootSignatureMetadata.h
M llvm/include/llvm/Frontend/Offloading/PropertySet.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/Transforms/HipStdPar/HipStdPar.h
M llvm/include/llvm/Transforms/Utils/SplitModuleByCategory.h
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[llvm] annotate recently added interfaces for DLL export (#152179)
## 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 recently
added to LLVM and fixes incorrectly annotated symbols.
## 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
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS:
- Add `LLVM_EXPORT_TEMPLATE` and `LLVM_TEMPLATE_ABI` annotations to
explicitly instantiated instances of `llvm::object::SFrameParser`.
## Validation
On Windows 11:
```
cmake -B build -S llvm -G Ninja -DLLVM_ENABLE_PROJECTS="llvm;clang;clang-tools-extra;lldb;lld" -DLLVM_OPTIMIZED_TABLEGEN=ON -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_BUILD_LLVM_DYLIB_VIS=ON -DLLVM_LINK_LLVM_DYLIB=ON -DLLVM_BUILD_TESTS=ON -DCLANG_LINK_CLANG_DYLIB=OFF -DCMAKE_BUILD_TYPE=Release
ninja -C build
```
Commit: cd1363bf42aad4cc55f6fe6892f63de9b32977ae
https://github.com/llvm/llvm-project/commit/cd1363bf42aad4cc55f6fe6892f63de9b32977ae
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/test/Dialect/Bufferization/canonicalize.mlir
Log Message:
-----------
[mlir][Bufferization] Support cast from ranked to unranked in canonic… (#152257)
https://github.com/llvm/llvm-project/pull/150511 changed the
canonicalization pattern to not allow casts from ranked to unranked
anymore. This patch restores this functionality, while still keeping the
fix to preserve memory space and layout.
Commit: fe0d67b75413c95d79742cadb0d006377ae8f025
https://github.com/llvm/llvm-project/commit/fe0d67b75413c95d79742cadb0d006377ae8f025
Author: Martin Storsjö <martin at martin.st>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
Log Message:
-----------
[libcxx] [ci] Update Clang on Windows (#152206)
Update clang-cl/LLVM to 20.1.8.
Update to llvm-mingw 20250709 (with also is built on LLVM 20.1.8). This
release of llvm-mingw is the first release to be built with PGO, making
it significantly faster for the CI runs (on par with the clang-cl
cases); running the current tests in around 1 h rather than 1 h 20 min.
Commit: 90d1d2350721f684bb6697b9db7ce36df252fbed
https://github.com/llvm/llvm-project/commit/90d1d2350721f684bb6697b9db7ce36df252fbed
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/SemaCXX/constexpr-value-init.cpp
Log Message:
-----------
[clang][bytecode] Overrride locs for certain CXXConstructExprs (#152185)
Do it only if we will end up skipping the initializer anyway because
it's a trivial copy or move constructor.
Commit: 753885eaaf8745a64f502a3a65fa89456d632cd5
https://github.com/llvm/llvm-project/commit/753885eaaf8745a64f502a3a65fa89456d632cd5
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py
Log Message:
-----------
[lldb][test] Skip TestQueueFromStdModule.py pre-Clang-17
Failing on the macOS matrix bot for Clang-15:
```
07:38:40 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py", line 38, in test
07:38:40 self.expect_expr(
07:38:40 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2571, in expect_expr
07:38:40 value_check.check_value(self, eval_result, str(eval_result))
07:38:40 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 301, in check_value
07:38:40 test_base.assertSuccess(val.GetError())
07:38:40 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2606, in assertSuccess
07:38:40 self.fail(self._formatMessage(msg, "'{}' is not success".format(error)))
07:38:40 AssertionError: 'error: /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/module.modulemap:93:11: header 'stdarg.h' not found
07:38:40 93 | header "stdarg.h" // note: supplied by the compiler
07:38:40 | ^
07:38:40 /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/clang_1501_build/include/c++/v1/ctype.h:38:15: submodule of top-level module 'Darwin' implicitly imported here
07:38:40 38 | #include_next <ctype.h>
07:38:40 | ^
07:38:40 error: While building module 'std' imported from <lldb wrapper prefix>:42:
```
Commit: ff5fa711b3078b3305aa5b5a2d02f9d97421c662
https://github.com/llvm/llvm-project/commit/ff5fa711b3078b3305aa5b5a2d02f9d97421c662
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/Support/LEB128.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-struct.ll
M llvm/test/CodeGen/AArch64/fp8-sme2-cvtn.ll
M llvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
M llvm/test/CodeGen/AArch64/framelayout-sve.mir
M llvm/test/CodeGen/AArch64/intrinsic-vector-match-sve2.ll
M llvm/test/CodeGen/AArch64/luti-with-sme2.ll
M llvm/test/CodeGen/AArch64/perm-tb-with-sme2.ll
M llvm/test/CodeGen/AArch64/sme-vg-to-stack.ll
M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-cvt.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-qcvt.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-qrshr.ll
M llvm/test/CodeGen/AArch64/sme2-multivec-regalloc.mir
M llvm/test/CodeGen/AArch64/split-vector-insert.ll
M llvm/test/CodeGen/AArch64/stack-hazard.ll
M llvm/test/CodeGen/AArch64/stack-probing-sve.ll
M llvm/test/CodeGen/AArch64/sve-alloca.ll
M llvm/test/CodeGen/AArch64/sve-callee-save-restore-pairs.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-extract-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-fp-reduce-fadda.ll
M llvm/test/CodeGen/AArch64/sve-fptosi-sat.ll
M llvm/test/CodeGen/AArch64/sve-fptoui-sat.ll
M llvm/test/CodeGen/AArch64/sve-insert-element.ll
M llvm/test/CodeGen/AArch64/sve-insert-vector.ll
M llvm/test/CodeGen/AArch64/sve-ldnf1.mir
M llvm/test/CodeGen/AArch64/sve-ldstnt1.mir
M llvm/test/CodeGen/AArch64/sve-llrint.ll
M llvm/test/CodeGen/AArch64/sve-lrint.ll
M llvm/test/CodeGen/AArch64/sve-pred-arith.ll
M llvm/test/CodeGen/AArch64/sve-split-extract-elt.ll
M llvm/test/CodeGen/AArch64/sve-split-insert-elt.ll
M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
M llvm/test/CodeGen/AArch64/sve-trunc.ll
M llvm/test/CodeGen/AArch64/sve-vector-compress.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-loads.ll
M llvm/test/CodeGen/AArch64/unwind-preserved.ll
Log Message:
-----------
[AArch64][SVE] Tweak how SVE CFI expressions are emitted (#151677)
The main change in this patch is we go from emitting the expression:
@ cfa - NumBytes - NumScalableBytes * VG
To:
@ cfa - VG * NumScalableBytes - NumBytes
That is, VG is the first expression. This is for a future patch that
adds an alternative way to resolve VG (which uses the CFA, so it is
convenient for the CFA to be at the top of the stack).
Since doing this is fairly churn-heavy, I took the opportunity to also
save up to 4-bytes per SVE CFI expression. This is done by folding
LEB128 constants to literals when in the range 0 to 31, and using the
offset in `DW_OP_breg*` expressions.
Commit: 0461cd3d1d6f722b2833dd913c1f974aeebcf82a
https://github.com/llvm/llvm-project/commit/0461cd3d1d6f722b2833dd913c1f974aeebcf82a
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
A llvm/test/CodeGen/AMDGPU/amdgcn-call-whole-wave.ll
M llvm/test/CodeGen/AMDGPU/irtranslator-whole-wave-functions.ll
M llvm/test/CodeGen/AMDGPU/isel-whole-wave-functions.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
A llvm/test/Verifier/AMDGPU/intrinsic-amdgcn-call-whole-wave.ll
Log Message:
-----------
[AMDGPU] Intrinsic for launching whole wave functions (#145859)
Add the llvm.amdgcn.call.whole.wave intrinsic for calling whole wave
functions. This will take as its first argument the callee with the
amdgpu_gfx_whole_wave calling convention, followed by the call
parameters which must match the signature of the callee except for the
first function argument (the i1 original EXEC mask, which doesn't need
to be passed in). Indirect calls are not allowed.
Make direct calls to amdgpu_gfx_whole_wave functions a verifier error.
Unspeakable horrors happen around calls from whole wave functions, the
plan is to improve the handling of caller/callee-saved registers in
a future patch.
Tail calls are also handled in a future patch.
Commit: df34eaca5961f4f2d201191fe3ad43651066fb21
https://github.com/llvm/llvm-project/commit/df34eaca5961f4f2d201191fe3ad43651066fb21
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Drop poison flags when lowering absolute difference patterns. (#152130)
As a follow-up to #151177, when lowering SELECT_CC nodes of absolute
difference patterns, drop poison-generating flags from the negated
operand to avoid inadvertently propagating poison.
As discussed in the PR above, I didn't find practical issues with the
current code, but it seems safer to do this preemptively.
Commit: 907b7d0f07bb72a4a9732e234621adb589f77d42
https://github.com/llvm/llvm-project/commit/907b7d0f07bb72a4a9732e234621adb589f77d42
Author: eleviant <56861949+eleviant at users.noreply.github.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/bad-constraint.ll
A llvm/test/CodeGen/ARM/inlineasm-vec-to-double.ll
Log Message:
-----------
[ARM] Fix inline asm register validation for vector types (#152175)
Patch allows following piece of code to be successfully compiled:
```
register uint8x8_t V asm("d3") = vdup_n_u8(0xff);
```
Commit: 4077e66432a1d17543d0cef4b5a9280caff6e974
https://github.com/llvm/llvm-project/commit/4077e66432a1d17543d0cef4b5a9280caff6e974
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/source/Expression/IRExecutionUnit.cpp
A lldb/test/API/arm/thumb-function-addr/Makefile
A lldb/test/API/arm/thumb-function-addr/TestThumbFunctionAddr.py
A lldb/test/API/arm/thumb-function-addr/main.c
Log Message:
-----------
[lldb] Treat address found via function name as a callable address (#151973)
I discovered this building the lldb test suite with `-mthumb` set, so
that all test programs are purely Arm Thumb code.
When C++ expressions did a function lookup, they took a different path
from C programs. That path happened to land on the line that I've
changed. Where we try to look something up as a function, but don't then
resolve the address as if it's a callable.
With Thumb, if you do the non-callable lookup, the bottom bit won't be
set. This means when lldb's expression wrapper function branches into
the found function, it'll be in Arm mode trying to execute Thumb code.
Thumb is the only instance where you'd notice this. Aside from maybe
MicroMIPS or MIPS16 perhaps but I expect that there are 0 users of that
and lldb.
I have added a new test case that will simulate this situation in
"normal" Arm builds so that it will get run on Linaro's buildbot.
This change also fixes the following existing tests when `-mthumb` is
used:
```
lldb-api :: commands/expression/anonymous-struct/TestCallUserAnonTypedef.py
lldb-api :: commands/expression/argument_passing_restrictions/TestArgumentPassingRestrictions.py
lldb-api :: commands/expression/call-function/TestCallStopAndContinue.py
lldb-api :: commands/expression/call-function/TestCallUserDefinedFunction.py
lldb-api :: commands/expression/char/TestExprsChar.py
lldb-api :: commands/expression/class_template_specialization_empty_pack/TestClassTemplateSpecializationParametersHandling.py
lldb-api :: commands/expression/context-object/TestContextObject.py
lldb-api :: commands/expression/formatters/TestFormatters.py
lldb-api :: commands/expression/import_base_class_when_class_has_derived_member/TestImportBaseClassWhenClassHasDerivedMember.py
lldb-api :: commands/expression/inline-namespace/TestInlineNamespace.py
lldb-api :: commands/expression/namespace-alias/TestInlineNamespaceAlias.py
lldb-api :: commands/expression/no-deadlock/TestExprDoesntBlock.py
lldb-api :: commands/expression/pr35310/TestExprsBug35310.py
lldb-api :: commands/expression/static-initializers/TestStaticInitializers.py
lldb-api :: commands/expression/test/TestExprs.py
lldb-api :: commands/expression/timeout/TestCallWithTimeout.py
lldb-api :: commands/expression/top-level/TestTopLevelExprs.py
lldb-api :: commands/expression/unwind_expression/TestUnwindExpression.py
lldb-api :: commands/expression/xvalue/TestXValuePrinting.py
lldb-api :: functionalities/thread/main_thread_exit/TestMainThreadExit.py
lldb-api :: lang/cpp/call-function/TestCallCPPFunction.py
lldb-api :: lang/cpp/chained-calls/TestCppChainedCalls.py
lldb-api :: lang/cpp/class-template-parameter-pack/TestClassTemplateParameterPack.py
lldb-api :: lang/cpp/constructors/TestCppConstructors.py
lldb-api :: lang/cpp/function-qualifiers/TestCppFunctionQualifiers.py
lldb-api :: lang/cpp/function-ref-qualifiers/TestCppFunctionRefQualifiers.py
lldb-api :: lang/cpp/global_operators/TestCppGlobalOperators.py
lldb-api :: lang/cpp/llvm-style/TestLLVMStyle.py
lldb-api :: lang/cpp/multiple-inheritance/TestCppMultipleInheritance.py
lldb-api :: lang/cpp/namespace/TestNamespace.py
lldb-api :: lang/cpp/namespace/TestNamespaceLookup.py
lldb-api :: lang/cpp/namespace_conflicts/TestNamespaceConflicts.py
lldb-api :: lang/cpp/operators/TestCppOperators.py
lldb-api :: lang/cpp/overloaded-functions/TestOverloadedFunctions.py
lldb-api :: lang/cpp/rvalue-references/TestRvalueReferences.py
lldb-api :: lang/cpp/static_methods/TestCPPStaticMethods.py
lldb-api :: lang/cpp/template/TestTemplateArgs.py
lldb-api :: python_api/thread/TestThreadAPI.py
```
There are other failures that are due to different problems, and this
change does not make those worse.
(I have no plans to run the test suite with `-mthumb` regularly, I just
did it to test some other refactoring)
Commit: b24ad98caa7cdc48ed9034310c8876811d6e52aa
https://github.com/llvm/llvm-project/commit/b24ad98caa7cdc48ed9034310c8876811d6e52aa
Author: Dan Blackwell <dan_blackwell at apple.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M compiler-rt/test/sanitizer_common/CMakeLists.txt
Log Message:
-----------
[sanitizer_common] Disable SanitizerCommon lsan tests on Apple arm64 (#151929)
There is an issue tracking lsan incompatibility on these platforms:
https://github.com/llvm/llvm-project/issues/131678. Many of these tests
are currently failing and creating CI noise.
rdar://157252316
Commit: 49d5dd37f8bdd961d11cdf4df95d26982b253e97
https://github.com/llvm/llvm-project/commit/49d5dd37f8bdd961d11cdf4df95d26982b253e97
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h
M lldb/unittests/Instruction/ARM64/TestAArch64Emulator.cpp
Log Message:
-----------
Reland "[lldb] Fix auto advance PC in `EmulateInstructionARM64` if PC >= 4G (#151460)"
This reverts commit 600976f4bfb06526c283dcc4efc4801792f08ca5.
The test was crashing trying to access any element of the GPR struct.
(gdb) disas
Dump of assembler code for function _ZN7testing8internal11CmpHelperEQIyyEENS_15AssertionResultEPKcS4_RKT_RKT0_:
0x00450afc <+0>: push {r4, r5, r6, r7, r8, r9, r10, r11, lr}
0x00450b00 <+4>: sub sp, sp, #60 ; 0x3c
0x00450b04 <+8>: ldr r5, [sp, #96] ; 0x60
=> 0x00450b08 <+12>: ldm r3, {r4, r7}
0x00450b0c <+16>: ldm r5, {r6, r9}
0x00450b10 <+20>: eor r7, r7, r9
0x00450b14 <+24>: eor r6, r4, r6
0x00450b18 <+28>: orrs r7, r6, r7
(gdb) p/x r3
$3 = 0x3e300f6e
"However, load and store multiple instructions (LDM and STM) and load and store double-word (LDRD or STRD) must be aligned to at least a word boundary."
https://developer.arm.com/documentation/den0013/d/Porting/Alignment
>>> 0x3e300f6e % 4
2
Program received signal SIGBUS, Bus error.
0x00450b08 in testing::AssertionResult testing::internal::CmpHelperEQ<unsigned long long, unsigned long long>(char const*, char const*, unsigned long long const&, unsigned long long const&) ()
The struct is packed with 1 byte alignment, but it needs to start at an aligned address for us
to ldm from it. So I've done that with alignas.
Also fixed some compiler warnings in the test itself.
Commit: dace67e941f309318b5ce200c1f4e180a4471d20
https://github.com/llvm/llvm-project/commit/dace67e941f309318b5ce200c1f4e180a4471d20
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/include/lldb/Utility/Scalar.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/lldb/ValueObject/ValueObjectConstResult.h
M lldb/source/Core/Value.cpp
M lldb/source/Utility/Scalar.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/source/ValueObject/ValueObjectConstResult.cpp
M lldb/unittests/Utility/ScalarTest.cpp
Log Message:
-----------
[lldb] Add `ValueObject::CreateValueObjectFromScalar` and fix `Scalar::GetData` (#151350)
Add `ValueObject::CreateValueObjectFromScalar` function and adjust
`Scalar::GetData` to be able to both extend and truncate the data bytes
in Scalar to the specified size.
Commit: 35110445081152f7f2d2a9d053bb6fa718216d7b
https://github.com/llvm/llvm-project/commit/35110445081152f7f2d2a9d053bb6fa718216d7b
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++] Fix incorrect down cast in __tree::operator=
This has been introduced by #151304. This problem is diagnosed by UBSan
with optimizations enabled. Since we run UBSan only with optimizations
disabled currently, this isn't caught in our CI. We should look into
enabling UBSan with optimizations enabled to catch these sorts of issues
before landing a patch.
Commit: 5499a70c39bfea10a0139ed6e98a267b9473448d
https://github.com/llvm/llvm-project/commit/5499a70c39bfea10a0139ed6e98a267b9473448d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
Revert "[libc++] Fix incorrect down cast in __tree::operator="
This reverts commit 35110445081152f7f2d2a9d053bb6fa718216d7b.
I've accidentally pushed to the wrong branch.
Commit: a5d85a6ab5daf67b67da654c90adc494d37833c8
https://github.com/llvm/llvm-project/commit/a5d85a6ab5daf67b67da654c90adc494d37833c8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/Headers/avxintrin.h
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/builtin_test_helpers.h
Log Message:
-----------
[Headers][X86] Allow AVX _mm256_set* intrinsics to be used in constexpr (#152173)
Commit: 14cd1339318b16e08c1363ec6896bd7d1e4ae281
https://github.com/llvm/llvm-project/commit/14cd1339318b16e08c1363ec6896bd7d1e4ae281
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
R llvm/test/CodeGen/AMDGPU/amdgcn-call-whole-wave.ll
M llvm/test/CodeGen/AMDGPU/irtranslator-whole-wave-functions.ll
M llvm/test/CodeGen/AMDGPU/isel-whole-wave-functions.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
R llvm/test/Verifier/AMDGPU/intrinsic-amdgcn-call-whole-wave.ll
Log Message:
-----------
Revert "[AMDGPU] Intrinsic for launching whole wave functions" (#152286)
Reverts llvm/llvm-project#145859 because it broke a HIP test:
```
[34/59] Building CXX object External/HIP/CMakeFiles/TheNextWeek-hip-6.3.0.dir/workload/ray-tracing/TheNextWeek/main.cc.o
FAILED: External/HIP/CMakeFiles/TheNextWeek-hip-6.3.0.dir/workload/ray-tracing/TheNextWeek/main.cc.o
/home/botworker/bbot/clang-hip-vega20/botworker/clang-hip-vega20/llvm/bin/clang++ -DNDEBUG -O3 -DNDEBUG -w -Werror=date-time --rocm-path=/opt/botworker/llvm/External/hip/rocm-6.3.0 --offload-arch=gfx908 --offload-arch=gfx90a --offload-arch=gfx1030 --offload-arch=gfx1100 -xhip -mfma -MD -MT External/HIP/CMakeFiles/TheNextWeek-hip-6.3.0.dir/workload/ray-tracing/TheNextWeek/main.cc.o -MF External/HIP/CMakeFiles/TheNextWeek-hip-6.3.0.dir/workload/ray-tracing/TheNextWeek/main.cc.o.d -o External/HIP/CMakeFiles/TheNextWeek-hip-6.3.0.dir/workload/ray-tracing/TheNextWeek/main.cc.o -c /home/botworker/bbot/clang-hip-vega20/llvm-test-suite/External/HIP/workload/ray-tracing/TheNextWeek/main.cc
fatal error: error in backend: Cannot select: intrinsic %llvm.amdgcn.readfirstlane
```
Commit: 1f1b903a645e260195bbdd6c74ae1f34caacec79
https://github.com/llvm/llvm-project/commit/1f1b903a645e260195bbdd6c74ae1f34caacec79
Author: Himadhith <79003240+Himadhith at users.noreply.github.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
R clang/test/CodeGen/PowerPC/check-zero-vector.c
M llvm/test/CodeGen/PowerPC/check-zero-vector.ll
Log Message:
-----------
[NFC][PowerPC] Cleaning up test file and removing redundant front-end test (#151971)
NFC patch to clean up extra lines of code in the file
`llvm/test/CodeGen/PowerPC/check-zero-vector.ll` as the current one has
loop unrolled.
Also removing the file `clang/test/CodeGen/PowerPC/check-zero-vector.c`
as the patch affects only the backend.
Co-authored-by: himadhith <himadhith.v at ibm.com>
Commit: 9b7b3828716a127e6a9155b516f624a0f5a30887
https://github.com/llvm/llvm-project/commit/9b7b3828716a127e6a9155b516f624a0f5a30887
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
Log Message:
-----------
Fix MSVC truncation to char warning. NFC.
Commit: 777c320e6c96e2de9d4c6dc52d6a85a5ef3b8569
https://github.com/llvm/llvm-project/commit/777c320e6c96e2de9d4c6dc52d6a85a5ef3b8569
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
Log Message:
-----------
[VPlan] Address comments missed in #142309.
Address additional comments from
https://github.com/llvm/llvm-project/pull/142309.
Commit: 2b4b3fd03f716b9ddbb2a69ccfbe144312bedd12
https://github.com/llvm/llvm-project/commit/2b4b3fd03f716b9ddbb2a69ccfbe144312bedd12
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py
Log Message:
-----------
[lldb][test] Re-enable TestQueueFromStdModule.py
Tried this with newer Clang versions locally on my Darwin machine and the tests passes. Try re-enabling again.
Commit: b242150b075a8a720b00821682a9469258bbcd30
https://github.com/llvm/llvm-project/commit/b242150b075a8a720b00821682a9469258bbcd30
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py
Log Message:
-----------
Revert "[lldb][test] Re-enable TestQueueFromStdModule.py"
This reverts commit 2b4b3fd03f716b9ddbb2a69ccfbe144312bedd12.
Turns out the CI still fails with this test enabled:
```
11:08:50 File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py", line 37, in test
11:08:50 self.expect_expr(
11:08:50 File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2571, in expect_expr
11:08:50 value_check.check_value(self, eval_result, str(eval_result))
11:08:50 File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 301, in check_value
11:08:50 test_base.assertSuccess(val.GetError())
11:08:50 File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2606, in assertSuccess
11:08:50 self.fail(self._formatMessage(msg, "'{}' is not success".format(error)))
11:08:50 AssertionError: 'error: /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/module.modulemap:93:11: header 'stdarg.h' not found
11:08:50 93 | header "stdarg.h" // note: supplied by the compiler
11:08:50 | ^
11:08:50 /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/lib/clang/22/include/stdint.h:56:16: submodule of top-level module 'Darwin' implicitly imported here
11:08:50 56 | # include_next <stdint.h>
11:08:50 | ^
11:08:50 error: While building module 'std' imported from <lldb wrapper prefix>:42:
```
Commit: d8f896172da036da99a158331856a85cc328fcab
https://github.com/llvm/llvm-project/commit/d8f896172da036da99a158331856a85cc328fcab
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/abds-neg.ll
M llvm/test/CodeGen/AArch64/abds.ll
M llvm/test/CodeGen/AArch64/abdu-neg.ll
M llvm/test/CodeGen/AArch64/abdu.ll
A llvm/test/CodeGen/AArch64/csel-subs-dag-combine.ll
M llvm/test/CodeGen/AArch64/midpoint-int.ll
Log Message:
-----------
[AArch64] Improve lowering of scalar abs(sub(a, b)). (#151180)
This patch avoids a comparison against zero when lowering abs(sub(a, b))
patterns, instead reusing the condition codes generated by a subs of the
operands directly.
For example, currently:
```
sxtb w8, w0
sub w8, w8, w1, sxtb
cmp w8, #0
cneg w0, w8, mi
```
becomes:
```
sxtb w8, w0
subs w8, w8, w1, sxtb
cneg w0, w8, mi
```
Together with #151177, this should handle the remaining patterns in
#118413.
Commit: e99c565cd2f750c5ec3a71f60e306a5912d8cec9
https://github.com/llvm/llvm-project/commit/e99c565cd2f750c5ec3a71f60e306a5912d8cec9
Author: Tim Renouf <tim.renouf at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
A llvm/test/CodeGen/AMDGPU/empty-text.ll
Log Message:
-----------
MC,AMDGPU: Don't pad .text with s_code_end if it would otherwise be empty (#147980)
We don't want that padding in a module that only contains data, not
code.
Also fix MCSection::hasInstructions() so it works with the asm streamer
too.
Commit: 97cf061e83a0d0cada38d8a2d75c8a840b01ba26
https://github.com/llvm/llvm-project/commit/97cf061e83a0d0cada38d8a2d75c8a840b01ba26
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M flang/tools/bbc/CMakeLists.txt
Log Message:
-----------
[flang][cmake] Re-apply "Fix bcc dependencies (#125822)"
It was overwritten due to an automatic merge gone wrong for #124416
Commit: 56ba1181e9e98c54f22181723c1bc5bb8068ae66
https://github.com/llvm/llvm-project/commit/56ba1181e9e98c54f22181723c1bc5bb8068ae66
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/hip-options.hip
Log Message:
-----------
[Clang] Fix warning on synthetic offload arch argument in host only mode (#151969)
Summary:
These arguments are synthetically generated and should always be
considered used. This was emitting a warning on the new driver.
Commit: 86c192694d8c7ecf83d5fd706c861773c347b02c
https://github.com/llvm/llvm-project/commit/86c192694d8c7ecf83d5fd706c861773c347b02c
Author: Tony Varghese <tonypalampalliyil at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrP10.td
Log Message:
-----------
[NFC][PowerPC] Rebase the anonymous xxeval patterns to use the new XXEvalPattern class (#151462)
This change rebases the anonymous `xxeval` patterns to use the new
XXEvalPattern class based on the [[PowerPC] Exploit xxeval instruction
for ternary patterns - ternary(A, X,
and(B,C))](https://github.com/llvm/llvm-project/pull/141733#top)
Co-authored-by: Tony Varghese <tony.varghese at ibm.com>
Commit: 8a0643611545d0540b4267668c66ca92d3ff6e70
https://github.com/llvm/llvm-project/commit/8a0643611545d0540b4267668c66ca92d3ff6e70
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/midpoint-int.ll
Log Message:
-----------
[AArch64] Update test from #151180. (#152299)
Commit: 2c2a368276487da6a3b97c78968258ce61fcc73b
https://github.com/llvm/llvm-project/commit/2c2a368276487da6a3b97c78968258ce61fcc73b
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M flang/tools/bbc/CMakeLists.txt
Log Message:
-----------
Revert "[flang][cmake] Re-apply "Fix bcc dependencies (#125822)""
This reverts commit 97cf061e83a0d0cada38d8a2d75c8a840b01ba26.
Commit: 0d7c8691fb5831807b76d89eb397659c6f132011
https://github.com/llvm/llvm-project/commit/0d7c8691fb5831807b76d89eb397659c6f132011
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Make monolithic-* scripts only run Github steps on Github
We run a couple Github only steps in the monolithic-* scripts like
writing to $GITHUB_STEP_SUMMARY and denoting log groups. These can throw
errors when running the scripts locally or as part of other CI systems
(like buildbot). This patch makes it so that we only run these commands
when in the relevant environment. We also add a $POSTCOMMIT_CI check for
groups so that the annotated builder in buildbot works properly with
these scripts.
Reviewers: cmtice, ldionne, Endilll, gburgessiv, Keenuts, dschuff, lnihlen
Pull Request: https://github.com/llvm/llvm-project/pull/152197
Commit: 79253cfe6bf20e4bd7e3e15fec3014f90056a718
https://github.com/llvm/llvm-project/commit/79253cfe6bf20e4bd7e3e15fec3014f90056a718
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libc/test/IntegrationTest/test.cpp
M libc/test/integration/src/__support/GPU/match.cpp
Log Message:
-----------
[libc] Fix integration tests on w64 amdgpu targets (#152303)
Summary:
We need `malloc` to return a larger size now that it's aligned properly
and we use a bunch of threads. Also the `match_any` test was wrong
because it assumed a 32-bit lanemask.
Commit: 23b320311364f1bc1249500c7542d077d70098bf
https://github.com/llvm/llvm-project/commit/23b320311364f1bc1249500c7542d077d70098bf
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/mtvsrbmi.ll
Log Message:
-----------
[POWERPC] Fixes an error in the handling of the MTVSRBMI instruction for big-endian (#151565)
The patch fixed a bug introduced patch [[PowePC] using MTVSRBMI
instruction instead of constant pool in
power10+](https://github.com/llvm/llvm-project/pull/144084#top).
The issue arose because the layout of vector register elements differs
between little-endian and big-endian modes — specifically, the elements
appear in reverse order. This led to incorrect behavior when loading
constants using MTVSRBMI in big-endian configurations.
Commit: 3f6f5b9121ce2d61c1ba5ae41e1fe8c1e15ca49b
https://github.com/llvm/llvm-project/commit/3f6f5b9121ce2d61c1ba5ae41e1fe8c1e15ca49b
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/docs/CMake.rst
Log Message:
-----------
[llvm][docs] Tell people how to list runtime names
This list was already out of date, so I think it's better
we tell them how to get CMake to tell them the list.
Commit: fa91dcbefd7d9f16b2c6d624b14a1c023745b78a
https://github.com/llvm/llvm-project/commit/fa91dcbefd7d9f16b2c6d624b14a1c023745b78a
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/Target/SPIRV/decorations.mlir
Log Message:
-----------
[mlir][spirv] Add support for Invariant and Patch decorations (#152301)
New tests were validated with `spriv-val`.
Commit: e80e7e717e8c2efe2c1712dc3bb4f25ba7ed11f6
https://github.com/llvm/llvm-project/commit/e80e7e717e8c2efe2c1712dc3bb4f25ba7ed11f6
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/outer-loop-vec-phi-predecessor-order.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
Log Message:
-----------
[VPlan] Use scalar VPPhi instead of VPWidenPHIRecipe in createPlainCFG. (#150847)
The initial VPlan closely reflects the original scalar loop, so unsing
VPWidenPHIRecipe here is premature. Widened phi recipes should only be
introduced together with other widened recipes.
PR: https://github.com/llvm/llvm-project/pull/150847
Commit: ded1f3ec96bc3de2951094dff5a8d2e12f7402c8
https://github.com/llvm/llvm-project/commit/ded1f3ec96bc3de2951094dff5a8d2e12f7402c8
Author: Yussur Mustafa Oraji <yussur.oraji at tu-darmstadt.de>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
A llvm/test/Instrumentation/ThreadSanitizer/capture-no-omit.ll
M llvm/test/Instrumentation/ThreadSanitizer/capture.ll
Log Message:
-----------
[TSan] Add option to ignore capturing behavior when instrumenting (#148156)
While not needed for most applications, some tools such as
[MUST](https://www.i12.rwth-aachen.de/cms/i12/forschung/forschungsschwerpunkte/lehrstuhl-fuer-hochleistungsrechnen/~nrbe/must/)
depend on the instrumentation being present.
MUST uses the ThreadSanitizer annotation interface to detect data races
in MPI programs, where the capture tracking is detrimental as it has no
bearing on MPI data races, leading to missed races.
Commit: c4f6d346749cd368ab60fa06d925b15934d0e38a
https://github.com/llvm/llvm-project/commit/c4f6d346749cd368ab60fa06d925b15934d0e38a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
M llvm/test/CodeGen/X86/trunc-nsw-nuw.ll
Log Message:
-----------
[DAG] getNode - fold (sext (trunc x)) -> x iff the upper bits are already signbits (#151945)
Similar to what we already do for ZERO_EXTEND/ANY_EXTEND patterns.
Commit: 0b1639581a14e6e99ffff1a155504e4e866df491
https://github.com/llvm/llvm-project/commit/0b1639581a14e6e99ffff1a155504e4e866df491
Author: William Huynh <William.Huynh at arm.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M cmake/Modules/FindLibcCommonUtils.cmake
M libc/src/__support/macros/attributes.h
M libc/src/__support/threads/mutex.h
Log Message:
-----------
[libc] Change LIBC_THREAD_LOCAL to be dependent on LIBC_THREAD_MODE (#151527)
When single-threaded mode is selected, all instances of the keyword
`LIBC_THREAD_LOCAL` are stubbed out, similar to how it currently works
on the GPU. This allows baremetal builds to avoid using thread_local.
However, libcxx uses shared headers, so we need to be careful there.
Thankfully, there is already an option to disable multithreading in
libcxx, so a flag is added such that single-threaded mode is propagated
down to libc.
Commit: 22af0cd6f9ded0aa70eb5a3d6f12bbd15c3ae870
https://github.com/llvm/llvm-project/commit/22af0cd6f9ded0aa70eb5a3d6f12bbd15c3ae870
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/test/TableGen/intrinsic-attrs.td
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
Log Message:
-----------
[LLVM][Intrinsics] Reduce stack size for `Intrinsic::getAttributes` (#152219)
This change fixes a stack size regression that got introduced in
https://github.com/llvm/llvm-project/commit/0de0354aa8dcd6afab625c6833cb0f40309c2961.
That change did 2 independent things:
1. Uniquify argument and function attributes separately so that we
generate a smaller number of unique sets as opposed to uniquifying them
together. This is beneficial for code size.
2. Eliminate the fixed size array `AS` and `NumAttrs` variable and
instead build the returned AttribteList in each case using an
initializer list.
The second part seems to have caused a regression in the stack size
usage of this function for Windows. This change essentially undoes part
2 and reinstates the use of the fixed size array `AS` which fixes this
stack size regression. The actual measured stack frame size for this
function before/after this change is as follows:
```
Current trunk data for release build (x86_64 builds for Linux, x86 build for Windows):
Compiler gcc-13.3.0 clang-18.1.3 MSVC 19.43.34810.0
DLLVM_ENABLE_ASSERTIONS=OFF 0x120 0x110 0x54B0
DLLVM_ENABLE_ASSERTIONS=ON 0x2880 0x110 0x5250
After applying the fix:
Compiler gcc-13.3.0 clang-18.1.3 MSVC 19.43.34810.0
DLLVM_ENABLE_ASSERTIONS=OFF 0x120 0x118 0x1240h
DLLVM_ENABLE_ASSERTIONS=ON 0x120 0x118 0x1240h
```
Note that for Windows builds with assertions disabled, the stack frame
size for this function reduces from 21680 to 4672 which is a 4.6x
reduction. Stack frame size for GCC build with assertions also improved
and clang builds are unimpacted. The speculation is that clang and gcc
is able to reuse the stack space across these switch cases better with
existing code, but MSVC is not, and re-introducing the `AS` variable
forces all cases to use the same local variable, addressing the stack
space regression.
Commit: cab2edd39a14b817445f4f74c5f2d83cc6a3967a
https://github.com/llvm/llvm-project/commit/cab2edd39a14b817445f4f74c5f2d83cc6a3967a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[libclang] Remove unnecessary casts (NFC) (#152259)
stringVal is already of char *.
Commit: e9c510b151e6a487141c441f37301c7c368f0fe6
https://github.com/llvm/llvm-project/commit/e9c510b151e6a487141c441f37301c7c368f0fe6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
Log Message:
-----------
[AArch64] Remove an unnecessary cast (NFC) (#152260)
Pred is already of CmpInst::Predicate.
Commit: 71b4f4d263a1d66fcf740e736ef5cd657f21cdee
https://github.com/llvm/llvm-project/commit/71b4f4d263a1d66fcf740e736ef5cd657f21cdee
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/ObjCopy/MachO/MachOWriter.cpp
Log Message:
-----------
[ObjCopy] Remove unnecessary casts (NFC) (#152261)
getBufferStart() already returns char *.
Commit: 62fc0028bf137137fe8dc1f79dc34178ea688e17
https://github.com/llvm/llvm-project/commit/62fc0028bf137137fe8dc1f79dc34178ea688e17
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[Target] Remove unnecessary casts (NFC) (#152262)
value() already returns uint64_t.
Commit: 5342c33f1dfd2588d586b795c402840102b627ea
https://github.com/llvm/llvm-project/commit/5342c33f1dfd2588d586b795c402840102b627ea
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/docs/MIRLangRef.rst
Log Message:
-----------
[llvm] Proofread MIRLangRef.rst (#152263)
Commit: ca13c44bbc13118d215b4e1e02911157e4d809a8
https://github.com/llvm/llvm-project/commit/ca13c44bbc13118d215b4e1e02911157e4d809a8
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M offload/liboffload/API/Queue.td
Log Message:
-----------
[NFC][Offload] Clarify `olDestroyQueue` (#152132)
This has no code changes.
Commit: 66d1c37eb69c8ab38af6e61a38b7605f5f05d75b
https://github.com/llvm/llvm-project/commit/66d1c37eb69c8ab38af6e61a38b7605f5f05d75b
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M offload/include/OpenMP/InteropAPI.h
M offload/include/OpenMP/omp.h
A offload/include/PerThreadTable.h
M offload/include/PluginManager.h
M offload/include/Shared/APITypes.h
M offload/libomptarget/OffloadRTL.cpp
M offload/libomptarget/OpenMP/API.cpp
M offload/libomptarget/OpenMP/InteropAPI.cpp
M offload/libomptarget/PluginManager.cpp
M offload/libomptarget/exports
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_barrier.cpp
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_tasking.cpp
Log Message:
-----------
[OFFLOAD][OPENMP] 6.0 compatible interop interface (#143491)
The following patch introduces a new interop interface implementation
with the following characteristics:
* It supports the new 6.0 prefer_type specification
* It supports both explicit objects (from interop constructs) and
implicit objects (from variant calls).
* Implements a per-thread reuse mechanism for implicit objects to reduce
overheads.
* It provides a plugin interface that allows selecting the supported
interop types, and managing all the backend related interop operations
(init, sync, ...).
* It enables cooperation with the OpenMP runtime to allow progress on
OpenMP synchronizations.
* It cleanups some vendor/fr_id mismatchs from the current query
routines.
* It supports extension to define interop callbacks for library cleanup.
Commit: cd4ae911eb4fa3050ada5d0016ec822345fab2ee
https://github.com/llvm/llvm-project/commit/cd4ae911eb4fa3050ada5d0016ec822345fab2ee
Author: Shay Kleiman <42376404+shay-kl at users.noreply.github.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M mlir/include/mlir/IR/CommonTypeConstraints.td
Log Message:
-----------
[mlir] Specify namespace in td file pred (#152258)
Lack of llvm namespace here caused an "'ArrayRef' was not declared in
this scope" error when using the ShapedTypeWithNthDimOfSize pred in a td
file. Explicitly specifying it fixes it.
Co-authored-by: Shay Kleiman <shay.kleiman at mobileye.com>
Commit: 2bb23d444767540c59c32ccdb86f7ef6e35fd96e
https://github.com/llvm/llvm-project/commit/2bb23d444767540c59c32ccdb86f7ef6e35fd96e
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M flang/tools/bbc/CMakeLists.txt
Log Message:
-----------
[flang][cmake] Fix bbc dependencies (#152306)
Re-apply "[flang][cmake] Fix bcc dependencies (#125822)"
It was overwritten due to an automatic merge gone wrong for #124416.
`git cherry-pick f9af5c145f40480d46874b643ca2b1237e9fbb2a` applied in
97cf061e83a0d0cada38d8a2d75c8a840b01ba26 ignored the renaming of
FortranCommon into FortranSupport after #125822.
Original commit message:
The Fortran libraries are not part of MLIR, so they should use
target_link_libraries() rather than mlir_target_link_libraries().
This fixes an issue introduced in #20966.
Commit: a4ff76e819965b58083bab6c42c66acb6a2d1224
https://github.com/llvm/llvm-project/commit/a4ff76e819965b58083bab6c42c66acb6a2d1224
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/bfloat16.h
M libc/src/__support/FPUtil/cast.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/src/__support/FPUtil/generic/div.h
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/bfloat16_add_test.cpp
A libc/test/src/math/exhaustive/bfloat16_div_test.cpp
A libc/test/src/math/exhaustive/bfloat16_mul_test.cpp
A libc/test/src/math/exhaustive/bfloat16_sub_test.cpp
M libc/test/src/math/exhaustive/exhaustive_test.h
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/MulTest.h
A libc/test/src/math/smoke/bfloat16_add_test.cpp
A libc/test/src/math/smoke/bfloat16_div_test.cpp
A libc/test/src/math/smoke/bfloat16_mul_test.cpp
A libc/test/src/math/smoke/bfloat16_sub_test.cpp
M libc/utils/MPFRWrapper/CMakeLists.txt
M libc/utils/MPFRWrapper/MPFRUtils.cpp
Log Message:
-----------
[libc][math][c++23] Implement basic arithmetic operations for BFloat16 (#151228)
This PR implements addition, subtraction, multiplication and division
operations for BFloat16.
---------
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Co-authored-by: OverMighty <its.overmighty at gmail.com>
Commit: 3ffaaf6db68ff6ad4d8224a83ee6601df8cfb1fd
https://github.com/llvm/llvm-project/commit/3ffaaf6db68ff6ad4d8224a83ee6601df8cfb1fd
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
M llvm/lib/Target/Xtensa/XtensaFeatures.td
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
M llvm/lib/Target/Xtensa/XtensaTargetMachine.cpp
A llvm/test/CodeGen/Xtensa/atomic-load-store.ll
A llvm/test/CodeGen/Xtensa/atomic-rmw.ll
A llvm/test/CodeGen/Xtensa/forced-atomics.ll
A llvm/test/Transforms/AtomicExpand/Xtensa/atomicrmw-expand.ll
A llvm/test/Transforms/AtomicExpand/Xtensa/lit.local.cfg
Log Message:
-----------
[Xtensa] Implement Xtensa S32C1I Option and atomics lowering. (#137134)
Implement Xtensa S32C1I Option. Implement atomic_cmp_swap_32 operation
using s32c1i instruction. Use atomic_cmp_swap_32 operation and AtomicExpand
pass to implement atomics operations.
Commit: 4f166513df06447888b692cbffbd6cf9db69ec9b
https://github.com/llvm/llvm-project/commit/4f166513df06447888b692cbffbd6cf9db69ec9b
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/test/CIR/CodeGen/variable-template-specialization.cpp
Log Message:
-----------
[CIR] Upstream support for variable template specializations (#151069)
Commit: c3d24217bf00f97155b145ec3d29d272707981df
https://github.com/llvm/llvm-project/commit/c3d24217bf00f97155b145ec3d29d272707981df
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/test/MC/AArch64/armv9.6a-lsui.s
M llvm/test/MC/Disassembler/AArch64/armv9.6a-lsui.txt
Log Message:
-----------
[AArch64][llvm] Fix disassembly of `ldt{add,set,clr}` instructions using `xzr/wzr` (#152292)
The current disassembly of `ldt{add,set,clr}` instructions when using
`xzr/wzr` is incorrect. The Armv9.6-A Memory Systems specification says:
```
For each of LDT{ADD|SET|CLR}{L}, there is the corresponding STT{ADD|SET|CLR}{L}
alias, for the case where the register selected by the Rt field is XZR or WZR
```
and:
```
LDT{ADD|SET|CLR}{A}{L} is equivalent to LD{ADD|SET|CLR}{A}{L} except that: <..conditions..>
```
The Arm ARM specifies the preferred form of disassembly for these
aliases:
```
STADD <Xs>, [<Xn|SP>]
is equivalent to
LDADD <Xs>, XZR, [<Xn|SP>]
and is always the preferred disassembly.
```
(ref: DDI 0487L.b C6-2317)
This means that `sttadd` is the preferred disassembly for `ldtadd w0,
wzr, [x2]` when Rt is `xzr` or `wzr`.
This change also aligns llvm disassembly with GNU binutils, as shown by
the following examples:
llvm before this change:
```
% cat test.s
stadd w0, [sp]
sttadd w0, [sp]
ldadd w0, wzr, [sp]
ldtadd w0, wzr, [sp]
% llvm-mc-20 -triple aarch64 -mattr=+lse,+lsui test.s
stadd w0, [sp]
ldtadd w0, wzr, [sp]
stadd w0, [sp]
ldtadd w0, wzr, [sp]
```
llvm after this change:
```
% llvm-mc -triple aarch64 -mattr=+lse,+lsui test.s
stadd w0, [sp]
sttadd w0, [sp]
stadd w0, [sp]
sttadd w0, [sp]
```
GCC-15 test:
```
% gas test.s -march=armv8-a+lsui+lse -o test.o
% objdump -dr test.o
0: b82003ff stadd w0, [sp]
4: 192007ff sttadd w0, [sp]
8: b82003ff stadd w0, [sp]
c: 192007ff sttadd w0, [sp]
```
Many thanks to Ezra Sitorus and Alice Carlotti for reporting and
confirming this issue.
Commit: a50a01358172d1dbf0fb9f723116a1f57efd2b4b
https://github.com/llvm/llvm-project/commit/a50a01358172d1dbf0fb9f723116a1f57efd2b4b
Author: Nico Weber <thakis at chromium.org>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
Log Message:
-----------
[gn] port 41841e625db8 better
Commit: 75838b818bdbc14fc41f901b4e60821647009cf3
https://github.com/llvm/llvm-project/commit/75838b818bdbc14fc41f901b4e60821647009cf3
Author: Nico Weber <thakis at chromium.org>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
Log Message:
-----------
[gn] port 12dee9d3cd76 better
Commit: 8704ca0fb8fb3c659a4e98e9362cd56d453dcb4b
https://github.com/llvm/llvm-project/commit/8704ca0fb8fb3c659a4e98e9362cd56d453dcb4b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/test/AST/ByteCode/functions.cpp
M clang/test/CodeGenCXX/mangle-class-nttp.cpp
A clang/test/SemaOpenCLCXX/amdgpu-nullptr.clcpp
Log Message:
-----------
[clang][ExprConst] Consider integer pointers of value 0 nullptr (#150164)
When casting a 0 to a pointer type, the IsNullPtr flag was always set to
false, leading to weird results like a pointer with value 0 that isn't a
null pointer.
This caused
```c++
struct B { const int *p;};
template<B> void f() {}
template void f<B{nullptr}>();
template void f<B{fold(reinterpret_cast<int*>(0))}>();
```
to be valid code, since nullptr and (int*)0 aren't equal. This seems
weird and GCC doesn't behave like this.
Commit: dfd506b9480fd99c6ee5498ee2bc7a239b255467
https://github.com/llvm/llvm-project/commit/dfd506b9480fd99c6ee5498ee2bc7a239b255467
Author: Marcos Maronas <marcos.maronas at intel.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.h
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
Log Message:
-----------
[SPIRV] Fix code quality issues. (#152005)
Fix code quality issues reported by static analysis tool, such as:
- Rule of Three/Five.
- Dereference after null check.
- Unchecked return value.
- Variable copied when it could be moved.
Commit: df0325a3e580613b53803ac03ab1e2bda00f744f
https://github.com/llvm/llvm-project/commit/df0325a3e580613b53803ac03ab1e2bda00f744f
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libc/src/__support/OSUtil/linux/aarch64/vdso.h
M libc/src/__support/OSUtil/linux/vdso_sym.h
M libc/src/__support/OSUtil/linux/x86_64/vdso.h
M libc/test/src/__support/OSUtil/linux/vdso_test.cpp
Log Message:
-----------
[libc] add getrandom vDSO symbol (#151630)
Commit: 8de481913353a1e37264687d5cc73db0de19e6cc
https://github.com/llvm/llvm-project/commit/8de481913353a1e37264687d5cc73db0de19e6cc
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
Log Message:
-----------
[Flang] Search flang_rt in clang_rt path (#151954)
The clang/flang driver has two separate systems for find the location of
clang_rt (simplified):
* `getCompilerRTPath()`, e.g. `../lib/clang/22/lib/windows`,
used when `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=0`
* `getRuntimePath()`, e.g. `../lib/clang/22/lib/x86_64-pc-windows-msvc`,
used when `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=1`
To simplify the search path, Flang-RT normally assumes only
`getRuntimePath()`, i.e. ignoring `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR`
and always using the `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=1` mechanism.
There is an exception for Apple Darwin triples where `getRuntimePath()`
returns nothing. The flang-rt/compiler-rt CMake code for library
location also ignores `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` but uses the
`LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=0` path instead. Since only
`getRuntimePath()` is automatically added to the linker command line,
this patch explicitly adds `getCompilerRTPath()` to the path when
linking flang_rt.
Fixes #151031
Commit: f092b820d174f2b17713cf336ac98108e59d334a
https://github.com/llvm/llvm-project/commit/f092b820d174f2b17713cf336ac98108e59d334a
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M offload/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[OFFLOAD] Fix typo in assert (#152316)
Fixes an issue introduced by PR https://github.com/llvm/llvm-project/pull/143491.
Commit: a9dacb10fe7db908f1305757820497de65626a46
https://github.com/llvm/llvm-project/commit/a9dacb10fe7db908f1305757820497de65626a46
Author: parabola94 <heavybaby5000 at toki.waseda.jp>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M flang/tools/tco/tco.cpp
Log Message:
-----------
[flang] Add -O flag to tco (#151869)
At the moment, there is no established way to emit LLVM IR before
optimization in LLVM. tco can partially does, but the optimization level
is fixed to 2. This patch adds -O flag to tco.
Note that this is not completely equivalent to the frontend option. tco
does not accept -O flag without numbers, and the default optimization
level is not 0 but 2.
Commit: 1d23005b8e2ef3494d9beb1812205bd1386e77fc
https://github.com/llvm/llvm-project/commit/1d23005b8e2ef3494d9beb1812205bd1386e77fc
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/OpenMP/critical-global-conflict.f90
M flang/test/Semantics/OpenMP/critical_within_default.f90
Log Message:
-----------
[flang][OpenMP] Insert CRITICAL construct names into global scope (#152004)
They were inserted in the current scope.
OpenMP spec (all versions):
The names of critical constructs are global entities of the program. If
a name conflicts with any other entity, the behavior of the program is
unspecified.
Commit: bd9117c569678e7af042074cbcaba860ab6eefb3
https://github.com/llvm/llvm-project/commit/bd9117c569678e7af042074cbcaba860ab6eefb3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M .ci/generate_test_report_github.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Move platform specific test report titles to python
This patch moves the platform specific test report titles to the
generate_test_report_github.py script. This means that the functions in
the monolithic-* scripts are exactly the same now and can be moved into
a separate script that can be shared between the two scripts.
Reviewers: DavidSpickett, cmtice, lnihlen, dschuff, Keenuts, gburgessiv
Reviewed By: DavidSpickett
Pull Request: https://github.com/llvm/llvm-project/pull/152198
Commit: 71dbf1492bada3a93d49f681c6a8b71072a61d71
https://github.com/llvm/llvm-project/commit/71dbf1492bada3a93d49f681c6a8b71072a61d71
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
Log Message:
-----------
[clang][bytecode][NFC] Remove Descriptor::MoveFn (#152317)
We don't use this anymore.
Commit: c9eff91ef1c7af02e68a4897c476dab0afbfff77
https://github.com/llvm/llvm-project/commit/c9eff91ef1c7af02e68a4897c476dab0afbfff77
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M .github/workflows/check-ci.yml
Log Message:
-----------
[CI][Github] Only run CI Checks Workflow on Push for Main
Currently the check-ci workflow runs on the push event as well
regardless of the branch which means the workflow runs twice on stacked
PRs. Not a big deal, but a bit weird to see the same workflow running
twice in a PR.
Commit: b1482aa91b16e46cfed46cb4c4c41cfe34dfd434
https://github.com/llvm/llvm-project/commit/b1482aa91b16e46cfed46cb4c4c41cfe34dfd434
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++] Fix incorrect down cast in __tree::operator= (#152285)
This has been introduced by #151304. This problem is diagnosed by UBSan
with optimizations enabled. Since we run UBSan only with optimizations
disabled currently, this isn't caught in our CI. We should look into
enabling UBSan with optimizations enabled to catch these sorts of issues
before landing a patch.
Commit: 0e3a17c70d3f8bec3495a3331e134e361bb00928
https://github.com/llvm/llvm-project/commit/0e3a17c70d3f8bec3495a3331e134e361bb00928
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libc/src/__support/FPUtil/generic/add_sub.h
Log Message:
-----------
[libc][math] Fix gcc buildbot failure (#152320)
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Commit: 832ceda0c05f6db440a220860b3006f967f3bfd0
https://github.com/llvm/llvm-project/commit/832ceda0c05f6db440a220860b3006f967f3bfd0
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
Log Message:
-----------
[SystemZ] Avoid modifying IR in mcount instrumentation. (#152298)
This PR changes how the call to `mcount` is inserted in `emitPrologue`.
It is now emitted as an external symbol rather than a global variable,
preventing potentially unexpected IR modification.
Fixes: https://github.com/llvm/llvm-project/issues/152238
Commit: d8c43e6236087ba754a5466203e80d3b59389119
https://github.com/llvm/llvm-project/commit/d8c43e6236087ba754a5466203e80d3b59389119
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github][CI] Add python-is-python3 to CI container
This patch adds the python-is-python3 package to the CI container.
Windows by default uses python instead of python3, which prevents
code sharing without additionaly hackery. This should fix that and
allow for #152199 to land.
Commit: 4784ce9ebcf60274985b8fe9bf4d4eb8c734ce38
https://github.com/llvm/llvm-project/commit/4784ce9ebcf60274985b8fe9bf4d4eb8c734ce38
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Check an external user before trying to address it in debug dump, NFC
Commit: 056608a2821e34752b1e47f73a8d544b5c9ad787
https://github.com/llvm/llvm-project/commit/056608a2821e34752b1e47f73a8d544b5c9ad787
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC][NFC] Remove temporary assert from CIndex OpenACCBindClause
This was left over from implementation and shouldn't have been left in,
but in the end 'bind' doesn't require any additional work here, so this
patch removes the assert.
Commit: 3686e5b52f2a02c1c19050479d1dd0fd9d1dd4f8
https://github.com/llvm/llvm-project/commit/3686e5b52f2a02c1c19050479d1dd0fd9d1dd4f8
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
Log Message:
-----------
[lldb] Eliminate (_)Py_IsFinalizing (NFC) (#152226)
Looking at the implementation of `pylifecycle.c` in cpython, finalizing
and initialized are set at the same time. Therefore we can eliminate the
call to `Py_IsFinalizing` and only check `Py_IsInitialized`, which is
part of the stable API.
I converted the check to an assert and confirmed that during my test
suite runs, we never got into the if block. Because we check before
taking the lock, there is an opportunity for a race, but that exact same
race exists with the original code.
Commit: 8e57689c34f0b0af70f9aaf009c3be0e85d90dda
https://github.com/llvm/llvm-project/commit/8e57689c34f0b0af70f9aaf009c3be0e85d90dda
Author: Daniel Henrique Barboza <dbarboza at ventanamicro.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/misched-load-clustering.ll
M llvm/test/CodeGen/RISCV/misched-mem-clustering.mir
A llvm/test/CodeGen/RISCV/misched-store-clustering.ll
Log Message:
-----------
[RISCV] add load/store misched/PostRA subtarget features (#149409)
Some processors benefit more from store clustering than load clustering,
and vice-versa, depending on factors that are exclusive to each one
(e.g. macrofusions implemented).
Likewise, certain optimizations benefits more from misched clustering
than postRA clustering. Macrofusions are again an example: in a
processor with store pair macrofusions, like the veyron-v1, it is
observed that misched clustering increases the amount of macrofusions
more than postRA clustering. This of course isn't necessarily true for
other processors, but it shows that processors can benefit from a more
fine grained control of clustering mutations, and each one is able to do
it differently.
Add 4 new subtarget features that deprecates the existing
riscv-misched-load-store-clustering and
riscv-postmisched-load-store-clustering
options:
- disable-misched-load-clustering and disable-misched-store-clustering:
disable load/store clustering during misched;
- disable-postmisched-load-clustering and
disable-postmisched-store-clustering:
disable load/store clustering during PostRA.
Note that the new subtarget features disables specific stages of the
default
clustering settings. The default per se (load and store clustering for
both
misched and PostRA) is left untouched.
Disable all clustering but misched-store-clustering for the veyron-v1
processor
using the new features.
Commit: ef9834c5e846f794ddee4c0a530e280da0c8ad67
https://github.com/llvm/llvm-project/commit/ef9834c5e846f794ddee4c0a530e280da0c8ad67
Author: Daniel Rodríguez Troitiño <danielrodriguez at meta.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/test/tools/llvm-objdump/MachO/bad-trie.test
Log Message:
-----------
[llvm-objdump] Fix typo in error messages (#152234)
Some error messages were spelling "children" as "childern".
Commit: e232f05dfd0e2bc0eb060c8a7e6f5c946395358d
https://github.com/llvm/llvm-project/commit/e232f05dfd0e2bc0eb060c8a7e6f5c946395358d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
Log Message:
-----------
[RISCV] Add packw+packh isel pattern for unaligned loads on RV64. (#152159)
This is similar to an existing pattern from RV32 with the
simpliflication proposed by #152045. Instead of pack we need to use
packw and we need to know that the upper 32 bits are being ignored since
packw sign extends from bit 31.
The use of allBinOpWUsers prevents tablegen from automatically
reassociating the pattern so we need to do it manually. Tablegen is
still able to commute operands though.
Commit: 57045a137f97fe4e05d5d9581c0b2e4fd6c729e1
https://github.com/llvm/llvm-project/commit/57045a137f97fe4e05d5d9581c0b2e4fd6c729e1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAGCombiner] Avoid repeated calls to WideVT.getScalarSizeInBits() in DAGCombiner::mergeTruncStores. NFC (#152231)
We already have a variable, WideNumBits, that contains the same
information. Use it and delay the creation of WideVT until we really
need it.
Commit: 09146a21a5a7bbea19b5203d585682de519a213c
https://github.com/llvm/llvm-project/commit/09146a21a5a7bbea19b5203d585682de519a213c
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/LTO/LTOModule.cpp
Log Message:
-----------
[LegacyLTO] Emit the error message that was silently dropped (#152172)
Using LLVMContext to emit the error from `TargetRegistry::lookupTarget`
that was silently ignored and not propagated. This allows user to better
identify the kind of error occured.
rdar://157542119
Commit: 4c9bb656393559437d72ac6d0b17c421dd5463bb
https://github.com/llvm/llvm-project/commit/4c9bb656393559437d72ac6d0b17c421dd5463bb
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
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
M clang/test/CIR/CodeGen/complex-arithmetic.cpp
A clang/test/CIR/CodeGen/complex-compound-assignment.cpp
Log Message:
-----------
[CIR] Plus & Minus CompoundAssignment support for ComplexType (#150759)
This change adds support for Plus & Minus CompoundAssignment for
ComplexType
https://github.com/llvm/llvm-project/issues/141365
Commit: ab4090981012d4be142d0291aae7ed31ecf3ca9b
https://github.com/llvm/llvm-project/commit/ab4090981012d4be142d0291aae7ed31ecf3ca9b
Author: Sean Fertile <sd.fertile at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/aix-nest-param.ll
M llvm/test/CodeGen/PowerPC/aix-trampoline.ll
Log Message:
-----------
Implement the trampoline intrinsics and nest parameter for AIX. (#149388)
We can expand the init intrinsic to create a descriptor for the nested
procedure by combining the entry point and TOC pointer from the global
descriptor with the nest argument. The normal indirect call sequence
then calls the nested procedure through the descriptor like all other
calls. Patch also implements support for a nest parameter by mapping it
to gpr 11.
Commit: 180d162ca2b08f24702235cb6ce4b8be714efad8
https://github.com/llvm/llvm-project/commit/180d162ca2b08f24702235cb6ce4b8be714efad8
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
Log Message:
-----------
[analyzer] Remove impossible BugType from CStringChecker (#152163)
CStringChecker had an AdditionOverflow bug type which was intended for a
situation where the analyzer concludes that the addition of two
size/length values overflows `size_t`.
I strongly suspect that the analyzer could emit bugs of this type in
certain complex corner cases (e.g. due to inaccurate cast modeling), but
these reports would be all false positives because in the real world the
sum of two size/length values is always far below SIZE_MAX. (Although
note that there was no test where the analyzer emitted a bug with this
type.)
To simplify the code (and perhaps eliminate false positives), I
eliminated this bug type and replaced code that emits it by a simple
`addSink()` call (because we still want to get rid of the execution
paths where the analyzer has invalid assumptions).
Commit: 01b0fe3104d633d67d33a963142a54cd500e6b3c
https://github.com/llvm/llvm-project/commit/01b0fe3104d633d67d33a963142a54cd500e6b3c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[CI][NFC] Explicitly add libcxx/libcxxabi/libunwind to excludes (#152210)
This patch adds libcxx/libcxxabi/libunwind to the excludes list in
compute_projects.py for both Windows and MacOS. Neither of these
platforms have ever built the runtimes as the scripts do not have
support for it. Explicitly disable them so that compute_projects_test.py
is more consistent.
Commit: c548c47476ee3f4578db2ca4f82e097a728b5bff
https://github.com/llvm/llvm-project/commit/c548c47476ee3f4578db2ca4f82e097a728b5bff
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/test/CodeGenCXX/dynamic-cast-exact-disabled.cpp
M clang/test/CodeGenCXX/dynamic-cast-exact.cpp
Log Message:
-----------
[clang] Fix crash in dynamic_cast final class optimization (#152076)
This corrects the codegen for the final class optimization to
correct handle the case where there is no path to perform the
cast, and also corrects the codegen to handle ptrauth protected
vtable pointers.
As part of this fix we separate out the path computation as
that makes it easier to reason about the failure code paths
and more importantly means we can know what the type of the
this object is during the cast.
The allows us to use the GetVTablePointer interface which
correctly performs the authentication operations required when
pointer authentication is enabled. This still leaves incorrect
authentication behavior in the multiple inheritance case but
currently the optimization is disabled entirely if pointer
authentication is enabled.
Fixes #137518
Commit: f538f1ad972bd472104873869fd986469a53c57e
https://github.com/llvm/llvm-project/commit/f538f1ad972bd472104873869fd986469a53c57e
Author: Michael Jones <michaelrj at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCObjectRules.cmake
Log Message:
-----------
[libc] warn when depending on public entrypoints (#146163)
Add a cmake warning when an entrypoint or object library depends on a
public entrypoint.
Commit: 25bf86fedeb0dd46f4d3b6a434ef02e4e37c89f5
https://github.com/llvm/llvm-project/commit/25bf86fedeb0dd46f4d3b6a434ef02e4e37c89f5
Author: Steven Perron <stevenperron at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/SPIRV.h
A llvm/lib/Target/SPIRV/SPIRVLegalizeImplicitBinding.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
A llvm/test/CodeGen/SPIRV/hlsl-resources/ImplicitBinding.ll
Log Message:
-----------
[SPIRV] Add pass to replace gethandlefromimplicitbinding (#146756)
The HLSL frontend generates call to the intrinsic
@llvm.spv.resource.handlefromimplicitbinding to be able to access a
resource where the set and binding were not explicitly given in the
source code. Determining the correct set and binding cannot be done
during Clang's codegen or earlier because in DXIL, they must first
remove resource that are not accessed before assigning binding locations
to the resource without an explicit binding.
We will follow their lead.
This is a change from DXC, where implicit binding for SPIR-V are
assigned before optimizations.
See https://github.com/llvm/wg-hlsl/pull/309
Commit: b291d02a93bcd24c34cdc0febc327270dc9ceb0c
https://github.com/llvm/llvm-project/commit/b291d02a93bcd24c34cdc0febc327270dc9ceb0c
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC][NFCI] Add extra data to firstprivate recipe AST node
During implementation I found that I need some additional data in the
AST node for codegen, so this patch adds the second declaration
reference.
Commit: bb2642fab70fb4d59e431e01e319dcf6b90d88d8
https://github.com/llvm/llvm-project/commit/bb2642fab70fb4d59e431e01e319dcf6b90d88d8
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
Log Message:
-----------
[vscode-lldb] Fix race condition when changing lldb-dap arguments (#151828)
# Problem
When the user changes lldb-dap's arguments (e.g. path), there is a race
condition, where the new lldb-dap process could be started first and
have set the extension's `serverProcess` and `serverInfo` according to
the new process, while the old lldb-dap process exits later and wipes
out these two fields.
Consequences:
1. This causes `getServerProcess()` to return `undefined` when it should
return the new process.
2. This also causes wrong behavior when starting the next debug session
that a new lldb-dap process will be started and the old not reused nor
killed.
# Fix
When wiping the two fields, check if `serverProcess` equals to the
process captured by the handler. If they equal, wipe the fields. If not,
then the fields have already been updated (either new process has
started, or the fields were already wiped out by another handler), and
so the wiping should be skipped.
Commit: ec138c7fa71d8b6d3894bc6d1c384a4cc3fa506e
https://github.com/llvm/llvm-project/commit/ec138c7fa71d8b6d3894bc6d1c384a4cc3fa506e
Author: Douglas <Douglas.Gliner at sony.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
Log Message:
-----------
[OpenACC] Improve C++20 compatibility of private/firstprivate test (#152233)
Under C++17, `DeletedCopy` and `DefaultedCopy` in the test
`clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp`
are eligible for aggregate initialization. Under C++20 and up, that is
no longer the case. Therefore, an explicit constructor must be declared
to avoid additional diagnostics which the test does not expect.
This test was failing in our downstream testing where our toolchain uses
C++20 as the default dialect.
See this reduced example for more details:
https://godbolt.org/z/46oErYT43
Commit: 3f0c180ca07faf536d2ae0d69ec044fcd5a78716
https://github.com/llvm/llvm-project/commit/3f0c180ca07faf536d2ae0d69ec044fcd5a78716
Author: Jann Horn <jannh at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
A llvm/test/DebugInfo/X86/DW_AT_alloc_type.ll
Log Message:
-----------
[DebugInfo][DWARF] Add heapallocsite information (#132073)
LLVM currently stores heapallocsite information in CodeView debuginfo,
but not in DWARF debuginfo. Plumb it into DWARF as an LLVM-specific
extension.
heapallocsite debug information is useful when it is combined with
allocator instrumentation that stores caller addresses; I've used a
previous version of this patch for:
- analyzing memory usage by object type
- analyzing the distributions of values of class members
Other possible uses might be:
- attributing memory access profiles (for example, on Intel CPUs, from
PEBS records with Linear Data Address) to object types or specific
object members
- adding type information to crash/ASAN reports
Commit: 51e825dbfbe67ebad88c1912452db8fac0489439
https://github.com/llvm/llvm-project/commit/51e825dbfbe67ebad88c1912452db8fac0489439
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/source/Target/StackFrameRecognizer.cpp
Log Message:
-----------
[lldb] Use const ref for looping over frame recognizers (NFC) (#152334)
Commit: 0a23b22d1d43b2816e67aa8c328365b9bf114c74
https://github.com/llvm/llvm-project/commit/0a23b22d1d43b2816e67aa8c328365b9bf114c74
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Support/APFloat.cpp
M llvm/unittests/ADT/APFloatTest.cpp
Log Message:
-----------
[APFloat] Properly implement DoubleAPFloat::roundToIntegral
The previous implementation did not correctly handle double-doubles like
0x1p100 + 0x1p1 as the low order component would need more than a
106-bit significand to represent.
Commit: 477a65a051ce151895193f8dede1262fdc251132
https://github.com/llvm/llvm-project/commit/477a65a051ce151895193f8dede1262fdc251132
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/TextAPI/Architecture.def
M llvm/include/llvm/TextAPI/Architecture.h
M llvm/lib/TextAPI/Architecture.cpp
M llvm/lib/TextAPI/TextStubCommon.cpp
Log Message:
-----------
[TextAPI] Seperate out Arch name from enum label, NFCI (#152332)
The enum label e.g. `AK_arm64` is often the same as the architecture
name, but doesn't have to be. Seperate it out.
Commit: 503c0908c3450d228debd64baecf41df8f58476e
https://github.com/llvm/llvm-project/commit/503c0908c3450d228debd64baecf41df8f58476e
Author: Michael Jones <michaelrj at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libc/src/wctype/iswalpha.cpp
M libc/src/wctype/iswalpha.h
M libc/test/src/wctype/iswalpha_test.cpp
Log Message:
-----------
[libc] fix iswalpha signiture and test (#152343)
The iswalpha function is only working for characters in the ascii range
right now, which isn't ideal. Also it was returning a bool when the
function is supposed to return an int.
Commit: 266a1a819a4ed8b2a12cb47f088197e4dd038a54
https://github.com/llvm/llvm-project/commit/266a1a819a4ed8b2a12cb47f088197e4dd038a54
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang-tools-extra/test/clang-tidy/infrastructure/diagnostic.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/export-relpath.cpp
Log Message:
-----------
[clang-tools-extra][test] Fix missed %T removals from #151538 (#152345)
These tests are failing on our bots presumably due to these missing %T
replacements.
Commit: a1209d868632b8aea10450cd2323848ab0b6776a
https://github.com/llvm/llvm-project/commit/a1209d868632b8aea10450cd2323848ab0b6776a
Author: Andrew Lazarev <alazarev at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
A compiler-rt/test/ubsan_minimal/TestCases/misalignment.cpp
A compiler-rt/test/ubsan_minimal/TestCases/null.cpp
Log Message:
-----------
[ubsan_minimal] Allow UBSan handler from Minimal runtime to accept arguments (#152192)
+ Changed type_mismatch minimal handler to accept and print pointer.
This will allow to distinguish null pointer use, misallignment and
incorrect object size.
The change increases binary size by ~1% and has almost no performance
impact.
Fixes #149943
Commit: a418fa7cdcf4f334a1955389fcec483ea2c77c44
https://github.com/llvm/llvm-project/commit/a418fa7cdcf4f334a1955389fcec483ea2c77c44
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/TargetParser/Host.h
M llvm/lib/TargetParser/Host.cpp
M llvm/unittests/TargetParser/Host.cpp
Log Message:
-----------
[win][aarch64] Add support for detecting the Host CPU on Arm64 Windows (#151596)
Uses the `CP 4000` registry keys under
`HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\*` to get the
Implementer and Part, which is then provided to a modified form of
`getHostCPUNameForARM` to map to a CPU.
On my local Surface Pro 11 `llc --version` reports:
```
> .\build\bin\llc.exe --version
LLVM (http://llvm.org/):
LLVM version 22.0.0git
Optimized build with assertions.
Default target: aarch64-pc-windows-msvc
Host CPU: oryon-1
```
Commit: 0e0ea714f3079341b9e11eb478eb85400423ee7c
https://github.com/llvm/llvm-project/commit/0e0ea714f3079341b9e11eb478eb85400423ee7c
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/docs/resources/lldbdap.md
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
M lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
M lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
Log Message:
-----------
[vscode-lldb] Add VS Code commands for high level debug workflow (#151827)
This allows other debugger extensions to leverage the `lldb-dap`
extension's settings and logic (e.g. "Server Mode").
Other debugger extensions can invoke these commands to resolve
configuration, create adapter descriptor, and get the `lldb-dap` process
for state tracking, additional interaction, and telemetry.
VS Code commands added:
* `lldb-dap.resolveDebugConfiguration`
* `lldb-dap.resolveDebugConfigurationWithSubstitutedVariables`
* `lldb-dap.createDebugAdapterDescriptor`
* `lldb-dap.getServerProcess`
Commit: 35bd40d321ccb2e646c112418ef32318dd0e040b
https://github.com/llvm/llvm-project/commit/35bd40d321ccb2e646c112418ef32318dd0e040b
Author: Daniel Henrique Barboza <dbarboza at ventanamicro.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMacroFusion.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/macro-fusions.mir
Log Message:
-----------
[RISCV] add more generic macrofusions (#151140)
These are some macrofusions that are used internally in Ventana in an
yet not upstreamed processor. Figured it would be good to contribute
them ahead of the processor to allow the community to also use them in
their own processors, while also alleaviting our own downstream upkeep.
The macrofusions being added are, considering load =
lb,lh,lw,ld,lbu,lhu,lwu:
- bfext (slli+srli)
- auipc+load
- lui+load
- add(.uw)+load
- addi+load
- shXadd(.uw)+load, where X=1,2,3
Commit: 32161e9de36a747dde22a06c1c99a6091eb2920b
https://github.com/llvm/llvm-project/commit/32161e9de36a747dde22a06c1c99a6091eb2920b
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/fold-operands-frame-index.mir
M llvm/test/CodeGen/AMDGPU/fold-sgpr-multi-imm.mir
M llvm/test/CodeGen/AMDGPU/frame-index-elimination.ll
M llvm/test/CodeGen/AMDGPU/issue130120-eliminate-frame-index.ll
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
A llvm/test/CodeGen/AMDGPU/no-folding-imm-to-inst-with-fi.ll
Log Message:
-----------
[AMDGPU] Do not fold an immediate into instructions with frame indexes (#151263)
Do not fold an immediate into an instruction that already has a frame
index operand. A frame index could possibly turn out to be another immediate.
Fixes: SWDEV-536263
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 3404c0b01302f1c4df0f9e7e61d22dc6f44674db
https://github.com/llvm/llvm-project/commit/3404c0b01302f1c4df0f9e7e61d22dc6f44674db
Author: Mikhail Gudim <mgudim at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-loads.ll
Log Message:
-----------
Slp basic test (#152355)
Add a basic test for SLPVectorizer to make sure that upcoming
refactoring patches don't break anything. Also, record a test for a
missed opportunity.
Commit: 80cf436a27be535b93fa453faa11c983ea59d444
https://github.com/llvm/llvm-project/commit/80cf436a27be535b93fa453faa11c983ea59d444
Author: lntue <lntue at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libc/test/src/stdfix/BitsFxTest.h
Log Message:
-----------
[libc] Fix undefined behavior in BitsFxTest.h (#152347)
Commit: 25d1285eecbab731eaf418c8aab44e4eb5f9e538
https://github.com/llvm/llvm-project/commit/25d1285eecbab731eaf418c8aab44e4eb5f9e538
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr73894.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-known-no-overflow.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vector-loop-backedge-elimination-with-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
M llvm/test/Transforms/LoopVectorize/X86/scev-checks-unprofitable.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-interleaved-accesses-gap.ll
M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll
M llvm/test/Transforms/LoopVectorize/loop-form.ll
M llvm/test/Transforms/LoopVectorize/memdep-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/pr46525-expander-insertpoint.ll
M llvm/test/Transforms/LoopVectorize/pr51614-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/predicatedinst-loop-invariant.ll
M llvm/test/Transforms/LoopVectorize/scalable-predication.ll
M llvm/test/Transforms/LoopVectorize/select-reduction.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/strict-fadd-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-alloca-in-loop.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-switch.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
Log Message:
-----------
[VPlan] Replace single-entry VPPhis with their incoming values.
Replace trivial, single-entry VPPhis with their incoming values,
Commit: 092388171f3f6c40b9244cc2ffbc89ce266680fd
https://github.com/llvm/llvm-project/commit/092388171f3f6c40b9244cc2ffbc89ce266680fd
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Introduce m_[Specific]ICmp matcher (#151540)
Commit: 3692c73ce415618351640497232cc07a8780d4c2
https://github.com/llvm/llvm-project/commit/3692c73ce415618351640497232cc07a8780d4c2
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/test/Dialect/Linalg/vectorization/linalg-ops.mlir
Log Message:
-----------
[mlir][linalg] Enable scalable vectorization of linalg.unpack (#149293)
This patch updates `vectorizeAsTensorUnpackOp` to support scalable
vectorization by requiring user-specified vector sizes for the _read_ operation
(rather than the _write_ operation) in `linalg.unpack`.
Conceptually, `linalg.unpack` consists of these high-level steps:
* **Read** from the source tensor using `vector.transfer_read`.
* **Transpose** the read value according to the permutation in the
`linalg.unpack` op (via `vector.transpose`).
* **Re-associate** dimensions of the transposed value, as specified by the op
(via `vector.shape_cast`)
* **Write** the result into the destination tensor via
`vector.transfer_write`.
Previously, the vector sizes provided by the user were interpreted as
write-vector sizes. These were used to:
* Infer read-vector sizes using the `inner_tiles` attribute of the unpack op.
* Deduce vector sizes for the transpose and shape cast operations.
* Ultimately determine the vector shape for the write.
However, this logic breaks when one or more tile sizes are dynamic. In such
cases, `vectorizeUnPackOpPrecondition` fails, and vectorization is rejected.
This patch switches the contract: users now directly specify the
"read-vector-sizes", which inherently encode all inner tile sizes - including
dynamic ones. It becomes the user's responsibility to provide valid sizes.
In practice, since `linalg.unpack` is typically constructed, tiled, and
vectorized by the same transformation pipeline, the necessary
"read-vector-sizes" should be recoverable.
Commit: 59231115b084474287fa85c8fc20697646373cc3
https://github.com/llvm/llvm-project/commit/59231115b084474287fa85c8fc20697646373cc3
Author: Anna Thomas <anna at azul.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-variable-size.ll
Log Message:
-----------
[Loads] Precommit tests for #149551. NFC
Add these tests that currently require predicated loads due to variable
start SCEV.
Commit: 0491d8bda73f88f5faff8523613f3dce19080b15
https://github.com/llvm/llvm-project/commit/0491d8bda73f88f5faff8523613f3dce19080b15
Author: David Green <david.green at arm.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-ext.ll
Log Message:
-----------
[AArch64] Treat single-vector ext as legal shuffle masks. (#151909)
We can generate ext from shuffles like <2, 3, 0, 1> from a single vector
source. Add handling to isShuffleMaskLegal to allow DAG combines to
optimize to it.
Commit: cae7bebcaa41e4c459e973b9688215f5a57bcb56
https://github.com/llvm/llvm-project/commit/cae7bebcaa41e4c459e973b9688215f5a57bcb56
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M flang-rt/lib/runtime/extensions.cpp
M flang/include/flang/Runtime/extensions.h
Log Message:
-----------
[flang-rt] Runtime implementation of extended intrinsic function SECNDS() (#152021)
Until the compiler part is fully hooked up via
https://github.com/llvm/llvm-project/pull/151878, tested this using
`external`:
```
external secnds
real s1, s2
s1 = secnds(0.0)
print *, "Seconds from midnight:", s1
call sleep(2)
s2 = secnds(s1)
print *, "Seconds from s1", s2
print *, "Seconds from midnight:", secnds(0.0)
end
```
Commit: 334d0be2d496af6c511d2efb183b862e7d911329
https://github.com/llvm/llvm-project/commit/334d0be2d496af6c511d2efb183b862e7d911329
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
Log Message:
-----------
[AMDGPU] Support 64-bit LDS atomic fadd on gfx1250 (#152368)
Commit: c2eddec4ff42eca8a93e3f8a0531dfb6e60a61ca
https://github.com/llvm/llvm-project/commit/c2eddec4ff42eca8a93e3f8a0531dfb6e60a61ca
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/atomics-system-scope.ll
M llvm/test/CodeGen/AMDGPU/literal64.ll
Log Message:
-----------
[AMDGPU] System scope atomics are emulated over PCIe in gfx1250 (#152369)
HW will emulate unsupported PCIe atomics via CAS loop, we do not need to
expand these anymore.
Commit: 26dde15ed4f1310fa5df3baf03d802ea1cf009b8
https://github.com/llvm/llvm-project/commit/26dde15ed4f1310fa5df3baf03d802ea1cf009b8
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
M clang/test/SemaOpenACC/sub-array.cpp
Log Message:
-----------
[OpenACC] Add warning for VLAs in a private/firstprivate clause
private/firstprivate typically do copy operations, however copying a VLA
isn't really possible. This patch introduces a warning to alert the
person that this copy isn't happening correctly.
As a future direction, we MIGHT consider doing additional work to make
sure they are initialized/copied/deleted/etc correctly.
Commit: 5a47a1828abeefe72c82f732b446cc319ef65a31
https://github.com/llvm/llvm-project/commit/5a47a1828abeefe72c82f732b446cc319ef65a31
Author: cmtice <cmtice at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libcxx/docs/Contributing.rst
Log Message:
-----------
[libcxx] Update testing documentation about CI container images. (#149192)
Add information to the libcxx testing documentation, about the names of
the new CI libcxx runner sets, their current values, and how to change
the values or the runner set being used.
Commit: d1b6ce50dffcc70cd1610515527b4645b1136d1c
https://github.com/llvm/llvm-project/commit/d1b6ce50dffcc70cd1610515527b4645b1136d1c
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
Log Message:
-----------
[AMDGPU] gfx1250 has fixed GETPC bug and also extended VA to 57 bits (#152373)
Commit: 381623eb11cefd3ac21a36d028ba4832643010ef
https://github.com/llvm/llvm-project/commit/381623eb11cefd3ac21a36d028ba4832643010ef
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Port #151228: BFloat16 (#152377)
Commit: 351b38f266718d862aa122e56667d6582625c918
https://github.com/llvm/llvm-project/commit/351b38f266718d862aa122e56667d6582625c918
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/addrspacecast.mir
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/addrspacecast.ll
Log Message:
-----------
[AMDGPU] Mark address space cast from private to flat as divergent if target supports globally addressable scratch (#152376)
Globally addressable scratch is a new feature introduced in gfx1250.
However, this feature changes how scratch space is mapped into the flat
aperture, making address space casts from private to flat no longer
uniform.
Commit: 184821b63d769e48d8b89f70e8f7a5adbe429fae
https://github.com/llvm/llvm-project/commit/184821b63d769e48d8b89f70e8f7a5adbe429fae
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/test/MC/AMDGPU/gfx1250_asm_ds.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_ds.txt
Log Message:
-----------
[AMDGPU] Add gfx1250 DS MC tests. NFC. (#152378)
Commit: 87404eaf0445c7e67091e4e71d6c1cfa6fd0edd4
https://github.com/llvm/llvm-project/commit/87404eaf0445c7e67091e4e71d6c1cfa6fd0edd4
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M lldb/unittests/Expression/DWARFExpressionTest.cpp
Log Message:
-----------
[lldb] Fix undefined behavior in DWARFExpressionTest
RegisterInfo is a trivial class and doesn't default initialize its
members. Thanks Alex for getting to the bottom of this.
Commit: c3103068b713dbed8d8ac75b165086a1a19c89e9
https://github.com/llvm/llvm-project/commit/c3103068b713dbed8d8ac75b165086a1a19c89e9
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
A llvm/test/MC/AMDGPU/gfx1250_asm_features.s
M llvm/test/MC/AMDGPU/gfx1250_asm_unsupported.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vbuffer_mubuf.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_err.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop2_err.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3cx.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3p_dpp16.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3p_dpp8.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vsample_err.s
M llvm/test/MC/AMDGPU/gfx1250_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vbuffer_mubuf.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3cx.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3p_dpp16.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3p_dpp8.txt
Log Message:
-----------
[AMDGPU] Add more gfx1250 MC tests. NFC. (#152388)
These are already working, but left downstream.
Commit: 83e5a99ff6a5662b6e7fd6a0f9f21d70458022c2
https://github.com/llvm/llvm-project/commit/83e5a99ff6a5662b6e7fd6a0f9f21d70458022c2
Author: hidekisaito <hidekido at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/test/lit.cfg
M offload/test/sanitizer/use_after_free_2.c
A offload/test/sanitizer/use_after_free_3.c
Log Message:
-----------
[AMDGPU][Offload] Enable memory manager use for up to ~3GB allocation size in omp_target_alloc (#151882)
Enables AMD data center class GPUs to use memory manager memory pooling
up to 3GB allocation by default, up from the "1 << 13" threshold that
all plugin-nextgen devices use.
Commit: 66392a8d8d81e66ec09452d35c85147dafb07571
https://github.com/llvm/llvm-project/commit/66392a8d8d81e66ec09452d35c85147dafb07571
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
M llvm/test/MC/AMDGPU/gfx1250_asm_operands.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_operands.txt
Log Message:
-----------
[AMDGPU] Add XNACK_STATE_PRIV and _MASK gfx1250 registers (#152374)
Co-authored-by: Pierre Vanhoutryve <pierre.vanhoutryve at amd.com>
Co-authored-by: Pierre Vanhoutryve <pierre.vanhoutryve at amd.com>
Commit: 281e6d2cc498d05f3ca601e3b1d595420e7ed827
https://github.com/llvm/llvm-project/commit/281e6d2cc498d05f3ca601e3b1d595420e7ed827
Author: Md Abdullah Shahneous Bari <98356296+mshahneo at users.noreply.github.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M mlir/CMakeLists.txt
R mlir/cmake/modules/FindLevelZero.cmake
A mlir/cmake/modules/FindLevelZeroRuntime.cmake
M mlir/lib/ExecutionEngine/CMakeLists.txt
A mlir/lib/ExecutionEngine/LevelZeroRuntimeWrappers.cpp
M mlir/test/CMakeLists.txt
A mlir/test/Integration/GPU/LevelZero/gpu-addf32-to-spirv.mlir
A mlir/test/Integration/GPU/LevelZero/gpu-addi64-to-spirv.mlir
A mlir/test/Integration/GPU/LevelZero/gpu-memcpy-addf32-to-spirv.mlir
A mlir/test/Integration/GPU/LevelZero/gpu-reluf32-to-spirv.mlir
A mlir/test/Integration/GPU/LevelZero/lit.local.cfg
M mlir/test/lit.cfg.py
M mlir/test/lit.site.cfg.py.in
Log Message:
-----------
[mlir][ExecutionEngine] Add LevelZeroRuntimeWrapper. (#151038)
Adds LevelZeroRuntime wrapper and tests.
Co-authored-by: Artem Kroviakov <artem.kroviakov at intel.com>
Co-authored-by: Nishant Patel <nishant.b.patel at intel.com>
---------
Co-authored-by: Artem Kroviakov <artem.kroviakov at intel.com>
Co-authored-by: Nishant Patel <nishant.b.patel at intel.com>
Commit: d54aa36146297ddfb764394c4f70b0758b75becd
https://github.com/llvm/llvm-project/commit/d54aa36146297ddfb764394c4f70b0758b75becd
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
A .ci/utils.sh
Log Message:
-----------
[CI] Refactor monolithic-* scripts to use common utils.sh
This patch refactors big chunks of the common functionality shared
between monolithic-linux.sh and monolithic-windows.sh to a separate
script, utils.sh, that is then sourced in both of the files. This makes
it a bit easier to maintain the scripts.
Platform differences should not be a large deal for the setup here as we
are using bash as the shell on both Linux and Windows.
Reviewers:
lnihlen, gburgessiv, Keenuts, DavidSpickett, dschuff, cmtice, Endilll
Reviewed By: DavidSpickett, cmtice
Pull Request: https://github.com/llvm/llvm-project/pull/152199
Commit: 885ddf4a3a4948b67ce5e792a97bf5148e8b479e
https://github.com/llvm/llvm-project/commit/885ddf4a3a4948b67ce5e792a97bf5148e8b479e
Author: lntue <lntue at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libc/src/__support/FPUtil/rounding_mode.h
Log Message:
-----------
[libc] Fix constexpr FPUtils rounding_mode.h functions. (#152342)
Commit: d897355876287e410d35f1f0ac74d79955d50dd4
https://github.com/llvm/llvm-project/commit/d897355876287e410d35f1f0ac74d79955d50dd4
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
A flang/include/flang/Lower/CUDA.h
R flang/include/flang/Lower/Cuda.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
A flang/lib/Lower/CUDA.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/test/Lower/CUDA/cuda-set-allocator.cuf
Log Message:
-----------
[flang][cuda] Set the allocator of derived type component after allocation (#152379)
- Move the allocator index set up after the allocate statement otherwise
the derived type descriptor is not allocated.
- Support array of derived-type with device component
Commit: f61526971f9c62118090443c8b97fab07ae9499f
https://github.com/llvm/llvm-project/commit/f61526971f9c62118090443c8b97fab07ae9499f
Author: Andrew Lazarev <alazarev at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
R llvm/test/Transforms/InstSimplify/ConstProp/WebAssembly/dot.ll
Log Message:
-----------
Revert "[WebAssembly] Constant fold wasm.dot" (#152382)
Reverts llvm/llvm-project#149619
It breaks ubsan bot:
https://lab.llvm.org/buildbot/#/builders/25/builds/10523
Earlier today the failure was hidden by another breakage that is fixed
now.
Commit: b296ea9c14af60f9b4faa26a39ecc52c1762c794
https://github.com/llvm/llvm-project/commit/b296ea9c14af60f9b4faa26a39ecc52c1762c794
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/CodeGen/AMDGPU/readcyclecounter.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_sop1.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_sop1.txt
Log Message:
-----------
[AMDGPU] s_get_shader_cycles_u64 gfx1250 instruction (#152390)
It is the same as reading SHADER_CYCLES_LO and SHADER_CYCLES_HI
but with a single instruction.
Commit: 09dbdf651470bb4c9e5b81986a47f7c495285fbe
https://github.com/llvm/llvm-project/commit/09dbdf651470bb4c9e5b81986a47f7c495285fbe
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang][Dependency Scanning] Move Module Timestamp Update After Compilation Finishes (#151774)
When two threads are accessing the same `pcm`, it is possible that the
reading thread sees the timestamp update, while the file on disk is not
updated.
This PR moves timestamp update from `writeAST` to
`compileModuleAndReadASTImpl`, so we only update the timestamp after the
file has been committed to disk.
rdar://152097193
Commit: e83abd774a4f7c09db26b886f8c686cdb373d1f7
https://github.com/llvm/llvm-project/commit/e83abd774a4f7c09db26b886f8c686cdb373d1f7
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libc/src/__support/wchar/character_converter.cpp
M libc/src/__support/wchar/character_converter.h
M libc/src/__support/wchar/mbsnrtowcs.h
M libc/src/__support/wchar/string_converter.h
M libc/src/__support/wchar/wcsnrtombs.h
M libc/test/src/__support/wchar/string_converter_test.cpp
Log Message:
-----------
[libc] Template StringConverter pop function to avoid duplicate code (#152204)
Addressed TODO to template the StringConverter pop functions to have a
single implementation (combine popUTF8 and popUTF32 into a single
templated pop function)
Commit: 7d3134f6cc59f47460646a13abcf824bae05d772
https://github.com/llvm/llvm-project/commit/7d3134f6cc59f47460646a13abcf824bae05d772
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
R flang/include/flang/Lower/CUDA.h
A flang/include/flang/Lower/Cuda.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
R flang/lib/Lower/CUDA.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/test/Lower/CUDA/cuda-set-allocator.cuf
Log Message:
-----------
Revert "[flang][cuda] Set the allocator of derived type component after allocation" (#152402)
Reverts llvm/llvm-project#152379
Buildbot failure
https://lab.llvm.org/buildbot/#/builders/207/builds/4905
Commit: a7f1702f2c5d4601de962cde14af35c313c16902
https://github.com/llvm/llvm-project/commit/a7f1702f2c5d4601de962cde14af35c313c16902
Author: Florian Mayer <fmayer at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M clang/test/CodeGen/cfi-icall-generalize.c
Log Message:
-----------
[NFC] [CFI] correct comment in test (#152399)
It incorrectly stated that `const char*` gets normalized to ptr, while
it should say that `char*` does.
Commit: c4846d29cdefc5fb6858ccf0378a8103b659016b
https://github.com/llvm/llvm-project/commit/c4846d29cdefc5fb6858ccf0378a8103b659016b
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M libc/src/__support/wchar/character_converter.cpp
M libc/src/__support/wchar/character_converter.h
Log Message:
-----------
[libc] Move CharacterConverter template specialization to cpp file (#152405)
Fixes build errors caused by #152204
Commit: acb5d0c211f72ba370bfeea7e5bf3b108f84895a
https://github.com/llvm/llvm-project/commit/acb5d0c211f72ba370bfeea7e5bf3b108f84895a
Author: Finn Plummer <mail at inbelic.dev>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/include/llvm/Support/ScopedPrinter.h
M llvm/lib/Frontend/HLSL/HLSLRootSignature.cpp
M llvm/lib/Frontend/HLSL/RootSignatureMetadata.cpp
Log Message:
-----------
[NFC][HLSL] Replace uses of `getResourceName`/`printEnum` (#152211)
Introduce the `enumToStringRef` enum into `ScopedPrinter.h` that
replicates `enumToString` behaviour, expect that instead of returning a
hex value string, it just returns an empty string. This allows us to
return a StringRef and easily check if an invalid enum was provided
based on the StringRef size
This then uses `enumToStringRef` to remove the redundant
`getResourceName` and `printEnum` functions.
Resolves: https://github.com/llvm/llvm-project/issues/151200.
Commit: 7694856fddbb3fed10076aefec75c9b512cc352e
https://github.com/llvm/llvm-project/commit/7694856fddbb3fed10076aefec75c9b512cc352e
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
Fix TargetParserTests for big-endian hosts (#152407)
The new `sys::detail::getHostCPUNameForARM` for Windows (#151596) was
implemented using a C++ bit-field, which caused the associated unit
tests to fail on big-endian machines as it assumed a little-endian
layout.
This change switches from the C++ bit-field to LLVM's `BitField` type
instead.
Commit: 3d1c1a5277835baa3d71c23b396d2cbe594505d1
https://github.com/llvm/llvm-project/commit/3d1c1a5277835baa3d71c23b396d2cbe594505d1
Author: Wenju He <wenju.he at intel.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Set TARGET_FILE property for prepare-${obj_suffix} target (#152245)
The target's output bitcode `libclc_builtins_lib` is located in a
sub-directory in clang resource directory since df7473673214. Setting
TARGET_FILE property can allow targets in non-libclc project to obtain
the path to `libclc_builtins_lib`.
Commit: 886b2133e372108da7b19bd2634c28bdbdf8d04a
https://github.com/llvm/llvm-project/commit/886b2133e372108da7b19bd2634c28bdbdf8d04a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/rv32zbkb.ll
M llvm/test/CodeGen/RISCV/rv64zbkb.ll
Log Message:
-----------
[RISCV] Relax one of the zexti8 in the PACKH+PACK(W)/SLLI patterns. (#152384)
For RV32 we don't need the byte shifted by 24 to be zero extend
since the extended bits are shifted out.
For RV64, we don't need the byte shifted by 24 to be zero extended
if the upper 32 bits of the result aren't demanded.
Commit: 01472d8e357caa10964241ab50b3449014d1be12
https://github.com/llvm/llvm-project/commit/01472d8e357caa10964241ab50b3449014d1be12
Author: Thurston Dang <thurston at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M compiler-rt/lib/asan/asan_mapping.h
Log Message:
-----------
[NFC][asan] Update shadow mapping comments for AArch64 non-Android Linux (#152412)
This adds commentary to explain why ASan does not work for AArch64
non-Android Linux with 39-bit and 42-bit VMAs (e.g.,
https://github.com/llvm/llvm-project/issues/145259).
Additionally, it updates the 42-bit VMA shadow map comment, which has
been outdated for the last 10 years
(18b2258c92df93c83bc7fce94c20baff3c06e2c6 changed 39-bit and 42-bit to
use the same offset), and adds a comment for the 48-bit VMA shadow map.
Commit: 04672e20d43679db4b13b8f9d19e3a2b748bca4f
https://github.com/llvm/llvm-project/commit/04672e20d43679db4b13b8f9d19e3a2b748bca4f
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILForwardHandleAccesses.cpp
A llvm/test/CodeGen/DirectX/issue-140819_allow_forward_handle_on_alloca.ll
Log Message:
-----------
[DirectX] ForwardHandle needs to check if globals were stored on allocas (#151751)
fixes #140819
SROA pass is making it so that some globals get loaded into stack
allocations. This means we find an alloca where we use to expect a load
and now need to walk an alloca -> store -> maybe load chain before we
find the global. Doing so fixes All but two instances of #137715 And
fixes every instance of `Load of "8.sroa.0" is not a global resource
handle we are currently seeing in the DML shaders.
Commit: 8381f95dec6d63158c034f7e173e37d97937b896
https://github.com/llvm/llvm-project/commit/8381f95dec6d63158c034f7e173e37d97937b896
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] Fix mlir/tests after 281e6d2cc498d05f3ca601e3b1d595420e7ed827 (#152413)
Commit: 2696e8c1499682f0b1f357d9035ed59f544892f8
https://github.com/llvm/llvm-project/commit/2696e8c1499682f0b1f357d9035ed59f544892f8
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda] Remove too restrictive assert for data transfer (#152398)
When the rhs is a an array element, the assert was triggered but this is
still a valid transfer. Remove the assert. The operation has a verifier
to check its validity.
Commit: a196281896de208fca1dde315e377a46ec9a2e66
https://github.com/llvm/llvm-project/commit/a196281896de208fca1dde315e377a46ec9a2e66
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M flang/include/flang/Support/Fortran.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Support/Fortran.cpp
R flang/test/Semantics/cuf17.cuf
Log Message:
-----------
[flang][cuda] Remove meaningless warning on CUDA shared arguments (#152404)
The warning in issued during the compatibility check makes little sense.
Just remove it as it is confusing.
Commit: df8da2ff8370fda479b5c118704af4f50e0d3536
https://github.com/llvm/llvm-project/commit/df8da2ff8370fda479b5c118704af4f50e0d3536
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/only-compute-cost-for-vplan-vfs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
Log Message:
-----------
[VPlan] Support VPWidenPointerInductionRecipes with EVL tail folding (#152110)
Now that VPWidenPointerInductionRecipes are modelled in VPlan in
#148274, we can support them in EVL tail folding.
We need to replace their VFxUF operand with EVL as the increment is not
guaranteed to always be VF on the penultimate iteration, and UF is
always 1 with EVL tail folding.
We also need to move the creation of the backedge value to the latch so
that EVL dominates it.
With this we will no longer fail to convert a VPlan to EVL tail folding,
so adjust tryAddExplicitVectorLength to account for this. This brings us
to 99.4% of all vector loops vectorized on SPEC CPU 2017 with tail
folding vs no tail folding.
The test in only-compute-cost-for-vplan-vfs.ll previously relied on
widened pointer inductions with EVL tail folding to end up in a scenario
with no vector VPlans, so this also replaces it with an unvectorizable
fixed-order recurrence test from
first-order-recurrence-multiply-recurrences.ll that also gets discarded.
Commit: 0168324523a2f6f804b2c2a2190d659b28456230
https://github.com/llvm/llvm-project/commit/0168324523a2f6f804b2c2a2190d659b28456230
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[CI] Test compiler-rt when it's changed (#152425)
Commit: 44af26ea2e0b0fedb74276f9678eba4df5f83aab
https://github.com/llvm/llvm-project/commit/44af26ea2e0b0fedb74276f9678eba4df5f83aab
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
Log Message:
-----------
[LV] Fix EVL test after merge. NFC
Test was modified in both 25d1285eecbab731eaf418c8aab44e4eb5f9e538 and
df8da2ff8370fda479b5c118704af4f50e0d3536
Commit: d9f9064cfae6929db3f55f6146ee23447b4f9f80
https://github.com/llvm/llvm-project/commit/d9f9064cfae6929db3f55f6146ee23447b4f9f80
Author: Sharjeel Khan <sharjeelkhan at google.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
Log Message:
-----------
[ubsan_minimal] Add address argument to Android's abort message function (#152419)
https://github.com/llvm/llvm-project/pull/152192 forgot to make the
argument changes to Android code in UBsan minimal causing a build error
for Android LLVM:
```
/b/f/w/src/git/out/llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:102:3: error: no matching function for call to 'format_msg'
102 | format_msg(kind, caller, msg_buf, msg_buf + sizeof(msg_buf));
| ^~~~~~~~~~
/b/f/w/src/git/out/llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:37:13:
note: candidate function not viable: requires 5 arguments, but 4 were
provided
37 | static void format_msg(const char *kind, uintptr_t caller,
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38 | const uintptr_t *address, char *buf,
const char *end) {
```
This change adds the address argument to abort_with_message just like
__ubsan_report_error_fatal so it can be passed to format_msg.
Commit: a04142f11f926d09059614a6170eff35a4ea6ff6
https://github.com/llvm/llvm-project/commit/a04142f11f926d09059614a6170eff35a4ea6ff6
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll
Log Message:
-----------
[LV][RISCV] Add check lines for scalable interleave costs. NFC
Previously we could only scalably vectorize interleave groups with
factor 2, but after 7ef77eb9984d1fb537a409cf4be89560fbb681fe we now
support all factors (available on RISC-V). So this adds the remaining
check lines for the scalable VFs.
Commit: 9a592d9a849dacf02ff571c81f2b3a805e9d13e5
https://github.com/llvm/llvm-project/commit/9a592d9a849dacf02ff571c81f2b3a805e9d13e5
Author: Princeton Ferro <pferro at nvidia.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/test/CodeGen/NVPTX/reduction-intrinsics.ll
Log Message:
-----------
[NVPTX] lower VECREDUCE min/max to 3-input on sm_100+ (#136253)
Add support for 3-input fmaxnum/fminnum/fmaximum/fminimum introduced in
PTX 8.8 for sm_100+:
- Use a tree reduction when 3-input operations are supported and the
reduction has the `reassoc` flag.
- If not on sm_100+/PTX 8.8, fallback to 2-input operations and use the
default shuffle reduction.
Commit: eb0ddba26b6a265b44b442ae666db43b9f28b26a
https://github.com/llvm/llvm-project/commit/eb0ddba26b6a265b44b442ae666db43b9f28b26a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
A flang/include/flang/Lower/CUDA.h
M flang/include/flang/Lower/ConvertVariable.h
R flang/include/flang/Lower/Cuda.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
A flang/lib/Lower/CUDA.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/test/Lower/CUDA/cuda-set-allocator.cuf
Log Message:
-----------
Reland "[flang][cuda] Set the allocator of derived type component after allocation" (#152418)
Reviewed in #152379
- Move the allocator index set up after the allocate statement otherwise
the derived type descriptor is not allocated.
- Support array of derived-type with device component
Commit: 35f003d13bce7f1a991d6a059c9c25e72009022c
https://github.com/llvm/llvm-project/commit/35f003d13bce7f1a991d6a059c9c25e72009022c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-06 (Wed, 06 Aug 2025)
Changed paths:
M flang/lib/Lower/CUDA.cpp
Log Message:
-----------
[flang][cuda] Fix buildbot after #152418 (#152437)
Commit: 13daf3b70c6e8991c846e8384de47c5e84a94480
https://github.com/llvm/llvm-project/commit/13daf3b70c6e8991c846e8384de47c5e84a94480
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/test/Transforms/GVN/PRE/phi-translate-2.ll
M llvm/test/Transforms/GVN/PRE/phi-translate-add.ll
M llvm/test/Transforms/GVN/PRE/phi-translate.ll
M llvm/test/Transforms/GVN/PRE/pre-aliasning-path.ll
M llvm/test/Transforms/GVN/PRE/pre-basic-add.ll
M llvm/test/Transforms/GVN/PRE/pre-jt-add.ll
M llvm/test/Transforms/GVN/PRE/pre-load-dbg.ll
M llvm/test/Transforms/GVN/PRE/pre-load-guards.ll
M llvm/test/Transforms/GVN/PRE/pre-load-implicit-cf-updates.ll
M llvm/test/Transforms/GVN/PRE/pre-load.ll
M llvm/test/Transforms/GVN/PRE/pre-loop-load-new-pm.ll
M llvm/test/Transforms/GVN/PRE/pre-no-cost-phi.ll
M llvm/test/Transforms/GVN/PRE/pre-poison-add.ll
M llvm/test/Transforms/GVN/PRE/pre-single-pred.ll
M llvm/test/Transforms/GVN/PRE/preserve-tbaa.ll
Log Message:
-----------
[GVN-PRE][Tests] Add MSSA coverage to some more tests [4/N] (#151919)
This should be the final PR for tests under PRE.
Commit: 0abf4975bbf176d393869d290d55748794e220c4
https://github.com/llvm/llvm-project/commit/0abf4975bbf176d393869d290d55748794e220c4
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Do not warn about class methods with libc function names (#151270)
This commit fixes the false positive that C++ class methods with libc
function names would be false warned about. For example,
```
struct T {void strcpy() const;};
void test(const T& t) { str.strcpy(); // no warn }
```
rdar://156264388
Commit: 0a72e6ddac0f9154b806c40992d1616fa86957d8
https://github.com/llvm/llvm-project/commit/0a72e6ddac0f9154b806c40992d1616fa86957d8
Author: Matthias Springer <me at m-sp.org>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] `ConversionPatternRewriter`: Add `config` getter (#152310)
Add a helper function to `ConversionPatternRewriter` that returns the
dialect conversion configuration. This flag is useful when migrating
conversion patterns to the new One-Shot Conversion Driver: patterns can
check if they are running in rollback mode or not. They can then work
around API changes and makes sure that the pattern keeps working with
both the old and new driver.
Also remove the `config` field from `OperationLegalizer`. That field was
never needed.
Commit: 71832a3139b454f8e714ff54e8bb0ea12dc095f5
https://github.com/llvm/llvm-project/commit/71832a3139b454f8e714ff54e8bb0ea12dc095f5
Author: Matthias Springer <me at m-sp.org>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/docs/DialectConversion.md
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][Transforms] Make lookup without type converter unambiguous (#151747)
When a conversion pattern is initialized without a type converter, the
driver implementation currently looks up the most recently mapped value.
This is undesirable because the most recently mapped value could be a
materialization. I.e., the type of the value being looked up could
depend on which other patterns have run before. Such an implementation
makes the type conversion infrastructure fragile and unpredictable.
The current implementation also contradicts the documentation in the
markdown file. According to that documentation, the values provided by
the adaptor should match the types of the operands of the match
operation when running without a type converter. This mechanism is not
desirable, either, for two reasons:
1. Some patterns have started to rely on receiving the most recently
mapped value. Changing the behavior to the documented behavior will
cause regressions. (And there would be no easy way to fix those without
forcing the use of a type converter or extending the `getRemappedValue`
API.)
2. It is more useful to receive the most recently mapped value. A value
of the original operand type can be retrieved by using the operand of
the matched operation. The adaptor is not needed at all in that case.
To implement the new behavior, materializations are now annotated with a
marker attribute. The marker is needed because not all
`unrealized_conversion_cast` ops are materializations that act as "pure
type conversions". E.g., when erasing an operation, its results are
mapped to newly-created "out-of-thin-air values", which are
materializations (with no input) that should be treated like regular
replacement values during a lookup. This marker-based lookup strategy is
also compatible with the One-Shot Dialect Conversion implementation
strategy, which does not utilize the mapping infrastructure anymore and
queries all necessary information by examining the IR.
Commit: a485e0eae01beaf68a94d1f050838866e849bd48
https://github.com/llvm/llvm-project/commit/a485e0eae01beaf68a94d1f050838866e849bd48
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Retrieve vector TC for epilogue from resume phi (NFC).
Instead of relying on getOrCreateVectorTripCount to initialize
EPI.VectorTripCount, delay initialization after we retrieved the resume
phi and get the trip count from there. This makes the code independent
of legacy vector trip count creation.
Commit: edad89e4e052b0b7d0fe4943669b3b7c55d837a4
https://github.com/llvm/llvm-project/commit/edad89e4e052b0b7d0fe4943669b3b7c55d837a4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/mmintrin.h
M clang/test/CodeGen/X86/mmx-builtins.c
Log Message:
-----------
[Headers][X86] Update MMX arithmetic intrinsics to be used in constexpr (#152296)
Update the easy add/sub/mul/logic/cmp/scalar_to_vector intrinsics to be
constexpr compatible.
I'm not expecting anyone to be very interested in using MMX intrinsics,
but they're smaller than the other types and are useful to test the
constexpr handling and test methods before we start applying them to
SSE/AVX2/AVX512 intrinsics.
Commit: 406d9b1dd6522cf18e61c4c4af66db765de8afed
https://github.com/llvm/llvm-project/commit/406d9b1dd6522cf18e61c4c4af66db765de8afed
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/TargetCallingConv.h
M llvm/include/llvm/Target/TargetCallingConv.td
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/Mips/MipsCCState.cpp
M llvm/lib/Target/Mips/MipsCCState.h
M llvm/lib/Target/Mips/MipsCallLowering.cpp
M llvm/lib/Target/Mips/MipsCallingConv.td
M llvm/lib/Target/PowerPC/PPCCCState.h
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
M llvm/lib/Target/RISCV/RISCVCallingConv.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZCallingConv.h
M llvm/lib/Target/SystemZ/SystemZCallingConv.td
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/X86/GISel/X86CallLowering.cpp
Log Message:
-----------
[CodeGen] Move IsFixed into ArgFlags (NFCI) (#152319)
The information whether a specific argument is vararg or fixed is
currently stored separately from all the other argument information in
ArgFlags. This means that it is not accessible from CCAssign, and
backends have developed all kinds of workarounds for how they can access
it after all.
Move this information to ArgFlags to make it directly available in all
relevant places.
I've opted to invert this and store it as IsVarArg, as I think that both
makes the meaning more obvious and provides for a better default (which
is IsVarArg=false).
Commit: 1110e2ff9f8d055af0b81267bf01d720421b4b70
https://github.com/llvm/llvm-project/commit/1110e2ff9f8d055af0b81267bf01d720421b4b70
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/Analysis/InlineCost.h
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/lib/Transforms/Utils/InlineFunction.cpp
Log Message:
-----------
InlineFunction: Split inlining into predicate and apply functions (#134213)
This is to support a new inline function reduction in llvm-reduce,
which should pre-filter callsites that are not eligible for inlining.
This code was mostly structured as a match and apply, with a few
exceptions. The ugliest piece is for propagating and verifying
compatible
getGC and personalities. Also collection of EHPad and the convergence
token
to use are now cached in InlineFunctionInfo.
I was initially confused by the split between the checks performed here
and isInlineViable, so better document how this system is supposed to
work.
It turns out this split does make sense, in that isInlineViable checks
if it's possible based on the callee content and the ultimate inline
depended on the callsite context. I think more renames of these
functions
would help, and isInlineViable should probably move out of InlineCost to
be
with these transfoms.
Commit: a3e068552923c0047f8a9c27c6558697b9371ed7
https://github.com/llvm/llvm-project/commit/a3e068552923c0047f8a9c27c6558697b9371ed7
Author: Matthias Springer <me at m-sp.org>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] More detailed error message when new IR cannot be legalized (#152297)
Print a more detailed error message when new/modified IR could not be
legalized with `allowPatternRollback = false`. This is useful to
understand why a pattern is incompatible with the new One-Shot Dialect
Conversion driver.
---------
Co-authored-by: Jeremy Kun <jkun at google.com>
Commit: f44d8d583c646baee12646f1609683c9afe48e33
https://github.com/llvm/llvm-project/commit/f44d8d583c646baee12646f1609683c9afe48e33
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-agpr-negative-tests.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av-with-load-source.mir
Log Message:
-----------
AMDGPU: Add a few missing mfma rewrite tests (#152434)
Test other splitting situations that appear in greedy.
This includes ensuring we have a case that hits a local split
and instruction split (most of the tests hit the region split path).
Also test a few cases where the final result isn't fully used, resulting
in partial copy bundles instead of a simple full copy. Test physreg
and virtreg agpr interference with a reassignment candidate.
I'm accumulating too many failure cases, and MIR tests are very prone
to painful merge conflicts, so I've added a few more tests and extracted
new tests from #147975.
Closes #149026
Commit: b83f7f195c64ab1c87ceea9cda9b54eaae893cdb
https://github.com/llvm/llvm-project/commit/b83f7f195c64ab1c87ceea9cda9b54eaae893cdb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/avx512dqintrin.h
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/emmintrin.h
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512dq-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
Log Message:
-----------
[Headers][X86] Update SSE/AVX and/andnot/or/xor intrinsics to be used in constexpr (#152305)
Commit: 6abf4f376efe9a708587e8f35d30ab850545d92f
https://github.com/llvm/llvm-project/commit/6abf4f376efe9a708587e8f35d30ab850545d92f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avxintrin.h
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
Log Message:
-----------
[Headers][X86] Allow AVX movddup/movsldup/movshdup intrinsics to be used in constexpr (#152340)
Matches SSE3 handling
Commit: 6897ca460e6e28bcf76ae941438dd1313426e0bb
https://github.com/llvm/llvm-project/commit/6897ca460e6e28bcf76ae941438dd1313426e0bb
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
R libcxx/include/__fwd/map.h
R libcxx/include/__fwd/set.h
M libcxx/include/__tree
M libcxx/include/map
M libcxx/include/module.modulemap.in
M libcxx/include/set
Log Message:
-----------
[libc++] Remove unnecessary friend declarations from <__tree> (#152133)
Removing the unnecessary friend declarations from `<__tree>` also
removes the need for forward declaration headers for `map` and `set`,
which this patch also removes.
Commit: 7402cd6ded243972ab9a70da83845bce66e502c6
https://github.com/llvm/llvm-project/commit/7402cd6ded243972ab9a70da83845bce66e502c6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr.ll
Log Message:
-----------
AMDGPU: Disable AGPR selection in mfma rewrite test
This makes the test actually test the intended rewrite
pass. Also add some tests with inline immediates in src2.
Switch the target to gfx942 for future test functions.
Commit: 0b3ee2093954dd3c5a201eba4b7641adadd9b2c6
https://github.com/llvm/llvm-project/commit/0b3ee2093954dd3c5a201eba4b7641adadd9b2c6
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 6897ca460e6e
Commit: 6ce68d3a12fb70a8a1247823e2c90a5a1dd4531d
https://github.com/llvm/llvm-project/commit/6ce68d3a12fb70a8a1247823e2c90a5a1dd4531d
Author: Chaitanya Koparkar <ckoparkar at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/rv64-half-convert.ll
Log Message:
-----------
[DAG] canCreateUndefOrPoison - add FP_EXTEND (#152249)
Fixes https://github.com/llvm/llvm-project/issues/152141
Commit: 4da745a0f4fad9026dd4a84d4a9f169166575b80
https://github.com/llvm/llvm-project/commit/4da745a0f4fad9026dd4a84d4a9f169166575b80
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Profile/CMakeLists.txt
Log Message:
-----------
[BOLT] Fix unit test failures with LLVM_LINK_LLVM_DYLIB=ON (#152190)
When LLVM_LINK_LLVM_DYLIB is ON, `check-bolt` target reports unit test
failures:
BOLT-Unit :: Core/./CoreTests/failed_to_discover_tests_from_gtest
BOLT-Unit :: Profile/./ProfileTests/failed_to_discover_tests_from_gtest
The reason is that when llvm-lit runs a unit-test executable:
/path/to/CoreTests --gtest_list_tests '--gtest_filter=-*DISABLED_*'
an assertion is triggered with the following message:
LLVM ERROR: Option 'default' already exists!
This assertion triggers when the initializer of defaultListDAGScheduler
defined at SelectionDAGISel.cpp:219 is called as a statically-linked
function after already being called during the initialization of
libLLVM.
The issue can be traced down to LLVMTestingSupport library which depends
on libLLVM as neither COMPONENT_LIB nor DISABLE_LLVM_LINK_LLVM_DYLIB is
specified in a call to `add_llvm_library(LLVMTestingSupport ...)`.
Specifying DISABLE_LLVM_LINK_LLVM_DYLIB for LLVMTestingSupport makes
Clang unit test fail and COMPONENT_LIB is probably inappropriate for a
testing-specific library, thus as a workaround, added Error.cpp source
from LLVMTestingSupport directly to the list of source files of
CoreTests target (as it depends on
`llvm::detail::TakeError(llvm::Error)`) and removed LLVMTestingSupport
from the list of dependencies of ProfileTests.
Commit: d618c36cb7a8c7951fb7532c07ea313b2d7ec1a7
https://github.com/llvm/llvm-project/commit/d618c36cb7a8c7951fb7532c07ea313b2d7ec1a7
Author: Wenju He <wenju.he at intel.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Add missing clc/lib/ptx-nvidiacl/SOURCES to CMAKE_CONFIGURE_DEPENDS (#152431)
Commit: b9e133d5b6e41b652ba579bcb8850c00f72d0f01
https://github.com/llvm/llvm-project/commit/b9e133d5b6e41b652ba579bcb8850c00f72d0f01
Author: Ties Stuij <ties.stuij at arm.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fixed-width-inorder-core.ll
Log Message:
-----------
[AArch64][SVE] Use FeatureUseFixedOverScalableIfEqualCost for A320 (#152156)
With this new A320 in-order core, we follow adding the
FeatureUseFixedOverScalableIfEqualCost feature to A510 and A520
(#132246), which reaps the same code generation benefits of preferring
fixed over scalable when the cost is equal.
So when we have:
```
void foo(float* a, float* b, float* dst, unsigned n) {
for (unsigned i = 0; i < n; ++i)
dst[i] = a[i] + b[i];
}
```
When compiling without the feature enabled, we get:
```
...
ld1b { z0.b }, p0/z, [x0, x10]
ld1b { z2.b }, p0/z, [x1, x10]
add x12, x0, x10
ldr z1, [x12, #1, mul vl]
add x12, x1, x10
ldr z3, [x12, #1, mul vl]
fadd z0.s, z2.s, z0.s
add x12, x2, x10
fadd z1.s, z3.s, z1.s
dech x11
st1b { z0.b }, p0, [x2, x10]
incb x10, all, mul #2
str z1, [x12, #1, mul vl]
...
```
When compiling with, we get:
```
...
ldp q0, q1, [x12, #-16]
ldp q2, q3, [x11, #-16]
subs x13, x13, #8
fadd v0.4s, v2.4s, v0.4s
fadd v1.4s, v3.4s, v1.4s
add x11, x11, #32
add x12, x12, #32
stp q0, q1, [x10, #-16]
add x10, x10, #32
...
```
Commit: a44532544bd96c68ce2bc885d0cc0c4c9116f8b1
https://github.com/llvm/llvm-project/commit/a44532544bd96c68ce2bc885d0cc0c4c9116f8b1
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[Offload] Don't create events for empty queues (#152304)
Add a device function to check if a device queue is empty. If liboffload
tries to create an event for an empty queue, we create an "empty" event
that is already complete.
This allows `olCreateEvent`, `olSyncEvent` and `olWaitEvent` to run
quickly for empty queues.
Commit: c869ef6ebc4882978252c3a98279928b31b58135
https://github.com/llvm/llvm-project/commit/c869ef6ebc4882978252c3a98279928b31b58135
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/EvalEmitter.cpp
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/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
Log Message:
-----------
[clang][bytecode] Refactor Check* functions (#152300)
... so we don't have to create Pointer instances when we don't need
them.
Commit: 6cd6de5bc0c8b09b3a252bfb8a62870c1cdede4c
https://github.com/llvm/llvm-project/commit/6cd6de5bc0c8b09b3a252bfb8a62870c1cdede4c
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[llvm][cmake] Remove version number from runtimes in PROJECTS warnings (#152457)
Judging from the reaction to
https://github.com/llvm/llvm-project/pull/152302, we are not ready to
make this a fatal error.
Remove the specific version number, and update the libc message to match
the others' wording.
Commit: aeeb9b507750553f0e85584bda20b8d2373b3bda
https://github.com/llvm/llvm-project/commit/aeeb9b507750553f0e85584bda20b8d2373b3bda
Author: Ayke <aykevanlaethem at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/AVR/AVRISelLowering.cpp
M llvm/test/CodeGen/AVR/cmp.ll
Log Message:
-----------
[AVR] Fix codegen after getConstant assertions got enabled (#152269)
This fixes https://github.com/llvm/llvm-project/issues/152097
This commit fixes two instances of a (somewhat) recently enabled
assertion. One with a test, the other I can't reproduce (might be dead
code) but certainly looks like an instance of the same problem.
The PR that introduced the regression:
https://github.com/llvm/llvm-project/pull/117558
With this patch, the AVR backend is usable again for TinyGo.
Commit: 565f707beb176c81b3c18651f280304484378f2a
https://github.com/llvm/llvm-project/commit/565f707beb176c81b3c18651f280304484378f2a
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
R llvm/test/CodeGen/AArch64/aarch64-split-and-bitmask-immediate.ll
A llvm/test/CodeGen/AArch64/aarch64-split-logic-bitmask-immediate.ll
Log Message:
-----------
[AArch64] Allow splitting bitmasks for EOR/ORR. (#150394)
This patch extends #149095 for EOR and ORR.
It uses a simple partition scheme to try to find two suitable disjoint
bitmasks that can be used with EOR/ORR to reconstruct the original mask.
Fixes: #148987.
Commit: 04196ba01a4d2ea1649836d769e5651e89c05a82
https://github.com/llvm/llvm-project/commit/04196ba01a4d2ea1649836d769e5651e89c05a82
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/lib/Analysis/DependenceAnalysis.cpp
Log Message:
-----------
[DA][NFC] clang-format DependenceAnalysis (#151505)
To avoid noise in PRs such as in #146383.
Commit: 95c32bf2d46ddd2c10dae426c75aa4dddcb146df
https://github.com/llvm/llvm-project/commit/95c32bf2d46ddd2c10dae426c75aa4dddcb146df
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/pr151664-cost-hoisted-vector-scalable.ll
Log Message:
-----------
[VPlan] Return invalid cost if any skeleton block has invalid costs. (#151940)
We need to reject plans that contain recipes with invalid costs. LICM
can move recipes with invalid costs out of the loop region, which then
get missed by the main cost computation.
Extend the logic to check recipes for invalid cost currently only
covering the middle block to include all skeleton blocks.
Fixes https://github.com/llvm/llvm-project/issues/144358
Fixes https://github.com/llvm/llvm-project/issues/151664
PR: https://github.com/llvm/llvm-project/pull/151940
Commit: 5805e887458801f2756d0466b84b712472507f2f
https://github.com/llvm/llvm-project/commit/5805e887458801f2756d0466b84b712472507f2f
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/Headers/avx512fintrin.h
M clang/test/CodeGen/X86/avx512-reduceIntrin.c
M clang/test/CodeGen/X86/avx512-reduceMinMaxIntrin.c
Log Message:
-----------
[Headers][X86] Allow AVX512 reduction intrinsics to be used in constexpr (#152363)
Closes #152324.
Part of #30794.
This PR adds `constexpr` support for the following AVX512 integer
reduction intrinsics:
- `_mm512_reduce_add_epi32`
- `_mm512_reduce_add_epi64`
- `_mm512_reduce_mul_epi32`
- `_mm512_reduce_mul_epi64`
- `_mm512_reduce_and_epi32`
- `_mm512_reduce_and_epi64`
- `_mm512_reduce_or_epi32`
- `_mm512_reduce_or_epi64`
- `_mm512_reduce_max_epi32`
- `_mm512_reduce_max_epi64`
- `_mm512_reduce_min_epi32`
- `_mm512_reduce_min_epi64`
- `_mm512_reduce_max_epu32`
- `_mm512_reduce_max_epu64`
- `_mm512_reduce_min_epu32`
- `_mm512_reduce_min_epu64`
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 47944d071f27c04c1cccf51926eb14062471f6cc
https://github.com/llvm/llvm-project/commit/47944d071f27c04c1cccf51926eb14062471f6cc
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/sve-low-trip-count.ll
Log Message:
-----------
[LV] Auto-generate checks for sve-low-trip-count.ll.
Auto-generate checks for
https://github.com/llvm/llvm-project/pull/151925. Also update some
naming to make more consistent with other tests.
Commit: 46a8c094894e22d553cc527f9536b05db53250e8
https://github.com/llvm/llvm-project/commit/46a8c094894e22d553cc527f9536b05db53250e8
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h
Log Message:
-----------
[NFC][analyzer] Conversion to CheckerFamily: RetainCountChecker (#152138)
This commit converts RetainCountChecker to the new checker family
framework that was introduced in the commit
6833076a5d9f5719539a24e900037da5a3979289
This commit also performs some minor cleanup around the parts that had
to be changed, but lots of technical debt still remains in this old
codebase.
Commit: 109040acec00e5beaef35e51df3d73d5ba4212a4
https://github.com/llvm/llvm-project/commit/109040acec00e5beaef35e51df3d73d5ba4212a4
Author: Yanzuo Liu <zwuis at outlook.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
A clang/include/clang/Basic/ABIVersions.def
M clang/include/clang/Basic/LangOptions.h
M clang/lib/Frontend/CompilerInvocation.cpp
Log Message:
-----------
[Clang][NFC] Enumerate Clang ABI versions in a separate header file (#151995)
Make it easier for us to add ABI versions.
Close #144332
Commit: 246990dc029620619f41b6bd3bd7ba67ada1a384
https://github.com/llvm/llvm-project/commit/246990dc029620619f41b6bd3bd7ba67ada1a384
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/test/MC/ELF/many-instructions.s
Log Message:
-----------
[llvm][MC][test] Disable many-instructons.s on 32-bit systems
Added by https://github.com/llvm/llvm-project/pull/150846.
Checks the size of a structure, which is only correct for 64-bit
systems.
Commit: e1d67530065efb64dba2f716a355a40535f4a19d
https://github.com/llvm/llvm-project/commit/e1d67530065efb64dba2f716a355a40535f4a19d
Author: Yi-Chi Lee <55395582+yichi170 at users.noreply.github.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avxintrin.h
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
Log Message:
-----------
[Headers][X86] Update AVX/AVX512 float/double add/sub/mul/div/unpck intrinsics to be used in constexpr (#152435)
Fixed #152313
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 474bbc17831e45ae855b7385512d97c519c640fb
https://github.com/llvm/llvm-project/commit/474bbc17831e45ae855b7385512d97c519c640fb
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/Support/GraphWriter.h
Log Message:
-----------
[Support] Enable CRTP for GraphWriter (NFC) (#152322)
Previously, specializing the GraphWriter class required a full class
specialization.
This change introduces CRTP for GraphWriter, allowing for partial
specialization.
This change is in support of printing the module dependency graph as
part of the RFC for driver-managed module builds, for which we want to
print the graph nodes in a more human-readable format by:
- Printing descriptive IDs instead of pointer addresses as node labels.
- Printing the full node labels separately from the node relations to
avoid clutter.
With this approach, only GraphWriter::writeNodes() needs to be
specialized (, aside from DOTGraphTraits).
RFC for driver-managed module builds:
https://discourse.llvm.org/t/rfc-modules-support-simple-c-20-modules-use-from-the-clang-driver-without-a-build-system
Commit: 4784585747423a8ed6e3acbe3c8fbe97ba362cc5
https://github.com/llvm/llvm-project/commit/4784585747423a8ed6e3acbe3c8fbe97ba362cc5
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpState.cpp
Log Message:
-----------
[clang][bytecode][NFC] Remove unnecessary local variable (#152468)
Desc is only used once and we can get that information from the Block as
well.
Commit: fee6e539d0a052ca1f20adf55521856bfc5d5b26
https://github.com/llvm/llvm-project/commit/fee6e539d0a052ca1f20adf55521856bfc5d5b26
Author: Abhilash Majumder <30946547+abhilash1910 at users.noreply.github.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
A llvm/test/CodeGen/NVPTX/prefetch-inferas-test.ll
M llvm/test/CodeGen/NVPTX/prefetch.ll
Log Message:
-----------
[NVPTX] Add prefetch tensormap variant (#146203)
[NVPTX] Add Prefetch tensormap intrinsics
This PR adds prefetch intrinsics with the relevant tensormap_space.
* Lit tests are added as part of prefetch.ll
* The generated PTX is verified with a 12.3 ptxas executable.
* Added docs for these intrinsics in NVPTXUsage.rst.
For more information, refer to the PTX ISA for prefetch intrinsic :
[Prefetch
Tensormap](https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-prefetch-prefetchu)
@durga4github @schwarzschild-radius
Commit: edeee824f044b834ec0bc8380afc345bb1a58f35
https://github.com/llvm/llvm-project/commit/edeee824f044b834ec0bc8380afc345bb1a58f35
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/test/Transforms/LoopVectorize/intrinsic.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/exp.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/fround.ll
M llvm/test/Transforms/Scalarizer/intrinsics.ll
Log Message:
-----------
Reland [VectorUtils] Trivially vectorize ldexp, [l]lround (#152476)
Changes: The original patch, landed as 1336675, was reverted due to a
bug in LoopVectorize resulting in a crash. The bug has now been fixed by
95c32bf ([VPlan] Return invalid cost if any skeleton block has invalid
costs), and this reland is identical to the original patch.
Commit: f24c50a635cbdbd214e02866a8cb22232862c3ff
https://github.com/llvm/llvm-project/commit/f24c50a635cbdbd214e02866a8cb22232862c3ff
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/test/CodeGen/X86/avx512dq-builtins.c
Log Message:
-----------
[X86] avx512dq-builtins.c - add C/C++ and 32/64-bit test coverage
Inspired by #152478
Commit: ceda56be7f03a790ea777e8b98b419209c3bfa49
https://github.com/llvm/llvm-project/commit/ceda56be7f03a790ea777e8b98b419209c3bfa49
Author: Javed Absar <javed.absar at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Passes.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Linalg/Transforms/MorphOps.cpp
A mlir/lib/Dialect/Linalg/Transforms/NamedToElementwise.cpp
A mlir/test/Dialect/Linalg/elementwise/named-to-elementwise.mlir
A mlir/test/Dialect/Linalg/linalg-morph-category-ops.mlir
A mlir/test/Dialect/Linalg/linalg-morph-multi-step.mlir
Log Message:
-----------
[mlir][linalg] Morphism across linalg -- named, category and generic ops. (#148424)
Adds `linalg-morph-ops` pass to convert an op from one representation to another:
named-op <--> category_op (elementwise, contraction, ..) <--> generic
e.g.
```mlir
%exp = linalg.exp ins(%A : tensor<16x8xf32>) outs(%B : tensor<16x8xf32>) -> tensor<16x8xf32>
```
After `mlir-opt -linalg-morph-ops=named-to-category ..`
```mlir
%0 = linalg.elementwise kind=#linalg.elementwise_kind<exp> ins(%arg0 : tensor<16x8xf32> ..
Note: this is generalization of
`--linalg-generalize-named-ops` is the path `named-op --> generic-op`
`--linalg-specialize-generic-ops` is the path `named-op <-- generic-op`
email: quic_mabsar at quicinc.com
Commit: f73a3028c2d46928280d69d9e953ff79d2eb0fbb
https://github.com/llvm/llvm-project/commit/f73a3028c2d46928280d69d9e953ff79d2eb0fbb
Author: David Truby <david.truby at arm.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/unittests/CMakeLists.txt
Log Message:
-----------
[flang-rt] Use correct flang-rt build for flang-rt unit tests on Windows (#152318)
Currrently flang-rt assumes that LLVM was always built with the dynamic
MSVC runtime. This may not be the case, if the user has specified a
different runtime with -DCMAKE_MSVC_RUNTIME_LIBRARY. Since this flag is
implied by -DLLVM_ENABLE_RPMALLOC=On, which is used by the Windows
release script, this is causing that script to fail.
Fixes #151920
Commit: dbfc3ed69088a88bffc20b16ce315746dd30fa28
https://github.com/llvm/llvm-project/commit/dbfc3ed69088a88bffc20b16ce315746dd30fa28
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
M llvm/test/Instrumentation/TypeSanitizer/alloca.ll
Log Message:
-----------
[TypeSanitizer] Use alloca size for lifetime markers (#152154)
Split out from https://github.com/llvm/llvm-project/pull/150248:
Use the size of the alloca instead of the size passed to the lifetime
intrinsic.
As a bonus, this handles dynamic allocas correctly (see the added test)
instead of doing a memset with size -1...
Commit: f3bf8e01668bfbb32cd17be45507983557b979df
https://github.com/llvm/llvm-project/commit/f3bf8e01668bfbb32cd17be45507983557b979df
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/test/CodeGen/X86/avx512-reduceIntrin.c
M clang/test/CodeGen/X86/avx512-reduceMinMaxIntrin.c
M clang/test/CodeGen/X86/avx512vpopcntdq-builtins.c
M clang/test/CodeGen/X86/avx512vpopcntdqvl-builtins.c
Log Message:
-----------
[clang][x86] Add C/C++ and 32/64-bit test coverage to constexpr tests (#152478)
Adds missing C++ run lines to test files containing `constexpr` tests.
Also adds missing 32/64-bit test coverage to the following tests:
- `clang/test/CodeGen/X86/avx512-reduceIntrin.c`
- `clang/test/CodeGen/X86/avx512-reduceMinMaxIntrin.c`
- `clang/test/CodeGen/X86/avx512vpopcntdq-builtins.c`
- `clang/test/CodeGen/X86/avx512vpopcntdqvl-builtins.c`
Additionally, fixes a `_mm512_popcnt_epi64` `constexpr` test that
incorrectly assumed 32-bit integers, leading to incorrect bit counts.
This change updates the test result to assume 64-bit integers.
Commit: cfa00d4dafbc7ffa112ea341c794b7cff7fca713
https://github.com/llvm/llvm-project/commit/cfa00d4dafbc7ffa112ea341c794b7cff7fca713
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Add --succinct to lit args (#152335)
We currently log every single test that we run in premerge. This leads
to gigantic logs (200k+ lines on Linux) that can be difficult to parse
through. Having an indicator of progress is nice, especially for the
LLVM tests, but is not strictly necessary and not often used (I
imagine). Having a progress indicator from lit that works in CI cases is
on my TODO list.
For the rare cases where someone does need to see the list of tests that
run, the JUnit XML emitted by lit is available in the artifacts.
Commit: e368b5343d037c89051097c2a87a6fb76548014e
https://github.com/llvm/llvm-project/commit/e368b5343d037c89051097c2a87a6fb76548014e
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
A flang/include/flang/Semantics/openmp-utils.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-atomic.cpp
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-metadirective.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/openmp-utils.cpp
R flang/lib/Semantics/openmp-utils.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/unparse-with-symbols.cpp
M flang/test/Parser/OpenMP/critical-unparse-with-symbols.f90
M flang/test/Semantics/OpenMP/sync-critical01.f90
M flang/test/Semantics/OpenMP/sync-critical02.f90
Log Message:
-----------
[flang][OpenMP] Make OpenMPCriticalConstruct follow block structure (#152007)
This allows not having the END CRITICAL directive in certain situations.
Update semantic checks and symbol resolution.
Commit: 900d20d0dc7b228cba9df98ed3ec713098c79342
https://github.com/llvm/llvm-project/commit/900d20d0dc7b228cba9df98ed3ec713098c79342
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M offload/unittests/CMakeLists.txt
M offload/unittests/Conformance/tests/CMakeLists.txt
Log Message:
-----------
[NFC][Offload] Move conformance test warning outside of function (#152466)
`add_conformance_test` checks for libc and prints a warning if it is not
found. However, this warning ends up being printed once for each test,
spamming the cmake log. Moving it up to the folder cmake allows it to
be reported only once.
Commit: fac7453d2ca7ebe33dec3d60211c0374a2bb69cd
https://github.com/llvm/llvm-project/commit/fac7453d2ca7ebe33dec3d60211c0374a2bb69cd
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lldb/source/Core/DemangledNameInfo.cpp
M lldb/source/Core/Mangled.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/unittests/Core/MangledTest.cpp
Log Message:
-----------
[lldb][Mangled] Move SuffixRange computation into TrackingOutputBuffer (#152483)
This way all the tracking is self-contained in `TrackingOutputBuffer`
and we can test the `SuffixRange` properly.
Commit: 0bcf45ea3458ba79eb4257afcfd6af954292c9ce
https://github.com/llvm/llvm-project/commit/0bcf45ea3458ba79eb4257afcfd6af954292c9ce
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/commute.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-buildvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-insertelement.ll
M llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss.ll
M llvm/test/Transforms/SLPVectorizer/extracts-with-undefs.ll
M llvm/test/Transforms/SLPVectorizer/insertelement-postpone.ll
Log Message:
-----------
[SLP]Initial FMAD support (#149102)
Added initial check for potential fmad conversion in reductions and
operands vectorization.
Commit: 69d0bd56ad064df569cd065902fb7036f0311c0a
https://github.com/llvm/llvm-project/commit/69d0bd56ad064df569cd065902fb7036f0311c0a
Author: Boyana Norris <brnorris03 at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/cmake/modules/AddMLIR.cmake
Log Message:
-----------
[mlir][cmake] Fix MLIR shared library installation (#152195)
When `LLVM_INSTALL_TOOLCHAIN_ONLY=ON`, the MLIR shared library
(`libMLIR*`) is not installed even though it is built with the
`INSTALL_WITH_TOOLCHAIN` argument to the `add_mlir_library` cmake
function. This patch ensures that `libMLIR*` is installed when
`LLVM_INSTALL_TOOLCHAIN_ONLY=ON`.
Patch verified
[here](https://github.com/llvm/llvm-project/issues/151247#issuecomment-3156387055).
fixes #151247
Commit: 5dff1ad3a3570f0f5a154590ce43b107dc6c3994
https://github.com/llvm/llvm-project/commit/5dff1ad3a3570f0f5a154590ce43b107dc6c3994
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[ADT] Use a range-based for loop in DenseMap.h (NFC) (#152438)
This patch teaches moveFromOldBuckets to take an iterator_range so
that it can use a range-based for loop.
Commit: 4be22dabc58046ddcab449368132754892242250
https://github.com/llvm/llvm-project/commit/4be22dabc58046ddcab449368132754892242250
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringBase.cpp
Log Message:
-----------
[CodeGen] Remove an unnecessary cast (NFC) (#152441)
getActiveBits() already returns unsigned.
Commit: 02fbb6a290779af31f24d6fffd104675fc10d986
https://github.com/llvm/llvm-project/commit/02fbb6a290779af31f24d6fffd104675fc10d986
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Support/regcomp.c
Log Message:
-----------
[Support] Remove an unnecessary cast (NFC) (#152442)
pattern is already of const char *.
Commit: ebaaf4d2fbf389ac3f171245e38c7a63812b43b8
https://github.com/llvm/llvm-project/commit/ebaaf4d2fbf389ac3f171245e38c7a63812b43b8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/tools/llvm-objdump/MachODump.cpp
Log Message:
-----------
[llvm-objdump] Remove unnecessary casts (NFC) (#152443)
data() alaready returns const char *.
Commit: e10fdb989b8c59a8291f1f6931f3adfd374ad840
https://github.com/llvm/llvm-project/commit/e10fdb989b8c59a8291f1f6931f3adfd374ad840
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/docs/MergeFunctions.rst
Log Message:
-----------
[llvm] Proofread MergeFunctions.rst (#152444)
Commit: 82f5bd68d03c2ef963f5e53843b1c47989dcd5d7
https://github.com/llvm/llvm-project/commit/82f5bd68d03c2ef963f5e53843b1c47989dcd5d7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
Log Message:
-----------
[Sema] Remove an unnecessary cast (NFC) (#152440)
getScopeRep already returns NestedNameSpecifier *.
Commit: f3db0cb4d8326c4955472742872cb691d17e76c6
https://github.com/llvm/llvm-project/commit/f3db0cb4d8326c4955472742872cb691d17e76c6
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
Log Message:
-----------
Reland "[RISCV] Refactor X60 scheduling model helper classes. NFC." (#152336)
This PR fixes the issue that caused an ub in PR #151472.
The issue was a shl call taking a negative shift amount (posDiff). The
result was never used, but tablegen would perform the calculation
anyway. The fix was to replace the shl call with just multiplications
with constants.
Original PR description:
This patch improves the helper classes in the SpacemiT-X60 vector
scheduling model and will be used in follow-up PRs:
There are now two functions to map LMUL to values:
* ConstValueUntilLMULThenDoubleBase: returns BaseValue for LMUL values
before startLMUL, Value for startLMUL, then doubles Value for each
subsequent LMUL. Useful for cases where fractional LMULs have constant
cycles, and integer LMULs double as they increase.
* GetLMULValue: takes an ordered list of LMUL cycles and LMUL and
returns the corresponding cycle. Useful for cases we can't easily cover
with ConstValueUntilLMULThenDoubleBase.
This PR also adds some useful simplified versions of
ConstValueUntilLMULThenDoubleBase, e.g.: ConstValueUntilLMULThenDouble
(when BaseValue == Value), or ConstOneUntilMF4ThenDouble (when cycles
start to double after MF2)
Commit: c088b5ffca4c4b81a8fa0e7f006e9391eba1f191
https://github.com/llvm/llvm-project/commit/c088b5ffca4c4b81a8fa0e7f006e9391eba1f191
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M compiler-rt/lib/builtins/aarch64/lse.S
M compiler-rt/lib/builtins/aarch64/sme-abi.S
M compiler-rt/lib/builtins/assembly.h
M compiler-rt/lib/hwasan/hwasan_interceptors_vfork.S
M compiler-rt/lib/hwasan/hwasan_setjmp_aarch64.S
M compiler-rt/lib/hwasan/hwasan_tag_mismatch_aarch64.S
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S
M compiler-rt/lib/tsan/rtl/tsan_rtl_aarch64.S
Log Message:
-----------
[compiler-rt][AArch64] Add GCS property in assembly files (#152502)
Only BTI and PAC properties were added previously.
Fixes https://github.com/llvm/llvm-project/issues/152427.
Commit: e1171e6a98f9c1a5cd465a47210b2678631a9c3c
https://github.com/llvm/llvm-project/commit/e1171e6a98f9c1a5cd465a47210b2678631a9c3c
Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M libc/src/dlfcn/CMakeLists.txt
Log Message:
-----------
[libc][dlfcn] Remove unused errno dep (#152222)
This removes the errno dep for the stub libdl functions, since there is
no need for it.
Commit: 3fa34f17e822fbe652e694b7b421ce7108f902df
https://github.com/llvm/llvm-project/commit/3fa34f17e822fbe652e694b7b421ce7108f902df
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
A .github/workflows/mlir-spirv-tests.yml
Log Message:
-----------
[mlir][spirv] Add mlir-spirv-tests CI to run for mlir-spv target tests (#152124)
This should execute also the MLIR SPIRV Target tests which require the
SPIRV-Tools validator
---------
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 3b5cc2dc6374a5785741aedb28ad80b7e941b70c
https://github.com/llvm/llvm-project/commit/3b5cc2dc6374a5785741aedb28ad80b7e941b70c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.h
M clang/lib/AST/ByteCode/InterpState.cpp
Log Message:
-----------
[clang][bytecode][NFC] Refactor DynamicAllocator a bit (#152510)
Use empty()-style functions instead of exposing the size if we don't
need it.
Commit: 44fbeb3215f31ace95ea2a7e88121920e813db5d
https://github.com/llvm/llvm-project/commit/44fbeb3215f31ace95ea2a7e88121920e813db5d
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.h
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
Log Message:
-----------
[mlir][vector] Use `llvm::Align` when constructing vector load and stores. (#152207)
This patchset uses `llvm::Align` when constructing `vector.{load,store}`
operations. The use of `llvm::Align` allows us to specify the unit of
alignment and strongly type alignment as opposed to having just unsigned
integers.
Commit: 0cb98c721bb540febab0fc0094388480940c49b0
https://github.com/llvm/llvm-project/commit/0cb98c721bb540febab0fc0094388480940c49b0
Author: James Newling <james.newling at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/Vector/vector-sink.mlir
M mlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/outerproduct-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/outerproduct-f64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/transfer-write-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/contraction.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/scalable-interleave.mlir
M mlir/test/Integration/Dialect/Vector/CPU/interleave.mlir
M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-i64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-1d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-3d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-write.mlir
Log Message:
-----------
[mlir][vector] Replace vector.splat with vector.broadcast in some tests (#152230)
Splat is deprecated, and being prepared for removal in a future release.
https://discourse.llvm.org/t/rfc-mlir-vector-deprecate-then-remove-vector-splat/87143/5
The command I used, catches almost every splat op:
```
perl -i -pe
's/vector\.splat\s+(\S+)\s*:\s*vector<((?:\[?\d+\]?x)*)\s*([^>]+)>/vector.broadcast
$1 : $3 to vector<$2$3>/g' filename
```
Commit: f9b68838f61972fadfbe70787befc3abeb2efcb5
https://github.com/llvm/llvm-project/commit/f9b68838f61972fadfbe70787befc3abeb2efcb5
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Writer.cpp
Log Message:
-----------
ELF: -r: Call assignAddresses only once
The fixed-point layout algorithm handles linker scripts, thunks, and
relaxOnce (to suppress out-of-range GOT-indirect-to-PC-relative
optimization). These passes are not needed for relocatable links because
they require address information that is not yet available.
Since we don't scan relocations for relocatable links, the
`createThunks` and `relaxOnce` functions are no-ops anyway, making these
passes redundant.
To prevent cluttering the line history, I place the `if (...) break;`
inside the for loop.
Pull Request: https://github.com/llvm/llvm-project/pull/152240
Commit: ff616a192bb486915200675d7be33dc042deca24
https://github.com/llvm/llvm-project/commit/ff616a192bb486915200675d7be33dc042deca24
Author: Amir Bishara <139038766+amirBish at users.noreply.github.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
Log Message:
-----------
[mlir][linalg]-Fix wrong assertion in the getMatchingYieldValue inter… (#89590)
…face
In order to have a consistent implementation for getMatchingYieldValue
for linalg generic with buffer/tensor semantics, we should assert the
opOperand index based on the numDpsInits and not numOfResults which may
be zero in the buffer semantics.
Commit: 6f272d1ecf70fc555efb1a0c601095031d5b2ca9
https://github.com/llvm/llvm-project/commit/6f272d1ecf70fc555efb1a0c601095031d5b2ca9
Author: David Green <david.green at arm.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Move tryCombineToBSL. NFC
This is for #151855, to make the changes more obvious.
Commit: de2bac367ff9da74191bd2de130e4a81db07ae08
https://github.com/llvm/llvm-project/commit/de2bac367ff9da74191bd2de130e4a81db07ae08
Author: Matthias Guenther <mrguenther at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/CommonFolders.h
A mlir/test/Dialect/common_folders.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[MLIR] Allow `constFoldBinaryOp` to fold `(T1, T1) -> T2` (#151410)
The `constFoldBinaryOp` helper function had limited support for
different input and output types, but the static type of the underlying
value (e.g. `APInt`) had to match between the inputs and the output.
This worked fine for int comparisons of the form `(intN, intN) -> int1`,
as the static type signature was `(APInt, APInt) -> APInt`. However,
float comparisons map `(floatN, floatN) -> int1`, with a static type
signature of `(APFloat, APFloat) -> APInt`. This use case wasn't
supported by `constFoldBinaryOp`.
`constFoldBinaryOp` now accepts an optional template argument overriding
the return type in case it differs from the input type. If the new
template argument isn't provided, the default behavior is unchanged
(i.e. the return type will be assumed to match the input type).
`constFoldUnaryOp` received similar changes in order to support folding
non-cast ops of the form `(T1) -> T2` (e.g. a `sign` op mapping
`(floatN) -> sint32`).
Commit: 3fbb553f7d31329212b658cca5b9eb5dae4e91b2
https://github.com/llvm/llvm-project/commit/3fbb553f7d31329212b658cca5b9eb5dae4e91b2
Author: Andrey Timonin <timonina1909 at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
Log Message:
-----------
[mlir][emitc] Simplify emitc::isSupportedFloatType (NFC) (#152464)
Commit: d95433bc8131e6c9f175c82f7b26e789084a347f
https://github.com/llvm/llvm-project/commit/d95433bc8131e6c9f175c82f7b26e789084a347f
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/cmake/modules/LLVMProcessSources.cmake
M llvm/include/llvm/Support/DebugLog.h
M llvm/unittests/Support/DebugLogTest.cpp
Log Message:
-----------
Remove __SHORT_FILE__ macro definition in CMake (#152344)
This per-file macro definition on the command line breaks caching of
modules. See discussion in #150677
Instead we use a constexpr function that processes the __FILE__ macro,
but prefer also the __FILE_NAME__ macro when available (clang/gcc) to spare
compile-time in the frontend.
If the constexpr function isn't const-evaluated, it'll be only evaluated when
printing the debug message.
Commit: 44aedacb1b64b415fddfada39eb876602980ea72
https://github.com/llvm/llvm-project/commit/44aedacb1b64b415fddfada39eb876602980ea72
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lldb/include/lldb/Protocol/MCP/Protocol.h
A lldb/include/lldb/Protocol/MCP/Server.h
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.cpp
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.h
M lldb/source/Protocol/MCP/CMakeLists.txt
A lldb/source/Protocol/MCP/Server.cpp
Log Message:
-----------
[lldb] Move the generic MCP server code into Protocol/MCP (NFC) (#152396)
This is a continuation of #152188, which started splitting up the MCP
implementation into a generic implementation in Protocol/MCP that will
be shared between LLDB and lldb-mcp.
For now I kept all the networking code in the MCP server plugin. Once
the changes to JSONTransport land, we might be able to move more of it
into the Protocol library.
Commit: 6d231fbb05417a77e8787f625fd14e1a30e27a5b
https://github.com/llvm/llvm-project/commit/6d231fbb05417a77e8787f625fd14e1a30e27a5b
Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
M mlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
Log Message:
-----------
[mlir] MemRefToSPIRV propagate alignment attributes from MemRef ops. (#151723)
This patchset:
* propagates alignment attributes from memref operations into the SPIR-V
dialect,
* fixes an error in the logic which previously propagated alignment
attributes but did not add other MemoryAccess attributes.
* adds a failure condition in the case where the alignment attribute
from the memref dialect (64-bit wide) does not fit in SPIR-V's alignment
attribute (specified to be 32-bit wide).
Commit: bd741975bc666d032665facd19144df9deedc5c8
https://github.com/llvm/llvm-project/commit/bd741975bc666d032665facd19144df9deedc5c8
Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/test/CodeGen/DirectX/imad.ll
M llvm/test/CodeGen/DirectX/umad.ll
Log Message:
-----------
Scalarize vector `mad` operations for integer types (#152228)
Fixes #152220.
- Adds `dx_imad` and `dx_umad` to
`isTargetIntrinsicTriviallyScalarizable`
- Adds tests that confirm the intrinsic is now scalarizing
Commit: ed9a552563e1c8a95249036195f598990a695a95
https://github.com/llvm/llvm-project/commit/ed9a552563e1c8a95249036195f598990a695a95
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
Log Message:
-----------
[CIR][NFC] Fix typo in ComplexRangeKind comment (#152535)
Fix typo in ComplexRangeKind comment
Catched in https://github.com/llvm/clangir/pull/1779
Commit: ad3196d7595dd53c4021b4bf4cd7bcefd85853df
https://github.com/llvm/llvm-project/commit/ad3196d7595dd53c4021b4bf4cd7bcefd85853df
Author: Abhilash Majumder <abhilash.majumder at intel.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/test/CodeGen/NVPTX/prefetch-inferas-test.ll
Log Message:
-----------
[NVPTX][Test-only] Add proper sm-version to ptxas-verify in prefetch-inferas-test.ll (#152492)
prefetch-inferas-test.ll was added in #146203 , but due to missing ptxas
version the CI is defaulting to sm 60.
This patch adds the arg in ptxas-verify check.
Commit: d97f0e93642722380be9ed190c17ea895817c339
https://github.com/llvm/llvm-project/commit/d97f0e93642722380be9ed190c17ea895817c339
Author: gitoleg <forown at yandex.ru>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGen/module-asm.c
A clang/test/CIR/Lowering/module-asm.cir
Log Message:
-----------
[CIR] add support for file scope assembly (#152093)
This PR adds a support for file scope assembly in CIR.
Commit: 093439c688db8d176081176576011275a1aecf23
https://github.com/llvm/llvm-project/commit/093439c688db8d176081176576011275a1aecf23
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h
M llvm/test/CodeGen/PowerPC/memintr32.ll
M llvm/test/CodeGen/PowerPC/memintr64.ll
Log Message:
-----------
[PowerPC][AIX] Using milicode for memcmp instead of libcall (#147093)
AIX has "millicode" routines, which are functions loaded at boot time
into fixed addresses in kernel memory. This allows them to be customized
for the processor. The __memcmp routine is a millicode implementation;
we use millicode for the memcmp function instead of a library call to
improve performance.
Commit: b5902924b27348dfae35a501f8b6e5b66f3bed46
https://github.com/llvm/llvm-project/commit/b5902924b27348dfae35a501f8b6e5b66f3bed46
Author: Bushev Dmitry <111585886+dybv-sc at users.noreply.github.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
Log Message:
-----------
[DFAJumpThreading] Prevent pass from using too much memory. (#145482)
The limit 'dfa-max-num-paths' that is used to control number of
enumerated paths was not checked against inside getPathsFromStateDefMap.
It may lead to large memory consumption for complex enough switch
statements.
Commit: 193995d5a21dc8b923e19d9370aa8e1f374cd940
https://github.com/llvm/llvm-project/commit/193995d5a21dc8b923e19d9370aa8e1f374cd940
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/MemberPointer.h
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/cxx2a.cpp
Log Message:
-----------
[clang][bytecode] Handle more invalid member pointer casts (#152546)
Commit: 093395ca6b5c180eabd597236a928c5ce2854260
https://github.com/llvm/llvm-project/commit/093395ca6b5c180eabd597236a928c5ce2854260
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/test/CIR/CodeGen/complex-compound-assignment.cpp
Log Message:
-----------
[CIR] Mul CompoundAssignment support for ComplexType (#152354)
This change adds support for Mul CompoundAssignment for ComplexType
https://github.com/llvm/llvm-project/issues/141365
Commit: 06f06deb774ada5aa37db89fa7b4a88b13163e0d
https://github.com/llvm/llvm-project/commit/06f06deb774ada5aa37db89fa7b4a88b13163e0d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
Log Message:
-----------
[PowerPC] Fix a warning
This patch fixes:
llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h:25:3: error:
'EmitTargetCodeForMemcmp' overrides a member function but is not
marked 'override' [-Werror,-Winconsistent-missing-override]
Commit: 2ff44d7d658beca1724f04211e194bf4beb2a1a0
https://github.com/llvm/llvm-project/commit/2ff44d7d658beca1724f04211e194bf4beb2a1a0
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
M llvm/lib/Support/StringRef.cpp
M llvm/unittests/ADT/StringRefTest.cpp
Log Message:
-----------
[ADT] Make `getAutoSenseRadix` in `StringRef` global (#152503)
Needed in #152308
Commit: f7c6c7ce361b8664eee962f10803e92661582176
https://github.com/llvm/llvm-project/commit/f7c6c7ce361b8664eee962f10803e92661582176
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
A llvm/test/CodeGen/DirectX/Binding/binding-overlap-7.ll
Log Message:
-----------
[DirectX] Overlapping binding detection - check register space first (#152250)
The code that checks for overlapping binding did not compare register space when one of the bindings was for an unbounded resource array, leading to false errors. This change fixes it.
Commit: 660555191b3e886a578f3d9bfdcb49877e1c5da0
https://github.com/llvm/llvm-project/commit/660555191b3e886a578f3d9bfdcb49877e1c5da0
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/lib/Headers/cpuid.h
M clang/test/Headers/__cpuidex_conflict.c
Log Message:
-----------
[Clang] Fix __cpuidex conflict with CUDA (#152556)
The landing of #126324 made it so that __has_builtin returns false for
aux triple builtins. CUDA offloading can sometimes compile where the
host is in the aux triple (ie x86_64). This patch explicitly carves out
NVPTX so that we do not run into redefinition errors.
Commit: 229d86026fa0e5d9412a0d5004532f0d9733aac6
https://github.com/llvm/llvm-project/commit/229d86026fa0e5d9412a0d5004532f0d9733aac6
Author: Augusto Noronha <anoronha at apple.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lldb/source/Core/ModuleList.cpp
Log Message:
-----------
[NFC][lldb] Speed up lookup of shared modules (#152054)
By profiling LLDB debugging a Swift application without a dSYM and a
large amount of .o files, I identified that querying shared modules was
the biggest bottleneck when running "frame variable", and Clang types
need to be searched.
One of the reasons for that slowness is that the shared module list can
grow very large, and the search through it is O(n).
To solve this issue, this patch adds a new hashmap to the shared module
list whose key is the name of the module, and the value is all the
modules that share that name. This should speed up any search where the
query contains the module name.
rdar://156753350
Commit: 740f690831a2eb09ba73b4fb5456a37ae62a5051
https://github.com/llvm/llvm-project/commit/740f690831a2eb09ba73b4fb5456a37ae62a5051
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[mlir][rocdl] Add `readfirstlane` intrinsic (#152551)
Commit: 1e2e903684719a0bdf559af261ffff9f551f4ebb
https://github.com/llvm/llvm-project/commit/1e2e903684719a0bdf559af261ffff9f551f4ebb
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/test/CIR/IR/invalid-vtable.cir
A clang/test/CIR/IR/vtable-addrpt.cir
Log Message:
-----------
[CIR] Add VTableAddrPointOp (#148730)
This change adds the definition of VTableAddrPointOp and the related
AddressPointAttr to the CIR dialect, along with tests for the parsing
and verification of these elements.
Code to generate this operation will be added in a later change.
Commit: 4e11f89904dc9b77ef44b01c68742e5b00bfdf21
https://github.com/llvm/llvm-project/commit/4e11f89904dc9b77ef44b01c68742e5b00bfdf21
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
A llvm/test/MC/Disassembler/RISCV/riscv-mapping-symbols.s
R llvm/test/MC/RISCV/large-instructions.s
A llvm/test/MC/RISCV/large-instructions.test
M llvm/test/MC/RISCV/nop-slide.s
M llvm/test/MC/RISCV/rvv/vsetvl-invalid.s
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[RISCV] Basic Objdump Mapping Symbol Support (#151452)
This implements very basic support for RISC-V mapping symbols in
llvm-objdump, sharing the implementation with how Arm/AArch64/CSKY
implement this feature.
This only supports the `$x` (instruction) and `$d` (data) mapping
symbols for RISC-V, and not the version of `$x` which includes an
architecture string suffix.
Commit: 9f102a90042fd3757c207112cfe64ee10182ace5
https://github.com/llvm/llvm-project/commit/9f102a90042fd3757c207112cfe64ee10182ace5
Author: Chris Jackson <chris.jackson at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
A llvm/test/CodeGen/AMDGPU/integer-canonicalizing-src-modifiers.ll
A llvm/test/CodeGen/AMDGPU/integer-select-src-modifiers.ll
M llvm/test/CodeGen/AMDGPU/saddsat.ll
M llvm/test/CodeGen/AMDGPU/ssubsat.ll
Log Message:
-----------
[AMDGPU] Recognise bitmask operations as srcmods on select (#152119)
Add to the VOP patterns to recognise when or/xor/and are masking only the most significant bit of i32/v2i32/i64 and replace with the corresponding FP source modifier.
Commit: 77c79313d1360b4f44919ddb7993543e3ac0a2b1
https://github.com/llvm/llvm-project/commit/77c79313d1360b4f44919ddb7993543e3ac0a2b1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/ADT/SmallPtrSet.h
Log Message:
-----------
[ADT] Fix a comment typo in SmallPtrSet (NFC) (#152565)
In the large mode, SmallPtrSet uses quadratic probing with ProbeAmt++
just like DenseMap.
Commit: 38542efcbabf5ae8ec4b3169321ac793f103bae0
https://github.com/llvm/llvm-project/commit/38542efcbabf5ae8ec4b3169321ac793f103bae0
Author: Anchu Rajendran S <asudhaku at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
A flang/test/Driver/atomic-control-options.f90
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-atomic-capture-control-options.mlir
A mlir/test/Target/LLVMIR/omptarget-atomic-update-control-options.mlir
Log Message:
-----------
[flang][OMPIRBuilder][MLIR][llvm] Backend support for atomic control options (#151579)
Adding mlir to llvm support for atomic control options.
Atomic Control Options are used to specify architectural characteristics
to help lowering of atomic operations. The options used are:
`-f[no-]atomic-remote-memory`, `-f[no-]atomic-fine-grained-memory`,
`-f[no-]atomic-ignore-denormal-mode`.
Legacy option `-m[no-]unsafe-fp-atomics` is aliased to
`-f[no-]ignore-denormal-mode`.
More details can be found in
https://github.com/llvm/llvm-project/pull/102569. This PR implements the
MLIR to LLVM lowering support of atomic control attributes specified
with OpenMP `atomicUpdateOp`.
Initial support can be found in PR:
https://github.com/llvm/llvm-project/pull/150860
Commit: f68eedde7561cbe36ca775aa2d05de724fe04f96
https://github.com/llvm/llvm-project/commit/f68eedde7561cbe36ca775aa2d05de724fe04f96
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] Port #151410: constFoldBinaryOp (#152568)
Commit: 069bf187ccc432fa379287670461462ed5001a04
https://github.com/llvm/llvm-project/commit/069bf187ccc432fa379287670461462ed5001a04
Author: itrofimow <i.trofimow at yandex.ru>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFGdbIndex.cpp
Log Message:
-----------
[DWARF] Speedup .gdb_index dumping (#151806)
This patch drastically speed ups dumping .gdb_index for large indexes
Commit: ca52d9b8bebd9214db8ab71f87a1d5eb6d2ad42e
https://github.com/llvm/llvm-project/commit/ca52d9b8bebd9214db8ab71f87a1d5eb6d2ad42e
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
A clang/lib/CIR/CodeGen/CIRGenCleanup.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/EHScopeStack.h
Log Message:
-----------
[CIR] Upstream EHScopeStack memory allocator (#152215)
When the cleanup handling code was initially upstreamed, a SmallVector
was used to simplify the handling of the stack of cleanup objects.
However, that mechanism won't scale well enough for the rate at which
cleanup handlers are going to be pushed and popped while compiling a
large program. This change introduces the custom memory allocator which
is used in classic codegen and the CIR incubator.
Thiis does not otherwise change the cleanup handling implementation and
many parts of the infrastructure are still missing.
This is not intended to have any observable effect on the generated CIR,
but it does change the internal implementation significantly, so it's
not exactly an NFC change. The functionality is covered by existing
tests.
Commit: 75cc77e55e12d39aed94702b0b1365e39713081e
https://github.com/llvm/llvm-project/commit/75cc77e55e12d39aed94702b0b1365e39713081e
Author: Augusto Noronha <anoronha at apple.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lldb/source/Core/ModuleList.cpp
Log Message:
-----------
Revert "[NFC][lldb] Speed up lookup of shared modules (#152054)" (#152582)
This reverts commit 229d86026fa0e5d9412a0d5004532f0d9733aac6.
Commit: c43c1c0c45fc1ec3fab7abd6e19b318f6468bf28
https://github.com/llvm/llvm-project/commit/c43c1c0c45fc1ec3fab7abd6e19b318f6468bf28
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M .git-blame-ignore-revs
Log Message:
-----------
Update .git-blame-ignore-revs for Pack/Unpack move (#152469)
Adds this large patch that merely moved Pack/Unpack Ops from the Tensor
to Linalg dialects:
* https://github.com/llvm/llvm-project/pull/123902
Commit: d09dbdabb93ffdd6df25ae487c95a552f13e5e16
https://github.com/llvm/llvm-project/commit/d09dbdabb93ffdd6df25ae487c95a552f13e5e16
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/bf16-math.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo-bf16.ll
Log Message:
-----------
[AMDGPU] bf16 clamp folding (#152573)
Commit: 11e1d465860903fd9ead27c0c1e60de4439011db
https://github.com/llvm/llvm-project/commit/11e1d465860903fd9ead27c0c1e60de4439011db
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h
M lldb/unittests/Instruction/ARM64/TestAArch64Emulator.cpp
Log Message:
-----------
[lldb] Fix UBSan complaints for #151460
Commit: b9c328480cc5c9fbc2940ce323a8dcb30a042b58
https://github.com/llvm/llvm-project/commit/b9c328480cc5c9fbc2940ce323a8dcb30a042b58
Author: Hood Chatham <roberthoodchatham at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaWasm.h
M clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
M clang/lib/Sema/SemaWasm.cpp
A clang/test/CodeGen/WebAssembly/builtins-test-fp-sig.c
M clang/test/CodeGen/builtins-wasm.c
M clang/test/Sema/builtins-wasm.c
M llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
M llvm/test/CodeGen/WebAssembly/ref-test-func.ll
Log Message:
-----------
[clang][WebAssembly] Support reftypes & varargs in test_function_pointer_signature (#150921)
I fixed support for varargs functions
(previously it didn't crash but the codegen was incorrect).
I added tests for structs and unions which already work. With the
multivalue abi they crash in the backend, so I added a sema check that
rejects structs and unions for that abi.
It will also crash in the backend if passed an int128 or float128 type.
Commit: 9234066476aa82cfac3cee564883a3124df4584e
https://github.com/llvm/llvm-project/commit/9234066476aa82cfac3cee564883a3124df4584e
Author: Daniel Rodríguez Troitiño <danielrodriguez at meta.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lld/MachO/Driver.cpp
M lld/test/MachO/stabs.s
Log Message:
-----------
[lld-macho] Process OSO prefix only textually in both input and output (#152063)
The processing of `-oso_prefix` uses `llvm::sys::fs::real_path` from the
user value, but it is later tried to be matched with the result of
`make_absolute`. While `real_path` resolves special symbols like `.`,
`..` and `~`, and resolves symlinks along the path, `make_absolute` does
neither, causing an incompatibility in some situations.
In macOS, temporary directories would normally be reported as
`/var/folders/<random>`, but `/var` is in fact a symlink to
`private/var`. If own is working on a temporary directory and uses
`-oso_prefix .`, it will be expanded to `/private/var/folder/<random>`,
while `make_absolute` will expand to `/var/folder/<random>` instead, and
`-oso_prefix` will fail to remove the prefix from the `N_OSO` entries,
leaving absolute paths to the temporary directory in the resulting file.
This would happen in any situation in which the working directory
includes a symlink, not only in temporary directories.
One can change the usage of `make_absolute` to use `real_path` as well,
but `real_path` will mean checking the file system for each `N_OSO`
entry. The other solution is stop using `real_path` when processing
`-oso_prefix` and manually expand an input of `.` like `make_absolute`
will do.
This second option is the one implemented here, since it is the closest
to the visible behaviour of ld64 (like the removed comment notes), so it
is the better one for compatibility. This means that a test that checked
the usage of the tilde as `-oso_prefix` needs to be removed (since it
was done by using `real_path`), and two new tests are provided checking
that symlinks do not affect the result. The second test checks a change
in behaviour, in which if one provides the input files with a prefix of
`./`, even when using `-oso_prefix .` because the matching is textual,
the `./` prefix will stay in the `N_OSO` entries. This matches the
observed behaviour of ld64.
Commit: bc814348ec0412362b062cb2928e5fc76d31bccb
https://github.com/llvm/llvm-project/commit/bc814348ec0412362b062cb2928e5fc76d31bccb
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
Log Message:
-----------
[flang][OpenMP] Break up ResolveOmpObject for readability, NFC (#151957)
The function ResolveOmpObject had a lot of highly-indented code in two
variant visitors. Extract the visitors into their own functions, and
reformat the code. Replace !(||) with !&&! in a couple of places to make
the formatting a bit nicer. Use llvm::enumerate instead of manually
maintaining iteration index.
Commit: 7a16a1ddb2eaa8c31cd648b0567897f551f8f6c6
https://github.com/llvm/llvm-project/commit/7a16a1ddb2eaa8c31cd648b0567897f551f8f6c6
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[HLSL] Add `isHLSLResourceRecordArray` method to `clang::Type` (#152450)
Adds the `isHLSLResourceRecordArray()` method to the `Type` class. This method returns `true` if the `Type` represents an array of HLSL resource records. Defining this method on `Type` makes it accessible from both sema and codegen.
Commit: adae37080587bf18da4b1ce3453a671d73bec724
https://github.com/llvm/llvm-project/commit/adae37080587bf18da4b1ce3453a671d73bec724
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/pr35497.ll
Log Message:
-----------
[SLP][NFC]Cleanup undefs and the whole test, NFC
Commit: 41b5880c957320b1be68cdb642ba735fdd27bb7c
https://github.com/llvm/llvm-project/commit/41b5880c957320b1be68cdb642ba735fdd27bb7c
Author: nerix <nerixdev at outlook.de>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lldb/test/Shell/SymbolFile/PDB/ast-restore.test
M lldb/test/Shell/SymbolFile/PDB/calling-conventions-x86.test
M lldb/test/Shell/SymbolFile/PDB/vbases.test
Log Message:
-----------
[LLDB] Run a few more PDB tests with native PDB as well (#152580)
Some DIA PDB tests pass with the native plugin already, but didn't test
this. This adds test runs with the native plugin - no functional
changes.
In addition to the x86 calling convention test, there's also
https://github.com/llvm/llvm-project/blob/9f102a90042fd3757c207112cfe64ee10182ace5/lldb/test/Shell/SymbolFile/PDB/calling-conventions-arm.test,
but I can't test this.
Commit: 536e414b14edb2cfea59b0482a5b968ad34953a7
https://github.com/llvm/llvm-project/commit/536e414b14edb2cfea59b0482a5b968ad34953a7
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Tee Ninja Output to Log Files
This patch makes all of the ninja commands in the monolithic-* scripts
write to log files in the current working directory. The plan is to use
this to feed the ninja log into generate_test_report_github.py so we can
surface compilation errors.
Related to #152246.
Reviewers: Keenuts, lnihlen, cmtice, dschuff, gburgessiv
Reviewed By: Keenuts, cmtice
Pull Request: https://github.com/llvm/llvm-project/pull/152331
Commit: abc22f771ebe05c2aeb8386337d9fb8d2bdd1094
https://github.com/llvm/llvm-project/commit/abc22f771ebe05c2aeb8386337d9fb8d2bdd1094
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.add.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.cmpswap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.tfe.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.add.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.cmpswap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.tfe.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.atomic.fadd.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.tfe.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.tfe.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f32.ll
Log Message:
-----------
[AMDGPU] Fix buffer addressing mode matching (#152584)
Starting in gfx1250, voffset and immoffset are zero-extended from 32
bits
to 45 bits before being added together.
Commit: 72bc1bea7a28f432658967463af2104db4663156
https://github.com/llvm/llvm-project/commit/72bc1bea7a28f432658967463af2104db4663156
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/test/Dialect/AMDGPU/invalid.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
Log Message:
-----------
[mlir][AMDGPU] Allow non-contiguous destination memrefs for gather_to_lds (#152559)
The requirement that the LDS operand is contiguous is overly restrictive
because it's perfectly valid to have a subview depend on subgroup IDs
that is still subgroup contiguous. We could continue trying to do this
verification based on the number of copied elements, but instead this
change just opts to clarify the semantics on the op definition.
Commit: 9faac938e1b03ea23e7212550860f8b8001757e1
https://github.com/llvm/llvm-project/commit/9faac938e1b03ea23e7212550860f8b8001757e1
Author: Thurston Dang <thurston at google.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
Log Message:
-----------
[sanitizer] Warn if allocator size exceeds max user virtual address (#152428)
This warns the user of incompatible configurations, such as 39-bit and
42-bit VMAs for AArch64 non-Android Linux ASan
(https://github.com/llvm/llvm-project/issues/145259).
Commit: 49ccf46adc455b64c2be0006092651182b1cb2c4
https://github.com/llvm/llvm-project/commit/49ccf46adc455b64c2be0006092651182b1cb2c4
Author: Anchu Rajendran S <asudhaku at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Log Message:
-----------
[OpenMP] [IR Builder] Changes to Support Scan Operation (#136035)
Scan reductions are supported in OpenMP with the help of scan directive.
Reduction clause of the for loop/simd directive can take an `inscan`
modifier along with the body of the directive specifying a `scan`
directive. This PR implements the lowering logic for scan reductions in
workshare loops of OpenMP.
The body of the for loop is split into two loops (Input phase loop and
Scan Phase loop) and a scan reduction loop is added in the middle. The
Input phase loop populates a temporary buffer with initial values that
are to be reduced. The buffer is used by the reduction loop to perform
scan reduction. Scan phase loop copies the values of the buffer to the
reduction variable before executing the scan phase. Below is a high
level view of the code generated.
```
<declare pointer to buffer> ptr
omp parallel {
size num_iters = <num_iters>
// temp buffer allocation
omp masked {
buff = malloc(num_iters*scanvarstype)
*ptr = buff
}
barrier;
// input phase loop
for (i: 0..<num_iters>) {
<input phase>;
buffer = *ptr;
buffer[i] = red;
}
// scan reduction
omp masked
{
for (int k = 0; k != ceil(log2(num_iters)); ++k) {
i=pow(2,k)
for (size cnt = last_iter; cnt >= i; --cnt) {
buffer = *ptr;
buffer[cnt] op= buffer[cnt-i];
}
}
}
barrier;
// scan phase loop
for (0..<num_iters>) {
buffer = *ptr;
red = buffer[i] ;
<scan phase>;
}
// temp buffer deletion
omp masked {
free(*ptr)
}
barrier;
}
```
The temporary buffer needs to be shared between all threads performing
reduction since it is read/written in Input and Scan workshare Loops.
This is achieved by declaring a pointer to the buffer in the shared
region and dynamically allocating the buffer by the master thread.
This is the reason why allocation, deallocation and scan reduction are
performed within `masked`. The code is verified to produce correct
results for Fortran programs with the code changes in the PR
https://github.com/llvm/llvm-project/pull/133149
Commit: 82046c7f339a74a198ec7b17612243663732c7f7
https://github.com/llvm/llvm-project/commit/82046c7f339a74a198ec7b17612243663732c7f7
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
M llvm/test/CodeGen/AMDGPU/hard-clauses-gfx1250.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.store.ll
Log Message:
-----------
[AMDGPU] Adjust hard clause rules for gfx1250 (#152592)
Change from GFX12: Relax S_CLAUSE rules to all all non-flat memory types
in
the same clause, and all Flat types in the same.
For VMEM/FLAT clause types now look like:
- Non-Flat (load, store, atomic): buffer, global, scratch, TDM, Async
- Flat: load, store, atomic
Commit: 47f54e499210c2a66da0441b7ae54974a57d2182
https://github.com/llvm/llvm-project/commit/47f54e499210c2a66da0441b7ae54974a57d2182
Author: Rafael Auler <rafaelauler at meta.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
Revert "[BOLT][NFC] Register profiled functions once (#150622)" (#152597)
In perf2bolt, we are observing sporadic crashes in the recently added
registerProfiledFunctions from #150622. Addresses provided by the
hardware (from LBR) might be -1, which clashes with what LLVM uses in
DenseSet as empty tombstones records. This causes DenseSet to assert
with "can't insert empty tombstone into map" when ingesting this
data. Revert this change for now to unbreak perf2bolt.
Commit: cb2d56ce960714ce6fce39e8b846326969a30c2d
https://github.com/llvm/llvm-project/commit/cb2d56ce960714ce6fce39e8b846326969a30c2d
Author: Finn Plummer <mail at inbelic.dev>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/lib/BinaryFormat/DXContainer.cpp
M llvm/lib/Frontend/HLSL/HLSLRootSignature.cpp
M llvm/lib/Frontend/HLSL/RootSignatureMetadata.cpp
Log Message:
-----------
[NFC][HLSL][DirectX] Consolidate `ResourceClassNames` (#152213)
During the split of the various `Frontend/HLSL` libraries, there was an
oversight to duplicate the `ResourceClassNames` definitions. This commit
simply consolidates the definitions into `DXContainer.h` as
`getResourceClasses`
Commit: dddeb07c2ea9bc4e507d3bd34980fa6e9513ed9f
https://github.com/llvm/llvm-project/commit/dddeb07c2ea9bc4e507d3bd34980fa6e9513ed9f
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3p_err.s
Log Message:
-----------
[AMDGPU] Restrict packed math FP32 instructions to read only one SGPR per operand on gfx12+ (#152465)
Sec. 4.6.7.1 of the gfx1250 SPG states that if an SGPR is used
as an operand, only one SGPR will be read for both the low and high
operations. As a result, the corresponding bits in `op_sel` and
`op_sel_hi` must be the same when the operand is an SGPR.
Co-authored-by: Tian, Shilei <Shilei.Tian at amd.com>
Co-authored-by: Tian, Shilei <Shilei.Tian at amd.com>
Commit: 469863111f217aeea98d65b30266f28c7b6c1169
https://github.com/llvm/llvm-project/commit/469863111f217aeea98d65b30266f28c7b6c1169
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/bf16-math.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
Log Message:
-----------
[AMDGPU] Enable CodeGen for v_pk_fma_bf16 (#152578)
Commit: 27ed1f99e250c913715ca75c4f33e42d59a06006
https://github.com/llvm/llvm-project/commit/27ed1f99e250c913715ca75c4f33e42d59a06006
Author: Leandro Lacerda <leandrolcampos at yahoo.com.br>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M offload/unittests/CMakeLists.txt
M offload/unittests/Conformance/device_code/CMakeLists.txt
A offload/unittests/Conformance/device_code/CUDAMath.cpp
R offload/unittests/Conformance/device_code/Common.hpp
A offload/unittests/Conformance/device_code/DeviceAPIs.hpp
A offload/unittests/Conformance/device_code/HIPMath.cpp
A offload/unittests/Conformance/device_code/KernelRunner.hpp
M offload/unittests/Conformance/device_code/LLVMLibm.cpp
M offload/unittests/Conformance/include/mathtest/TestRunner.hpp
Log Message:
-----------
[Offload][Conformance] Add support for CUDA Math and HIP Math providers (#152362)
This patch extends the conformance testing infrastructure to support two
new providers of math function implementations for GPUs: CUDA Math
(`cuda-math`) and HIP Math (`hip-math`).
Commit: b8195e3a8e77ec15f6abbcce86d6a51dca13a5c4
https://github.com/llvm/llvm-project/commit/b8195e3a8e77ec15f6abbcce86d6a51dca13a5c4
Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M libc/include/dlfcn.yaml
M libc/src/dlfcn/dladdr.cpp
M libc/src/dlfcn/dladdr.h
M libc/src/dlfcn/dlinfo.cpp
M libc/src/dlfcn/dlinfo.h
M libc/src/dlfcn/dlsym.cpp
M libc/src/dlfcn/dlsym.h
Log Message:
-----------
[libc] Fix typo and amend restrict qualifier (#152410)
This removes an extraneous ',' in the generated dlfcn header.
This also adds `__restrict` to `dladdr`'s declaration per POSIX. Another
fix is made: the C standard `restrict` keyword is removed from
dlinfo.cpp/dlinfo.h (but note that dlfcn.yaml still annotates
`__restrict` for dlinfo's decl).
Commit: 4394a0ca4a7c0687ea0c73cdf994bb36efbc69f2
https://github.com/llvm/llvm-project/commit/4394a0ca4a7c0687ea0c73cdf994bb36efbc69f2
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M flang/lib/Evaluate/tools.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda] Fix detection of implicit data transfer with a global (#152604)
Commit: 1458eb206fb652358b3ee7e75d95b52f3f4ac333
https://github.com/llvm/llvm-project/commit/1458eb206fb652358b3ee7e75d95b52f3f4ac333
Author: Wenju He <wenju.he at intel.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
R libclc/clc/include/clc/shared/binary_decl_with_scalar_second_arg.inc
Log Message:
-----------
[NFC][libclc] Delete unused clc/shared/binary_decl_with_scalar_second_arg.inc (#152463)
Commit: 05dd957cda663273ae0e5739656ffe701404f37c
https://github.com/llvm/llvm-project/commit/05dd957cda663273ae0e5739656ffe701404f37c
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/test/Analysis/DDG/basic-loopnest.ll
M llvm/test/Analysis/DependenceAnalysis/Coupled.ll
M llvm/test/Analysis/DependenceAnalysis/DADelin.ll
Log Message:
-----------
[DA] Fix the check between Subscript and Size after delinearization (#151326)
Delinearization provides two values: the size of the array, and the
subscript of the access. DA checks their validity (`0 <= subscript <
size`), with some special handling. In particular, to ensure `subscript
< size`, calculate the maximum value of `subscript - size` and check if
it is negative. There was an issue in its process: when `subscript -
size` is expressed as an affine format like `init + step * i`, the value
in the last iteration (`start + step * (num_iterations - 1)`) was
assumed to be the maximum value. This assumption is incorrect in the
following cases:
- When `step` is negative
- When the AddRec wraps
This patch introduces extra checks to ensure the sign of `step` and
verify the existence of nsw/nuw flags.
Also, `isKnownNonNegative(S - smax(1, Size))` was used as a regular
check, which is incorrect when `Size` is negative. This patch also
replace it with `isKnownNonNegative(S - Size)`, although it's still
unclear whether using `isKnownNonNegative` is appropriate in the first
place.
Fix #150604
Commit: c9f3a706e7a3d265d995424ac8f3f082ffaf980e
https://github.com/llvm/llvm-project/commit/c9f3a706e7a3d265d995424ac8f3f082ffaf980e
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M llvm/include/llvm/TextAPI/Architecture.def
M llvm/unittests/TextAPI/TextStubV5Tests.cpp
Log Message:
-----------
[TextAPI] Add riscv32 as a supported arch (#152619)
Commit: 3769ce013be2879bf0b329c14a16f5cb766f26ce
https://github.com/llvm/llvm-project/commit/3769ce013be2879bf0b329c14a16f5cb766f26ce
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lld/test/ELF/riscv-relax-align.s
M lld/test/ELF/riscv-relax-emit-relocs.s
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
A llvm/test/MC/RISCV/Relocations/align-after-relax.s
A llvm/test/MC/RISCV/Relocations/align-norvc.s
M llvm/test/MC/RISCV/Relocations/mc-dump.s
M llvm/test/MC/RISCV/align-option-relax.s
M llvm/test/MC/RISCV/align.s
M llvm/test/MC/RISCV/cfi-advance.s
M llvm/test/MC/RISCV/nop-slide.s
Log Message:
-----------
MC: Refine ALIGN relocation conditions
Each section now tracks the index of the first linker-relaxable
fragment, enabling two changes:
* Delete redundant ALIGN relocations before the first linker-relaxable
instruction in a section. The primary example is the offset 0
R_RISCV_ALIGN relocation for a text section aligned by 4.
* For alignments larger than the NOP size after the first
linker-relaxable instruction, ALIGN relocations are now generated, even in
norelax regions. This fixes the issue #150159.
The new test llvm/test/MC/RISCV/Relocations/align-after-relax.s
verifies the required ALIGN in a norelax region following
linker-relaxable instructions.
By using a fragment index within the subsection (which is less than or
equal to the section's index), the implementation may generate redundant
ALIGN relocations in lower-numbered subsections before the first
linker-relaxable instruction.
align-option-relax.s demonstrates the ALIGN optimization.
Add an initial `call` to a few tests to prevent the ALIGN optimization.
---
When the alignment exceeds 2, we insert $alignment-2 bytes of NOPs, even
in non-RVC code. This enables non-RVC code following RVC code to handle
a 2-byte adjustment without requiring an additional state in MCSection
or AsmParser.
```
.globl _start
_start:
// GNU ld can relax this to 6505 lui a0, 0x1
// LLD hasn't implemented this transformation.
lui a0, %hi(foo)
.option push
.option norelax
.option norvc
// Now we generate R_RISCV_ALIGN with addend 2, even if this is a norvc region.
.balign 4
b0:
.word 0x3a393837
.option pop
foo:
```
Pull Request: https://github.com/llvm/llvm-project/pull/150816
Commit: b9ca01b7464caa211841f88281d0a7ed0a97d634
https://github.com/llvm/llvm-project/commit/b9ca01b7464caa211841f88281d0a7ed0a97d634
Author: Jim Lin <jim at andestech.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
Log Message:
-----------
[RISCV] Move the decoder table for XCV, Xqci and XRivos from standard section to vendor section. NFC
Commit: ffdaf85a95026945c654f981b09267ce9f81ae80
https://github.com/llvm/llvm-project/commit/ffdaf85a95026945c654f981b09267ce9f81ae80
Author: Pengying Xu <xpy66swsry at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lld/ELF/BPSectionOrderer.cpp
M lld/test/ELF/bp-section-orderer.s
Log Message:
-----------
[lld][ELF] filter out section symbols when use BP reorder (#151685)
When using Temporal Profiling with the BP algorithm, we encounter an
issue with the internal function reorder. In cases where the symbol
table contains entries like:
```
Symbol table '.symtab' contains 45 entries:
Num: Value Size Type Bind Vis Ndx Name
10: 0000000000000000 0 SECTION LOCAL DEFAULT 18 .text.L1
11: 0000000000000000 24 FUNC LOCAL DEFAULT 18 L1
````
The zero-sized section symbol .text.L1 gets stored in the secToSym map
first. However, when the function lookup searches for L1 (as seen in
[BPSectionOrdererBase.inc:191](https://github.com/llvm/llvm-project/blob/main/lld/include/lld/Common/BPSectionOrdererBase.inc#L191)),
it fails to find the correct entry in rootSymbolToSectionIdxs because
the section symbol has already claimed that slot.
This patch fixes the issue by skipping zero-sized symbols during the
addSections process, ensuring that function symbols are properly
registered for lookup.
Commit: 7d886fab74d4037d654d02bed24dd97c0ba863d6
https://github.com/llvm/llvm-project/commit/7d886fab74d4037d654d02bed24dd97c0ba863d6
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
M mlir/test/Dialect/GPU/ops.mlir
M mlir/test/Dialect/GPU/outlining.mlir
Log Message:
-----------
[mlir][gpu] Update attribute definitions in `gpu::LaunchOp` (#152106)
`gpu::LaunchOp` is updated the following way:
- Change the attribute type of kernel function and module from
`SymbolRefAttr` to `FlatSymbolRefAttr` to avoid nested symbol
references.
- Rename variables from camel case (kernelFunc, kernelModule) to lower
case (function, module) and update the syntax.
- `LaunchOp::build` support passing `module` and `function` attributes.
Commit: 15a705dc931aace6ea2edf895e4258e0c3d825a0
https://github.com/llvm/llvm-project/commit/15a705dc931aace6ea2edf895e4258e0c3d825a0
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/src/math/CMakeLists.txt
A libc/src/math/ceilbf16.h
A libc/src/math/floorbf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/ceilbf16.cpp
A libc/src/math/generic/floorbf16.cpp
A libc/src/math/generic/roundbf16.cpp
A libc/src/math/generic/roundevenbf16.cpp
A libc/src/math/generic/truncbf16.cpp
A libc/src/math/roundbf16.h
A libc/src/math/roundevenbf16.h
A libc/src/math/truncbf16.h
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/CeilTest.h
M libc/test/src/math/smoke/FloorTest.h
M libc/test/src/math/smoke/RoundTest.h
M libc/test/src/math/smoke/TruncTest.h
A libc/test/src/math/smoke/ceilbf16_test.cpp
A libc/test/src/math/smoke/floorbf16_test.cpp
A libc/test/src/math/smoke/roundbf16_test.cpp
A libc/test/src/math/smoke/roundevenbf16_test.cpp
A libc/test/src/math/smoke/truncbf16_test.cpp
Log Message:
-----------
[libc][math][c++23] Add {ceil,floor,round,roundeven,trunc}bf16 math functions (#152352)
This PR implements the following basic math functions for BFloat16 type
along with the tests:
- ceilbf16
- floorbf16
- roundbf16
- roundevenbf16
- truncbf16
---------
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Commit: d7d0d7a80fc343750bbf85ea8c184737d9c70f62
https://github.com/llvm/llvm-project/commit/d7d0d7a80fc343750bbf85ea8c184737d9c70f62
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/do_loop_unstructured.f90
Log Message:
-----------
[flang] Skip processing reductions for unstructured `do concurrent` loops (#150188)
Fixes #149563
When emitting unstructured `do concurrent` loops, reduction processing
should be skipped since we are not emitting `fir.do_concurrent` loop in
the first place.
Commit: 92ac1ac9046d785f5f0c68e2d9f74b05c4db5d9c
https://github.com/llvm/llvm-project/commit/92ac1ac9046d785f5f0c68e2d9f74b05c4db5d9c
Author: Dominic Chen <1108560+ddcc at users.noreply.github.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M lldb/source/Core/DynamicLoader.cpp
Log Message:
-----------
[lldb] Fix incorrect print of UUID and load address (#152560)
The current display is missing a space, for example:
```
no target │ Locating binary: 24906A83-0182-361B-8B4A-90A249B04FD7at 0x0000000c0d108000
```
Co-authored-by: Dominic Chen <daming_chen at apple.com>
Commit: 0720af8c24f1e11217a6492fed5e3f60c0a02a19
https://github.com/llvm/llvm-project/commit/0720af8c24f1e11217a6492fed5e3f60c0a02a19
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
Log Message:
-----------
[LV][RISCV] Precommit RUN line changes from #151681. NFC
In preparation for enabling EVL tail folding by default.
Commit: 856a8b5ef9f40361f14b488a5dced9e9989f6fa8
https://github.com/llvm/llvm-project/commit/856a8b5ef9f40361f14b488a5dced9e9989f6fa8
Author: Md Asghar Ahmad Shahid <md.asghar.ahmad.shahid at intel.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/test/Dialect/Linalg/vectorization/linalg-ops-with-patterns.mlir
Log Message:
-----------
[mlir][linalg] Add mixed precision folding pattern in vectorize_children_and_apply_patterns TD Op (#148684)
In case of mixed precision inputs, the inputs are generally casted to
match output type thereby introduces arith.extFOp/extIOp instructions.
Folding such pattern into vector.contract is desirable for HW having
mixed precision ISA support.
This patch adds folding of mixed precision pattern into vector.contract
optionaly which can be enabled using attribute
`fold_type_extensions_into_contract`.
Commit: 2422972eeaebe94f591be2325563785ab7254d4e
https://github.com/llvm/llvm-project/commit/2422972eeaebe94f591be2325563785ab7254d4e
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-08-07 (Thu, 07 Aug 2025)
Changed paths:
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/FEnvSafeTest.cpp
M libc/test/UnitTest/FEnvSafeTest.h
M libc/test/UnitTest/FPMatcher.h
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
Log Message:
-----------
[libc] Migrate FEnvSafeTest and FPTest to ErrnoCheckingTest. (#152633)
This would ensure that errno value is cleared out before test execution
and tests pass even when LIBC_ERRNO_MODE_SYSTEM_INLINE is specified (and
errno may be clobbered before test execution).
A lot of the tests would fail, however, since errno would end up getting
set to EDOM or ERANGE during test execution and never validated before
the end of the test. This should be fixed - and errno should be
explicitly checked or ignored in all of those cases, but for now add a
TODO to address it later (see open issue #135320) and clear out errno in
test fixture to avoid test failures.
Commit: 2d4bac867552aa361c16db26a01d36f27507994f
https://github.com/llvm/llvm-project/commit/2d4bac867552aa361c16db26a01d36f27507994f
Author: Andrey <andrey.a.davydov at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.cpp
Log Message:
-----------
Reland "[clang-tidy] fix bugprone-narrowing-conversions false positive for conditional expression" (#151874)
This is another attempt to merge previously
[reverted](https://github.com/llvm/llvm-project/pull/139474#issuecomment-3148339124)
PR #139474. The added tests
`narrowing-conversions-conditional-expressions.c[pp]` failed on
[different (non x86_64)
platforms](https://github.com/llvm/llvm-project/pull/139474#issuecomment-3148334280)
because the expected warning is implementation-defined. That's why the
test must explicitly specify target (the line `// RUN: -- -target
x86_64-unknown-linux`).
Commit: 0bdd312b1d0d4b9d30170f384d44fa017acfb096
https://github.com/llvm/llvm-project/commit/0bdd312b1d0d4b9d30170f384d44fa017acfb096
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.kill.ll
M llvm/test/CodeGen/AMDGPU/wqm.mir
Log Message:
-----------
[AMDGPU] Generate some WQM/WWM tests (NFC) (#152635)
Update llvm.amdgcn.kill.ll and wqm.mir to be generated.
This preparatory work for refactoring of WQM/WWM pass.
Commit: 6a425f1e54d759ddc22afcbe1df442c7b35077c1
https://github.com/llvm/llvm-project/commit/6a425f1e54d759ddc22afcbe1df442c7b35077c1
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/test/CodeGen/ARM/scmp.ll
M llvm/test/CodeGen/ARM/ucmp.ll
M llvm/test/CodeGen/Thumb/scmp.ll
M llvm/test/CodeGen/Thumb/ucmp.ll
Log Message:
-----------
[ARM] Have custom lowering for ucmp and scmp (#149315)
Limited to non-thumb1 for scmp at the moment, since there is no good way
to do it.
Commit: eccc6e22f81141691542f5dd5bbb7996e446a44f
https://github.com/llvm/llvm-project/commit/eccc6e22f81141691542f5dd5bbb7996e446a44f
Author: Abhinav Kumar <96587705+kr-2003 at users.noreply.github.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/include/clang/Interpreter/RemoteJITUtils.h
M clang/lib/Interpreter/RemoteJITUtils.cpp
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/InterpreterTest.cpp
A clang/unittests/Interpreter/OutOfProcessInterpreterTests.cpp
Log Message:
-----------
[clang-repl] Enable extending `launchExecutor` (#152562)
This patch introduces the ability to customize the fork process with an external lambda function. This is useful for downstream clients where they want to do stream redirection.
Commit: a82ca1b5603a4ed9598b784f703d908f32e970b8
https://github.com/llvm/llvm-project/commit/a82ca1b5603a4ed9598b784f703d908f32e970b8
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/SFrame.h
M llvm/include/llvm/Object/SFrameParser.h
M llvm/lib/BinaryFormat/SFrame.cpp
M llvm/lib/Object/SFrameParser.cpp
M llvm/test/tools/llvm-readobj/ELF/sframe-fde.test
A llvm/test/tools/llvm-readobj/ELF/sframe-fre.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[Object] Parsing and dumping of SFrame Frame Row Entries (#151301)
The trickiest part here is that the FREs have a variable size, in two
(or three?) dimensions:
- the size of the StartAddress field. This determined by the FDE they
are in, so it is uniform across all FREs in one FDE.
- the number and sizes of offsets following the FRE. This can be
different for each FRE.
While vending this information through a template API would be possible,
I believe such an approach would be very unwieldy, and it would still
require a sequential scan through the FRE list. This is why I'm
implementing this by reading the data into a common data structure using
the fallible iterator pattern.
For more information about the SFrame unwind format, see the
[specification](https://sourceware.org/binutils/wiki/sframe) and the
related
[RFC](https://discourse.llvm.org/t/rfc-adding-sframe-support-to-llvm/86900).
Commit: 707447159341f7b5678dee4f47731af50524b9ae
https://github.com/llvm/llvm-project/commit/707447159341f7b5678dee4f47731af50524b9ae
Author: Luke Lau <luke at igalia.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/test/Transforms/LoopVectorize/RISCV/bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blend-any-of-reduction-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/defaults.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/force-vect-msg.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/lmul.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/RISCV/remark-reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-basics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vf-will-not-generate-any-vector-insts.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-riscv-vector-reverse.ll
Log Message:
-----------
[RISCV] Enable tail folding by default (#151681)
We have been tracking the performance of EVL tail folding in the loop
vectorizer on RISC-V for a while now, and after much hard work from
various contributors we think it should be generally profitable to
enable by default now.
With tail folding there is a 21% improvement on 525.x264_r on SPEC CPU
2017 on the BPI-F3 (-march=rva22u64_v -O3 -flto), as well as a 30%
geomean codesize reduction on SPEC and TSVC, with no significant
regressions detected.
Now that we are early into the LLVM 22.x development cycle it seems like
a good time to enable it to catch any issues. There are still more EVL
related items of work being tracked in #123069, which should continue to
improve performance.
Commit: 7e8a251f751c47f31103db2975a34d1b7780d992
https://github.com/llvm/llvm-project/commit/7e8a251f751c47f31103db2975a34d1b7780d992
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/SFrame.h
M llvm/include/llvm/Object/SFrameParser.h
M llvm/lib/BinaryFormat/SFrame.cpp
M llvm/lib/Object/SFrameParser.cpp
M llvm/test/tools/llvm-readobj/ELF/sframe-fde.test
R llvm/test/tools/llvm-readobj/ELF/sframe-fre.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
Revert "[Object] Parsing and dumping of SFrame Frame Row Entries" (#152650)
Reverts llvm/llvm-project#151301 - build breakage on multiple bots.
Commit: 229ab5aa2b11bb8738db2810677abfc89050ad80
https://github.com/llvm/llvm-project/commit/229ab5aa2b11bb8738db2810677abfc89050ad80
Author: David Green <david.green at arm.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/test/CodeGen/AArch64/bsp_implicit_ops.mir
Log Message:
-----------
[AArch64] Drop flags from BSP pseudos (#151856)
This prevents cases where some of the operands match from hitting
verifier errors with kill flags. These nodes should have been removed
earlier in most cases.
Fixes the direct issue from #149380. #151855 cleans up the codegen.
Commit: 3a561bc66264321d4c9f80d1249cb8fe1fa31e22
https://github.com/llvm/llvm-project/commit/3a561bc66264321d4c9f80d1249cb8fe1fa31e22
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-neon-3vdiff.ll
M llvm/test/CodeGen/AArch64/arm64-neon-mul-div.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/arm64-vmul.ll
Log Message:
-----------
[AArch64] Add tests for commutable [usp]mull, [us]addl, [us]abdl (#152512)
Precommit tests for PR #152158.
Commit: 5f864560a6514bb74ecc1e0c7d3ff8c412228bfe
https://github.com/llvm/llvm-project/commit/5f864560a6514bb74ecc1e0c7d3ff8c412228bfe
Author: Paul Murphy <murp at redhat.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/test/CodeGen/PowerPC/NoCRFieldRedefWhenSpillingCRBIT.mir
Log Message:
-----------
[PowerPC] fix lowering of SPILL_CRBIT on pwr9 and pwr10 (#146424)
If a copy exists between creation of a crbit and a spill, machine-cp
may delete the copy since it seems unaware of the relation between a cr
and crbit. A fix was previously made for the generic ppc64 lowering. It
should be applied to the pwr9 and pwr10 variants too.
Likewise, relax and extend the pwr8 test to verify pwr9 and pwr10
codegen too.
This fixes #143989.
Commit: e977b28c37c174c1b93ad78314650e03b545f560
https://github.com/llvm/llvm-project/commit/e977b28c37c174c1b93ad78314650e03b545f560
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/recurrence-binary-intrinsic.ll
Log Message:
-----------
[InstCombine] Match intrinsic recurrences when known to be hoisted
For value-accumulating recurrences of kind:
```
%umax.acc = phi i8 [ %umax, %backedge ], [ %a, %entry ]
%umax = call i8 @llvm.umax.i8(i8 %umax.acc, i8 %b)
```
The binary intrinsic may be simplified into an intrinsic with init
value and the other operand, if the latter is loop-invariant:
```
%umax = call i8 @llvm.umax.i8(i8 %a, i8 %b)
```
Proofs: https://alive2.llvm.org/ce/z/ea2cVC.
Fixes: https://github.com/llvm/llvm-project/issues/145875.
Commit: 6a32e2225ed42a1cb846d9753c5589e3462924c5
https://github.com/llvm/llvm-project/commit/6a32e2225ed42a1cb846d9753c5589e3462924c5
Author: David Green <david.green at arm.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/sve-arith-fp.ll
Log Message:
-----------
[AArch64] Add SVE fmuladd and fma cost tests. NFC
Commit: 29cde86ecc81cfe0770bf366ddaec522d3885c75
https://github.com/llvm/llvm-project/commit/29cde86ecc81cfe0770bf366ddaec522d3885c75
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/bf16-math.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-bf16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo-bf16.ll
Log Message:
-----------
[AMDGPU] Removed extra blank lines from tests. NFC. (#152612)
Commit: ff0093cecd0c807d122cfb6b74634074c962ade9
https://github.com/llvm/llvm-project/commit/ff0093cecd0c807d122cfb6b74634074c962ade9
Author: Harald-R <rotuna.razvan at gmail.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang-tools-extra/clangd/ConfigFragment.h
M clang-tools-extra/clangd/Headers.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/HeadersTests.cpp
M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Types.h
Log Message:
-----------
[clangd] Use resolved path when checking AngledHeaders/QuotedHeaders in IncludeInserter (#148371)
This makes IncludeInserter's behavior consistent with include-cleaner,
as discussed in https://github.com/llvm/llvm-project/pull/140594.
Commit: c7c022948031a3c79b92b1a0497dc75868382d17
https://github.com/llvm/llvm-project/commit/c7c022948031a3c79b92b1a0497dc75868382d17
Author: David Stuttard <david.stuttard at amd.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/test/CodeGen/AMDGPU/load-constant-always-uniform.ll
R llvm/test/CodeGen/AMDGPU/test_isel_single_lane.ll
M llvm/unittests/CodeGen/SelectionDAGTestBase.h
M llvm/unittests/Target/AArch64/AArch64SelectionDAGTest.cpp
Log Message:
-----------
Revert "[AMDGPU] SelectionDAG divergence tracking should take into account Target divergency. (#147560)" (#152548)
This reverts commit 9293b65a616b8de432a654d046e802540b146372.
Commit: 18e4f775c33af123772409ffde69dd424b98814a
https://github.com/llvm/llvm-project/commit/18e4f775c33af123772409ffde69dd424b98814a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/test/Transforms/Inline/SystemZ/inline-target-attr.ll
Log Message:
-----------
[SystemZ] Remove incorrect areInlineCompatible hook (#152494)
This reverts https://github.com/llvm/llvm-project/pull/132976.
The PR incorrectly claimed that this makes inlining more liberal,
referencing the string comparison in TargetTransformInfoImpl.h.
However, the implementation that actually applies is the one in
BasicTTIImpl.h, which performs a feature subset comparison. As such,
this regressed inlining, most concerningly of functions without +vector
into functions with +vector.
Revert the change to restore the previous behavior.
Commit: 6ebb8901cc0907ed4ff19444be5c545e918c1b52
https://github.com/llvm/llvm-project/commit/6ebb8901cc0907ed4ff19444be5c545e918c1b52
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M bolt/lib/Passes/FrameOptimizer.cpp
A bolt/test/AArch64/unsupported-passes.test
Log Message:
-----------
[BOLT][AArch64] Refuse to run FrameOptimizer pass (#152309)
FrameOptimizer pass runs by default on all targets, however, it defaults
to --frame-opt=none. This patch prevents the pass from running on
non-x86 targets when any other value (hot, full) is specified.
Commit: e9d71efb833d6f9fafd5cdff0f79d5c19b458a54
https://github.com/llvm/llvm-project/commit/e9d71efb833d6f9fafd5cdff0f79d5c19b458a54
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-neon-3vdiff.ll
M llvm/test/CodeGen/AArch64/arm64-neon-mul-div.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/arm64-vmul.ll
Log Message:
-----------
[AArch64] Mark [usp]mull, [us]addl, [us]abdl as commutative (#152158)
Fixes #61461.
Commit: 94c48a21bbdf0589540cb55057c216607e764919
https://github.com/llvm/llvm-project/commit/94c48a21bbdf0589540cb55057c216607e764919
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AArch64/aarch64-histcnt-dag-combine-hang.ll
Log Message:
-----------
[AArch64][SVE] Fix hang in VECTOR_HISTOGRAM DAG combine (#152539)
The histogram DAG combine went into an infinite loop of creating the
same histogram node due to an incorrect use of the `refineUniformBase`
and `refineIndexType` APIs.
These APIs take SDValues by reference (SDValue&) and return `true` if
they were "refined" (i.e., set to new values).
Previously, this DAG combine would create the `Ops` array (used to
create the new histogram node) before calling the `refine*` APIs, which
copies the SDValues into the array, meaning the updated values were not
used to create the new histogram node.
Reproducer: https://godbolt.org/z/hsGWhTaqY (it will timeout)
Commit: 20051b7d6ed4de4301f05c385d3885696bf364df
https://github.com/llvm/llvm-project/commit/20051b7d6ed4de4301f05c385d3885696bf364df
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M clang/lib/Headers/avx512vpopcntdqintrin.h
M clang/lib/Headers/avx512vpopcntdqvlintrin.h
Log Message:
-----------
[Headers][X86] Ensure the CONSTEXPR attributes are undefined at the end of the vpopcntdq headers (#152663)
Commit: 9abacec2260dd52333c2fc63cded90d8e2ff2db7
https://github.com/llvm/llvm-project/commit/9abacec2260dd52333c2fc63cded90d8e2ff2db7
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/generate_test_report_github.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
A .ci/utils.sh
M .git-blame-ignore-revs
M .github/workflows/check-ci.yml
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
A .github/workflows/mlir-spirv-tests.yml
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Core/Exceptions.cpp
M bolt/lib/Passes/FrameOptimizer.cpp
M bolt/lib/Profile/DataAggregator.cpp
A bolt/test/AArch64/unsupported-passes.test
M bolt/test/link_fdata.py
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Profile/CMakeLists.txt
M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
M clang-tools-extra/clang-tidy/.clang-tidy
M clang-tools-extra/clang-tidy/bugprone/InvalidEnumDefaultInitializationCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.h
M clang-tools-extra/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/TaggedUnionMemberCountCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
M clang-tools-extra/clangd/ConfigFragment.h
M clang-tools-extra/clangd/HeaderSourceSwitch.cpp
M clang-tools-extra/clangd/Headers.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/HeadersTests.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/compare-pointer-to-member-virtual-function.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/copy-constructor-init.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/crtp-constructor-accessibility.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/nondeterministic-pointer-iteration-order.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/redundant-branch-condition.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/standalone-empty.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/tagged-union-member-count.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/no-recursion.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/pass-by-value.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/replace-auto-ptr.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/replace-disallow-copy-and-assign-macro.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/type-traits.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-auto.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-trailing-return-type.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/unnecessary-copy-initialization.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/function-cognitive-complexity.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/misleading-indentation.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/qualified-auto.rst
M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Types.h
M clang-tools-extra/include-cleaner/lib/Record.cpp
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/tagged-union-member-count/stdnamespace.h
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/tagged-union-member-count/system/pthread.h
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-conditional-expressions.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.m
M clang-tools-extra/test/clang-tidy/checkers/bugprone/tagged-union-member-count.mm
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-allowed-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization-excluded-container-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-allowed-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-crash.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/diagnostic.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/export-relpath.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/run-clang-tidy-enable-check-profile.cpp
M clang/docs/ClangRepl.rst
M clang/docs/HardwareAssistedAddressSanitizerDesign.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
A clang/docs/analyzer/checkers/storetoimmutable_example.cpp
M clang/docs/index.rst
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/DeclID.h
M clang/include/clang/AST/DeclTemplate.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/OpenACCClause.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
A clang/include/clang/Basic/ABIVersions.def
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/CIR/CIRGenerator.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/Utils.h
M clang/include/clang/Interpreter/RemoteJITUtils.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Initialization.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Sema/Ownership.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaInternal.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/SemaWasm.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/AST/ASTConcept.cpp
M clang/lib/AST/ASTContext.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/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBlock.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/InterpFrame.h
M clang/lib/AST/ByteCode/InterpShared.cpp
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/MemberPointer.h
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/State.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Analysis/LifetimeSafety.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
A clang/lib/CIR/CodeGen/CIRGenCleanup.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
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
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/EHScopeStack.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CIRSimplify.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
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/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
M clang/lib/Format/TokenAnnotator.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/PrecompiledPreamble.cpp
M clang/lib/Headers/__clang_cuda_runtime_wrapper.h
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/avx2intrin.h
M clang/lib/Headers/avx512dqintrin.h
M clang/lib/Headers/avx512fintrin.h
M clang/lib/Headers/avx512vpopcntdqintrin.h
M clang/lib/Headers/avx512vpopcntdqvlintrin.h
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/cpuid.h
M clang/lib/Headers/emmintrin.h
M clang/lib/Headers/mmintrin.h
M clang/lib/Interpreter/CodeCompletion.cpp
M clang/lib/Interpreter/RemoteJITUtils.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/lib/Sema/SemaWasm.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/StaticAnalyzer/Checkers/AssumeModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h
A clang/lib/StaticAnalyzer/Checkers/StoreToImmutableChecker.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/cxx2a.cpp
M clang/test/AST/ByteCode/functions.cpp
M clang/test/AST/ByteCode/hlsl.hlsl
M clang/test/AST/ByteCode/lifetimes.cpp
M clang/test/AST/ByteCode/mutable.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/nullable.cpp
M clang/test/AST/ByteCode/unions.cpp
A clang/test/AST/HLSL/vk_binding_attr.hlsl
M clang/test/Analysis/builtin_assume.cpp
M clang/test/Analysis/cxx23-assume-attribute.cpp
A clang/test/Analysis/element-region-address-space.c
A clang/test/Analysis/engine/gh151711.cpp
A clang/test/Analysis/store-to-immutable-basic.c
A clang/test/Analysis/store-to-immutable-basic.cpp
A clang/test/Analysis/store-to-immutable-lambda-init.cpp
M clang/test/Analysis/undef-call.c
M clang/test/CIR/CodeGen/aapcs-volatile-bitfields.c
M clang/test/CIR/CodeGen/bitfields.c
M clang/test/CIR/CodeGen/builtin_call.cpp
M clang/test/CIR/CodeGen/cleanup.cpp
M clang/test/CIR/CodeGen/complex-arithmetic.cpp
A clang/test/CIR/CodeGen/complex-compound-assignment.cpp
A clang/test/CIR/CodeGen/module-asm.c
A clang/test/CIR/CodeGen/variable-template-specialization.cpp
A clang/test/CIR/CodeGen/virtual-function-calls.cpp
A clang/test/CIR/CodeGenOpenACC/combined-private-clause.cpp
A clang/test/CIR/CodeGenOpenACC/compute-private-clause-templates.cpp
A clang/test/CIR/CodeGenOpenACC/compute-private-clause.cpp
A clang/test/CIR/CodeGenOpenACC/loop-private-clause.cpp
M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
A clang/test/CIR/IR/invalid-vtable.cir
A clang/test/CIR/IR/vtable-addrpt.cir
A clang/test/CIR/Lowering/module-asm.cir
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p9.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p4.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/ClangScanDeps/modules-debug-dir.c
R clang/test/CodeGen/PowerPC/check-zero-vector.c
A clang/test/CodeGen/WebAssembly/builtins-test-fp-sig.c
M clang/test/CodeGen/X86/avx-builtins.c
M clang/test/CodeGen/X86/avx2-builtins.c
M clang/test/CodeGen/X86/avx512-reduceIntrin.c
M clang/test/CodeGen/X86/avx512-reduceMinMaxIntrin.c
M clang/test/CodeGen/X86/avx512dq-builtins.c
M clang/test/CodeGen/X86/avx512f-builtins.c
M clang/test/CodeGen/X86/avx512vpopcntdq-builtins.c
M clang/test/CodeGen/X86/avx512vpopcntdqvl-builtins.c
M clang/test/CodeGen/X86/builtin_test_helpers.h
M clang/test/CodeGen/X86/mmx-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
M clang/test/CodeGen/arm_acle.c
A clang/test/CodeGen/arm_acle_swp.c
M clang/test/CodeGen/atomic-arm.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/builtins-wasm.c
M clang/test/CodeGen/cfi-icall-generalize.c
A clang/test/CodeGen/dbg-info-all-calls-described.c
M clang/test/CodeGen/link-builtin-bitcode.c
M clang/test/CodeGen/pr45476.cpp
M clang/test/CodeGen/thinlto_backend.ll
M clang/test/CodeGenCXX/debug-info-class.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/dynamic-cast-exact-disabled.cpp
M clang/test/CodeGenCXX/dynamic-cast-exact.cpp
M clang/test/CodeGenCXX/mangle-class-nttp.cpp
M clang/test/CodeGenCXX/mangle-concept.cpp
M clang/test/CodeGenCXX/module-intializer-pmf.cpp
M clang/test/CodeGenCXX/profile-remap.cpp
M clang/test/CodeGenCXX/vtable-debug-info-inheritance-simple.cpp
R clang/test/CodeGenHLSL/buffer-array-operator.hlsl
R clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
R clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
R clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
R clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
R clang/test/CodeGenHLSL/cbuffer.hlsl
R clang/test/CodeGenHLSL/cbuffer_align.hlsl
R clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
R clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
R clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
R clang/test/CodeGenHLSL/default_cbuffer.hlsl
R clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
R clang/test/CodeGenHLSL/resource-bindings.hlsl
A clang/test/CodeGenHLSL/resources/AppendStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/ByteAddressBuffers-constructors.hlsl
A clang/test/CodeGenHLSL/resources/ConsumeStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-constructor-opt.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-constructor.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/RWBuffer-subscript.hlsl
A clang/test/CodeGenHLSL/resources/RWStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/RasterizerOrderedStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-constructors.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-lib.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-ps.hlsl
A clang/test/CodeGenHLSL/resources/StructuredBuffers-subscripts.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_align.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_and_namespaces.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_with_packoffset.hlsl
A clang/test/CodeGenHLSL/resources/cbuffer_with_static_global_and_function.hlsl
A clang/test/CodeGenHLSL/resources/default_cbuffer.hlsl
A clang/test/CodeGenHLSL/resources/default_cbuffer_with_layout.hlsl
A clang/test/CodeGenHLSL/resources/resource-bindings.hlsl
A clang/test/CodeGenHLSL/vk_binding_attr.hlsl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/amdgpu-readonly-features-written-with-no-target.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-add.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-atomic-max.cl
M clang/test/Driver/HLSL/metal-converter.hlsl
A clang/test/Driver/Inputs/libclc/libclc.bc
A clang/test/Driver/Inputs/libclc/subdir/libclc.bc
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/check-time-trace-ParseDeclarationOrFunctionDefinition.cpp
M clang/test/Driver/cl-showfilenames.c
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/crash-report-modules.m
M clang/test/Driver/cuda-arch-translation.cu
M clang/test/Driver/cuda-options.cu
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/hip-offload-compress-zlib.hip
M clang/test/Driver/hip-offload-compress-zstd.hip
M clang/test/Driver/hip-options.hip
M clang/test/Driver/mingw-sysroot.cpp
A clang/test/Driver/opencl-libclc.cl
A clang/test/FixIt/fixit-c++17.cpp
M clang/test/Frontend/backend-attribute-error-warning-optimize.c
A clang/test/Frontend/dump-minimization-hints-cpp20-modules.cpp
M clang/test/Frontend/dump-minimization-hints.cpp
M clang/test/Headers/__cpuidex_conflict.c
R clang/test/Interpreter/assigment-with-implicit-ctor.cpp
A clang/test/Interpreter/assignment-with-implicit-ctor.cpp
A clang/test/Interpreter/bad_percent_command.cpp
A clang/test/Interpreter/dynamic-library-bad-args.cpp
A clang/test/Interpreter/help.cpp
M clang/test/Modules/ExtDebugInfo.cpp
M clang/test/Modules/implicit-module-header-maps.cpp
A clang/test/Modules/pr151277.cpp
A clang/test/Modules/specializations-lazy-load-parentmap-crash-analyzer.cpp
M clang/test/Modules/specializations-lazy-load-parentmap-crash.cpp
M clang/test/OpenMP/metadirective_messages.cpp
M clang/test/Parser/cxx-template-template-recovery.cpp
M clang/test/Parser/cxx2a-concept-declaration.cpp
A clang/test/Parser/cxx2c-template-template-param.cpp
M clang/test/Preprocessor/lang-std.cpp
A clang/test/Sema/amdgcn-va-list-type.c
M clang/test/Sema/builtins-wasm.c
M clang/test/Sema/for.c
A clang/test/Sema/riscv-interrupt-attr-rnmi.c
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-cxx2a.cpp
M clang/test/SemaCXX/constexpr-value-init.cpp
A clang/test/SemaCXX/cxx2c-template-template-param.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
M clang/test/SemaCXX/warn-self-assign-builtin.cpp
M clang/test/SemaCXX/warn-self-assign-field-builtin.cpp
M clang/test/SemaCXX/warn-self-assign-field-overloaded.cpp
M clang/test/SemaCXX/warn-self-assign-overloaded.cpp
M clang/test/SemaCXX/warn-thread-safety-negative.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-libc-functions.cpp
M clang/test/SemaOpenACC/private_firstprivate_reduction_required_ops.cpp
M clang/test/SemaOpenACC/sub-array.cpp
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-wmma-w32-param.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-add-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-add-target-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-fmin-fmax-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-buffer-atomic-fmin-fmax-target-err.cl
A clang/test/SemaOpenCLCXX/amdgpu-nullptr.clcpp
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-repl/ClangRepl.cpp
M clang/tools/driver/cc1as_main.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CIndexCodeCompletion.cpp
M clang/tools/libclang/CXIndexDataConsumer.cpp
M clang/tools/libclang/CXIndexDataConsumer.h
M clang/tools/libclang/Indexing.cpp
M clang/tools/offload-arch/AMDGPUArchByHIP.cpp
M clang/tools/offload-arch/NVPTXArch.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/DeclTest.cpp
M clang/unittests/AST/ExternalASTSourceTest.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Frontend/ASTUnitTest.cpp
M clang/unittests/Frontend/FrontendActionTest.cpp
M clang/unittests/Frontend/PCHPreambleTest.cpp
M clang/unittests/Frontend/ReparseWorkingDirTest.cpp
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/InterpreterTest.cpp
A clang/unittests/Interpreter/OutOfProcessInterpreterTests.cpp
M clang/unittests/Sema/ExternalSemaSourceTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/HeaderIncludesTest.cpp
M clang/unittests/Tooling/Syntax/TokensTest.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.h
M clang/unittests/Tooling/ToolingTest.cpp
M clang/utils/TableGen/ClangBuiltinTemplatesEmitter.cpp
M cmake/Modules/FindLibcCommonUtils.cmake
M compiler-rt/lib/asan/asan_mac.cpp
M compiler-rt/lib/asan/asan_mapping.h
M compiler-rt/lib/builtins/aarch64/lse.S
M compiler-rt/lib/builtins/aarch64/sme-abi.S
M compiler-rt/lib/builtins/assembly.h
M compiler-rt/lib/hwasan/hwasan_interceptors_vfork.S
M compiler-rt/lib/hwasan/hwasan_setjmp_aarch64.S
M compiler-rt/lib/hwasan/hwasan_tag_mismatch_aarch64.S
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_aarch64.S
M compiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp
M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
M compiler-rt/test/builtins/Unit/muldc3_test.c
M compiler-rt/test/sanitizer_common/CMakeLists.txt
A compiler-rt/test/ubsan_minimal/TestCases/misalignment.cpp
A compiler-rt/test/ubsan_minimal/TestCases/null.cpp
M cross-project-tests/CMakeLists.txt
A cross-project-tests/dtlto/ld-archive-thin.test
M cross-project-tests/lit.cfg.py
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/io-stmt.h
M flang-rt/include/flang-rt/runtime/type-info.h
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/lib/runtime/namelist.cpp
M flang-rt/unittests/CMakeLists.txt
M flang-rt/unittests/Runtime/CMakeLists.txt
A flang-rt/unittests/Runtime/Descriptor.cpp
M flang-rt/unittests/Runtime/NumericalFormatTest.cpp
M flang/docs/Extensions.md
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Lower/Bridge.h
A flang/include/flang/Lower/CUDA.h
M flang/include/flang/Lower/ConvertType.h
M flang/include/flang/Lower/ConvertVariable.h
R flang/include/flang/Lower/Cuda.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/Factory.h
M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/openmp-utils.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/extensions.h
A flang/include/flang/Semantics/openmp-utils.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Support/Fortran.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
A flang/lib/Lower/CUDA.cpp
M flang/lib/Lower/ConvertArrayConstructor.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertProcedureDesignator.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/CustomIntrinsicCall.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/Mangler.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/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.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/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/Builder/TemporaryStorage.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-acc-structure.cpp
M flang/lib/Semantics/check-acc-structure.h
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-omp-atomic.cpp
M flang/lib/Semantics/check-omp-loop.cpp
M flang/lib/Semantics/check-omp-metadirective.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/openmp-utils.cpp
R flang/lib/Semantics/openmp-utils.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/unparse-with-symbols.cpp
M flang/lib/Support/Fortran.cpp
A flang/test/Driver/atomic-control-options.f90
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-set-allocator.cuf
A flang/test/Lower/OpenMP/DelayedPrivatization/target-private-implicit-scalar-map.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-teams-private-implicit-scalar-map.f90
M flang/test/Lower/OpenMP/Todo/defaultmap-clause-firstprivate.f90
A flang/test/Lower/OpenMP/Todo/wsloop-reduction-non-intrinsic.f90
M flang/test/Lower/OpenMP/defaultmap.f90
M flang/test/Lower/OpenMP/distribute-simd.f90
M flang/test/Lower/OpenMP/optional-argument-map-2.f90
M flang/test/Lower/OpenMP/target-map-complex.f90
M flang/test/Lower/OpenMP/target.f90
R flang/test/Lower/OpenMP/wsloop-reduction-non-intrinsic.f90
M flang/test/Lower/OpenMP/wsloop-simd.f90
A flang/test/Lower/derived-type-private.f90
M flang/test/Lower/do_loop_unstructured.f90
A flang/test/Lower/parametrized-derived-types.f90
A flang/test/Lower/undef-func-result.f90
M flang/test/Parser/OpenMP/affinity-clause.f90
M flang/test/Parser/OpenMP/allocators-unparse.f90
M flang/test/Parser/OpenMP/atomic-compare.f90
M flang/test/Parser/OpenMP/atomic-end.f90
M flang/test/Parser/OpenMP/block-construct.f90
M flang/test/Parser/OpenMP/construct-prefix-conflict.f90
A flang/test/Parser/OpenMP/critical-unparse-with-symbols.f90
M flang/test/Parser/OpenMP/defaultmap-clause.f90
M flang/test/Parser/OpenMP/defaultmap-unparse.f90
M flang/test/Parser/OpenMP/dispatch.f90
M flang/test/Parser/OpenMP/if-clause.f90
M flang/test/Parser/OpenMP/in-reduction-clause.f90
M flang/test/Parser/OpenMP/map-modifiers-v60.f90
M flang/test/Parser/OpenMP/map-modifiers.f90
M flang/test/Parser/OpenMP/masked-unparse.f90
M flang/test/Parser/OpenMP/master-unparse.f90
M flang/test/Parser/OpenMP/openmp6-directive-spellings.f90
M flang/test/Parser/OpenMP/proc-bind.f90
M flang/test/Parser/OpenMP/scope.f90
M flang/test/Parser/OpenMP/target_device_parse.f90
M flang/test/Parser/OpenMP/task-reduction-clause.f90
M flang/test/Parser/OpenMP/task.f90
M flang/test/Semantics/OpenACC/acc-loop.f90
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
A flang/test/Semantics/OpenMP/critical-global-conflict.f90
M flang/test/Semantics/OpenMP/critical_within_default.f90
A flang/test/Semantics/OpenMP/if-clause-45.f90
A flang/test/Semantics/OpenMP/if-clause-50.f90
M flang/test/Semantics/OpenMP/symbol08.f90
M flang/test/Semantics/OpenMP/sync-critical01.f90
M flang/test/Semantics/OpenMP/sync-critical02.f90
R flang/test/Semantics/cuf17.cuf
M flang/tools/bbc/CMakeLists.txt
M flang/tools/tco/tco.cpp
M flang/unittests/Optimizer/Builder/HLFIRToolsTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/AllocatableTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/AssignTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/CharacterTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/CommandTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/DerivedTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/RaggedTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/ReductionTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/TransformationalTest.cpp
M flang/unittests/Optimizer/FortranVariableTest.cpp
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/README.md
M libc/config/windows/entrypoints.txt
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_sched_param.h
M libc/include/dlfcn.yaml
A libc/include/llvm-libc-types/Dl_info.h
M libc/include/math.yaml
M libc/shared/math.h
A libc/shared/math/atan2f.h
A libc/shared/math/atan2f128.h
A libc/shared/math/atanhf.h
A libc/shared/math/atanhf16.h
A libc/shared/math/cbrt.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/bfloat16.h
M libc/src/__support/FPUtil/cast.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/src/__support/FPUtil/generic/div.h
M libc/src/__support/FPUtil/rounding_mode.h
M libc/src/__support/OSUtil/linux/aarch64/vdso.h
M libc/src/__support/OSUtil/linux/vdso_sym.h
M libc/src/__support/OSUtil/linux/x86_64/vdso.h
M libc/src/__support/macros/attributes.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/atan2f.h
A libc/src/__support/math/atan2f128.h
A libc/src/__support/math/atan2f_float.h
A libc/src/__support/math/atanhf.h
A libc/src/__support/math/atanhf16.h
A libc/src/__support/math/cbrt.h
M libc/src/__support/threads/mutex.h
M libc/src/__support/wchar/character_converter.cpp
M libc/src/__support/wchar/character_converter.h
M libc/src/__support/wchar/mbrtowc.cpp
M libc/src/__support/wchar/mbsnrtowcs.h
M libc/src/__support/wchar/string_converter.h
M libc/src/__support/wchar/wcsnrtombs.h
M libc/src/dlfcn/CMakeLists.txt
A libc/src/dlfcn/dladdr.cpp
A libc/src/dlfcn/dladdr.h
A libc/src/dlfcn/dlinfo.cpp
A libc/src/dlfcn/dlinfo.h
M libc/src/dlfcn/dlsym.cpp
M libc/src/dlfcn/dlsym.h
M libc/src/math/CMakeLists.txt
A libc/src/math/ceilbf16.h
A libc/src/math/floorbf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atan2f.cpp
M libc/src/math/generic/atan2f128.cpp
R libc/src/math/generic/atan2f_float.h
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/atanhf16.cpp
M libc/src/math/generic/cbrt.cpp
A libc/src/math/generic/ceilbf16.cpp
M libc/src/math/generic/common_constants.cpp
M libc/src/math/generic/common_constants.h
M libc/src/math/generic/explogxf.h
A libc/src/math/generic/floorbf16.cpp
A libc/src/math/generic/roundbf16.cpp
A libc/src/math/generic/roundevenbf16.cpp
A libc/src/math/generic/truncbf16.cpp
A libc/src/math/roundbf16.h
A libc/src/math/roundevenbf16.h
A libc/src/math/truncbf16.h
M libc/src/sched/linux/CMakeLists.txt
M libc/src/sched/sched_getparam.h
M libc/src/sched/sched_setparam.h
M libc/src/sched/sched_setscheduler.h
M libc/src/wchar/wcstok.cpp
M libc/src/wctype/iswalpha.cpp
M libc/src/wctype/iswalpha.h
M libc/test/IntegrationTest/CMakeLists.txt
M libc/test/IntegrationTest/test.cpp
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/FEnvSafeTest.cpp
M libc/test/UnitTest/FEnvSafeTest.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/integration/src/__support/GPU/match.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libc/test/src/__support/OSUtil/linux/vdso_test.cpp
M libc/test/src/__support/wchar/string_converter_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/bfloat16_add_test.cpp
A libc/test/src/math/exhaustive/bfloat16_div_test.cpp
A libc/test/src/math/exhaustive/bfloat16_mul_test.cpp
A libc/test/src/math/exhaustive/bfloat16_sub_test.cpp
M libc/test/src/math/exhaustive/exhaustive_test.h
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/CeilTest.h
M libc/test/src/math/smoke/DivTest.h
M libc/test/src/math/smoke/FloorTest.h
M libc/test/src/math/smoke/MulTest.h
M libc/test/src/math/smoke/RoundTest.h
M libc/test/src/math/smoke/SubTest.h
M libc/test/src/math/smoke/TruncTest.h
A libc/test/src/math/smoke/bfloat16_add_test.cpp
A libc/test/src/math/smoke/bfloat16_div_test.cpp
A libc/test/src/math/smoke/bfloat16_mul_test.cpp
A libc/test/src/math/smoke/bfloat16_sub_test.cpp
A libc/test/src/math/smoke/ceilbf16_test.cpp
A libc/test/src/math/smoke/floorbf16_test.cpp
A libc/test/src/math/smoke/roundbf16_test.cpp
A libc/test/src/math/smoke/roundevenbf16_test.cpp
A libc/test/src/math/smoke/truncbf16_test.cpp
M libc/test/src/sched/CMakeLists.txt
M libc/test/src/sched/param_and_scheduler_test.cpp
M libc/test/src/sched/sched_rr_get_interval_test.cpp
M libc/test/src/stdfix/BitsFxTest.h
M libc/test/src/wchar/wcstok_test.cpp
M libc/test/src/wctype/iswalpha_test.cpp
M libc/utils/MPFRWrapper/CMakeLists.txt
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libclc/CMakeLists.txt
A libclc/clc/include/clc/mem_fence/clc_mem_fence.h
R libclc/clc/include/clc/shared/binary_decl_with_scalar_second_arg.inc
A libclc/clc/include/clc/synchronization/clc_work_group_barrier.h
M libclc/clc/lib/amdgcn/SOURCES
A libclc/clc/lib/amdgcn/mem_fence/clc_mem_fence.cl
A libclc/clc/lib/amdgcn/synchronization/clc_work_group_barrier.cl
M libclc/clc/lib/ptx-nvidiacl/SOURCES
A libclc/clc/lib/ptx-nvidiacl/mem_fence/clc_mem_fence.cl
A libclc/clc/lib/ptx-nvidiacl/synchronization/clc_work_group_barrier.cl
M libclc/cmake/modules/AddLibclc.cmake
M libclc/opencl/include/clc/opencl/synchronization/cl_mem_fence_flags.h
A libclc/opencl/include/clc/opencl/synchronization/utils.h
M libclc/opencl/lib/amdgcn/mem_fence/fence.cl
M libclc/opencl/lib/amdgcn/synchronization/barrier.cl
M libclc/opencl/lib/generic/async/async_work_group_strided_copy.inc
M libclc/opencl/lib/ptx-nvidiacl/mem_fence/fence.cl
M libclc/opencl/lib/ptx-nvidiacl/synchronization/barrier.cl
M libcxx/docs/Contributing.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/ReleaseNotes/22.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__exception/exception.h
R libcxx/include/__fwd/map.h
R libcxx/include/__fwd/set.h
M libcxx/include/__fwd/tuple.h
M libcxx/include/__math/traits.h
M libcxx/include/__memory/uses_allocator_construction.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__tree
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/map
M libcxx/include/math.h
M libcxx/include/module.modulemap.in
M libcxx/include/set
M libcxx/include/tuple
M libcxx/include/version
M libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h
M libcxx/test/benchmarks/containers/associative/map.bench.cpp
M libcxx/test/benchmarks/containers/associative/multimap.bench.cpp
M libcxx/test/benchmarks/containers/associative/multiset.bench.cpp
M libcxx/test/benchmarks/containers/associative/set.bench.cpp
M libcxx/test/libcxx/fuzzing/random.pass.cpp
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/and_then.mandates.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/or_else.mandates.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/value.observers.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/and_then.mandates.verify.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp
M libcxx/test/std/containers/sequences/array/array.creation/to_array.verify.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/conversion.verify.cpp
M libcxx/test/std/depr/depr.c.headers/math_h.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/optional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/numerics/c.math/cmath.pass.cpp
M libcxx/test/std/utilities/function.objects/func.bind.partial/bind_back.verify.cpp
M libcxx/test/std/utilities/function.objects/func.bind_front/bind_front.verify.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_element.verify.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/eq.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/lt.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/size_incompatible_three_way.compile.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.rel/three_way.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
M lld/COFF/Driver.cpp
M lld/COFF/SymbolTable.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/BPSectionOrderer.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Writer.cpp
M lld/MachO/Driver.cpp
M lld/test/COFF/import_weak_alias.test
M lld/test/ELF/bp-section-orderer.s
A lld/test/ELF/dtlto/archive-thin.test
M lld/test/ELF/riscv-relax-align.s
M lld/test/ELF/riscv-relax-emit-relocs.s
M lld/test/MachO/stabs.s
M lldb/bindings/interface/SBMemoryRegionInfoDocstrings.i
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/resources/lldbdap.md
M lldb/docs/use/formatting.rst
M lldb/include/lldb/API/SBMemoryRegionInfo.h
M lldb/include/lldb/API/SBThread.h
M lldb/include/lldb/Core/DemangledNameInfo.h
M lldb/include/lldb/Core/FormatEntity.h
M lldb/include/lldb/Core/Opcode.h
M lldb/include/lldb/Host/Config.h.cmake
A lldb/include/lldb/Protocol/MCP/MCPError.h
A lldb/include/lldb/Protocol/MCP/Protocol.h
A lldb/include/lldb/Protocol/MCP/Resource.h
A lldb/include/lldb/Protocol/MCP/Server.h
A lldb/include/lldb/Protocol/MCP/Tool.h
M lldb/include/lldb/Target/ExecutionContext.h
M lldb/include/lldb/Target/UnwindLLDB.h
M lldb/include/lldb/Utility/Scalar.h
M lldb/include/lldb/Utility/XcodeSDK.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/lldb/ValueObject/ValueObjectConstResult.h
M lldb/source/API/SBThread.cpp
M lldb/source/CMakeLists.txt
M lldb/source/Core/DemangledNameInfo.cpp
M lldb/source/Core/DynamicLoader.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/ModuleList.cpp
M lldb/source/Core/Value.cpp
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Interpreter/OptionArgParser.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.cpp
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Protocol/MCP/CMakeLists.txt
R lldb/source/Plugins/Protocol/MCP/MCPError.cpp
R lldb/source/Plugins/Protocol/MCP/MCPError.h
R lldb/source/Plugins/Protocol/MCP/Protocol.cpp
R lldb/source/Plugins/Protocol/MCP/Protocol.h
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.cpp
M lldb/source/Plugins/Protocol/MCP/ProtocolServerMCP.h
M lldb/source/Plugins/Protocol/MCP/Resource.cpp
M lldb/source/Plugins/Protocol/MCP/Resource.h
M lldb/source/Plugins/Protocol/MCP/Tool.cpp
M lldb/source/Plugins/Protocol/MCP/Tool.h
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
M lldb/source/Plugins/SymbolFile/PDB/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h
A lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDBProperties.td
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
A lldb/source/Protocol/CMakeLists.txt
A lldb/source/Protocol/MCP/CMakeLists.txt
A lldb/source/Protocol/MCP/MCPError.cpp
A lldb/source/Protocol/MCP/Protocol.cpp
A lldb/source/Protocol/MCP/Server.cpp
A lldb/source/Protocol/MCP/Tool.cpp
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/source/Symbol/Type.cpp
M lldb/source/Target/ExecutionContext.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/source/Target/StackFrameRecognizer.cpp
M lldb/source/Utility/Scalar.cpp
M lldb/source/Utility/XcodeSDK.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/source/ValueObject/ValueObjectConstResult.cpp
A lldb/test/API/arm/thumb-function-addr/Makefile
A lldb/test/API/arm/thumb-function-addr/TestThumbFunctionAddr.py
A lldb/test/API/arm/thumb-function-addr/main.c
M lldb/test/API/commands/expression/import-std-module/queue/TestQueueFromStdModule.py
M lldb/test/API/functionalities/memory/cache/main.cpp
M lldb/test/API/functionalities/statusline/TestStatusline.py
M lldb/test/API/functionalities/tail_call_frames/cross_dso/TestCrossDSOTailCalls.py
M lldb/test/API/functionalities/tail_call_frames/cross_object/TestCrossObjectTailCalls.py
M lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py
M lldb/test/API/lang/c/tls_globals/main.c
M lldb/test/API/lang/cpp/extern_c/main.cpp
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
M lldb/test/Shell/SymbolFile/DWARF/x86/debug-types-address-ranges.s
A lldb/test/Shell/SymbolFile/NativePDB/namespace-access.test
A lldb/test/Shell/SymbolFile/NativePDB/rust-unique-name.ll
M lldb/test/Shell/SymbolFile/PDB/ast-restore.test
M lldb/test/Shell/SymbolFile/PDB/calling-conventions-x86.test
A lldb/test/Shell/SymbolFile/PDB/native-setting.cpp
M lldb/test/Shell/SymbolFile/PDB/vbases.test
A lldb/test/Shell/Unwind/Inputs/eh-frame-dwarf-unwind-val-offset.s
A lldb/test/Shell/Unwind/eh-frame-dwarf-unwind-val-offset.test
M lldb/test/Shell/lit.cfg.py
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/package-lock.json
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
M lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
M lldb/tools/lldb-dap/src-ts/debug-session-tracker.ts
M lldb/tools/lldb-dap/src-ts/extension.ts
M lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
A lldb/tools/lldb-dap/src-ts/logging.ts
M lldb/unittests/CMakeLists.txt
M lldb/unittests/Core/MangledTest.cpp
M lldb/unittests/Expression/DWARFExpressionTest.cpp
M lldb/unittests/Instruction/ARM64/TestAArch64Emulator.cpp
M lldb/unittests/Platform/PlatformTest.cpp
M lldb/unittests/Protocol/CMakeLists.txt
R lldb/unittests/Protocol/ProtocolMCPServerTest.cpp
M lldb/unittests/Protocol/ProtocolMCPTest.cpp
A lldb/unittests/ProtocolServer/CMakeLists.txt
A lldb/unittests/ProtocolServer/ProtocolMCPServerTest.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
M lldb/unittests/Symbol/TestDWARFCallFrameInfo.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFDebugNamesIndexTest.cpp
M lldb/unittests/Utility/ScalarTest.cpp
M llvm/.gitattributes
M llvm/CMakeLists.txt
M llvm/cmake/modules/LLVMProcessSources.cmake
M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CMake.rst
M llvm/docs/CodeGenerator.rst
M llvm/docs/CommandGuide/llvm-bcanalyzer.rst
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/docs/CommandGuide/llvm-exegesis.rst
M llvm/docs/CommandGuide/llvm-ifs.rst
M llvm/docs/CommandGuide/llvm-ir2vec.rst
M llvm/docs/CommandGuide/llvm-locstats.rst
M llvm/docs/CommandGuide/llvm-mca.rst
M llvm/docs/CommandGuide/llvm-profdata.rst
M llvm/docs/CommandGuide/llvm-symbolizer.rst
M llvm/docs/CommandGuide/opt.rst
M llvm/docs/Coroutines.rst
M llvm/docs/DirectX/DXContainer.rst
M llvm/docs/Frontend/PerformanceTips.rst
M llvm/docs/FuzzingLLVM.rst
M llvm/docs/GettingStarted.rst
M llvm/docs/GlobalISel/GMIR.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/GlobalISel/Pipeline.rst
M llvm/docs/HowToUpdateDebugInfo.rst
M llvm/docs/JITLink.rst
M llvm/docs/LangRef.rst
M llvm/docs/Lexicon.rst
M llvm/docs/MIRLangRef.rst
M llvm/docs/MergeFunctions.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/PDB/CodeViewTypes.rst
M llvm/docs/ProgrammersManual.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SymbolizerMarkupFormat.rst
M llvm/docs/TestingGuide.rst
M llvm/docs/WritingAnLLVMBackend.rst
M llvm/docs/WritingAnLLVMPass.rst
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl10.rst
M llvm/include/llvm-c/Object.h
M llvm/include/llvm/ADT/Bitset.h
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/SmallPtrSet.h
M llvm/include/llvm/ADT/StringRef.h
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/Analysis/DependenceAnalysis.h
M llvm/include/llvm/Analysis/InlineCost.h
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Analysis/StackLifetime.h
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineLoopInfo.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
M llvm/include/llvm/CodeGen/TargetCallingConv.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/Frontend/HLSL/HLSLBinding.h
M llvm/include/llvm/Frontend/HLSL/RootSignatureMetadata.h
M llvm/include/llvm/Frontend/HLSL/RootSignatureValidations.h
A llvm/include/llvm/Frontend/Offloading/PropertySet.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/include/llvm/IR/PassManager.h
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/include/llvm/IR/VPIntrinsics.def
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/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCSymbol.h
M llvm/include/llvm/MC/MCSymbolCOFF.h
M llvm/include/llvm/MC/MCSymbolELF.h
M llvm/include/llvm/MC/MCSymbolGOFF.h
M llvm/include/llvm/MC/MCSymbolMachO.h
M llvm/include/llvm/MC/MCSymbolWasm.h
M llvm/include/llvm/MC/MCSymbolXCOFF.h
M llvm/include/llvm/MC/MCWinCOFFStreamer.h
M llvm/include/llvm/Object/Binary.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/Object/ObjectFile.h
M llvm/include/llvm/Support/DebugLog.h
M llvm/include/llvm/Support/GraphWriter.h
M llvm/include/llvm/Support/LEB128.h
M llvm/include/llvm/Support/ScopedPrinter.h
M llvm/include/llvm/Target/TargetCallingConv.td
M llvm/include/llvm/TargetParser/ARMTargetParser.h
M llvm/include/llvm/TargetParser/Host.h
M llvm/include/llvm/TextAPI/Architecture.def
M llvm/include/llvm/TextAPI/Architecture.h
M llvm/include/llvm/Transforms/HipStdPar/HipStdPar.h
M llvm/include/llvm/Transforms/Utils/Cloning.h
A llvm/include/llvm/Transforms/Utils/SplitModuleByCategory.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/MemoryLocation.cpp
M llvm/lib/Analysis/StackLifetime.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/BinaryFormat/DXContainer.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFGdbIndex.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
M llvm/lib/Frontend/HLSL/HLSLRootSignature.cpp
M llvm/lib/Frontend/HLSL/RootSignatureMetadata.cpp
M llvm/lib/Frontend/HLSL/RootSignatureValidations.cpp
M llvm/lib/Frontend/Offloading/CMakeLists.txt
A llvm/lib/Frontend/Offloading/PropertySet.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/IntrinsicInst.cpp
M llvm/lib/IR/Mangler.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTOModule.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/GOFFObjectWriter.cpp
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MCAsmStreamer.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/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/COFFMasmParser.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/MC/MCParser/WasmAsmParser.cpp
M llvm/lib/MC/MCSection.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/MC/XCOFFObjectWriter.cpp
M llvm/lib/ObjCopy/MachO/MachOWriter.cpp
M llvm/lib/Object/Binary.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Object/Object.cpp
M llvm/lib/Object/ObjectFile.cpp
M llvm/lib/Object/SymbolicFile.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/SandboxIR/Value.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/lib/Support/BalancedPartitioning.cpp
M llvm/lib/Support/StringRef.cpp
M llvm/lib/Support/regcomp.c
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/TableGen/TGParser.h
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
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/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
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/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
M llvm/lib/Target/AVR/AVRISelLowering.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h
M llvm/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFStreamer.cpp
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/DirectX/DXILForwardHandleAccesses.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/DirectX/MCTargetDesc/DirectXMCTargetDesc.cpp
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430AsmBackend.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsCCState.cpp
M llvm/lib/Target/Mips/MipsCCState.h
M llvm/lib/Target/Mips/MipsCallLowering.cpp
M llvm/lib/Target/Mips/MipsCallingConv.td
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCCCState.h
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstrP10.td
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
M llvm/lib/Target/RISCV/RISCVCallingConv.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/lib/Target/RISCV/RISCVMacroFusion.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.h
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVAsmBackend.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRV.h
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/lib/Target/SPIRV/SPIRVLegalizeImplicitBinding.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
M llvm/lib/Target/SystemZ/SystemZCallingConv.h
M llvm/lib/Target/SystemZ/SystemZCallingConv.td
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
M llvm/lib/Target/X86/GISel/X86CallLowering.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaAsmBackend.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
M llvm/lib/Target/Xtensa/XtensaFeatures.td
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
M llvm/lib/Target/Xtensa/XtensaTargetMachine.cpp
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/lib/TextAPI/Architecture.cpp
M llvm/lib/TextAPI/TextStubCommon.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
M llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/CMakeLists.txt
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
M llvm/lib/Transforms/Utils/ProfileVerify.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
A llvm/lib/Transforms/Utils/SplitModuleByCategory.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanCFG.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/Analysis/CostModel/AArch64/fcmp.ll
M llvm/test/Analysis/CostModel/AArch64/min-max.ll
M llvm/test/Analysis/CostModel/AArch64/sve-arith-fp.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-fpext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptrunc.ll
M llvm/test/Analysis/CostModel/AArch64/sve-min-max.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
M llvm/test/Analysis/CostModel/ARM/active_lane_mask.ll
M llvm/test/Analysis/CostModel/ARM/cast.ll
M llvm/test/Analysis/CostModel/ARM/cast_ldst.ll
M llvm/test/Analysis/DDG/basic-loopnest.ll
M llvm/test/Analysis/DependenceAnalysis/Coupled.ll
M llvm/test/Analysis/DependenceAnalysis/DADelin.ll
M llvm/test/Analysis/GlobalsModRef/memset-escape.ll
M llvm/test/Analysis/LoopAccessAnalysis/early-exit-runtime-checks.ll
M llvm/test/Analysis/StackSafetyAnalysis/lifetime.ll
M llvm/test/Analysis/TypeBasedAliasAnalysis/gvn-nonlocal-type-mismatch.ll
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/addrspacecast.mir
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/addrspacecast.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-gep.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-switch.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-gep-flags.ll
M llvm/test/CodeGen/AArch64/GlobalISel/translate-gep.ll
A llvm/test/CodeGen/AArch64/aarch64-histcnt-dag-combine-hang.ll
R llvm/test/CodeGen/AArch64/aarch64-split-and-bitmask-immediate.ll
A llvm/test/CodeGen/AArch64/aarch64-split-logic-bitmask-immediate.ll
M llvm/test/CodeGen/AArch64/abds-neg.ll
M llvm/test/CodeGen/AArch64/abds.ll
M llvm/test/CodeGen/AArch64/abdu-neg.ll
M llvm/test/CodeGen/AArch64/abdu.ll
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/AArch64/alloca-load-store-scalable-struct.ll
M llvm/test/CodeGen/AArch64/arm64-ext.ll
M llvm/test/CodeGen/AArch64/arm64-neon-3vdiff.ll
M llvm/test/CodeGen/AArch64/arm64-neon-mul-div.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/arm64-vext.ll
M llvm/test/CodeGen/AArch64/arm64-vext_reverse.ll
M llvm/test/CodeGen/AArch64/arm64-vmul.ll
A llvm/test/CodeGen/AArch64/arm64ec-available-externally.ll
A llvm/test/CodeGen/AArch64/arm64ec-empty-name.ll
M llvm/test/CodeGen/AArch64/bsp_implicit_ops.mir
A llvm/test/CodeGen/AArch64/combine-storetomstore.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
A llvm/test/CodeGen/AArch64/csel-subs-dag-combine.ll
M llvm/test/CodeGen/AArch64/extend_inreg_of_concat_subvectors.ll
M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
M llvm/test/CodeGen/AArch64/fp8-sme2-cvtn.ll
M llvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
M llvm/test/CodeGen/AArch64/framelayout-sve.mir
M llvm/test/CodeGen/AArch64/implicit-def-subreg-to-reg-regression.ll
M llvm/test/CodeGen/AArch64/intrinsic-vector-match-sve2.ll
A llvm/test/CodeGen/AArch64/lifetime-poison.ll
M llvm/test/CodeGen/AArch64/luti-with-sme2.ll
M llvm/test/CodeGen/AArch64/midpoint-int.ll
M llvm/test/CodeGen/AArch64/perm-tb-with-sme2.ll
M llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_darwin.ll
R llvm/test/CodeGen/AArch64/register-coalesce-implicit-def-subreg-to-reg.mir
M llvm/test/CodeGen/AArch64/register-coalesce-update-subranges-remat.mir
M llvm/test/CodeGen/AArch64/sme-vg-to-stack.ll
M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-cvt.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-qcvt.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-qrshr.ll
M llvm/test/CodeGen/AArch64/sme2-multivec-regalloc.mir
M llvm/test/CodeGen/AArch64/split-vector-insert.ll
M llvm/test/CodeGen/AArch64/stack-hazard.ll
M llvm/test/CodeGen/AArch64/stack-probing-sve.ll
A llvm/test/CodeGen/AArch64/stacksmash-arm64ec.ll
M llvm/test/CodeGen/AArch64/sve-alloca.ll
M llvm/test/CodeGen/AArch64/sve-callee-save-restore-pairs.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-extract-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
M llvm/test/CodeGen/AArch64/sve-fp-reduce-fadda.ll
M llvm/test/CodeGen/AArch64/sve-fptosi-sat.ll
M llvm/test/CodeGen/AArch64/sve-fptoui-sat.ll
M llvm/test/CodeGen/AArch64/sve-insert-element.ll
M llvm/test/CodeGen/AArch64/sve-insert-vector.ll
M llvm/test/CodeGen/AArch64/sve-ldnf1.mir
M llvm/test/CodeGen/AArch64/sve-ldstnt1.mir
M llvm/test/CodeGen/AArch64/sve-llrint.ll
M llvm/test/CodeGen/AArch64/sve-lrint.ll
M llvm/test/CodeGen/AArch64/sve-pred-arith.ll
M llvm/test/CodeGen/AArch64/sve-split-extract-elt.ll
M llvm/test/CodeGen/AArch64/sve-split-insert-elt.ll
M llvm/test/CodeGen/AArch64/sve-stack-frame-layout.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-trunc.ll
M llvm/test/CodeGen/AArch64/sve-vector-compress.ll
M llvm/test/CodeGen/AArch64/sve-vector-interleave.ll
M llvm/test/CodeGen/AArch64/sve-vscale-combine.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-loads.ll
M llvm/test/CodeGen/AArch64/unwind-preserved.ll
M llvm/test/CodeGen/AArch64/xray-custom-log.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-unmerge-values.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.add.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.cmpswap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.tfe.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.add.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.cmpswap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.tfe.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.store.ll
A llvm/test/CodeGen/AMDGPU/addrspacecast-gas.ll
A llvm/test/CodeGen/AMDGPU/atomics-system-scope.ll
M llvm/test/CodeGen/AMDGPU/bf16-math.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/branch-relaxation-gfx1250.ll
A llvm/test/CodeGen/AMDGPU/bug-undef-spilled-agpr.mir
M llvm/test/CodeGen/AMDGPU/build-vector-packed-partial-undef.ll
M llvm/test/CodeGen/AMDGPU/ctpop16.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
A llvm/test/CodeGen/AMDGPU/empty-text.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/fmaximum.ll
M llvm/test/CodeGen/AMDGPU/fminimum.ll
M llvm/test/CodeGen/AMDGPU/fmuladd.f32.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/fold-operands-frame-index.mir
M llvm/test/CodeGen/AMDGPU/fold-sgpr-multi-imm.mir
M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/frame-index-elimination.ll
M llvm/test/CodeGen/AMDGPU/freeze.ll
M llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/hard-clauses-gfx1250.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-agpr-negative-tests.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av-with-load-source.mir
A llvm/test/CodeGen/AMDGPU/integer-canonicalizing-src-modifiers.ll
A llvm/test/CodeGen/AMDGPU/integer-select-src-modifiers.ll
M llvm/test/CodeGen/AMDGPU/issue130120-eliminate-frame-index.ll
M llvm/test/CodeGen/AMDGPU/kernel-args.ll
M llvm/test/CodeGen/AMDGPU/literal64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scale.pk.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk16.gfx1250.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk8.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx1250.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.kill.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.perm.pk.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.gfx1250.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.atomic.fadd.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.tfe.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.tfe.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.store.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f32.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/CodeGen/AMDGPU/llvm.ldexp.ll
M llvm/test/CodeGen/AMDGPU/load-constant-always-uniform.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
M llvm/test/CodeGen/AMDGPU/load-local-i16.ll
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-bf16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo-bf16.ll
M llvm/test/CodeGen/AMDGPU/mad_u64_u32.ll
M llvm/test/CodeGen/AMDGPU/min.ll
A llvm/test/CodeGen/AMDGPU/no-folding-imm-to-inst-with-fi.ll
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/readcyclecounter.ll
M llvm/test/CodeGen/AMDGPU/rem_i128.ll
M llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr.ll
M llvm/test/CodeGen/AMDGPU/saddsat.ll
M llvm/test/CodeGen/AMDGPU/scale-offset-flat.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sext-in-reg-vector-shuffle.ll
M llvm/test/CodeGen/AMDGPU/shl.ll
M llvm/test/CodeGen/AMDGPU/si-fold-reg-sequence.mir
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll
M llvm/test/CodeGen/AMDGPU/strict_ldexp.f16.ll
R llvm/test/CodeGen/AMDGPU/test_isel_single_lane.ll
M llvm/test/CodeGen/AMDGPU/udivrem24.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
M llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx1250-w32.mir
M llvm/test/CodeGen/AMDGPU/wqm.mir
M llvm/test/CodeGen/ARM/bad-constraint.ll
M llvm/test/CodeGen/ARM/cmp-select-sign.ll
M llvm/test/CodeGen/ARM/div.ll
A llvm/test/CodeGen/ARM/inlineasm-vec-to-double.ll
M llvm/test/CodeGen/ARM/nop_concat_vectors.ll
M llvm/test/CodeGen/ARM/scmp.ll
M llvm/test/CodeGen/ARM/ucmp.ll
M llvm/test/CodeGen/AVR/cmp.ll
M llvm/test/CodeGen/AVR/llvm.sincos.ll
A llvm/test/CodeGen/DirectX/Binding/binding-overlap-7.ll
M llvm/test/CodeGen/DirectX/imad.ll
A llvm/test/CodeGen/DirectX/issue-140819_allow_forward_handle_on_alloca.ll
M llvm/test/CodeGen/DirectX/umad.ll
M llvm/test/CodeGen/Generic/allow-check.ll
A llvm/test/CodeGen/Generic/fp128-exp10-libcall.ll
M llvm/test/CodeGen/Generic/fp128-math-libcalls.ll
M llvm/test/CodeGen/LoongArch/lasx/fpowi.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fix-xvshuf.ll
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insert-extract-element.ll
A llvm/test/CodeGen/NVPTX/byval-arg-vectorize.ll
M llvm/test/CodeGen/NVPTX/combine-min-max.ll
M llvm/test/CodeGen/NVPTX/convert-call-to-indirect.ll
M llvm/test/CodeGen/NVPTX/i1-select.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/param-vectorize-device.ll
A llvm/test/CodeGen/NVPTX/prefetch-inferas-test.ll
M llvm/test/CodeGen/NVPTX/prefetch.ll
M llvm/test/CodeGen/NVPTX/reduction-intrinsics.ll
M llvm/test/CodeGen/NVPTX/sext-setcc.ll
A llvm/test/CodeGen/NVPTX/trunc-setcc.ll
M llvm/test/CodeGen/PowerPC/NoCRFieldRedefWhenSpillingCRBIT.mir
M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
A llvm/test/CodeGen/PowerPC/aix-lower-arbitrary-sized-ints.ll
M llvm/test/CodeGen/PowerPC/aix-nest-param.ll
M llvm/test/CodeGen/PowerPC/aix-trampoline.ll
M llvm/test/CodeGen/PowerPC/aix-vec_insert_elt.ll
M llvm/test/CodeGen/PowerPC/build-vector-tests.ll
M llvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
M llvm/test/CodeGen/PowerPC/check-zero-vector.ll
M llvm/test/CodeGen/PowerPC/combine-fneg.ll
M llvm/test/CodeGen/PowerPC/fp-strict-round.ll
M llvm/test/CodeGen/PowerPC/frem.ll
M llvm/test/CodeGen/PowerPC/froundeven-legalization.ll
M llvm/test/CodeGen/PowerPC/handle-f16-storage-type.ll
M llvm/test/CodeGen/PowerPC/ldexp.ll
M llvm/test/CodeGen/PowerPC/llvm.modf.ll
M llvm/test/CodeGen/PowerPC/memintr32.ll
M llvm/test/CodeGen/PowerPC/memintr64.ll
M llvm/test/CodeGen/PowerPC/mtvsrbmi.ll
M llvm/test/CodeGen/PowerPC/vec_insert_elt.ll
M llvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
M llvm/test/CodeGen/RISCV/abds.ll
A llvm/test/CodeGen/RISCV/and-negpow2-cmp.ll
A llvm/test/CodeGen/RISCV/combine-storetomstore.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/fpclamptosat.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/iabs.ll
M llvm/test/CodeGen/RISCV/macro-fusions.mir
M llvm/test/CodeGen/RISCV/misched-load-clustering.ll
M llvm/test/CodeGen/RISCV/misched-mem-clustering.mir
A llvm/test/CodeGen/RISCV/misched-store-clustering.ll
M llvm/test/CodeGen/RISCV/note-gnu-property-zicfiss.ll
A llvm/test/CodeGen/RISCV/rnmi-interrupt-attr-error.ll
A llvm/test/CodeGen/RISCV/rnmi-interrupt-attr.ll
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv32zbkb.ll
M llvm/test/CodeGen/RISCV/rv32zbs.ll
M llvm/test/CodeGen/RISCV/rv64-half-convert.ll
M llvm/test/CodeGen/RISCV/rv64zbkb.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ssegN-load.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vploadff.ll
A llvm/test/CodeGen/RISCV/rvv/fp4-bitcast.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
M llvm/test/CodeGen/RISCV/rvv/vec3-setcc-crash.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
A llvm/test/CodeGen/RISCV/rvv/vploadff.ll
M llvm/test/CodeGen/RISCV/rvv/vsha2cl.ll
M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
A llvm/test/CodeGen/RISCV/xqcilsm-memset.ll
A llvm/test/CodeGen/SPIRV/GlobalVarAddrspace.ll
A llvm/test/CodeGen/SPIRV/SamplerArgNonKernel.ll
A llvm/test/CodeGen/SPIRV/SpecConstants/spec-constant-length-array.ll
A llvm/test/CodeGen/SPIRV/align-duplicate.ll
A llvm/test/CodeGen/SPIRV/array_type.ll
A llvm/test/CodeGen/SPIRV/duplicate-types.ll
A llvm/test/CodeGen/SPIRV/entry-point-interfaces.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_tensor_float32_conversion/tf32-conv-negative1.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_tensor_float32_conversion/tf32-conv-negative2.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_tensor_float32_conversion/tf32-conv.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions/cl_khr_extended_bit_ops_spv-friendly_only.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions/cl_khr_extended_bit_ops_spv-friendly_only_no_extension.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions_no_extension.ll
A llvm/test/CodeGen/SPIRV/get_global_size.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/ImplicitBinding.ll
A llvm/test/CodeGen/SPIRV/layout.ll
M llvm/test/CodeGen/SPIRV/lit.local.cfg
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/bitreverse_small_type.ll
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/fp-to-int-intrinsics.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/lifetime.ll
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/memcpy.align.ll
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/tan.ll
M llvm/test/CodeGen/SPIRV/logical-struct-access.ll
M llvm/test/CodeGen/SPIRV/memory_model_md.ll
M llvm/test/CodeGen/SPIRV/pointers/global-addrspacecast.ll
A llvm/test/CodeGen/SPIRV/pointers/structured-buffer-access-constant-index-1.ll
A llvm/test/CodeGen/SPIRV/pointers/structured-buffer-access-constant-index-2.ll
A llvm/test/CodeGen/SPIRV/pointers/structured-buffer-access.ll
A llvm/test/CodeGen/SPIRV/pointers/variables-storage-class-private.ll
M llvm/test/CodeGen/SPIRV/pointers/variables-storage-class.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpBitReverse_i32.ll
R llvm/test/CodeGen/SPIRV/transcoding/OpBitReverse_v2i16.ll
A llvm/test/CodeGen/SPIRV/transcoding/OpBitReverse_v2i32.ll
A llvm/test/CodeGen/SPIRV/transcoding/OpenCL/convert_functions.ll
A llvm/test/CodeGen/SPIRV/transcoding/OpenCL/nan.ll
A llvm/test/CodeGen/SPIRV/transcoding/OpenCL/shuffle.ll
A llvm/test/CodeGen/SPIRV/transcoding/printf.ll
A llvm/test/CodeGen/SPIRV/zero-length-array.ll
A llvm/test/CodeGen/SystemZ/llvm.sincos.f16.ll
A llvm/test/CodeGen/SystemZ/llvm.sincos.ll
M llvm/test/CodeGen/SystemZ/regcoal-subranges-update-remat.mir
M llvm/test/CodeGen/Thumb/scmp.ll
M llvm/test/CodeGen/Thumb/ucmp.ll
M llvm/test/CodeGen/VE/Scalar/min.ll
M llvm/test/CodeGen/WebAssembly/ref-test-func.ll
M llvm/test/CodeGen/X86/avg-mask.ll
M llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll
M llvm/test/CodeGen/X86/avx512-ext.ll
M llvm/test/CodeGen/X86/avx512fp16-combine-shuffle-fma.ll
M llvm/test/CodeGen/X86/cmp.ll
R llvm/test/CodeGen/X86/coalescer-breaks-subreg-to-reg-liveness.ll
M llvm/test/CodeGen/X86/coalescer-implicit-def-regression-imp-operand-assert.mir
R llvm/test/CodeGen/X86/coalescing-subreg-to-reg-requires-subrange-update.mir
M llvm/test/CodeGen/X86/combine-sdiv.ll
A llvm/test/CodeGen/X86/combine-storetomstore.ll
M llvm/test/CodeGen/X86/exp10-libcall-names.ll
A llvm/test/CodeGen/X86/exp10l-libcall-names.ll
M llvm/test/CodeGen/X86/fmaddsub-combine.ll
M llvm/test/CodeGen/X86/fmsubadd-combine.ll
M llvm/test/CodeGen/X86/freeze-binary.ll
M llvm/test/CodeGen/X86/freeze-vector.ll
M llvm/test/CodeGen/X86/knownbits-hadd-hsub.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
M llvm/test/CodeGen/X86/midpoint-int.ll
M llvm/test/CodeGen/X86/oddsubvector.ll
M llvm/test/CodeGen/X86/pmulh.ll
M llvm/test/CodeGen/X86/pr30284.ll
M llvm/test/CodeGen/X86/pr38539.ll
R llvm/test/CodeGen/X86/pr76416.ll
M llvm/test/CodeGen/X86/pr78897.ll
M llvm/test/CodeGen/X86/sibcall.ll
M llvm/test/CodeGen/X86/sqrt-fastmath.ll
M llvm/test/CodeGen/X86/subreg-fail.mir
R llvm/test/CodeGen/X86/subreg-to-reg-coalescing.mir
M llvm/test/CodeGen/X86/trunc-nsw-nuw.ll
M llvm/test/CodeGen/X86/ushl_sat_vec.ll
M llvm/test/CodeGen/X86/var-permute-128.ll
M llvm/test/CodeGen/X86/vector-bo-select.ll
M llvm/test/CodeGen/X86/vector-compress.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
M llvm/test/CodeGen/X86/vector-rotate-128.ll
M llvm/test/CodeGen/X86/vector-rotate-256.ll
M llvm/test/CodeGen/X86/xray-custom-log.ll
M llvm/test/CodeGen/XCore/llvm.sincos.ll
A llvm/test/CodeGen/Xtensa/atomic-load-store.ll
A llvm/test/CodeGen/Xtensa/atomic-rmw.ll
A llvm/test/CodeGen/Xtensa/forced-atomics.ll
M llvm/test/DebugInfo/PDB/obj-globalhash.test
M llvm/test/DebugInfo/RISCV/dwarf-riscv-relocs.ll
A llvm/test/DebugInfo/X86/DW_AT_alloc_type.ll
A llvm/test/DebugInfo/X86/dwarf-callsite-related-attrs-indirect.ll
M llvm/test/DebugInfo/X86/dwarf-callsite-related-attrs.ll
M llvm/test/Examples/OrcV2Examples/lljit-with-thinlto-summaries.test
M llvm/test/ExecutionEngine/JITLink/x86-64/MachO_foo-in-weak-dylib.s
M llvm/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll
M llvm/test/Instrumentation/AddressSanitizer/lifetime-uar-uas.ll
M llvm/test/Instrumentation/AddressSanitizer/lifetime.ll
M llvm/test/Instrumentation/HWAddressSanitizer/stack-safety-analysis.ll
M llvm/test/Instrumentation/NumericalStabilitySanitizer/basic.ll
A llvm/test/Instrumentation/ThreadSanitizer/capture-no-omit.ll
M llvm/test/Instrumentation/ThreadSanitizer/capture.ll
M llvm/test/Instrumentation/TypeSanitizer/alloca.ll
M llvm/test/MC/AArch64/ELF_ARM64_large-relocations.s
M llvm/test/MC/AArch64/armv9.6a-lsui.s
M llvm/test/MC/AMDGPU/gfx1250_asm_ds.s
A llvm/test/MC/AMDGPU/gfx1250_asm_features.s
A llvm/test/MC/AMDGPU/gfx1250_asm_operands.s
M llvm/test/MC/AMDGPU/gfx1250_asm_sop1.s
M llvm/test/MC/AMDGPU/gfx1250_asm_unsupported.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vbuffer_mubuf.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3-fake16.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3_err.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3_from_vop2_err.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3cx.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3p_dpp16.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3p_dpp8.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3p_err.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vsample_err.s
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/AMDGPU/gfx1250_err.s
A llvm/test/MC/Disassembler/AArch64/apple-syntax.txt
M llvm/test/MC/Disassembler/AArch64/armv9.6a-lsui.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_ds.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_operands.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_sop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vbuffer_mubuf.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3cx.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3p_dpp16.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3p_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_wmma_w32.txt
A llvm/test/MC/Disassembler/RISCV/riscv-mapping-symbols.s
A llvm/test/MC/ELF/many-instructions.s
M llvm/test/MC/ELF/mc-dump.s
A llvm/test/MC/RISCV/Relocations/align-after-relax.s
A llvm/test/MC/RISCV/Relocations/align-norvc.s
M llvm/test/MC/RISCV/Relocations/mc-dump.s
M llvm/test/MC/RISCV/align-option-relax.s
M llvm/test/MC/RISCV/align.s
M llvm/test/MC/RISCV/cfi-advance.s
R llvm/test/MC/RISCV/large-instructions.s
A llvm/test/MC/RISCV/large-instructions.test
M llvm/test/MC/RISCV/nop-slide.s
M llvm/test/MC/RISCV/rvv/vsetvl-invalid.s
M llvm/test/Object/archive-darwin-duplicates.test
R llvm/test/Other/spirv-sim/branch.spv
R llvm/test/Other/spirv-sim/call.spv
R llvm/test/Other/spirv-sim/constant.spv
R llvm/test/Other/spirv-sim/lit.local.cfg
R llvm/test/Other/spirv-sim/loop.spv
R llvm/test/Other/spirv-sim/simple-bad-result.spv
R llvm/test/Other/spirv-sim/simple.spv
R llvm/test/Other/spirv-sim/simulator-args.spv
R llvm/test/Other/spirv-sim/switch.spv
R llvm/test/Other/spirv-sim/wave-get-lane-index.spv
R llvm/test/Other/spirv-sim/wave-read-lane-first.spv
M llvm/test/TableGen/GlobalISelEmitter/ContextlessPredicates.td
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/test/TableGen/GlobalISelEmitter/HwModes.td
M llvm/test/TableGen/RuntimeLibcallEmitter.td
M llvm/test/TableGen/intrinsic-attrs.td
A llvm/test/Transforms/AtomicExpand/Xtensa/atomicrmw-expand.ll
A llvm/test/Transforms/AtomicExpand/Xtensa/lit.local.cfg
A llvm/test/Transforms/CodeGenPrepare/AArch64/dont-sink-scalable-vector-compare.ll
M llvm/test/Transforms/DeadStoreElimination/lifetime.ll
M llvm/test/Transforms/GVN/PRE/phi-translate-2.ll
M llvm/test/Transforms/GVN/PRE/phi-translate-add.ll
M llvm/test/Transforms/GVN/PRE/phi-translate.ll
M llvm/test/Transforms/GVN/PRE/pre-after-rle.ll
M llvm/test/Transforms/GVN/PRE/pre-aliasning-path.ll
M llvm/test/Transforms/GVN/PRE/pre-basic-add.ll
M llvm/test/Transforms/GVN/PRE/pre-jt-add.ll
M llvm/test/Transforms/GVN/PRE/pre-load-dbg.ll
M llvm/test/Transforms/GVN/PRE/pre-load-guards.ll
M llvm/test/Transforms/GVN/PRE/pre-load-implicit-cf-updates.ll
M llvm/test/Transforms/GVN/PRE/pre-load.ll
M llvm/test/Transforms/GVN/PRE/pre-loop-load-new-pm.ll
M llvm/test/Transforms/GVN/PRE/pre-no-cost-phi.ll
M llvm/test/Transforms/GVN/PRE/pre-poison-add.ll
M llvm/test/Transforms/GVN/PRE/pre-single-pred.ll
M llvm/test/Transforms/GVN/PRE/preserve-tbaa.ll
M llvm/test/Transforms/GVN/PRE/rle.ll
M llvm/test/Transforms/GVN/assume-equal.ll
M llvm/test/Transforms/GVN/condprop.ll
M llvm/test/Transforms/GVN/lifetime-simple.ll
M llvm/test/Transforms/Inline/SystemZ/inline-target-attr.ll
M llvm/test/Transforms/InstCombine/AMDGPU/wmma-f8f6f4.ll
M llvm/test/Transforms/InstCombine/X86/x86-vector-shifts.ll
M llvm/test/Transforms/InstCombine/bitcast-known-bits.ll
M llvm/test/Transforms/InstCombine/compare-signs.ll
M llvm/test/Transforms/InstCombine/load-cmp.ll
M llvm/test/Transforms/InstCombine/load-store-forward.ll
M llvm/test/Transforms/InstCombine/masked_intrinsics.ll
M llvm/test/Transforms/InstCombine/phi.ll
R llvm/test/Transforms/InstCombine/pr150338.ll
M llvm/test/Transforms/InstCombine/recurrence-binary-intrinsic.ll
A llvm/test/Transforms/InstCombine/scalable-extract-subvec-elt.ll
A llvm/test/Transforms/InstCombine/unreachable-alloca-lifetime-markers.ll
M llvm/test/Transforms/InstSimplify/const-fold-nvvm-unary-arithmetic.ll
M llvm/test/Transforms/InstSimplify/shift-knownbits.ll
M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll
M llvm/test/Transforms/LoopUnroll/partial-unroll-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll
M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_test1_no_explicit_vect_width.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
A llvm/test/Transforms/LoopVectorize/AArch64/pr151664-cost-hoisted-vector-scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr73894.ll
M llvm/test/Transforms/LoopVectorize/AArch64/predication_costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fixed-width-inorder-core.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-vmla.ll
M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
M llvm/test/Transforms/LoopVectorize/RISCV/bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blend-any-of-reduction-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/defaults.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/force-vect-msg.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/lmul.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/only-compute-cost-for-vplan-vfs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/RISCV/remark-reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-basics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-known-no-overflow.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vector-loop-backedge-elimination-with-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vf-will-not-generate-any-vector-insts.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/load-store-scalarization-cost.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
M llvm/test/Transforms/LoopVectorize/X86/outer_loop_test1_no_explicit_vect_width.ll
M llvm/test/Transforms/LoopVectorize/X86/pr48340.ll
M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
M llvm/test/Transforms/LoopVectorize/X86/scev-checks-unprofitable.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-interleaved-accesses-gap.ll
M llvm/test/Transforms/LoopVectorize/assume.ll
M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-variable-size.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/intrinsic.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll
M llvm/test/Transforms/LoopVectorize/loop-form.ll
M llvm/test/Transforms/LoopVectorize/memdep-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/outer-loop-vec-phi-predecessor-order.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
A llvm/test/Transforms/LoopVectorize/pr36983-multiple-lcssa.ll
R llvm/test/Transforms/LoopVectorize/pr36983.ll
M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/pr46525-expander-insertpoint.ll
M llvm/test/Transforms/LoopVectorize/pr51614-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/predicatedinst-loop-invariant.ll
M llvm/test/Transforms/LoopVectorize/scalable-assume.ll
M llvm/test/Transforms/LoopVectorize/scalable-predication.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVectorize/select-reduction.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
M llvm/test/Transforms/LoopVectorize/single-scalar-cast-minbw.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/strict-fadd-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-alloca-in-loop.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-switch.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/vect.stats.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
M llvm/test/Transforms/MemCpyOpt/capturing-func.ll
M llvm/test/Transforms/MemCpyOpt/memcpy-undef.ll
M llvm/test/Transforms/MemCpyOpt/memset-memcpy-oversized.ll
A llvm/test/Transforms/MemProfContextDisambiguation/iterative_merge.ll
M llvm/test/Transforms/MemProfContextDisambiguation/mergenodes.ll
M llvm/test/Transforms/MemProfContextDisambiguation/mergenodes2.ll
A llvm/test/Transforms/PGOProfile/prof-inject-existing.ll
M llvm/test/Transforms/PGOProfile/prof-verify-as-needed.ll
M llvm/test/Transforms/PGOProfile/prof-verify-existing.ll
A llvm/test/Transforms/PGOProfile/prof-verify-known-cold.ll
A llvm/test/Transforms/PGOProfile/prof-verify-no-entrycount.ll
M llvm/test/Transforms/PGOProfile/prof-verify.ll
A llvm/test/Transforms/PGOProfile/profcheck-select.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/interleave_vec.ll
M llvm/test/Transforms/Reassociate/fast-ReassociateVector.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/commute.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/exp.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/fround.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/basic-strided-loads.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
A llvm/test/Transforms/SLPVectorizer/X86/main-alternate-interechanged-detect.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr35497.ll
M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-buildvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-insertelement.ll
M llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss.ll
A llvm/test/Transforms/SLPVectorizer/X86/vector-like-instr-does-not-dominate.ll
M llvm/test/Transforms/SLPVectorizer/extracts-with-undefs.ll
M llvm/test/Transforms/SLPVectorizer/insertelement-postpone.ll
M llvm/test/Transforms/SLPVectorizer/scalarazied-result.ll
M llvm/test/Transforms/SROA/invariant-group.ll
M llvm/test/Transforms/Scalarizer/intrinsics.ll
M llvm/test/Transforms/SimplifyCFG/RISCV/switch-of-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/RISCV/switch_to_lookup_table-rv64.ll
M llvm/test/Transforms/SimplifyCFG/X86/disable-lookup-table.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-of-powers-of-two.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-bitcast.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-gep.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch-to-lookup-globals.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
M llvm/test/Transforms/SimplifyCFG/rangereduce.ll
M llvm/test/Transforms/SimplifyCFG/switch_mask.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-selects.ll
M llvm/test/lit.cfg.py
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/amdgpu-no-merge-comments.test
M llvm/test/tools/dsymutil/X86/swift-ast-x86_64.test
M llvm/test/tools/llvm-dwarfdump/dump_dwo.test
M llvm/test/tools/llvm-ir2vec/embeddings.ll
M llvm/test/tools/llvm-ir2vec/entities.ll
M llvm/test/tools/llvm-ir2vec/error-handling.ll
M llvm/test/tools/llvm-ir2vec/triplets.ll
M llvm/test/tools/llvm-libtool-darwin/L-and-l.test
M llvm/test/tools/llvm-objcopy/COFF/dump-section.test
A llvm/test/tools/llvm-objdump/DXContainer/part-headers.yaml
M llvm/test/tools/llvm-objdump/MachO/bad-trie.test
R llvm/test/tools/llvm-readobj/COFF/Inputs/has-exdllcharacteristics.exe
A llvm/test/tools/llvm-readobj/COFF/Inputs/has-exdllcharacteristics.yaml
M llvm/test/tools/llvm-readobj/COFF/exdllcharacteristics.test
A llvm/test/tools/llvm-reduce/operands-to-args-lifetimes.ll
M llvm/test/tools/llvm-reduce/reduce-operands-alloca.ll
A llvm/test/tools/llvm-split/SplitByCategory/amd-kernel-split.ll
A llvm/test/tools/llvm-split/SplitByCategory/complex-indirect-call-chain1.ll
A llvm/test/tools/llvm-split/SplitByCategory/complex-indirect-call-chain2.ll
A llvm/test/tools/llvm-split/SplitByCategory/module-split-func-ptr.ll
A llvm/test/tools/llvm-split/SplitByCategory/one-kernel-per-module.ll
A llvm/test/tools/llvm-split/SplitByCategory/ptx-kernel-split.ll
A llvm/test/tools/llvm-split/SplitByCategory/split-by-source.ll
A llvm/test/tools/llvm-split/SplitByCategory/split-with-kernel-declarations.ll
M llvm/tools/lli/lli.cpp
M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
M llvm/tools/llvm-objdump/CMakeLists.txt
M llvm/tools/llvm-objdump/COFFDump.cpp
A llvm/tools/llvm-objdump/DXContainerDump.cpp
M llvm/tools/llvm-objdump/MachODump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.h
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
M llvm/tools/llvm-split/CMakeLists.txt
M llvm/tools/llvm-split/llvm-split.cpp
M llvm/tools/opt/optdriver.cpp
M llvm/unittests/ADT/APFloatTest.cpp
M llvm/unittests/ADT/StringRefTest.cpp
M llvm/unittests/Analysis/MemorySSATest.cpp
M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
M llvm/unittests/CodeGen/SelectionDAGTestBase.h
M llvm/unittests/Frontend/CMakeLists.txt
R llvm/unittests/Frontend/HLSLRootSignatureRangesTest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
A llvm/unittests/Frontend/PropertySetRegistryTest.cpp
M llvm/unittests/IR/VPIntrinsicTest.cpp
M llvm/unittests/Support/CommandLineTest.cpp
M llvm/unittests/Support/DebugLogTest.cpp
M llvm/unittests/Support/DynamicLibrary/PipSqueak.h
M llvm/unittests/Support/VirtualFileSystemTest.cpp
M llvm/unittests/Target/AArch64/AArch64SelectionDAGTest.cpp
M llvm/unittests/TargetParser/Host.cpp
M llvm/unittests/TextAPI/TextStubV5Tests.cpp
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/SymbolFile/PDB/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Frontend/Offloading/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-objdump/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn
M llvm/utils/mlgo-utils/IR2Vec/generateTriplets.py
R llvm/utils/spirv-sim/instructions.py
R llvm/utils/spirv-sim/spirv-sim.py
M mlir/CMakeLists.txt
M mlir/Maintainers.md
M mlir/cmake/modules/AddMLIR.cmake
R mlir/cmake/modules/FindLevelZero.cmake
A mlir/cmake/modules/FindLevelZeroRuntime.cmake
M mlir/docs/DialectConversion.md
M mlir/include/mlir/Analysis/DataFlowFramework.h
M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/CMakeLists.txt
M mlir/include/mlir/Dialect/CommonFolders.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
M mlir/include/mlir/Dialect/Linalg/Passes.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/include/mlir/Dialect/Quant/IR/QuantTypes.h
M mlir/include/mlir/Dialect/SCF/TransformOps/SCFTransformOps.td
M mlir/include/mlir/Dialect/SCF/Transforms/Passes.h
M mlir/include/mlir/Dialect/SCF/Transforms/Passes.td
M mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVIntelExtOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.h
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
A mlir/include/mlir/Dialect/WasmSSA/CMakeLists.txt
A mlir/include/mlir/Dialect/WasmSSA/IR/CMakeLists.txt
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSA.h
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSABase.td
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAInterfaces.h
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAInterfaces.td
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSAOps.td
A mlir/include/mlir/Dialect/WasmSSA/IR/WasmSSATypes.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/include/mlir/IR/Operation.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRVPass.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/lib/Dialect/CMakeLists.txt
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/EmitC/Transforms/WrapFuncInClass.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Linalg/Transforms/MorphOps.cpp
A mlir/lib/Dialect/Linalg/Transforms/NamedToElementwise.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/Quant/IR/QuantTypes.cpp
M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
A mlir/lib/Dialect/SCF/Transforms/ParallelForToNestedFors.cpp
M mlir/lib/Dialect/SPIRV/IR/CastOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Transform/Transforms/TransformInterpreterUtils.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
A mlir/lib/Dialect/WasmSSA/CMakeLists.txt
A mlir/lib/Dialect/WasmSSA/IR/CMakeLists.txt
A mlir/lib/Dialect/WasmSSA/IR/WasmSSADialect.cpp
A mlir/lib/Dialect/WasmSSA/IR/WasmSSAInterfaces.cpp
A mlir/lib/Dialect/WasmSSA/IR/WasmSSAOps.cpp
A mlir/lib/Dialect/WasmSSA/IR/WasmSSATypes.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/ExecutionEngine/CMakeLists.txt
A mlir/lib/ExecutionEngine/LevelZeroRuntimeWrappers.cpp
M mlir/lib/IR/MLIRContext.cpp
M mlir/lib/RegisterAllDialects.cpp
M mlir/lib/Rewrite/PatternApplicator.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/FoldUtils.cpp
M mlir/test/CAPI/pass.c
M mlir/test/CMakeLists.txt
A mlir/test/Conversion/GPUToSPIRV/lookup-target-env.mlir
M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
M mlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Conversion/SCFToControlFlow/convert-to-cfg.mlir
M mlir/test/Dialect/AMDGPU/invalid.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/Bufferization/canonicalize.mlir
M mlir/test/Dialect/GPU/ops.mlir
M mlir/test/Dialect/GPU/outlining.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Dialect/Linalg/detensorize_0d.mlir
A mlir/test/Dialect/Linalg/elementwise/named-to-elementwise.mlir
A mlir/test/Dialect/Linalg/linalg-morph-category-ops.mlir
A mlir/test/Dialect/Linalg/linalg-morph-multi-step.mlir
M mlir/test/Dialect/Linalg/vectorization/linalg-ops-with-patterns.mlir
M mlir/test/Dialect/Linalg/vectorization/linalg-ops.mlir
M mlir/test/Dialect/NVGPU/invalid.mlir
A mlir/test/Dialect/SCF/parallel-to-nested-fors.mlir
A mlir/test/Dialect/SCF/transform-op-parallel-to-nested-fors.mlir
M mlir/test/Dialect/SPIRV/IR/arithmetic-ops.mlir
M mlir/test/Dialect/SPIRV/IR/bit-ops.mlir
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Dialect/SPIRV/IR/group-ops.mlir
M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
M mlir/test/Dialect/SPIRV/IR/intel-ext-ops.mlir
M mlir/test/Dialect/SPIRV/IR/khr-cooperative-matrix-ops.mlir
M mlir/test/Dialect/SPIRV/IR/logical-ops.mlir
M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
M mlir/test/Dialect/SPIRV/IR/ocl-ops.mlir
M mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/dynamic_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
A mlir/test/Dialect/Transform/interpreter-entry-point-2.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/canonicalize/vector-from-elements.mlir
A mlir/test/Dialect/Vector/canonicalize/vector-splat.mlir
M mlir/test/Dialect/Vector/vector-sink.mlir
M mlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir
A mlir/test/Dialect/WasmSSA/custom_parser/global.mlir
A mlir/test/Dialect/WasmSSA/custom_parser/import.mlir
A mlir/test/Dialect/WasmSSA/custom_parser/local.mlir
A mlir/test/Dialect/WasmSSA/extend-invalid.mlir
A mlir/test/Dialect/WasmSSA/global-invalid.mlir
A mlir/test/Dialect/WasmSSA/locals-invalid.mlir
A mlir/test/Dialect/WasmSSA/reinterpret-invalid.mlir
M mlir/test/Dialect/XeGPU/subgroup-distribute.mlir
A mlir/test/Dialect/common_folders.mlir
M mlir/test/IR/test-clone.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/outerproduct-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/outerproduct-f64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/transfer-write-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/contraction.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/scalable-interleave.mlir
M mlir/test/Integration/Dialect/Vector/CPU/interleave.mlir
M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-i64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-1d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-3d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-write.mlir
A mlir/test/Integration/GPU/LevelZero/gpu-addf32-to-spirv.mlir
A mlir/test/Integration/GPU/LevelZero/gpu-addi64-to-spirv.mlir
A mlir/test/Integration/GPU/LevelZero/gpu-memcpy-addf32-to-spirv.mlir
A mlir/test/Integration/GPU/LevelZero/gpu-reluf32-to-spirv.mlir
A mlir/test/Integration/GPU/LevelZero/lit.local.cfg
M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
A mlir/test/Target/LLVMIR/omptarget-atomic-capture-control-options.mlir
A mlir/test/Target/LLVMIR/omptarget-atomic-update-control-options.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
A mlir/test/Target/SPIRV/arm-tensor-constant.mlir
M mlir/test/Target/SPIRV/constant.mlir
M mlir/test/Target/SPIRV/decorations.mlir
M mlir/test/Target/SPIRV/intel-ext-ops.mlir
M mlir/test/Target/SPIRV/module.mlir
A mlir/test/Target/SPIRV/replicated-composites-constant.mlir
M mlir/test/Transforms/canonicalize-debuginfo.mlir
A mlir/test/Transforms/test-legalizer-full-rollback.mlir
M mlir/test/Transforms/test-legalizer-full.mlir
A mlir/test/Transforms/test-legalizer-rollback.mlir
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lit.cfg.py
M mlir/test/lit.site.cfg.py.in
M mlir/test/mlir-translate/emitc_classops.mlir
M mlir/unittests/Analysis/Presburger/IntegerRelationTest.cpp
M offload/DeviceRTL/include/Allocator.h
M offload/DeviceRTL/src/State.cpp
M offload/include/OpenMP/InteropAPI.h
M offload/include/OpenMP/omp.h
A offload/include/PerThreadTable.h
M offload/include/PluginManager.h
M offload/include/Shared/APITypes.h
M offload/liboffload/API/Device.td
M offload/liboffload/API/Queue.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/libomptarget/OffloadRTL.cpp
M offload/libomptarget/OpenMP/API.cpp
M offload/libomptarget/OpenMP/InteropAPI.cpp
M offload/libomptarget/PluginManager.cpp
M offload/libomptarget/exports
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/src/rtl.cpp
M offload/test/lit.cfg
M offload/test/sanitizer/use_after_free_2.c
A offload/test/sanitizer/use_after_free_3.c
M offload/unittests/CMakeLists.txt
M offload/unittests/Conformance/device_code/CMakeLists.txt
A offload/unittests/Conformance/device_code/CUDAMath.cpp
A offload/unittests/Conformance/device_code/DeviceAPIs.hpp
A offload/unittests/Conformance/device_code/HIPMath.cpp
A offload/unittests/Conformance/device_code/KernelRunner.hpp
R offload/unittests/Conformance/device_code/LLVMLibm.c
A offload/unittests/Conformance/device_code/LLVMLibm.cpp
M offload/unittests/Conformance/include/mathtest/TestRunner.hpp
A offload/unittests/Conformance/tests/AcosfTest.cpp
A offload/unittests/Conformance/tests/AcoshfTest.cpp
A offload/unittests/Conformance/tests/AsinfTest.cpp
A offload/unittests/Conformance/tests/AsinhfTest.cpp
A offload/unittests/Conformance/tests/AtanfTest.cpp
A offload/unittests/Conformance/tests/AtanhfTest.cpp
M offload/unittests/Conformance/tests/CMakeLists.txt
A offload/unittests/Conformance/tests/CbrtfTest.cpp
A offload/unittests/Conformance/tests/CosfTest.cpp
A offload/unittests/Conformance/tests/CoshfTest.cpp
A offload/unittests/Conformance/tests/CospifTest.cpp
A offload/unittests/Conformance/tests/ErffTest.cpp
A offload/unittests/Conformance/tests/Exp10fTest.cpp
A offload/unittests/Conformance/tests/Exp2fTest.cpp
A offload/unittests/Conformance/tests/ExpfTest.cpp
A offload/unittests/Conformance/tests/Expm1fTest.cpp
M offload/unittests/Conformance/tests/Hypotf16Test.cpp
A offload/unittests/Conformance/tests/Log10fTest.cpp
A offload/unittests/Conformance/tests/Log1pfTest.cpp
A offload/unittests/Conformance/tests/Log2fTest.cpp
A offload/unittests/Conformance/tests/SincosfTest.cpp
A offload/unittests/Conformance/tests/SinfTest.cpp
A offload/unittests/Conformance/tests/SinhfTest.cpp
A offload/unittests/Conformance/tests/SinpifTest.cpp
A offload/unittests/Conformance/tests/TanfTest.cpp
A offload/unittests/Conformance/tests/TanhfTest.cpp
A offload/unittests/Conformance/tests/TanpifTest.cpp
M offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
M offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
M offload/unittests/OffloadAPI/device_code/CMakeLists.txt
R offload/unittests/OffloadAPI/device_code/bar.c
A offload/unittests/OffloadAPI/device_code/bar.cpp
R offload/unittests/OffloadAPI/device_code/foo.c
A offload/unittests/OffloadAPI/device_code/foo.cpp
R offload/unittests/OffloadAPI/device_code/global.c
A offload/unittests/OffloadAPI/device_code/global.cpp
R offload/unittests/OffloadAPI/device_code/global_ctor.c
A offload/unittests/OffloadAPI/device_code/global_ctor.cpp
R offload/unittests/OffloadAPI/device_code/global_dtor.c
A offload/unittests/OffloadAPI/device_code/global_dtor.cpp
R offload/unittests/OffloadAPI/device_code/localmem.c
A offload/unittests/OffloadAPI/device_code/localmem.cpp
R offload/unittests/OffloadAPI/device_code/localmem_reduction.c
A offload/unittests/OffloadAPI/device_code/localmem_reduction.cpp
R offload/unittests/OffloadAPI/device_code/localmem_static.c
A offload/unittests/OffloadAPI/device_code/localmem_static.cpp
R offload/unittests/OffloadAPI/device_code/noargs.c
A offload/unittests/OffloadAPI/device_code/noargs.cpp
R offload/unittests/OffloadAPI/device_code/sequence.c
A offload/unittests/OffloadAPI/device_code/sequence.cpp
M openmp/CMakeLists.txt
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_barrier.cpp
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_tasking.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Merge branch 'main' into users/rovka/unify-asm-printer-arg-handling
Compare: https://github.com/llvm/llvm-project/compare/f808abdc0845...9abacec2260d
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