[all-commits] [llvm/llvm-project] a1a325: [lldb][test] Fix expected mangling for AsmLabel_Ct...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Sat Aug 2 08:56:37 PDT 2025
Branch: refs/heads/users/MaskRay/spr/mcasmbackendapplyfixup-change-data-to-indicate-the-relocated-location
Home: https://github.com/llvm/llvm-project
Commit: a1a3254977eb22e4608069d5280456109d8f1280
https://github.com/llvm/llvm-project/commit/a1a3254977eb22e4608069d5280456109d8f1280
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[lldb][test] Fix expected mangling for AsmLabel_CtorDtor test on Windows
Commit: f6161271a369f278dfad8529348a122f309315d6
https://github.com/llvm/llvm-project/commit/f6161271a369f278dfad8529348a122f309315d6
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/test/CodeGen/AArch64/aarch64-gep-opt.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/split-gep-or-as-add.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/split-gep-sub.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Remove support for arithmetic lowering (#151477)
I don't think there is any benefit to lowering to ptrtoint + arithmetic
+ inttoptr over the newer ptradd lowering. Even if a target does not use
codegen AA, it probably still has IR passes that benefit from correct
representation.
As far as I can tell, no targets actually use this configuration anymore
(they either don't use the LowerGEP option, or they they UseAA and thus
the ptradd lowering).
Commit: d4d2d7d7856258d5d781c4a912046fc7777122e2
https://github.com/llvm/llvm-project/commit/d4d2d7d7856258d5d781c4a912046fc7777122e2
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/gepofconstgepi8.ll
Log Message:
-----------
[InstCombine] Preserve nuw in canonicalizeGEPOfConstGEPI8() (#151533)
Proof: https://alive2.llvm.org/ce/z/4j8U3f
Commit: 6d4a0935c850ec3ddfc70c4ba97b98adc35c676e
https://github.com/llvm/llvm-project/commit/6d4a0935c850ec3ddfc70c4ba97b98adc35c676e
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/test/API/lang/cpp/expr-definition-in-dylib/TestExprDefinitionInDylib.py
Log Message:
-----------
[lldb][test] Skip TestExprDefinitionInDylib on Windows
Currently failing with the following when building the test file:
```
C:\buildbot\as-builder-10\lldb-x86-64\build\bin\clang.exe lib.o -gdwarf -O0 -m64 -IC:\buildbot\as-builder-10\lldb-x86-64\llvm-project\lldb\packages\Python\lldbsuite\test\make/../../../../..//include -IC:/buildbot/as-builder-10/lldb-x86-64/build/tools/lldb/include -IC:\buildbot\as-builder-10\lldb-x86-64\llvm-project\lldb\test\API\lang\cpp\expr-definition-in-dylib -IC:\buildbot\as-builder-10\lldb-x86-64\llvm-project\lldb\packages\Python\lldbsuite\test\make -include C:\buildbot\as-builder-10\lldb-x86-64\llvm-project\lldb\packages\Python\lldbsuite\test\make/test_common.h -fno-limit-debug-info -fuse-ld=lld --driver-mode=g++ -shared -o "lib.dll"
lld-link: warning: section name .debug_abbrev is longer than 8 characters and will use a non-standard string table
lld-link: warning: section name .debug_info is longer than 8 characters and will use a non-standard string table
lld-link: warning: section name .debug_line is longer than 8 characters and will use a non-standard string table
lld-link: warning: section name .debug_str is longer than 8 characters and will use a non-standard string table
C:\buildbot\as-builder-10\lldb-x86-64\build\bin\clang.exe main.o -L. -llib -gdwarf -O0 -m64 -IC:\buildbot\as-builder-10\lldb-x86-64\llvm-project\lldb\packages\Python\lldbsuite\test\make/../../../../..//include -IC:/buildbot/as-builder-10/lldb-x86-64/build/tools/lldb/include -IC:\buildbot\as-builder-10\lldb-x86-64\llvm-project\lldb\test\API\lang\cpp\expr-definition-in-dylib -IC:\buildbot\as-builder-10\lldb-x86-64\llvm-project\lldb\packages\Python\lldbsuite\test\make -include C:\buildbot\as-builder-10\lldb-x86-64\llvm-project\lldb\packages\Python\lldbsuite\test\make/test_common.h -fno-limit-debug-info -fuse-ld=lld --driver-mode=g++ -o "a.out"
lld-link: error: undefined symbol: public: int __cdecl Foo::method(void)
>>> referenced by main.o:(main)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Makefile.rules:531: a.out] Error 1
make: Leaving directory 'C:/buildbot/as-builder-10/lldb-x86-64/build/lldb-test-build.noindex/lang/cpp/expr-definition-in-dylib/TestExprDefinitionInDylib.test'
```
Skip for now
Commit: 0a41e7c87ef910d0124c50354422f3b5290518e9
https://github.com/llvm/llvm-project/commit/0a41e7c87ef910d0124c50354422f3b5290518e9
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/memmove-var-size.ll
M llvm/test/CodeGen/PowerPC/more-dq-form-prepare.ll
M llvm/test/CodeGen/PowerPC/no-ctr-loop-if-exit-in-nested-loop.ll
M llvm/test/Transforms/LICM/gep-reassociate.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr88239.ll
Log Message:
-----------
[LICM] Do not reassociate constant offset GEP (#151492)
LICM tries to reassociate GEPs in order to hoist an invariant GEP.
Currently, it also does this in the case where the GEP has a constant
offset.
This is usually undesirable. From a back-end perspective, constant GEPs
are usually free because they can be folded into addressing modes, so
this just increases register pressume. From a middle-end perspective,
keeping constant offsets last in the chain makes it easier to analyze
the relationship between multiple GEPs on the same base, especially
after CSE.
The worst that can happen here is if we start with something like
```
loop {
p + 4*x
p + 4*x + 1
p + 4*x + 2
p + 4*x + 3
}
```
And LICM converts it into:
```
p.1 = p + 1
p.2 = p + 2
p.3 = p + 3
loop {
p + 4*x
p.1 + 4*x
p.2 + 4*x
p.3 + 4*x
}
```
Which is much worse than leaving it for CSE to convert to:
```
loop {
p2 = p + 4*x
p2 + 1
p2 + 2
p2 + 3
}
```
Commit: 11943536508719d7de9c60cf8b468b50764c0d7a
https://github.com/llvm/llvm-project/commit/11943536508719d7de9c60cf8b468b50764c0d7a
Author: Mészáros Gergely <gergely.meszaros at intel.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/docs/SPIRVUsage.rst
Log Message:
-----------
[LLVM][Docs][SPIRV] Correct `-spirv-ext` option name, reorder (#150423)
The option is `-spirv-ext` not `-spirv-extensions`. Also move the
examples after the description of the option, instead of after the list
of extensions, where its easy to miss when skimming.
---------
Co-authored-by: Nathan Gauër <github at keenuts.net>
Commit: 451912a24a6040798eba752b69ec92c448bffbcf
https://github.com/llvm/llvm-project/commit/451912a24a6040798eba752b69ec92c448bffbcf
Author: Ruiling, Song <ruiling.song at amd.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/ScheduleDAG.h
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/PowerPC/PPCMachineScheduler.cpp
Log Message:
-----------
[MachineScheduler] Make cluster check more efficient (#150884)
Commit: 76ce4640735e1f1812c7763addadc5e98691d38a
https://github.com/llvm/llvm-project/commit/76ce4640735e1f1812c7763addadc5e98691d38a
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/Inline/AArch64/sme-pstatesm-attrs-low-threshold.ll
M llvm/test/Transforms/Inline/AArch64/sme-pstatesm-attrs.ll
Log Message:
-----------
[AArch64] Dont inline streaming fn into non-streaming caller (#150595)
Without this change, the following test would fail to compile
with `-march=armv8-a+sme`:
```
void func1(const svuint32_t *in, svuint32_t *out) {
[&]() __arm_streaming { *out = *in; }();
}
```
But in general, it's probably better never to inline
streaming functions into non-streaming functions, because
they will have been marked as 'streaming' for a reason
by the user.
Commit: f9b258c73ae4406864c67c1923d572ec4f86a443
https://github.com/llvm/llvm-project/commit/f9b258c73ae4406864c67c1923d572ec4f86a443
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
A llvm/test/CodeGen/AMDGPU/postra-sched-attribute.ll
Log Message:
-----------
[AMDGPU] Support function attribute to override postRA scheduling direction (#147708)
This patch adds support for controlling the post-RA machine scheduler
direction
(topdown, bottomup, bidirectional) on a per-function basis using the
"amdgpu-post-ra-direction" function attribute.
Commit: c129d65995babf8bf56499c3f8b9b6df073190ef
https://github.com/llvm/llvm-project/commit/c129d65995babf8bf56499c3f8b9b6df073190ef
Author: bd1976bris <Ben.Dunbobbin at sony.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M clang/docs/ThinLTO.rst
Log Message:
-----------
[DTLTO][Clang][Docs] Update for COFF support (#149988)
As the COFF linker is usually invoked independently, update the Clang
DTLTO section to show an example. This follows what is done earlier in
the document.
Also some minor fixes and improvements:
- Use generic distributor names to avoid implying anything about what an
Incredibuild distributor may or should support.
- Use subheadings for readability.
- Correct a mis-cased hyperlink.
Commit: 96d117859c1cc3fb81897d3d72f7c4692b7ee930
https://github.com/llvm/llvm-project/commit/96d117859c1cc3fb81897d3d72f7c4692b7ee930
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-08-01 (Fri, 01 Aug 2025)
Changed paths:
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[lldb][test] Fix expected mangling for AsmLabel_CtorDtor test on Windows (again)
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: 27d9ee467f202eadf236bb078927e2ea3398331a
https://github.com/llvm/llvm-project/commit/27d9ee467f202eadf236bb078927e2ea3398331a
Author: Fangrui Song <i at maskray.me>
Date: 2025-08-02 (Sat, 02 Aug 2025)
Changed paths:
M bolt/lib/Core/Exceptions.cpp
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/NonZeroEnumToBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/ThinLTO.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/CIR/CIRGenerator.h
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/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/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
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/lib/CIR/CodeGen/CIRGenOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
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/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
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/Headers/__clang_cuda_runtime_wrapper.h
M clang/lib/Interpreter/CodeCompletion.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.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/Tooling.cpp
M clang/test/AST/ByteCode/hlsl.hlsl
M clang/test/Analysis/builtin_assume.cpp
A clang/test/Analysis/element-region-address-space.c
A clang/test/Analysis/engine/gh151711.cpp
M clang/test/CIR/CodeGen/bitfields.c
M clang/test/CIR/CodeGen/cleanup.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.cpp
A clang/test/CIR/CodeGenOpenACC/loop-private-clause.cpp
M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
M clang/test/ClangScanDeps/modules-debug-dir.c
M clang/test/CodeGen/atomic-arm.c
M clang/test/CodeGen/attr-counted-by.c
A clang/test/CodeGen/dbg-info-all-calls-described.c
M clang/test/CodeGen/pr45476.cpp
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
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/hip-offload-compress-zlib.hip
M clang/test/Driver/hip-offload-compress-zstd.hip
A clang/test/FixIt/fixit-c++17.cpp
M clang/test/Frontend/dump-minimization-hints.cpp
A clang/test/Modules/specializations-lazy-load-parentmap-crash-analyzer.cpp
M clang/test/Modules/specializations-lazy-load-parentmap-crash.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 compiler-rt/lib/asan/asan_mac.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp
M compiler-rt/test/builtins/Unit/muldc3_test.c
M cross-project-tests/CMakeLists.txt
A cross-project-tests/dtlto/ld-archive-thin.test
M cross-project-tests/lit.cfg.py
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Lower/LoweringOptions.def
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/Evaluate/tools.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/Mangler.cpp
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/Lower/OpenMP/distribute-simd.f90
M flang/test/Lower/OpenMP/wsloop-simd.f90
A flang/test/Lower/parametrized-derived-types.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
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/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/clause-validity01.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 libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_sched_param.h
M libc/shared/math.h
A libc/shared/math/atan2f.h
A libc/shared/math/atan2f128.h
A libc/shared/math/atanhf.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
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/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/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_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/wchar/wcstok_test.cpp
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
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
M lld/ELF/InputFiles.cpp
A lld/test/ELF/dtlto/archive-thin.test
M lldb/bindings/interface/SBMemoryRegionInfoDocstrings.i
M lldb/include/lldb/API/SBMemoryRegionInfo.h
M lldb/source/Interpreter/OptionArgParser.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/Process/Utility/RegisterContextThreadMemory.cpp
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/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/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/test/API/functionalities/memory/cache/main.cpp
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/cpp/expr-definition-in-dylib/TestExprDefinitionInDylib.py
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
M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
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/CommandGuide/opt.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/SPIRVUsage.rst
M llvm/docs/SymbolizerMarkupFormat.rst
M llvm/docs/WritingAnLLVMBackend.rst
M llvm/docs/WritingAnLLVMPass.rst
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl10.rst
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/ScheduleDAG.h
A llvm/include/llvm/Frontend/Offloading/PropertySet.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/include/llvm/Support/DebugLog.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
M llvm/lib/Frontend/Offloading/CMakeLists.txt
A llvm/lib/Frontend/Offloading/PropertySet.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.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/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCMachineScheduler.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
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/RISCVSchedSpacemitX60.td
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/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
M llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanCFG.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/test/Analysis/CostModel/AArch64/min-max.ll
M llvm/test/Analysis/CostModel/AArch64/sve-min-max.ll
M llvm/test/Analysis/LoopAccessAnalysis/early-exit-runtime-checks.ll
M llvm/test/Analysis/TypeBasedAliasAnalysis/gvn-nonlocal-type-mismatch.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
M llvm/test/CodeGen/AArch64/aarch64-gep-opt.ll
A llvm/test/CodeGen/AArch64/arm64ec-available-externally.ll
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/AArch64/sve-vscale-combine.ll
A llvm/test/CodeGen/AMDGPU/bug-undef-spilled-agpr.mir
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.perm.pk.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.gfx1250.ll
M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
M llvm/test/CodeGen/AMDGPU/mad_u64_u32.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/memmove-var-size.ll
A llvm/test/CodeGen/AMDGPU/postra-sched-attribute.ll
M llvm/test/CodeGen/AMDGPU/udivrem24.ll
M llvm/test/CodeGen/ARM/cmp-select-sign.ll
M llvm/test/CodeGen/ARM/nop_concat_vectors.ll
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
A llvm/test/CodeGen/PowerPC/aix-lower-arbitrary-sized-ints.ll
M llvm/test/CodeGen/PowerPC/more-dq-form-prepare.ll
M llvm/test/CodeGen/PowerPC/no-ctr-loop-if-exit-in-nested-loop.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ssegN-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.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/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
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/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
M llvm/test/MC/ELF/mc-dump.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/Transforms/GVN/PRE/pre-after-rle.ll
M llvm/test/Transforms/GVN/PRE/rle.ll
M llvm/test/Transforms/Inline/AArch64/sme-pstatesm-attrs-low-threshold.ll
M llvm/test/Transforms/Inline/AArch64/sme-pstatesm-attrs.ll
M llvm/test/Transforms/InstCombine/gepofconstgepi8.ll
M llvm/test/Transforms/InstCombine/phi.ll
A llvm/test/Transforms/InstCombine/scalable-extract-subvec-elt.ll
M llvm/test/Transforms/InstSimplify/const-fold-nvvm-unary-arithmetic.ll
M llvm/test/Transforms/LICM/gep-reassociate.ll
M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll
M llvm/test/Transforms/LoopUnroll/partial-unroll-reductions.ll
A llvm/test/Transforms/LoopVectorize/AArch64/pr151664-cost-hoisted-vector-scalable.ll
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
M llvm/test/Transforms/LoopVectorize/vect.stats.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
A llvm/test/Transforms/MemProfContextDisambiguation/iterative_merge.ll
M llvm/test/Transforms/MemProfContextDisambiguation/mergenodes.ll
M llvm/test/Transforms/MemProfContextDisambiguation/mergenodes2.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr88239.ll
M llvm/test/Transforms/Reassociate/fast-ReassociateVector.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/split-gep-or-as-add.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/split-gep-sub.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-libtool-darwin/L-and-l.test
M llvm/test/tools/llvm-objcopy/COFF/dump-section.test
A llvm/test/tools/llvm-reduce/operands-to-args-lifetimes.ll
M llvm/tools/lli/lli.cpp
M llvm/tools/llvm-objdump/COFFDump.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
M llvm/unittests/ADT/APFloatTest.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
M llvm/unittests/Frontend/CMakeLists.txt
A llvm/unittests/Frontend/PropertySetRegistryTest.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/Transforms/Vectorize/VPlanSlpTest.cpp
M llvm/utils/gn/secondary/llvm/lib/Frontend/Offloading/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/include/mlir/Dialect/Quant/IR/QuantTypes.h
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVIntelExtOps.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/IR/Operation.h
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRVPass.cpp
M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/EmitC/Transforms/WrapFuncInClass.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/Quant/IR/QuantTypes.cpp
M mlir/lib/Dialect/SPIRV/IR/CastOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.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/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
A mlir/test/Conversion/GPUToSPIRV/lookup-target-env.mlir
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Conversion/SCFToControlFlow/convert-to-cfg.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/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/dynamic_extension.mlir
M mlir/test/Dialect/Tosa/level_check.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-transfer-to-vector-load-store.mlir
M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
M mlir/test/Target/SPIRV/constant.mlir
M mlir/test/Target/SPIRV/intel-ext-ops.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/mlir-translate/emitc_classops.mlir
M offload/DeviceRTL/src/State.cpp
M offload/unittests/CMakeLists.txt
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
rebase
Created using spr 1.3.5-bogner
Compare: https://github.com/llvm/llvm-project/compare/61a8942ed67e...27d9ee467f20
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