[all-commits] [llvm/llvm-project] b4bc8c: [libc] Implement efficient 'malloc' on the GPU (#1...
Krzysztof Parzyszek via All-commits
all-commits at lists.llvm.org
Thu Jun 5 05:35:35 PDT 2025
Branch: refs/heads/users/kparzysz/spr/t06-alias-name
Home: https://github.com/llvm/llvm-project
Commit: b4bc8c6f83e3dc865cf6dccdc9f18edb6a2daa3f
https://github.com/llvm/llvm-project/commit/b4bc8c6f83e3dc865cf6dccdc9f18edb6a2daa3f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M libc/src/__support/GPU/CMakeLists.txt
M libc/src/__support/GPU/allocator.cpp
M libc/test/integration/src/stdlib/CMakeLists.txt
A libc/test/integration/src/stdlib/gpu/CMakeLists.txt
A libc/test/integration/src/stdlib/gpu/malloc.cpp
A libc/test/integration/src/stdlib/gpu/malloc_stress.cpp
M libc/test/src/stdlib/malloc_test.cpp
Log Message:
-----------
[libc] Implement efficient 'malloc' on the GPU (#140156)
Summary:
This is the big patch that implements an efficient device-side `malloc`
on the GPU. This is the first pass and many improvements will be made
later.
The scheme revolves around using a global reference counted pointer to
hand out access to a dynamically created and destroyed slab interface.
The slab is simply a large bitfield with one bit for each slab. All
allocations are the same size in a slab, so different sized allocations
are done through different slabs.
Allocation is thus searching for or creating a slab for the desired
slab, reserving space, and then searching for a free bit. Freeing is
clearing the bit and then releasing the space.
This interface allows memory to dynamically grow and shrink. Future
patches will have different modes to allow fast first-time-use as well
as a non-RPC version.
Commit: 59b7b5b6b5c032ed21049d631eb5d67091f3a21c
https://github.com/llvm/llvm-project/commit/59b7b5b6b5c032ed21049d631eb5d67091f3a21c
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Lower/OpenMP/declare-mapper.f90
M flang/test/Lower/OpenMP/map-mapper.f90
M flang/test/Parser/OpenMP/declare-mapper-unparse.f90
M flang/test/Parser/OpenMP/metadirective-dirspec.f90
M flang/test/Semantics/OpenMP/declare-mapper-symbols.f90
M flang/test/Semantics/OpenMP/declare-mapper03.f90
Log Message:
-----------
[OpenMP][Flang] Fix semantic check and scoping for declare mappers (#140560)
The current semantic check in place is incorrect, this patch fixes this.
Up to 1 **'default'** named mapper should be allowed for each derived
type.
The current semantic check only allows up to 1 **'default'** named
mapper across all derived types.
This also makes sure that declare mappers follow proper scoping rules
for both default and named mappers.
Co-authored-by: Raghu Maddhipatla <Raghu.Maddhipatla at amd.com>
Commit: 06ee672fc5222009d38fa8334b0b5438645f2a66
https://github.com/llvm/llvm-project/commit/06ee672fc5222009d38fa8334b0b5438645f2a66
Author: Omar Ahmed <omar.ahmed at codeplay.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/Ofast.c
M clang/test/Driver/cl-options.c
M clang/test/Driver/clang-translation.c
M clang/test/Driver/offload-Xarch.c
Log Message:
-----------
[clang] Move opt level in clang toolchain to clang::ConstructJob start (#141036)
We currently transfer the opt level from the user clang call to CC1 args
at the end of the `ConstructJob` function, this might lead to bugs as
`ConstructJob` is a big function and we easily could add a change that
would return early from it. That would cause the opt level to not be
transferred to CC1 args and lead to wrong opt level compilation and
would be hard to spot. This PR moves the opt level to the beginning of
the function as opt level should be a direct transfer without any
problems, it also removes the redundancy where it was added 2 times
through the function.
Commit: 0ebe5557d9688f7397d45facb26efcd3f2c3bc8c
https://github.com/llvm/llvm-project/commit/0ebe5557d9688f7397d45facb26efcd3f2c3bc8c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M offload/liboffload/API/Device.td
M offload/liboffload/include/generated/OffloadAPI.h
M offload/liboffload/include/generated/OffloadPrint.hpp
M offload/liboffload/src/OffloadImpl.cpp
M offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
Log Message:
-----------
[Offload] Add specifier for the host type (#141635)
Summary:
We use this sepcial type to indicate a host value, this will be refined
later but for now it's used as a stand-in device for transfers and
queues. It needs a special kind because it is not a device target as the
other ones so we need to differentiate it between a CPU and GPU type.
Fixes: https://github.com/llvm/llvm-project/issues/141436
Commit: 2b1ebef8b8a5af7092de80daafd2743683d0e8c8
https://github.com/llvm/llvm-project/commit/2b1ebef8b8a5af7092de80daafd2743683d0e8c8
Author: gbMattN <matthew.nagy at sony.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M compiler-rt/lib/profile/InstrProfilingFile.c
Log Message:
-----------
Fixed small memory leak in libprofile (#141739)
Inside `getCurFilename`, there is this code snippit
```
if (!lprofCurFilename.FilenamePat || !lprofCurFilename.FilenamePat[0])
return 0;
```
If this is true, we return `"\0"`, but would leak the memory in
`FilenameBuf`.
This pull request adds a free before then to properly free the memory.
There was already a check that we allocated memory, so there is no need
to worry about freeing unallocated memory.
Commit: 5e28af04f32455f93975e227d08f502faa45247c
https://github.com/llvm/llvm-project/commit/5e28af04f32455f93975e227d08f502faa45247c
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
A clang/test/Sema/assume.c
Log Message:
-----------
[C] Fix parsing of [[clang::assume]] (#141747)
The assumption attribute is exposed with a Clang spelling, which means
we support __attribute__((assume)) as well as [[clang::assume]] as
spellings for the attribute.
In C++, the [[clang::assume]] spelling worked as expected. In C, that
spelling would emit an "unknown attribute ignored" diagnostic. This was
happening because we were failing to pass in the scope name and source
location when creating the attribute. In C++, this worked by chance
because [[assume]] is a known attribute in C++. But in C, where there is
thankfully no [[assume]] standard attribute, the lack of a scope meant
we would set the attribute kind to "unknown".
Commit: d58e00ddae0d4d6d68db565482aeb47597e00a25
https://github.com/llvm/llvm-project/commit/d58e00ddae0d4d6d68db565482aeb47597e00a25
Author: Udit Kumar Agarwal <udit.agarwal at intel.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/cmake/config-ix.cmake
Log Message:
-----------
[CMake] Fix config when static zstd libraries are not found (#113584)
Fixes: https://github.com/llvm/llvm-project/issues/113583
Commit: 59a5c1f25f578bb1a4951a4610b4e683ee94a870
https://github.com/llvm/llvm-project/commit/59a5c1f25f578bb1a4951a4610b4e683ee94a870
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaCXX/no-exceptions.cpp
Log Message:
-----------
[clang][Sema] Diagnose exceptions only in non-dependent context in discarded `try/catch/throw` blocks (#139859)
Resolves #138939
When enabling `--fno-exceptions` flag, discarded statements containing
`try/catch/throw` in an independent context can be avoided from being
rejected.
Commit: 7fa365843d9f99e75c38a6107e8511b324950e74
https://github.com/llvm/llvm-project/commit/7fa365843d9f99e75c38a6107e8511b324950e74
Author: RolandF77 <55763885+RolandF77 at users.noreply.github.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/build-vector-tests.ll
M llvm/test/CodeGen/PowerPC/mul-const-vector.ll
M llvm/test/CodeGen/PowerPC/p10-splatImm-CPload-pcrel.ll
M llvm/test/CodeGen/PowerPC/pre-inc-disable.ll
A llvm/test/CodeGen/PowerPC/splat-extend.ll
M llvm/test/CodeGen/PowerPC/vec_add_sub_doubleword.ll
M llvm/test/CodeGen/PowerPC/vector-extend-sign.ll
M llvm/test/CodeGen/PowerPC/vector-popcnt-128-ult-ugt.ll
Log Message:
-----------
[PowerPC] extend smaller splats into bigger splats (#141282)
For pwr9, xxspltib is a byte splat with a range -128 to 127 - it can be
used with a following vector extend sign to make splats of i16, i32, or
i64 element size. For pwr8, vspltisw with a following vector extend sign
can be used to make splats of i64 elements in the range -16 to 15.
Commit: 857ffa19156695a36798660326922a3537ab828a
https://github.com/llvm/llvm-project/commit/857ffa19156695a36798660326922a3537ab828a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/placement-new.cpp
Log Message:
-----------
[clang][bytecode] Recursively start lifetimes as well (#141742)
The constructor starts the lifetime of all the subobjects.
Commit: 56594710c7ffdaf82e07b1ff63f01226c117b2ce
https://github.com/llvm/llvm-project/commit/56594710c7ffdaf82e07b1ff63f01226c117b2ce
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M libcxx/src/pstl/libdispatch.cpp
Log Message:
-----------
[libc++] Fix build failure with libdispatch backend (#141606)
We get an error "cannot add 'abi_tag' attribute in a redeclaration"
because functions like `__dispatch_apply` are first declared without an
ABI tag due to `_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS` inside the
header, and then redeclared with an ABI tag in the .cpp file.
Commit: 7f78ebf2484e6014ca845851483cfaf029746e5f
https://github.com/llvm/llvm-project/commit/7f78ebf2484e6014ca845851483cfaf029746e5f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M libcxx/src/pstl/libdispatch.cpp
Log Message:
-----------
Revert "[libc++] Fix build failure with libdispatch backend (#141606)"
It turns out that we're about to revert the patches that added these
annotations in the first place. I was too hasty to land this.
This reverts commit 56594710c7ffdaf82e07b1ff63f01226c117b2ce.
Commit: 61ec8fc283fcdf4d2a131bc1bf8102e84d8560c6
https://github.com/llvm/llvm-project/commit/61ec8fc283fcdf4d2a131bc1bf8102e84d8560c6
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
Log Message:
-----------
[NFC][PowerPC] clang-format spill and restore opcodes (#141675)
Reformat spill and restore opCode lists.
Commit: fb923e98d13e80d0d1cf878ba5b10da4e81b5cd5
https://github.com/llvm/llvm-project/commit/fb923e98d13e80d0d1cf878ba5b10da4e81b5cd5
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/lib/Transforms/Utils/Local.cpp
Log Message:
-----------
[Local] Verify opcodes match for all insts passed to mergeFlags (NFC). (#141231)
The logic for tracking flags relies on all instructions having the same
opcode. Add an assert to check, as suggested in
https://github.com/llvm/llvm-project/pull/140406.
PR: https://github.com/llvm/llvm-project/pull/141231
Commit: 3e0e567ab9acae20b5411e18ff52ccac07cfb758
https://github.com/llvm/llvm-project/commit/3e0e567ab9acae20b5411e18ff52ccac07cfb758
Author: Nico Weber <thakis at chromium.org>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/utils/gn/secondary/bolt/unittests/Core/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Log Message:
-----------
[gn] port 6a477f6577a22 (aarch64 SDNodeInfo)
Commit: 45b874bc57af1520a1a6a3118f45d12c48704987
https://github.com/llvm/llvm-project/commit/45b874bc57af1520a1a6a3118f45d12c48704987
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M clang/include/clang/Basic/SanitizerSpecialCaseList.h
M clang/lib/Basic/NoSanitizeList.cpp
M clang/lib/Basic/SanitizerSpecialCaseList.cpp
M clang/test/CodeGen/ubsan-src-ignorelist-category.test
Log Message:
-----------
[UBSan] Support src:*=sanitize for multiple ignorelists. (#141640)
See: https://github.com/llvm/llvm-project/issues/139128 and
https://github.com/llvm/llvm-project/pull/140529 for the background.
The introduction of these new tests (ubsan-src-ignorelist-category.test)
`-fsanitize-ignorelist=%t/src.ignorelist
-fsanitize-ignorelist=%t/src.ignorelist.contradict9` in this PR will not
lead to failures in the previous implementation (without this PR). This
is because the existing logic distinguishes between Sections in
different ignorelists, even if their names are identical. The order of
these Sections is preserved using a `vector`.
Commit: b474c3f69eae4230fc9a2eff07ba63d2bbac65c0
https://github.com/llvm/llvm-project/commit/b474c3f69eae4230fc9a2eff07ba63d2bbac65c0
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
A libclc/clc/include/clc/shared/clc_less_aligned_types.h
A libclc/clc/include/clc/shared/clc_less_aligned_types.inc
A libclc/clc/include/clc/shared/clc_vload.h
A libclc/clc/include/clc/shared/clc_vload.inc
A libclc/clc/include/clc/shared/clc_vstore.h
A libclc/clc/include/clc/shared/clc_vstore.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/shared/clc_vload.cl
A libclc/clc/lib/generic/shared/clc_vload_half.inc
A libclc/clc/lib/generic/shared/clc_vstore.cl
A libclc/clc/lib/generic/shared/clc_vstore_half.inc
M libclc/opencl/lib/generic/shared/vload.cl
A libclc/opencl/lib/generic/shared/vload.inc
R libclc/opencl/lib/generic/shared/vload_half.inc
M libclc/opencl/lib/generic/shared/vstore.cl
A libclc/opencl/lib/generic/shared/vstore.inc
R libclc/opencl/lib/generic/shared/vstore_half.inc
Log Message:
-----------
[libclc] Move vload & vstore to CLC library (#141755)
This commit moves the various vload and vstore builtins (including
vload_half, vloada_half, etc.) to the CLC library.
This is almost entirely a code move and does not make any attempt to
clean up or optimize the definitions of these builtins. There is no
change to any of the targets' builtin libraries, except that the vstore
helper rounding functions are now internalized.
Cleanups can come in future work. The new CLC declarations and new
OpenCL wrappers show how these CLC implementations could be defined more
simply. The builtins could probably also be vectorized in future work;
right now all of the 'half' versions for both vload and vstore are
essentially scalarized.
Commit: 0ac3f5e9017b9072d80038957f41991c8a3b195c
https://github.com/llvm/llvm-project/commit/0ac3f5e9017b9072d80038957f41991c8a3b195c
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M lldb/test/API/commands/frame/var-dil/basics/ArraySubscript/TestFrameVarDILArraySubscript.py
Log Message:
-----------
[lldb][test] Fix flaky DIL array subscript test by reducing array indexes (#141738)
This test has been flaky on Linaro's Windows on Arm bot and I was
able to reproduce it within 10 or so runs locally.
When it fails it's because we failed to read the value of int_arr[100].
When that happens the memory looks like this:
```
[0x0000006bf88fd000-0x0000006bf8900000) rw- <-- sp (0x0000006bf88ffe20)
[0x0000006bf8900000-0x0000025fec900000) --- <-- int_arr[100] (0x0000006bf8900070)
```
The first region is the stack and the stack pointer is pointing
within that region, as expected.
The second region is where we are trying to read int_arr[100] from
and this is not mapped because we're trying to read above the start
of the stack.
Sometimes the test passes I think because ASLR / DYNAMICBASE moves
the start of the stack down enough so there is some readable memory
at the top.
https://learn.microsoft.com/en-us/cpp/build/reference/dynamicbase?view=msvc-170
Note "Because ASLR can't be disabled on ARM, ARM64, or ARM64EC
architectures,
/DYNAMICBASE:NO isn't supported for these targets.". Which means on this
bot,
the layout is definitely being randomised.
We don't need to be testing indexes this large. So I've changed the two
test indexes to 3 (1 beyond the end) and 10 (a larger distance beyond
the end).
We know that index 42 always worked on the bot, so 10 should be fine,
and
did not fail locally.
Commit: 87993eb27dbb5a427918b66d9edd8cc7ebc51d25
https://github.com/llvm/llvm-project/commit/87993eb27dbb5a427918b66d9edd8cc7ebc51d25
Author: Nico Weber <thakis at chromium.org>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Target/AArch64/BUILD.gn
Log Message:
-----------
[gn] port 6a477f6577a22 more
Commit: 67d907a72fab9c4f895b36f8d7f01a97728b94f6
https://github.com/llvm/llvm-project/commit/67d907a72fab9c4f895b36f8d7f01a97728b94f6
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
Log Message:
-----------
[Clang] Reset ArgPackSubstIndex before rewriting CTAD template parameters (#141741)
032ad59 taught the instantiator to expand template argument packs for
rewrite. However we might already be in a pack expansion when we
synthesizing the CTAD guide, so we reset the ArgPackSubstIndex to ensure
it doesn't get confused.
No release note because this is a regression in Clang 21.
Fixes https://github.com/llvm/llvm-project/issues/141425
---------
Co-authored-by: Erich Keane <ekeane at nvidia.com>
Commit: 561234d21cfca899ca898dd8b9c96f825a3cc1f6
https://github.com/llvm/llvm-project/commit/561234d21cfca899ca898dd8b9c96f825a3cc1f6
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h
M lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.h
Log Message:
-----------
[lldb][Expression] Remove m_found_function_with_type_info in favour of boolean return (#141774)
I've been skimming this code while investigating a bug around module
lookup and this looked like something we could clean up. We don't need
to be carrying around state inside of `NameSearchContext` to tell us to
look into modules. We can signal this via a boolean return from
`LookupFunction`.
Commit: 4000113b88b12eeb0c919f753cecc240759eaf3a
https://github.com/llvm/llvm-project/commit/4000113b88b12eeb0c919f753cecc240759eaf3a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Add release note for riscv32 elf core file support in LLDB (#141629)
Add a release note for riscv32 elf core file support in LLDB.
Commit: a8d8af3bfa13bf3173e24097ee4017cf7648c5a6
https://github.com/llvm/llvm-project/commit/a8d8af3bfa13bf3173e24097ee4017cf7648c5a6
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
A mlir/test/Target/LLVMIR/omp-target-call-with-repeated-parameter.mlir
Log Message:
-----------
[OpenMP][OMPIRBuilder] Collect users of a value before replacing them in target outlined function (#139064)
This PR fixes a crash that curently happens given the following input:
```fortran
subroutine caller()
real :: x
integer :: i
!$omp target
x = i
call callee(x,x)
!$omp end target
endsubroutine caller
subroutine callee(x1,x2)
real :: x1, x2
endsubroutine callee
```
The crash happens because the following sequence of events is taken by
the `OMPIRBuilder`:
1. ....
2. An outlined function for the target region is created. At first the
outlined function still refers to the SSA values from the original
function of the target region.
3. The builder then iterates over the users of SSA values used in the
target region to replace them with the corresponding function arguments
of outlined function.
4. If the same instruction references the SSA value more than once (say
m), all uses of that SSA value are replaced in the instruction. Deleting
all m uses of the value.
5. The next m-1 iterations will still iterate over the same instruction
dropping the last m-1 actual users of the value.
Hence, we collect all users first before modifying them.
Commit: 219312c6238df66abcb33415186523207827bbe6
https://github.com/llvm/llvm-project/commit/219312c6238df66abcb33415186523207827bbe6
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/lib/Analysis/DXILResource.cpp
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
M llvm/unittests/Analysis/DXILResourceTest.cpp
Log Message:
-----------
[DirectX] Gather resource names in DXIL resource analysis (#140633)
Gather resource names from `llvm.dx.resource.handlefrombinding` calls during DXIL resource analysis and add them to `DXILResourceMap`.
Part 3/4 of llvm/llvm-project#105059
Commit: 617cfedc43ae93960633909c00feed5345eeac6a
https://github.com/llvm/llvm-project/commit/617cfedc43ae93960633909c00feed5345eeac6a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/switch-cases-to-branch-and.ll
Log Message:
-----------
[AArch64] Generate check lines for GlobalISel in test.
Add GlobalISel test coverage for
https://github.com/llvm/llvm-project/pull/139736.
Commit: c3656afdf111901977792c1d9589cb32ee1b6015
https://github.com/llvm/llvm-project/commit/c3656afdf111901977792c1d9589cb32ee1b6015
Author: James Y Knight <jyknight at google.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M libcxx/include/__algorithm/shuffle.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/__charconv/from_chars_floating_point.h
M libcxx/include/__charconv/to_chars_floating_point.h
M libcxx/include/__chrono/exception.h
M libcxx/include/__chrono/file_clock.h
M libcxx/include/__chrono/steady_clock.h
M libcxx/include/__chrono/system_clock.h
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__config
M libcxx/include/__exception/exception.h
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__exception/nested_exception.h
M libcxx/include/__exception/operations.h
M libcxx/include/__exception/terminate.h
M libcxx/include/__expected/bad_expected_access.h
M libcxx/include/__filesystem/directory_entry.h
M libcxx/include/__filesystem/directory_iterator.h
M libcxx/include/__filesystem/filesystem_error.h
M libcxx/include/__filesystem/operations.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__filesystem/path_iterator.h
M libcxx/include/__filesystem/recursive_directory_iterator.h
M libcxx/include/__format/format_error.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__hash_table
M libcxx/include/__locale
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/__memory/align.h
M libcxx/include/__memory/shared_count.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory_resource/memory_resource.h
M libcxx/include/__memory_resource/monotonic_buffer_resource.h
M libcxx/include/__memory_resource/synchronized_pool_resource.h
M libcxx/include/__memory_resource/unsynchronized_pool_resource.h
M libcxx/include/__mutex/mutex.h
M libcxx/include/__mutex/once_flag.h
M libcxx/include/__new/exceptions.h
M libcxx/include/__new/new_handler.h
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__ostream/print.h
M libcxx/include/__pstl/backends/libdispatch.h
M libcxx/include/__random/binomial_distribution.h
M libcxx/include/__random/random_device.h
M libcxx/include/__system_error/error_category.h
M libcxx/include/__system_error/error_code.h
M libcxx/include/__system_error/error_condition.h
M libcxx/include/__system_error/system_error.h
M libcxx/include/__system_error/throw_system_error.h
M libcxx/include/__thread/support/windows.h
M libcxx/include/__thread/this_thread.h
M libcxx/include/__thread/thread.h
M libcxx/include/__verbose_abort
M libcxx/include/any
M libcxx/include/barrier
M libcxx/include/codecvt
M libcxx/include/condition_variable
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/ios
M libcxx/include/istream
M libcxx/include/locale
M libcxx/include/mutex
M libcxx/include/optional
M libcxx/include/print
M libcxx/include/regex
M libcxx/include/shared_mutex
M libcxx/include/sstream
M libcxx/include/stdexcept
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/strstream
M libcxx/include/typeinfo
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/src/algorithm.cpp
M libcxx/src/any.cpp
M libcxx/src/atomic.cpp
M libcxx/src/barrier.cpp
M libcxx/src/call_once.cpp
M libcxx/src/charconv.cpp
M libcxx/src/chrono.cpp
M libcxx/src/condition_variable.cpp
M libcxx/src/condition_variable_destructor.cpp
M libcxx/src/error_category.cpp
M libcxx/src/expected.cpp
M libcxx/src/experimental/chrono_exception.cpp
M libcxx/src/filesystem/directory_entry.cpp
M libcxx/src/filesystem/directory_iterator.cpp
M libcxx/src/filesystem/filesystem_clock.cpp
M libcxx/src/filesystem/filesystem_error.cpp
M libcxx/src/filesystem/operations.cpp
M libcxx/src/filesystem/path.cpp
M libcxx/src/fstream.cpp
M libcxx/src/functional.cpp
M libcxx/src/future.cpp
M libcxx/src/hash.cpp
M libcxx/src/ios.cpp
M libcxx/src/iostream.cpp
M libcxx/src/locale.cpp
M libcxx/src/memory.cpp
M libcxx/src/memory_resource.cpp
M libcxx/src/mutex.cpp
M libcxx/src/mutex_destructor.cpp
M libcxx/src/optional.cpp
M libcxx/src/ostream.cpp
M libcxx/src/print.cpp
M libcxx/src/random.cpp
M libcxx/src/random_shuffle.cpp
M libcxx/src/regex.cpp
M libcxx/src/shared_mutex.cpp
M libcxx/src/std_stream.h
M libcxx/src/stdexcept.cpp
M libcxx/src/string.cpp
M libcxx/src/strstream.cpp
M libcxx/src/support/win32/locale_win32.cpp
M libcxx/src/support/win32/thread_win32.cpp
M libcxx/src/system_error.cpp
M libcxx/src/thread.cpp
M libcxx/src/valarray.cpp
M libcxx/src/vector.cpp
M libcxx/src/verbose_abort.cpp
M libcxx/test/tools/clang_tidy_checks/hide_from_abi.cpp
Log Message:
-----------
Revert "[libc++] Introduce ABI sensitive areas to avoid requiring _LIBCPP_HIDE_FROM_ABI everywhere (#131156)" (#141756)
This reverts commit c861fe8a71e64f3d2108c58147e7375cd9314521.
Unfortunately, this use of hidden visibility attributes causes
user-defined specializations of standard-library types to also be marked
hidden by default, which is incorrect. See discussion thread on #131156.
...and also reverts the follow-up commits:
Revert "[libc++] Add explicit ABI annotations to functions from the block runtime declared in <__functional/function.h> (#140592)"
This reverts commit 3e4c9dc299c35155934688184319d391b298fff7.
Revert "[libc++] Make ABI annotations explicit for windows-specific code (#140507)"
This reverts commit f73287e623a6c2e4a3485832bc3e10860cd26eb5.
Revert "[libc++][NFC] Replace a few "namespace std" with the correct macro (#140510)"
This reverts commit 1d411f27c769a32cb22ce50b9dc4421e34fd40dd.
Commit: 4608df5b9fea7322714fc5fe7e6bcc5e5e3a666a
https://github.com/llvm/llvm-project/commit/4608df5b9fea7322714fc5fe7e6bcc5e5e3a666a
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M libcxx/include/bitset
M libcxx/test/benchmarks/bitset.bench.cpp
Log Message:
-----------
[libc++] Simplify __bitset::__init (#121357)
This PR simplifies `__bitset::__init` into a more compact and readable
form, which avoids redundant computations of a `size_t` value and
eliminates the overhead of a local array.
Commit: 4ad230bebd1dcdf09f445181f34e8fa92e970412
https://github.com/llvm/llvm-project/commit/4ad230bebd1dcdf09f445181f34e8fa92e970412
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M libcxx/include/bitset
Log Message:
-----------
[libc++] Refactor bitset::{any, all} (#128445)
This patch refactors the `all()` and `any()` methods in `bitset` to
eliminate redundant code while preserving the performance. Code
generation remains unchanged, as verified on Compiler
Explorer: https://godbolt.org/z/xx8hb4sPM.
Commit: f64cd30367e7cee4a0b82b405d96e9b37412b391
https://github.com/llvm/llvm-project/commit/f64cd30367e7cee4a0b82b405d96e9b37412b391
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/test/CodeGen/AArch64/arm64ec-varargs.ll
Log Message:
-----------
[AArch64] Remove VK_WEAKREF from arm64ec lowering. (#141717)
VK_WEAKREF doesn't actually do anything anymore, and it was never really
necessary. We set a bit on the MCSymbol to represent the anti-dep
semantics.
This patch doesn't delete the VK_WEAKREF enum value because that causes
an unrelated issue in CodeGen/AArch64/wineh-try-catch.ll.
Commit: caaca3298e4c08936d8f10df4ebc1749c8a66902
https://github.com/llvm/llvm-project/commit/caaca3298e4c08936d8f10df4ebc1749c8a66902
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M lldb/source/Core/Statusline.cpp
Log Message:
-----------
[lldb] Remove unused escape code defines from status line (#141770)
Commit: a1191b48755a8ce651792ba06a430338f41af2f1
https://github.com/llvm/llvm-project/commit/a1191b48755a8ce651792ba06a430338f41af2f1
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M offload/test/tools/offload-tblgen/default_returns.td
M offload/test/tools/offload-tblgen/entry_points.td
Log Message:
-----------
[Offload] Fix broken tablegen test after #140879 (#141796)
Commit: 63385e7fc94039e1af6a8f21bebf8974f9d4a2a7
https://github.com/llvm/llvm-project/commit/63385e7fc94039e1af6a8f21bebf8974f9d4a2a7
Author: Jamie Schmeiser <69692453+jamieschmeiser at users.noreply.github.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M clang/test/ClangScanDeps/modules-pch-common-stale.c
Log Message:
-----------
[clang][modules][deps]Remove -F option from test for clang-scan-deps (#141614)
Remove the redundant -F option from test because not all platforms
support -F, which is a g++ extension. The option is unnecessary because
all files in the test have paths specified.
Commit: 1610d41d8397301c3c39486b7ed1d329f43aad5d
https://github.com/llvm/llvm-project/commit/1610d41d8397301c3c39486b7ed1d329f43aad5d
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinker.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerCompileUnit.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
M llvm/include/llvm/DWARFLinker/DWARFLinkerBase.h
M llvm/include/llvm/DWARFLinker/Parallel/DWARFLinker.h
M llvm/include/llvm/DWP/DWP.h
M llvm/include/llvm/DWP/DWPError.h
Log Message:
-----------
[llvm] annotate interfaces in llvm/DWARFLinker and llvm/DWP for DLL export (#140782)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/DWARFLinker` and
`llvm/DWP` libraries. These annotations currently have no meaningful
impact on the LLVM build; however, they are a prerequisite to support an
LLVM Windows DLL (shared library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
These changes were generated automatically using the [Interface
Definition Scanner (IDS)](https://github.com/compnerd/ids) tool,
followed formatting with `git clang-format`.
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: 61a98eb7d3a6e42b4a0a0c651bd62411f783c166
https://github.com/llvm/llvm-project/commit/61a98eb7d3a6e42b4a0a0c651bd62411f783c166
Author: Nico Weber <thakis at chromium.org>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/tool/BUILD.gn
Log Message:
-----------
[gn] copy move clang-doc assets
Needed by clang-doc/basic-project.mustache.test from 79023dbdb3ed.
Commit: ff5095db93762412a1c09225b18f80b06b99ff68
https://github.com/llvm/llvm-project/commit/ff5095db93762412a1c09225b18f80b06b99ff68
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
A llvm/test/Analysis/CostModel/X86/memset-pattern.ll
Log Message:
-----------
[TTI] Provide a cost for memset_pattern which matches the libcall (#139978)
The motivation is that differences in unrolling were noticed when trying
to switch from the libcall to the intrinsic. There are likely also
differences not yet noticed in other cost based decisions - such as
inlining, and possibly vectorization.
Neither cost is a good, well considered, cost but for the moment, let's
have them be equal to simplify migration. We can come back and refine
this once we have it being exercised by default.
Commit: b8dcf53dc636239b82e2524d1cffc2c46ace751a
https://github.com/llvm/llvm-project/commit/b8dcf53dc636239b82e2524d1cffc2c46ace751a
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/LoopUnrollAnalyzer.h
M llvm/include/llvm/Analysis/Passes.h
Log Message:
-----------
[llvm] add missing #include of Compiler.h (#141780)
Fixes a build break introduced in #136623. There were two files updated
to reference the `LLVM_ABI` macro that were not updated to `#include
"llvm/Support/Compiler.h"`
Failing build log
[here](https://green.lab.llvm.org/job/llvm.org/job/clang-stage2-Rthinlto/794/consoleFull#-471199310f80d942a-f672-4696-b0d9-c66cae8aa9dd)
Commit: a41e20a53ca28c93085e33469718450e7063e778
https://github.com/llvm/llvm-project/commit/a41e20a53ca28c93085e33469718450e7063e778
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port 5ab944a8c6a2
Commit: fc9ce037ef824a657f0e07f6d501dcc8fd0285c7
https://github.com/llvm/llvm-project/commit/fc9ce037ef824a657f0e07f6d501dcc8fd0285c7
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/reduction.cpp
Log Message:
-----------
[flang][rt] Enable Count and CountDim for device build (#141684)
Commit: b14799e9e0ed2cae7cbce45c413233336b151fea
https://github.com/llvm/llvm-project/commit/b14799e9e0ed2cae7cbce45c413233336b151fea
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/DebugInfo/KeyInstructions/builtin.c
Log Message:
-----------
[KeyIntsr][Clang] Builtins atoms (#134651)
This patch is part of a stack that teaches Clang to generate Key Instructions
metadata for C and C++.
RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
The feature is only functional in LLVM if LLVM is built with CMake flag
LLVM_EXPERIMENTAL_KEY_INSTRUCTIONs. Eventually that flag will be removed.
Commit: 7e4bdb427f7531a3d15c5aebb4cc94906404657b
https://github.com/llvm/llvm-project/commit/7e4bdb427f7531a3d15c5aebb4cc94906404657b
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/include/llvm/CGData/CodeGenData.h
M llvm/include/llvm/CGData/CodeGenDataReader.h
M llvm/include/llvm/CGData/CodeGenDataWriter.h
M llvm/include/llvm/CGData/OutlinedHashTree.h
M llvm/include/llvm/CGData/OutlinedHashTreeRecord.h
M llvm/include/llvm/CGData/StableFunctionMap.h
M llvm/include/llvm/CGData/StableFunctionMapRecord.h
M llvm/include/llvm/CodeGen/AccelTable.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/AsmPrinterHandler.h
M llvm/include/llvm/CodeGen/CallingConvLower.h
M llvm/include/llvm/CodeGen/CodeGenTargetMachineImpl.h
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/CodeGen/DIE.h
M llvm/include/llvm/CodeGen/DroppedVariableStatsMIR.h
M llvm/include/llvm/CodeGen/GCMetadata.h
M llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/CSEMIRBuilder.h
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h
M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
M llvm/include/llvm/CodeGen/GlobalISel/LegacyLegalizerInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/LoadStoreOpt.h
M llvm/include/llvm/CodeGen/GlobalISel/LostDebugLocObserver.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/LexicalScopes.h
M llvm/include/llvm/CodeGen/LiveInterval.h
M llvm/include/llvm/CodeGen/LiveIntervalCalc.h
M llvm/include/llvm/CodeGen/LiveIntervals.h
M llvm/include/llvm/CodeGen/LiveRangeCalc.h
M llvm/include/llvm/CodeGen/LiveRegUnits.h
M llvm/include/llvm/CodeGen/LiveVariables.h
M llvm/include/llvm/CodeGen/LowLevelTypeUtils.h
M llvm/include/llvm/CodeGen/MIRFormatter.h
M llvm/include/llvm/CodeGen/MIRParser/MIRParser.h
M llvm/include/llvm/CodeGen/MIRPrinter.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineBlockFrequencyInfo.h
M llvm/include/llvm/CodeGen/MachineCycleAnalysis.h
M llvm/include/llvm/CodeGen/MachineDomTreeUpdater.h
M llvm/include/llvm/CodeGen/MachineDominators.h
M llvm/include/llvm/CodeGen/MachineFrameInfo.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h
M llvm/include/llvm/CodeGen/MachineFunctionAnalysisManager.h
M llvm/include/llvm/CodeGen/MachineFunctionPass.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
M llvm/include/llvm/CodeGen/MachineInstrBundle.h
M llvm/include/llvm/CodeGen/MachineJumpTableInfo.h
M llvm/include/llvm/CodeGen/MachineLoopInfo.h
M llvm/include/llvm/CodeGen/MachineMemOperand.h
M llvm/include/llvm/CodeGen/MachineModuleInfo.h
M llvm/include/llvm/CodeGen/MachineModuleSlotTracker.h
M llvm/include/llvm/CodeGen/MachineOperand.h
M llvm/include/llvm/CodeGen/MachineOptimizationRemarkEmitter.h
M llvm/include/llvm/CodeGen/MachinePassManager.h
M llvm/include/llvm/CodeGen/MachinePostDominators.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/MachineSizeOpts.h
M llvm/include/llvm/CodeGen/MachineStableHash.h
M llvm/include/llvm/CodeGen/MachineVerifier.h
M llvm/include/llvm/CodeGen/MacroFusion.h
M llvm/include/llvm/CodeGen/NonRelocatableStringpool.h
M llvm/include/llvm/CodeGen/PBQPRAConstraint.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/PseudoSourceValue.h
M llvm/include/llvm/CodeGen/PseudoSourceValueManager.h
M llvm/include/llvm/CodeGen/RegisterBank.h
M llvm/include/llvm/CodeGen/RegisterClassInfo.h
M llvm/include/llvm/CodeGen/RegisterPressure.h
M llvm/include/llvm/CodeGen/ReplaceWithVeclib.h
M llvm/include/llvm/CodeGen/RuntimeLibcallUtil.h
M llvm/include/llvm/CodeGen/ScheduleDAG.h
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
M llvm/include/llvm/CodeGen/ScheduleDAGMutation.h
M llvm/include/llvm/CodeGen/SchedulerRegistry.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGAddressAnalysis.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/SlotIndexes.h
M llvm/include/llvm/CodeGen/StackMaps.h
M llvm/include/llvm/CodeGen/TargetFrameLowering.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetPassConfig.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGen/TargetSchedule.h
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/include/llvm/CodeGen/ValueTypes.h
M llvm/include/llvm/CodeGen/VirtRegMap.h
M llvm/unittests/CodeGen/RegAllocScoreTest.cpp
Log Message:
-----------
[llvm] annotate interfaces in llvm/CGData and llvm/CodeGen for DLL export (#140823)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/CGData` and
`llvm/CodeGen` libraries. These annotations currently have no meaningful
impact on the LLVM build; however, they are a prerequisite to support an
LLVM Windows DLL (shared library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS on
Linux:
- Add `LLVM_ABI` to a subset of private class methods and fields that
require export
- Add `LLVM_TEMPLATE_ABI` and `LLVM_EXPORT_TEMPLATE` to exported
instantiated templates defined via X-macro
- Add `LLVM_ABI_FRIEND` to friend member functions declared with
`LLVM_ABI`
- Explicitly make classes non-copyable where needed to due IDS adding
LLVM_ABI at the class level
- Add `#include "llvm/Support/Compiler.h"` to files where it was not
auto-added by IDS due to no pre-existing block of include statements.
- Add `LLVM_ABI` to a small number of symbols that require export but
are not declared in headers
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: 894a0dd57f81211f9e431d9e84f2856d34f46993
https://github.com/llvm/llvm-project/commit/894a0dd57f81211f9e431d9e84f2856d34f46993
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
R clang/test/DebugInfo/KeyInstructions/builtin.c
Log Message:
-----------
Revert "[KeyIntsr][Clang] Builtins atoms (#134651)"
This reverts commit b14799e9e0ed2cae7cbce45c413233336b151fea.
Breaks downstream bots.
Commit: 9c6a442f29668d109f9fe3aef354cad041265cfb
https://github.com/llvm/llvm-project/commit/9c6a442f29668d109f9fe3aef354cad041265cfb
Author: vporpo <vporpodas at google.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionAlwaysRevert.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
Log Message:
-----------
[SandboxVec] Add TransactionAlwaysRevert pass (#141688)
This patch adds a region pass that reverts the IR state unconditionally.
This is used for testing.
Commit: 31f47dd0fa05cfcc06b74a17a192cb179d7510c1
https://github.com/llvm/llvm-project/commit/31f47dd0fa05cfcc06b74a17a192cb179d7510c1
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
A llvm/test/MC/Disassembler/RISCV/branch-targets-xcv.txt
A llvm/test/MC/Disassembler/RISCV/branch-targets-xqci.txt
Log Message:
-----------
[RISCV] Update evaluateBranch for Xqci (#141718)
This implements RISCVMCInstrAnalysis::evaluateBranch for the two Xqci
pc-relative jumps, which were otherwise not being displayed correctly
when disassembling.
This also adds tests for all Xqci branches, and also the Core-V branches
as they work, but did not have coverage.
Commit: 7ed185a8f2b9f2436db1ccd82964424f641917e9
https://github.com/llvm/llvm-project/commit/7ed185a8f2b9f2436db1ccd82964424f641917e9
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M lldb/include/lldb/Interpreter/CommandInterpreter.h
M lldb/source/Commands/CommandObjectLanguage.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
A lldb/test/API/commands/command/language/Makefile
A lldb/test/API/commands/command/language/TestFrameLanguageCommands.py
A lldb/test/API/commands/command/language/commands.py
A lldb/test/API/commands/command/language/lib.cpp
A lldb/test/API/commands/command/language/main.mm
Log Message:
-----------
[lldb] Expose language plugin commands based based on language of current frame (#136766)
Use the current frame's language to lookup commands provided by language plugins.
This means commands like `language {objc,cplusplus} <command>` can be used directly, without using the `language <lang>` prefix.
For example, when stopped on a C++ frame, `demangle _Z1fv` will run `language cplusplus demangle _Z1fv`.
rdar://149882520
Commit: 86685b95bfcef3bf22581535cfa2c9956c49f5c5
https://github.com/llvm/llvm-project/commit/86685b95bfcef3bf22581535cfa2c9956c49f5c5
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/DLTI/DLTIAttrs.td
M mlir/include/mlir/Dialect/DLTI/DLTIBase.td
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/lib/Dialect/DLTI/DLTI.cpp
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/lib/Target/LLVMIR/DataLayoutImporter.cpp
M mlir/lib/Target/LLVMIR/DataLayoutImporter.h
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/layout.mlir
M mlir/test/Target/LLVMIR/Import/data-layout.ll
M mlir/test/Target/LLVMIR/data-layout.mlir
M mlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
Log Message:
-----------
[MLIR][LLVM][DLTI] Handle data layout token 'n32:64' (#141299)
Commit: 4a44e0014d1b79089d42ef86f0d989053df0cbea
https://github.com/llvm/llvm-project/commit/4a44e0014d1b79089d42ef86f0d989053df0cbea
Author: Nico Weber <thakis at chromium.org>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
[llvm] Define __has_warning in Compiler.h if it isn't defined
Follow-up to #141091.
Commit: 6e5f9bb6939dca085d057d626240bab365807602
https://github.com/llvm/llvm-project/commit/6e5f9bb6939dca085d057d626240bab365807602
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
A clang/test/CIR/IR/invalid-vector-shift-wrong-result-type.cir
Log Message:
-----------
[CIR] Allow use different Int types together in Vec Shift Op (#141111)
Update the verification of ShiftOp for Vector to allow performing shift
op between signed and unsigned integers, similar to LLVM IR
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 1f1c725b68b9d72b5cd3fc95c57ce4244bc85c8e
https://github.com/llvm/llvm-project/commit/1f1c725b68b9d72b5cd3fc95c57ce4244bc85c8e
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
A llvm/test/Transforms/LowerMatrixIntrinsics/binop.ll
Log Message:
-----------
[Matrix] Propagate shape information through all binops (#141705)
They all have vector variants, so the obvious "find and replace" does
the trick.
Commit: 4304d90f0ac171f86c26d7d2da4fd03b336957bb
https://github.com/llvm/llvm-project/commit/4304d90f0ac171f86c26d7d2da4fd03b336957bb
Author: A. Jiang <de34 at live.cn>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
Log Message:
-----------
[libc++][lldb-dap][test] Fix CI for bootstrapping-build (#141543)
#140107 changed the default argument of `disableASLR` of related
functions from `False` to `True`. libc++ CI has been stably failing for
`TestDAP_subtleFrames.py` (in bootstrapping-build) since then. The error
message "personality set failed: Operation not permitted" seems related
to ASLR.
This PR attempts to fix the CI failure by changing the default value of
`disableASLR` in `dap_server.py` to `False`.
Commit: 4bf67cdf026478c4bc3e708153c02f82e2c22524
https://github.com/llvm/llvm-project/commit/4bf67cdf026478c4bc3e708153c02f82e2c22524
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/unittests/ADT/DenseMapTest.cpp
Log Message:
-----------
[DenseMap] Fix constness issues with lookup_or (#139247)
Also demonstrate its use in ScalarEvolution.
Commit: 4dbc75567d5d1658f0dee1db672e842cc94be925
https://github.com/llvm/llvm-project/commit/4dbc75567d5d1658f0dee1db672e842cc94be925
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M lld/wasm/InputChunks.cpp
Log Message:
-----------
[lld] Use llvm::count_if (NFC) (#141519)
Commit: 3fa65dee14f1d7b1e2224a36d06a3a1aba375987
https://github.com/llvm/llvm-project/commit/3fa65dee14f1d7b1e2224a36d06a3a1aba375987
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M mlir/lib/ExecutionEngine/SyclRuntimeWrappers.cpp
A mlir/test/Integration/GPU/SYCL/gpu-memcpy-addf32-to-spirv.mlir
Log Message:
-----------
[mlir] SYCL runtime wrapper: add memcpy support. (#141647)
Commit: a4b2f4a72aa9b4655ecc723838830e0a7f29c9ca
https://github.com/llvm/llvm-project/commit/a4b2f4a72aa9b4655ecc723838830e0a7f29c9ca
Author: Matthias Braun <matze at braunis.de>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/unsupported-option.c
Log Message:
-----------
Check for unsupported target options even with -Qunused-arguments (#141698)
Fix clang accidentally skipping checks for
`err_drv_unsupported_opt_for_target` when `-Qunused-arguments` was
active.
Commit: b03558080eda9ebe3955afdd52aed902c5087310
https://github.com/llvm/llvm-project/commit/b03558080eda9ebe3955afdd52aed902c5087310
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M clang/lib/AST/ItaniumMangle.cpp
M clang/test/CodeGenCXX/clang-abi-compat.cpp
M clang/test/CodeGenCXX/mangle-itanium-ptrauth.cpp
Log Message:
-----------
[ItaniumMangle] Make sure class types are added to the dictionary of substitution candidates when compiling for older ABIs (#138947)
`mangleCXXRecordDecl` should add class types to the substitution
dictionary unless it is called by `mangleCXXCtorVTable` (see
https://github.com/llvm/llvm-project/pull/109970 for why that is
needed).
This fixes a mis-compile caused by
https://github.com/llvm/llvm-project/pull/132401, which started calling
`mangleCXXRecordDecl` in `CXXNameMangler::mangleType(const
MemberPointerType *T)`.
rdar://149307496
Commit: 46f90165be92e08e059dcc07d42347cbf7446a0b
https://github.com/llvm/llvm-project/commit/46f90165be92e08e059dcc07d42347cbf7446a0b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M .github/workflows/pr-code-format.yml
Log Message:
-----------
[Github] Bump PR Code Format clang-format version (#141819)
As we have discussed in the past, we should be using the latest version.
This has not been updated in a while.
Commit: 259fe01aceecfcf0948ca3efb1bb0a9769798dc1
https://github.com/llvm/llvm-project/commit/259fe01aceecfcf0948ca3efb1bb0a9769798dc1
Author: google-yfyang <yfyang at google.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-doc/BUILD.bazel
Log Message:
-----------
[bazel] Add the missing dependency for the introduced use of support/Utils.h (#141828)
#138066 adds the use of this unspecified dependency.
This breaks bazel build.
https://buildkite.com/llvm-project/upstream-bazel/builds/137154#01971745-cb44-4fd1-af59-ccef34c3f61e
Commit: 3581e9bb4c7c37a1a277322d5389d4b11be0ac49
https://github.com/llvm/llvm-project/commit/3581e9bb4c7c37a1a277322d5389d4b11be0ac49
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/docs/MLGO.rst
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/lib/Analysis/IR2Vec.cpp
Log Message:
-----------
[NFC][IR2Vec] Refactoring for Stateless Embedding Computation (#141811)
Currently, users have to invoke two APIs: `computeEmbeddings()` followed
by getters to access the embeddings. This PR refactors the code to
reduce this *stateful* access of APIs. Users can now directly invoke
getters; Internally, getters would compute the embeddings.
Commit: e653dc9ca00819dc7767dbde4422e96ddc296d03
https://github.com/llvm/llvm-project/commit/e653dc9ca00819dc7767dbde4422e96ddc296d03
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M lldb/test/API/commands/command/language/Makefile
Log Message:
-----------
[lldb] Fix TestFrameLanguageCommands.py build (#141829)
The use of `-lobjc` resulted in this test failing to build on Linux. The
flag is not necessary, this removes the flag with the expectation it
will fix the test on Linux.
Commit: b7bb2567032f2264715234bcd8ddf55414d99b5d
https://github.com/llvm/llvm-project/commit/b7bb2567032f2264715234bcd8ddf55414d99b5d
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/include/llvm/IR/DiagnosticInfo.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/Linker/LinkDiagnosticInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMMCInstLower.cpp
M llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp
M llvm/lib/Target/BPF/BPFRegisterInfo.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Transforms/Instrumentation/KCFI.cpp
Log Message:
-----------
Warn on misuse of DiagnosticInfo classes that hold Twines (#137397)
This annotates the `Twine` passed to the constructors of the various
DiagnosticInfo subclasses with `[[clang::lifetimebound]]`, which causes
us to warn when we would try to print the twine after it had already
been destructed.
We also update `DiagnosticInfoUnsupported` to hold a `const Twine &`
like all of the other DiagnosticInfo classes, since this warning allows
us to clean up all of the places where it was being used incorrectly.
Commit: e6bae02db377978874f73854aa7e69f122fd482c
https://github.com/llvm/llvm-project/commit/e6bae02db377978874f73854aa7e69f122fd482c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/combine-and-sext-bool.ll
Log Message:
-----------
AMDGPU: Add is_fpclass to isBoolSGPR (#141801)
Commit: 9ffbc8a4ce456c75d425dcfd5cf2d32181a5290c
https://github.com/llvm/llvm-project/commit/9ffbc8a4ce456c75d425dcfd5cf2d32181a5290c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/combine-and-sext-bool.ll
Log Message:
-----------
AMDGPU: Add overflow operations to isBoolSGPR (#141803)
The particular use in the test doesn't seem to do anything for
the expanded cases (i.e. the signed add/sub or multiplies).
Commit: d8235affcf45fbea5ee4670ae2ac89c7f519b49c
https://github.com/llvm/llvm-project/commit/d8235affcf45fbea5ee4670ae2ac89c7f519b49c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/combine-cond-add-sub.ll
Log Message:
-----------
AMDGPU: Add is.shared/is.private intrinsics to isBoolSGPR (#141804)
No change in the net output since these ultimately expand to setcc,
but saves a step in the DAG.
Commit: 8fb09c8d09bdbc1af98cb7138411029223731be8
https://github.com/llvm/llvm-project/commit/8fb09c8d09bdbc1af98cb7138411029223731be8
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/lib/Conversion/GPUToSPIRV/WmmaOpsToSPIRV.cpp
M mlir/test/Conversion/GPUToSPIRV/wmma-ops-to-spirv-khr-coop-matrix.mlir
M mlir/test/Dialect/GPU/ops.mlir
Log Message:
-----------
[mlir][gpu] Add GPU subgroup MMA extract and insert operations (#139048)
- Introduced `gpu.subgroup_mma_extract` operation to extract values from
`!gpu.mma_matrix` by invocation and indices.
- Introduced `gpu.subgroup_mma_insert` operation to insert values into
`!gpu.mma_matrix` by invocation and indices.
- Updated the conversion patterns to SPIR-V for both extract and insert
operations.
- Added test cases to validate the new operations in the GPU to SPIR-V
conversion.
RFC:
https://discourse.llvm.org/t/rfc-add-gpu-operations-to-permute-data-in-2-loaded-mma-matrix/86148?u=hsiangkai
Commit: 440a8adb86564846e10830f56a9073e43d834c9b
https://github.com/llvm/llvm-project/commit/440a8adb86564846e10830f56a9073e43d834c9b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
Log Message:
-----------
[VPlan] Use VPIRFlags to manage FMFs for ComputeReductionResult (NFC).
Manage fast-math flags using VPIRFlags from VPInstruciton, in inline
with other VPInstructions. With this change, we now print the correctly
flags for ComputeReductionResult, other than that NFC.
Commit: cb7f4ff03cc20b04360d75f78e2255214a617d5f
https://github.com/llvm/llvm-project/commit/cb7f4ff03cc20b04360d75f78e2255214a617d5f
Author: Ashley Coleman <ascoleman at microsoft.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
A clang/test/SemaHLSL/BuiltIns/Buffers.hlsl
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
Log Message:
-----------
[HLSL] Add Buffer def to frontend (#141086)
Fixes #138902
Defines the `Buffer<>` type in the clang frontend. Lowering from
IR->Target Machine is already handled by other code
Commit: 02916a432ca6465e2e45f67be94f1c89c9cd425d
https://github.com/llvm/llvm-project/commit/02916a432ca6465e2e45f67be94f1c89c9cd425d
Author: Zequan Wu <zequanwu at google.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M lldb/docs/use/variable.rst
M lldb/include/lldb/API/SBTypeSummary.h
M lldb/include/lldb/DataFormatters/FormatClasses.h
M lldb/include/lldb/DataFormatters/FormatManager.h
M lldb/include/lldb/DataFormatters/FormattersContainer.h
M lldb/include/lldb/DataFormatters/TypeFormat.h
M lldb/include/lldb/DataFormatters/TypeSummary.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/source/API/SBTypeSummary.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Commands/Options.td
M lldb/source/DataFormatters/FormatManager.cpp
M lldb/source/DataFormatters/TypeCategoryMap.cpp
M lldb/source/DataFormatters/TypeSummary.cpp
A lldb/test/API/functionalities/data-formatter/data-formatter-ptr-matching/Makefile
A lldb/test/API/functionalities/data-formatter/data-formatter-ptr-matching/TestDataFormatterPtrMatching.py
A lldb/test/API/functionalities/data-formatter/data-formatter-ptr-matching/main.cpp
Log Message:
-----------
[lldb][Formatters] Add --pointer-match-depth option to `type summary add` command. (#138209)
Currently, the type `T`'s summary formatter will be matched for `T`,
`T*`, `T**` and so on. This is unexpected in many data formatters. Such
unhandled cases could cause the data formatter to crash. An example
would be the lldb's built-in data formatter for `std::optional`:
```
$ cat main.cpp
#include <optional>
int main() {
std::optional<int> o_null;
auto po_null = &o_null;
auto ppo_null = &po_null;
auto pppo_null = &ppo_null;
return 0;
}
$ clang++ -g main.cpp && lldb -o "b 8" -o "r" -o "v pppo_null"
[lldb crash]
```
This change adds an options `--pointer-match-depth` to `type summary
add` command to allow users to specify how many layer of pointers can be
dereferenced at most when matching a summary formatter of type `T`, as
Jim suggested
[here](https://github.com/llvm/llvm-project/pull/124048/#issuecomment-2611164133).
By default, this option has value 1 which means summary formatter for
`T` could also be used for `T*` but not `T**` nor beyond. This option is
no-op when `--skip-pointers` is set as well.
I didn't add such option for `type synthetic add`, `type format add`,
`type filter add`, because it useful for those command. Instead, they
all have the pointer match depth of 1. When printing a type `T*`, lldb
never print the children of `T` even if there is a synthetic formatter
registered for `T`.
Commit: cc6f446d3865a5e3a6e50e16e670c307a479a110
https://github.com/llvm/llvm-project/commit/cc6f446d3865a5e3a6e50e16e670c307a479a110
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/MemoryProfileInfo.h
M llvm/include/llvm/ProfileData/IndexedMemProfData.h
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/InstrProfWriter.h
A llvm/include/llvm/ProfileData/MemProfSummary.h
A llvm/include/llvm/ProfileData/MemProfSummaryBuilder.h
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/ProfileData/CMakeLists.txt
M llvm/lib/ProfileData/IndexedMemProfData.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
A llvm/lib/ProfileData/MemProfSummary.cpp
A llvm/lib/ProfileData/MemProfSummaryBuilder.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/test/Transforms/PGOProfile/memprof.ll
M llvm/test/Transforms/PGOProfile/memprof_undrift_missing_leaf.ll
M llvm/test/tools/llvm-profdata/memprof-yaml.test
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/unittests/Analysis/MemoryProfileInfoTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[MemProf] Add basic summary section support (#141805)
This patch adds support for a basic MemProf summary section, which is
built along with the indexed MemProf profile (e.g. when reading the raw
or YAML profiles), and serialized through the indexed profile just after
the header.
Currently only 6 fields are written, specifically the number of contexts
(total, cold, hot), and the max context size (cold, warm, hot).
To support forwards and backwards compatibility for added fields in the
indexed profile, the number of fields serialized first. The code is
written to support forwards compatibility (reading newer profiles with
additional summary fields), and comments indicate how to implement
backwards compatibility (reading older profiles with fewer summary
fields) as needed.
Support is added to print the summary as YAML comments when displaying
both the raw and indexed profiles via `llvm-profdata show`. Because they
are YAML comments, the YAML reader ignores these (the summary is always
recomputed when building the indexed profile as described above).
This necessitated moving some options and a couple of interfaces out of
Analysis/MemoryProfileInfo.cpp and into the new
ProfileData/MemProfSummary.cpp file, as we need to classify context
hotness earlier and also compute context ids to build the summary from
older indexed profiles.
Commit: 6efd24cc88f700d69b5e0b198cee5eb2c8b1d37e
https://github.com/llvm/llvm-project/commit/6efd24cc88f700d69b5e0b198cee5eb2c8b1d37e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ProfileData/BUILD.gn
Log Message:
-----------
[gn build] Port cc6f446d3865
Commit: 0d7b34bfc10ba789541d736d68c24eb8d5666ce4
https://github.com/llvm/llvm-project/commit/0d7b34bfc10ba789541d736d68c24eb8d5666ce4
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[LoopUtils] Pass start value directly to createAnyOfReduction (NFC).
Now that there is only a single AnyOf recurrence kind, simply pass the
start value instead of the full recurrence descriptor, to tighten the
interface.
Commit: 711a1779dcb4ed5616d5727d990b642a3593855f
https://github.com/llvm/llvm-project/commit/711a1779dcb4ed5616d5727d990b642a3593855f
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M lldb/unittests/Core/MangledTest.cpp
Log Message:
-----------
add explicit default initialization to DemangledNameInfo to remove warning (#141790)
https://github.com/llvm/llvm-project/pull/140762 introduces some
compilation warnings in `lldb/unittests/Core/MangledTest.cpp`. This
patch adds explicit default initialization to `DemangledNameInfo` to
suppress those warnings.
We only had the default initialization values to `PrefixRange` and
`SuffixRange` because they are the only _optional_ fields of the
structure.
Commit: b574c811e83a2f638714153cb2f915c625ac945c
https://github.com/llvm/llvm-project/commit/b574c811e83a2f638714153cb2f915c625ac945c
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M clang/include/clang/CIR/CIRGenerator.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/basic.c
M clang/test/CIR/CodeGen/basic.cpp
M clang/test/CIR/CodeGen/string-literals.c
M clang/test/CIR/CodeGen/struct.c
M clang/test/CIR/Lowering/array.cpp
M clang/test/CIR/Lowering/hello.c
Log Message:
-----------
[CIR] Defer declarations and tentative definitions (#141700)
This change adds code to defer emitting declarations and tentative
definitions until they are referenced or trigger by a call to
CompleteTentativeDefinition. This is needed to avoid premature handling
of declarations and definitions that might not be referenced in the
current translation unit. It also avoids incorrectly adding an
initializer to external declarations.
This change also updates the way the insertion location for globals is
chosen so that all globals will be emitted together at the top of the
module. This makes no functional difference, but it is very useful for
writing sensible tests.
Some tests are modified in this change to reorder global variables so
that they can be checked in the order in which they will be emitted.
Commit: 4c6b60a639a674f22f5b3aeac0f05ad5aacc552a
https://github.com/llvm/llvm-project/commit/4c6b60a639a674f22f5b3aeac0f05ad5aacc552a
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/format-implementation.h
M flang-rt/unittests/Runtime/NumericalFormatTest.cpp
M flang/docs/Extensions.md
M flang/include/flang/Common/format.h
M flang/test/Semantics/io09.f90
Log Message:
-----------
[flang] Extension: allow char string edit descriptors in input formats (#140624)
FORMAT("J=",I3) is accepted by a few other Fortran compilers as a valid
format for input as well as for output. The character string edit
descriptor "J=" is interpreted as if it had been 2X on input, causing
two characters to be skipped over. The skipped characters don't have to
match the characters in the literal string. An optional warning is
emitted under control of the -pedantic option.
Commit: ff8288442dad15d66b7a22ccad94e926e2f56deb
https://github.com/llvm/llvm-project/commit/ff8288442dad15d66b7a22ccad94e926e2f56deb
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/bug869.f90
Log Message:
-----------
[flang] Fix crash in error recovery (#140768)
When a TYPE(*) dummy argument is erroneously used as a component value
in a structure constructor, semantics crashes if the structure
constructor had been initially parsed as a potential function reference.
Clean out stale typed expressions when reanalyzing the reconstructed
parse subtree to ensure that errors are caught the next time around.
Commit: 249301c7794af82ea2f7b3b83d52d046e6856261
https://github.com/llvm/llvm-project/commit/249301c7794af82ea2f7b3b83d52d046e6856261
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[LoopUtils] Pass sentinel value directly to createFindLastIVRed (NFC).
Now that there is only a single FindLastIV recurrence kind, simply pass
the sentinel value instead of the full recurrence descriptor to tighten
the interface.
Commit: a6432b971af1f38c604c9b835c5c52baf5c9b1f7
https://github.com/llvm/llvm-project/commit/a6432b971af1f38c604c9b835c5c52baf5c9b1f7
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M flang/lib/Evaluate/shape.cpp
M flang/test/Evaluate/fold-spread.f90
Log Message:
-----------
[flang] Fix folding of SHAPE(SPREAD(source,dim,ncopies=-1)) (#141146)
The number of copies on the new dimension must be clamped via MAX(0,
ncopies) so that it is no less than zero.
Fixes https://github.com/llvm/llvm-project/issues/141119.
Commit: 145712555f6cbcfb4c7e07d5ee3459570c2a581a
https://github.com/llvm/llvm-project/commit/145712555f6cbcfb4c7e07d5ee3459570c2a581a
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/OpenMP/linear-clause01.f90
M flang/test/Semantics/resolve103.f90
Log Message:
-----------
[flang] Allow forward reference to non-default INTEGER dummy (#141254)
A dummy argument with an explicit INTEGER type of non-default kind can
be forward-referenced from a specification expression in many Fortran
compilers. Handle by adding type declaration statements to the initial
pass over a specification part's declaration constructs. Emit an
optional warning under -pedantic.
Fixes https://github.com/llvm/llvm-project/issues/140941.
Commit: f48f844f3ccef16dc5bb3ac6e7be582f01d45317
https://github.com/llvm/llvm-project/commit/f48f844f3ccef16dc5bb3ac6e7be582f01d45317
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
A flang/test/Preprocessing/bug890.F90
Log Message:
-----------
[flang] Fix prescanner bug w/ empty macros in line continuation (#141274)
When processing free form source line continuation, the prescanner
treats empty keyword macros as if they were spaces or tabs. After
skipping over them, however, there's code that only works if the skipped
characters ended with an actual space or tab. If the last skipped item
was an empty keyword macro's name, the last character of that name would
end up being the first character of the continuation line. Fix.
Commit: f20423f496e9ceb340a3c11b54d6a7ff7e74f2bc
https://github.com/llvm/llvm-project/commit/f20423f496e9ceb340a3c11b54d6a7ff7e74f2bc
Author: Hans Wennborg <hans at hanshq.net>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/Sema/switch-availability.c
Log Message:
-----------
[clang] Rename -Wdeprecated-switch-case to -Wdeprecated-declarations-switch-case (#141779)
To make it more clear that it's a subset of -Wdeprecated-declarations.
Follow-up to #138562
Commit: f9ae8aaff2e5aaf8e1f7369a3da6952460414991
https://github.com/llvm/llvm-project/commit/f9ae8aaff2e5aaf8e1f7369a3da6952460414991
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/lib/Analysis/DXILResource.cpp
M llvm/unittests/Target/DirectX/ResourceBindingAnalysisTests.cpp
Log Message:
-----------
[DirectX] Detect resources with identical overlapping binding (#140645)
This change uses resource name during DXIL resource binding analysis to detect when two (or more) resources have identical overlapping binding.
The DXIL resource analysis just detects that there is a problem with the binding and sets the `hasOverlappingBinding` flag. Full error reporting will happen later in DXILPostOptimizationValidation pass (llvm/llvm-project#110723).
Commit: cfba7718d28788891860915a2232021fc227cf91
https://github.com/llvm/llvm-project/commit/cfba7718d28788891860915a2232021fc227cf91
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wcschr.cpp
A libc/src/wchar/wcschr.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wcschr_test.cpp
Log Message:
-----------
WCSChr Implementation (#141690)
implemented wcschr and tests
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 3a0205ae0680b0a8c601cc3059a4698a835150e9
https://github.com/llvm/llvm-project/commit/3a0205ae0680b0a8c601cc3059a4698a835150e9
Author: Michael Jones <michaelrj at google.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M libc/src/poll/linux/poll.cpp
Log Message:
-----------
[libc][NFC] Cleanup code for poll (#141802)
Ensure everything is defined inside the namespace, reduce number of
ifdefs.
Commit: 9553514e4a0cdae580930173410b23ccd35c9e4c
https://github.com/llvm/llvm-project/commit/9553514e4a0cdae580930173410b23ccd35c9e4c
Author: Thurston Dang <thurston at google.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
A clang/test/CodeGen/ubsan-function-debuginfo.c
A clang/test/CodeGen/unsigned-promotion-debuginfo.c
Log Message:
-----------
[NFCI][ubsan] Precommit tests for -fsanitize-annotate-debug-info (#141814)
These tests will track progress on extending
https://github.com/llvm/llvm-project/pull/139809 from CFI to more UBSan
checks.
Commit: cf56b536bfed34f5fda18393b922eab955baca6c
https://github.com/llvm/llvm-project/commit/cf56b536bfed34f5fda18393b922eab955baca6c
Author: yonghong-song <yhs at fb.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/lib/Target/BPF/BTFDebug.cpp
A llvm/test/CodeGen/BPF/BTF/annot-dup-ptr-struct.ll
M llvm/test/CodeGen/BPF/BTF/type-tag-fixup-resolved.ll
Log Message:
-----------
[BPF] Allow struct pointee member btf generation with annotations (#141719)
Currently, to avoid generating too much BTF types, for a struct type
like
```
struct foo {
int val;
struct bar *ptr;
};
```
if the BTF generation reaches 'struct foo', it will not generate actual
type for 'struct bar' and instead a forward decl is generated. The
'struct bar' is actual generated in BTF unless it is reached through a
non-struct pointer member.
Such a limitation forces bpf developer to hack and workaround this
problem. See [1] and [2]. For example in [1], we have
```
struct map_value {
struct prog_test_ref_kfunc *not_kptr;
struct prog_test_ref_kfunc __kptr *val;
struct node_data __kptr *node;
};
```
The BTF type for 'struct node_data' is not generated. Note that we have
a '__kptr' annotation. Similar problem for [2] with a '__uptr'
annotation. Note that the issue in [1] has been resolved later but the
hack in [2] is still needed.
This patch relaxed the struct type (with struct pointer member) BTF
generation if the struct pointer has a btf_type_tag annotation.
[1] https://lore.kernel.org/r/20230310230743.2320707-4-davemarchevsky@fb.com
[2] https://lore.kernel.org/r/20241023234759.860539-9-martin.lau@linux.dev
Commit: 12600ebe0f747daa8d2415efdc4313ccf721987d
https://github.com/llvm/llvm-project/commit/12600ebe0f747daa8d2415efdc4313ccf721987d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
M llvm/test/CodeGen/RISCV/double-mem.ll
M llvm/test/CodeGen/RISCV/zilsd.ll
Log Message:
-----------
[RISCV] Add X0_Pair to RISCVDeadRegisterDefinitions. (#141831)
Commit: 1d48e5549f583f501343a9f7c17c1cbda6848a3f
https://github.com/llvm/llvm-project/commit/1d48e5549f583f501343a9f7c17c1cbda6848a3f
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M lldb/test/API/commands/command/language/TestFrameLanguageCommands.py
Log Message:
-----------
[lldb] Run TestFrameLanguageCommands.py only on Darwin (#141866)
Tests using ObjC do not readily run on Linux.
Commit: 8199f181cd42e45cbcca095c5c700930215d2c86
https://github.com/llvm/llvm-project/commit/8199f181cd42e45cbcca095c5c700930215d2c86
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M lldb/source/API/SBTarget.cpp
Log Message:
-----------
[lldb] Use if-with-initializer pattern in SBTarget (NFC) (#141284)
Use the if statement with an initializer pattern that's very common in
LLVM in SBTarget. Every time someone adds a new method to SBTarget, I
want to encourage using this pattern, but I don't because it would be
inconsistent with the rest of the file. This solves that problem by
switching over the whole file.
Commit: 79ae407c95715f0be5a78260c3b135090f679637
https://github.com/llvm/llvm-project/commit/79ae407c95715f0be5a78260c3b135090f679637
Author: Luke Lau <luke at igalia.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/IR/Constants.cpp
M llvm/test/Transforms/InstSimplify/ConstProp/abs.ll
M llvm/test/Transforms/InstSimplify/ConstProp/fma.ll
M llvm/test/Transforms/InstSimplify/exp10.ll
Log Message:
-----------
[ConstantFolding] Fold intrinsics of scalable vectors with splatted operands (#141845)
As noted in
https://github.com/llvm/llvm-project/pull/141821#issuecomment-2917328924,
whilst we currently constant fold intrinsics of fixed-length vectors via
their scalar counterpart, we don't do the same for scalable vectors.
This handles the scalable vector case when the operands are splats.
One weird snag in ConstantVector::getSplat was that it produced a undef
if passed in poison, so this also contains a fix by checking for
PoisonValue before UndefValue.
Commit: 893ef7ffbd077463ca89e7317a2aef2c7f9d37d7
https://github.com/llvm/llvm-project/commit/893ef7ffbd077463ca89e7317a2aef2c7f9d37d7
Author: Muzammil <55665739+Muzammiluddin-Syed-ECE at users.noreply.github.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M mlir/lib/Dialect/GPU/Transforms/SubgroupReduceLowering.cpp
M mlir/test/Dialect/GPU/subgroup-reduce-lowering.mlir
Log Message:
-----------
[mlir][GPU] Fixes subgroup reduce lowering (#141825)
Fixes the final reduction steps which were taken from an implementation
of scan, not reduction, causing lanes earlier in the wave to have
incorrect results due to masking.
Now aligning more closely with triton implementation :
https://github.com/triton-lang/triton/pull/5019
# Hypothetical example
To provide an explanation of the issue with the current implementation,
let's take the simple example of attempting to perform a sum over 64
lanes where the initial values are as follows (first lane has value 1,
and all other lanes have value 0):
```
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
```
When performing a sum reduction over these 64 lanes, in the current
implementation we perform 6 dpp instructions which in sequential order
do the following:
1) sum over clusters of 2 contiguous lanes
2) sum over clusters of 4 contiguous lanes
3) sum over clusters of 8 contiguous lanes
4) sum over an entire row
5) broadcast the result of last lane in each row to the next row and
each lane sums current value with incoming value.
5) broadcast the result of the 32nd lane to last two rows and each lane
sums current value with incoming value.
After step 4) the result for the example above looks like this:
```
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
```
After step 5) the result looks like this:
```
[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
```
After step 6) the result looks like this:
```
[4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
```
Note that the correct value here is always 1, yet after the
`dpp.broadcast` ops some lanes have incorrect values. The reason is that
for these incorrect lanes, like lanes 0-15 in step 5, the
`dpp.broadcast` op doesn't provide them incoming values from other
lanes. Instead these lanes are provided either their own values, or 0
(depending on whether `bound_ctrl` is true or false) as values to sum
over, either way these values are stale and these lanes shouldn't be
used in general.
So what this means:
- For a subgroup reduce over 32 lanes (like Step 5), the correct result
is stored in lanes 16 to 31
- For a subgroup reduce over 64 lanes (like Step 6), the correct result
is stored in lanes 32 to 63.
However in the current implementation we do not specifically read the
value from one of the correct lanes when returning a final value. In
some workloads it seems without this specification, the stale value from
the first lane is returned instead.
# Actual failing test
For a specific example of how the current implementation causes issues,
take a look at the IR below which represents an additive reduction over
a dynamic dimension.
```
!matA = tensor<1x?xf16>
!matB = tensor<1xf16>
#map = affine_map<(d0, d1) -> (d0, d1)>
#map1 = affine_map<(d0, d1) -> (d0)>
func.func @only_producer_fusion_multiple_result(%arg0: !matA) -> !matB {
%cst_1 = arith.constant 0.000000e+00 : f16
%c2_i64 = arith.constant 2 : i64
%0 = tensor.empty() : !matB
%2 = linalg.fill ins(%cst_1 : f16) outs(%0 : !matB) -> !matB
%4 = linalg.generic {indexing_maps = [#map, #map1], iterator_types = ["parallel", "reduction"]} ins(%arg0 : !matA) outs(%2 : !matB) {
^bb0(%in: f16, %out: f16):
%7 = arith.addf %in, %out : f16
linalg.yield %7 : f16
} -> !matB
return %4 : !matB
}
```
When provided an input of type `tensor<1x2xf16>` and values `{0, 1}` to
perform the reduction over, the value returned is consistently 4. By the
same analysis done above, this shows that the returned value is coming
from one of these stale lanes and needs to be read instead from one of
the lanes storing the correct result.
Signed-off-by: Muzammiluddin Syed <muzasyed at amd.com>
Commit: 42c8742e0e2d24d195c91308fc0764d99dbe9571
https://github.com/llvm/llvm-project/commit/42c8742e0e2d24d195c91308fc0764d99dbe9571
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/test/tools/llvm-remarkutil/instruction-count.test
M llvm/tools/llvm-remarkutil/RemarkCounter.cpp
M llvm/tools/llvm-remarkutil/RemarkCounter.h
M llvm/tools/llvm-remarkutil/RemarkUtilHelpers.cpp
M llvm/tools/llvm-remarkutil/RemarkUtilHelpers.h
Log Message:
-----------
[llvm-remarkutil] Make invalid states un-representable in the count tool (#140829)
This consolidates some of the error handling around regex arguments to
the tool, and sets up the APIs such that errors must be handled before
their usage.
Commit: ed5eb1c6c6c3e1bb53448d8916ecf7c91fdb692e
https://github.com/llvm/llvm-project/commit/ed5eb1c6c6c3e1bb53448d8916ecf7c91fdb692e
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/docs/MLGO.rst
Log Message:
-----------
[NFC] Fixing typos in MLGO.rst (#141878)
Commit: 49d48c32e04742ebd05cbbd7dd544b1217b6d9d0
https://github.com/llvm/llvm-project/commit/49d48c32e04742ebd05cbbd7dd544b1217b6d9d0
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/MemoryProfileInfo.h
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/Transforms/IPO/Inliner.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Transforms/Inline/memprof_inline.ll
M llvm/test/Transforms/PGOProfile/memprof.ll
Log Message:
-----------
[MemProf] Emit remarks when hinting allocations not needing cloning (#141859)
The context disambiguation code already emits remarks when hinting
allocations (by adding hotness attributes) during cloning. However,
we did not yet emit hints when applying the hotness attributes during
building of the metadata (during matching and again after inlining).
Add remarks when we apply the hint attributes for these
non-context-sensitive allocations.
Commit: 2b96c147742e1ff482e59884dad8a799d405d677
https://github.com/llvm/llvm-project/commit/2b96c147742e1ff482e59884dad8a799d405d677
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M clang/test/CIR/Lowering/global-var-simple.cpp
M clang/test/CIR/Lowering/hello.c
M clang/test/CIR/global-var-linkage.cpp
Log Message:
-----------
[CIR] Update tests for global vars (#141854)
This change updates a few tests for global variable handling to also
check classic codegen output so we can easily verify consistency between
the two and will be alerted if the classic codegen changes.
This was useful in developing forthcoming changes to global linkage
handling.
Commit: c49c7ddb0b335708778d2bfd88119c439bd0973e
https://github.com/llvm/llvm-project/commit/c49c7ddb0b335708778d2bfd88119c439bd0973e
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
A llvm/test/Transforms/InstCombine/or-bitmask.ll
Log Message:
-----------
[InstCombine] Combine and->cmp->sel->or-disjoint into and->mul (#135274)
While and->cmp->sel combines into and->mul may result in worse code on
some targets, this combine should be uniformly beneficial.
Proof: https://alive2.llvm.org/ce/z/MibAcN
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Co-authored-by: Yingwei Zheng <dtcxzyw at qq.com>
Commit: 2426ac686516c275b980e0ede3d9e75fa9df1150
https://github.com/llvm/llvm-project/commit/2426ac686516c275b980e0ede3d9e75fa9df1150
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
M flang/test/Fir/array-coor.fir
M flang/test/Fir/arrayset.fir
M flang/test/Fir/arrexp.fir
M flang/test/Fir/box-offset-codegen.fir
M flang/test/Fir/box-typecode.fir
M flang/test/Fir/box.fir
M flang/test/Fir/boxproc.fir
M flang/test/Fir/commute.fir
M flang/test/Fir/coordinateof.fir
M flang/test/Fir/embox.fir
M flang/test/Fir/field-index.fir
M flang/test/Fir/ignore-missing-type-descriptor.fir
M flang/test/Fir/polymorphic.fir
M flang/test/Fir/rebox.fir
M flang/test/Fir/struct-passing-x86-64-byval.fir
M flang/test/Fir/target-rewrite-complex-10-x86.fir
M flang/test/Fir/target.fir
M flang/test/Fir/tbaa-codegen.fir
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/Integration/OpenMP/copyprivate.f90
M flang/test/Integration/debug-local-var-2.f90
M flang/test/Integration/unroll-loops.f90
M flang/test/Lower/HLFIR/unroll-loops.fir
M flang/test/Lower/forall/character-1.f90
M flang/test/Transforms/constant-argument-globalisation.fir
A flang/test/Transforms/function-attrs-noalias.fir
M flang/test/Transforms/function-attrs.fir
Log Message:
-----------
[flang] Added noalias attribute to function arguments. (#140803)
This helps to disambiguate accesses in the caller and the callee
after LLVM inlining in some apps. I did not see any performance
changes, but this is one step towards enabling other optimizations
in the apps that I am looking at.
The definition of llvm.noalias says:
```
... indicates that memory locations accessed via pointer values based on the argument or return value are not also accessed, during the execution of the function, via pointer values not based on the argument or return value. This guarantee only holds for memory locations that are modified, by any means, during the execution of the function.
```
I believe this exactly matches Fortran rules for the dummy arguments
that are modified during their subprogram execution.
I also set llvm.noalias and llvm.nocapture on the !fir.box<> arguments,
because the corresponding descriptors cannot be captured and cannot
alias anything (not based on them) during the execution of the
subprogram.
Commit: 2c9a727ae529e62a0ba7ef19e4e4e4624539e15e
https://github.com/llvm/llvm-project/commit/2c9a727ae529e62a0ba7ef19e4e4e4624539e15e
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M clang/cmake/caches/Apple-stage1.cmake
Log Message:
-----------
[CMake] Turn on LLVM_ENABLE_BACKTRACE for Apple stage1 compiler (#141872)
Commit: 46828d2830ef5fea6ef8a20ec5460347bd7b285a
https://github.com/llvm/llvm-project/commit/46828d2830ef5fea6ef8a20ec5460347bd7b285a
Author: Jeffrey Byrnes <Jeffrey.Byrnes at amd.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
R llvm/test/Transforms/InstCombine/or-bitmask.ll
Log Message:
-----------
Revert "[InstCombine] Combine and->cmp->sel->or-disjoint into and->mul (#135274)"
This reverts commit c49c7ddb0b335708778d2bfd88119c439bd0973e.
Commit: 6ee2453360e986c1258e83ce854919adf452b990
https://github.com/llvm/llvm-project/commit/6ee2453360e986c1258e83ce854919adf452b990
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
M flang/test/Fir/array-coor.fir
M flang/test/Fir/arrayset.fir
M flang/test/Fir/arrexp.fir
M flang/test/Fir/box-offset-codegen.fir
M flang/test/Fir/box-typecode.fir
M flang/test/Fir/box.fir
M flang/test/Fir/boxproc.fir
M flang/test/Fir/commute.fir
M flang/test/Fir/coordinateof.fir
M flang/test/Fir/embox.fir
M flang/test/Fir/field-index.fir
M flang/test/Fir/ignore-missing-type-descriptor.fir
M flang/test/Fir/polymorphic.fir
M flang/test/Fir/rebox.fir
M flang/test/Fir/struct-passing-x86-64-byval.fir
M flang/test/Fir/target-rewrite-complex-10-x86.fir
M flang/test/Fir/target.fir
M flang/test/Fir/tbaa-codegen.fir
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/Integration/OpenMP/copyprivate.f90
M flang/test/Integration/debug-local-var-2.f90
M flang/test/Integration/unroll-loops.f90
M flang/test/Lower/HLFIR/unroll-loops.fir
M flang/test/Lower/forall/character-1.f90
M flang/test/Transforms/constant-argument-globalisation.fir
R flang/test/Transforms/function-attrs-noalias.fir
M flang/test/Transforms/function-attrs.fir
Log Message:
-----------
Revert "[flang] Added noalias attribute to function arguments." (#141884)
Reverts llvm/llvm-project#140803
Buildbot failure:
https://lab.llvm.org/buildbot/#/builders/143/builds/8041
Commit: 6e3d668206026176b03f28a542491cae498a41f1
https://github.com/llvm/llvm-project/commit/6e3d668206026176b03f28a542491cae498a41f1
Author: Wenju He <wenju.he at intel.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
A libclc/clc/include/clc/async/clc_prefetch.h
A libclc/clc/include/clc/async/clc_prefetch.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/async/clc_prefetch.cl
A libclc/clc/lib/generic/async/clc_prefetch.inc
M libclc/opencl/lib/generic/async/prefetch.cl
M libclc/opencl/lib/generic/async/prefetch.inc
Log Message:
-----------
[libclc] Move prefetch to clc library (#141721)
llvm-diff shows no change to amdgcn--amdhsa.bc
Commit: cf3201c84dae394e5766c13e0f6969ad049e8de6
https://github.com/llvm/llvm-project/commit/cf3201c84dae394e5766c13e0f6969ad049e8de6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/zilsd.ll
Log Message:
-----------
[RISCV] Use X0_Pair for storing 0 using Zilsd. (#141847)
When we're creating a Zilsd store from a split i64 value, check if both
inputs are 0 and use X0_Pair instead of a REG_SEQUENCE.
Commit: 7b074fc9362a4a6a5f172dd8936a22fb25eff96b
https://github.com/llvm/llvm-project/commit/7b074fc9362a4a6a5f172dd8936a22fb25eff96b
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/DirectivesCommon.h
M flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
M flang/test/Lower/OpenACC/acc-enter-data.f90
Log Message:
-----------
[flang][openacc] Allow polymorphic entity in data clauses (#141856)
- Attach the mappable interface to ClassType
- Remove the TODO since derived type in descriptor can be handled as
other descriptors
Commit: 7e1a88b9d1431e263258e3ff0f729c1fdce342d3
https://github.com/llvm/llvm-project/commit/7e1a88b9d1431e263258e3ff0f729c1fdce342d3
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/unittests/Format/ConfigParseTest.cpp
Log Message:
-----------
[clang-format] Handle .h files for LK_C and LK_ObjC (#141714)
Fix #137792
Commit: 1d9ef8211f399a57849d0bc47cb86bf594bac364
https://github.com/llvm/llvm-project/commit/1d9ef8211f399a57849d0bc47cb86bf594bac364
Author: Trung Nguyen <57174311+trungnt2910 at users.noreply.github.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M libunwind/src/CMakeLists.txt
M libunwind/src/UnwindCursor.hpp
Log Message:
-----------
[libunwind][Haiku] Fix signal frame unwinding (#135367)
The current unwinding implementation on Haiku is messy and broken.
1. It searches weird paths for private headers, which is breaking builds
in consuming projects, such as dotnet/runtime.
2. It does not even work, due to relying on incorrect private offsets.
This commit strips all references to private headers and ports a working
signal frame implementation. It has been tested against
`tests/signal_unwind.pass.cpp` and can go pass the signal frame.
Commit: 539a2ac5f2cd5042b308aecac45ae0a706c9b7a7
https://github.com/llvm/llvm-project/commit/539a2ac5f2cd5042b308aecac45ae0a706c9b7a7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/OpenMP/atomic_messages.cpp
Log Message:
-----------
[OpenMP] Fix atomic compare handling with overloaded operators (#141142)
Summary:
When there are overloaded C++ operators in the global namespace the AST
node for these is not a `BinaryExpr` but a `CXXOperatorCallExpr`. Modify
the uses to handle this case, basically just treating it as a binary
expression with two arguments.
Fixes https://github.com/llvm/llvm-project/issues/141085
Commit: dd885f1f68a2667d285113d758d3e6d868858e09
https://github.com/llvm/llvm-project/commit/dd885f1f68a2667d285113d758d3e6d868858e09
Author: Jim Lin <jim at andestech.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/rv32xandesperf.ll
M llvm/test/CodeGen/RISCV/rv64xandesperf.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Select unsigned bitfield extracts for XAndesPerf (#141398)
The XAndesPerf extension includes unsigned bitfield extraction
instruction `NDS.BFOZ`, which can extract the bits from LSB to MSB,
places them starting at bit 0, and zero-extends the result.
The testcase includes the three patterns that can be selected as
unsigned bitfield extracts: `and`, `and+lshr` and `lshr+and`
Commit: 332fe08f1dfd41a245616bbcc9e636571aac708a
https://github.com/llvm/llvm-project/commit/332fe08f1dfd41a245616bbcc9e636571aac708a
Author: Elvis Wang <elvis.wang at sifive.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-strict-fadd-cost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
Log Message:
-----------
[VPlan] Implement VPlan-based cost model for VPReduction, VPExtendedReduction and VPMulAccumulateReduction. (#113903)
This patch implement the VPlan-based cost model for VPReduction,
VPExtendedReduction and VPMulAccumulateReduction.
With this patch, we can calculate the reduction cost by the VPlan-based
cost model so remove the reduction costs in `precomputeCost()`.
Ref: Original instruction based implementation:
https://reviews.llvm.org/D93476
Commit: 5859863bab7fb1cd98b6028293cba6ba25f7d514
https://github.com/llvm/llvm-project/commit/5859863bab7fb1cd98b6028293cba6ba25f7d514
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M lld/ELF/ScriptParser.cpp
M lld/test/ELF/linkerscript/locationcountererr-arm-exidx.test
Log Message:
-----------
[ELF] Postpone ASSERT error
assignAddresses is executed more than once. When an ASSERT expression
evaluates to zero, we should only report an error for the last
assignAddresses. Make a change similar to #66854 and #96361.
This change might help https://github.com/ClangBuiltLinux/linux/issues/2094
Commit: 25c5235f30f22b9a95e440f16d1671970554df75
https://github.com/llvm/llvm-project/commit/25c5235f30f22b9a95e440f16d1671970554df75
Author: drazi <fengxie83 at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M mlir/python/mlir/dialects/_ods_common.py
Log Message:
-----------
assert with more information to help debug (#132194)
This PR output debug message to assertion to help debug user python
code. Will print out more friendly information
```
> assert isinstance(arg, _cext.ir.Value), f"expects Value, got {type(arg)}"
E AssertionError: expected Value, got <class 'UserDefinedClass'>
```
Commit: 17cfd9458c385398a084aba8d914f900acf2b7b6
https://github.com/llvm/llvm-project/commit/17cfd9458c385398a084aba8d914f900acf2b7b6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/masked-store-int-e64.ll
Log Message:
-----------
[RISCV] Add test I missed in #140991. NFC
I forgot to git add this file when I split it from the existing test file.
Commit: 93dbac706b15713075dc6aca7f449942983311cf
https://github.com/llvm/llvm-project/commit/93dbac706b15713075dc6aca7f449942983311cf
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Use isVectorConfigInstr in isConvertibleToVMV_V_V. NFC (#141874)
Commit: 3788d459472fb28c244bad6bf010fdcbad907de7
https://github.com/llvm/llvm-project/commit/3788d459472fb28c244bad6bf010fdcbad907de7
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSError.py
Log Message:
-----------
[lldb][objc] NSError data formatter test is failing
after PR 138209 stopped applying data formatters
for T** by default, and this test expects that to
work. We'll need to figure out if we want to drop
this test, or adapt NSError/other objc formatters to
descend an extra level or two of depth.
Commit: 61314076f78327ffd5e1463c35373c7f4e52d30f
https://github.com/llvm/llvm-project/commit/61314076f78327ffd5e1463c35373c7f4e52d30f
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Serialization/TemplateArgumentHasher.cpp
A clang/test/CodeCompletion/GH139019.cpp
Log Message:
-----------
[clang] Serialization: support hashing null template arguments (#141890)
Commit: 8f486254e4fb03e30c0140aa207b10140ccbdd32
https://github.com/llvm/llvm-project/commit/8f486254e4fb03e30c0140aa207b10140ccbdd32
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/build-vector-tests.ll
M llvm/test/CodeGen/PowerPC/mul-const-vector.ll
M llvm/test/CodeGen/PowerPC/p10-splatImm-CPload-pcrel.ll
M llvm/test/CodeGen/PowerPC/pre-inc-disable.ll
R llvm/test/CodeGen/PowerPC/splat-extend.ll
M llvm/test/CodeGen/PowerPC/vec_add_sub_doubleword.ll
M llvm/test/CodeGen/PowerPC/vector-extend-sign.ll
M llvm/test/CodeGen/PowerPC/vector-popcnt-128-ult-ugt.ll
Log Message:
-----------
Revert "[PowerPC] extend smaller splats into bigger splats (#141282)"
The subject commit causes the build to ICE on AIX:
https://lab.llvm.org/buildbot/#/builders/64/builds/3890/steps/5/logs/stdio
This reverts commit 7fa365843d9f99e75c38a6107e8511b324950e74.
Commit: f22122aa7f3ef8e817b20bc3a42691cdbc760288
https://github.com/llvm/llvm-project/commit/f22122aa7f3ef8e817b20bc3a42691cdbc760288
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M libc/test/src/sys/auxv/linux/CMakeLists.txt
M libc/test/src/sys/auxv/linux/getauxval_test.cpp
M libc/test/src/sys/mman/linux/CMakeLists.txt
M libc/test/src/sys/mman/linux/madvise_test.cpp
M libc/test/src/sys/mman/linux/mincore_test.cpp
M libc/test/src/sys/mman/linux/mlock_test.cpp
M libc/test/src/sys/mman/linux/mmap_test.cpp
M libc/test/src/sys/mman/linux/mprotect_test.cpp
M libc/test/src/sys/mman/linux/mremap_test.cpp
M libc/test/src/sys/mman/linux/msync_test.cpp
M libc/test/src/sys/mman/linux/posix_madvise_test.cpp
M libc/test/src/sys/mman/linux/remap_file_pages_test.cpp
M libc/test/src/sys/mman/linux/shm_test.cpp
M libc/test/src/sys/prctl/linux/CMakeLists.txt
M libc/test/src/sys/prctl/linux/prctl_test.cpp
M libc/test/src/sys/random/linux/CMakeLists.txt
M libc/test/src/sys/random/linux/getrandom_test.cpp
M libc/test/src/sys/resource/CMakeLists.txt
M libc/test/src/sys/resource/getrlimit_setrlimit_test.cpp
M libc/test/src/sys/select/CMakeLists.txt
M libc/test/src/sys/select/select_failure_test.cpp
M libc/test/src/sys/select/select_ui_test.cpp
M libc/test/src/sys/sendfile/CMakeLists.txt
M libc/test/src/sys/sendfile/sendfile_test.cpp
M libc/test/src/sys/stat/CMakeLists.txt
M libc/test/src/sys/stat/chmod_test.cpp
M libc/test/src/sys/stat/fchmod_test.cpp
M libc/test/src/sys/stat/fchmodat_test.cpp
M libc/test/src/sys/stat/fstat_test.cpp
M libc/test/src/sys/stat/lstat_test.cpp
M libc/test/src/sys/stat/mkdirat_test.cpp
M libc/test/src/sys/stat/stat_test.cpp
M libc/test/src/sys/statvfs/linux/CMakeLists.txt
M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
M libc/test/src/sys/statvfs/linux/statvfs_test.cpp
M libc/test/src/sys/time/utimes_test.cpp
M libc/test/src/sys/wait/CMakeLists.txt
M libc/test/src/sys/wait/wait4_test.cpp
M libc/test/src/sys/wait/waitpid_test.cpp
Log Message:
-----------
[libc] Migrate sys/ tests to ErrnoCheckingTest. (#141871)
See PR #132823 for a previous change to sys/epoll tests, and prior
changes before that.
ErrnoCheckingTest ensures that errno is properly reset at the beginning
of the test case, and is validated at the end of it. This change removes
many instances of manual errno manipulation.
Commit: aca088d802532c5c357c4be6e6fa6e6340d34df2
https://github.com/llvm/llvm-project/commit/aca088d802532c5c357c4be6e6fa6e6340d34df2
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Update dot.accumulate.4way NVVM Op (#141223)
This change refactors and updates the `dot.accumulate.4way` NVVM Op to
be more descriptive and readable.
Commit: 27271e19cb9795bb8f206ff1aceaf98bfcf4cc02
https://github.com/llvm/llvm-project/commit/27271e19cb9795bb8f206ff1aceaf98bfcf4cc02
Author: Lang Hames <lhames at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[ORC] Remove an unused header. NFC.
Commit: ab0931b6389838cb5d7d11914063a1ddd84102f0
https://github.com/llvm/llvm-project/commit/ab0931b6389838cb5d7d11914063a1ddd84102f0
Author: Fangrui Song <i at maskray.me>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/test/MC/RISCV/align.s
M llvm/test/MC/RISCV/cfi-advance.s
Log Message:
-----------
MC: Set MCSection::LinkerRelaxable for linker-relaxable MCAlignFragment
Commit bb03cdcb441fd68da9d1ebb7d5f39f73667cd39c caused a Linux kernel
regression https://github.com/ClangBuiltLinux/linux/issues/2091
When a section contains linker-relaxable MCAlignmentFragment but no
linker-relaxable instructions, the RISCVAsmBackend::isPCRelFixupResolved
code path should be taken as well. The #76552 condition in the fragment
walk code will make the fixup unresolvable, leading to a relocation.
Commit: 76b6bf478965c20f937cb5e89b5680de278e59a1
https://github.com/llvm/llvm-project/commit/76b6bf478965c20f937cb5e89b5680de278e59a1
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/machine-copyprop-simplifyinstruction.mir
Log Message:
-----------
[RISCV] Add bltu/bgeu zero => bnez/beqz canonicalisation to RISCVInstrInfo::simplifyInstruction (#141775)
We can end up with bltu/bgeu with the zero register as the 0th operand
after tail duplication and then machine copy propagation. Canonicalising
in simplifyInstruction (called from MachineCopyPropagation) both
produces easier to read assembly output, and means it's possible that
the compressed c.beqz/c.bnez forms are produced.
Commit: 94bcd9ceedc7e194b6296e4a293c60b8e38d1b67
https://github.com/llvm/llvm-project/commit/94bcd9ceedc7e194b6296e4a293c60b8e38d1b67
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M llvm/test/DebugInfo/RISCV/relax-debug-frame.ll
Log Message:
-----------
[RISCV] Fix Test Prefixes in Debug Test (#141895)
Commit: f5c6b7bde984691b60edc8585d1065107e60b5f3
https://github.com/llvm/llvm-project/commit/f5c6b7bde984691b60edc8585d1065107e60b5f3
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
[lldb][SymbolFileDWARF] Don't search for DWP files on macOS (#139554)
Commit: a773356eaa0905dbd0d14f52a9e38ad3ed447539
https://github.com/llvm/llvm-project/commit/a773356eaa0905dbd0d14f52a9e38ad3ed447539
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/cp-async-bulk.ll
Log Message:
-----------
[NVPTX][NFC] Move more TMA lowering to tablegen (#140914)
This patch migrates the lowering of the
non-tensor TMA intrinsics to table-gen based.
Also, use ADDR nodes for the pointer operands
wherever applicable.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: e2f86b5584959ec2b000d183841c8fb7c3402388
https://github.com/llvm/llvm-project/commit/e2f86b5584959ec2b000d183841c8fb7c3402388
Author: Lang Hames <lhames at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
Log Message:
-----------
[ORC][MachO] Remove misused MachOPlatform::BootstrapInfo::Mutex member.
MachOPlatform::BootstrapInfo::Mutex was meant to be used to synchronize access
to the MachOPlatform::BootstrapInfo::ActiveGraphs member, but the latter was
also modified under the MachOPlatform::PlatformMutex (in
MachOPlatform::MachOPlatformPlugin::modifyPassConfig), leading to a data race.
There have been external reports (rdar://151041549) of deadlocks on the
MachOPlatform::BootstrapInfo::CV condition variable that are consistent with
corruption of the ActiveGraphs member (though alternative explanations for
the reported behavior exist, and it has been too rare in practice to verify).
This patch removes the misused MachOPlatform::BootstrapInfo::Mutex member and
synchronizes all accesses to ActiveGraphs using MachOPlatform::PlatformMutex
instead. Since ActiveGraphs is only used during bootstrap the performance
impact of this should be negligible.
rdar://151041549 - possible fix.
Commit: 10647685ca3cad0107a2f754b21a078405d30359
https://github.com/llvm/llvm-project/commit/10647685ca3cad0107a2f754b21a078405d30359
Author: Marius Kamp <msk at posteo.org>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
Log Message:
-----------
[SDAG] Make Select-with-Identity-Fold More Flexible; NFC (#136554)
This change adds new parameters to the method
`shouldFoldSelectWithIdentityConstant()`. The method now takes the
opcode of the select node and the non-identity operand of the select
node. To gain access to the appropriate arguments, the call of
`shouldFoldSelectWithIdentityConstant()` is moved after all other checks
have been performed. Moreover, this change adjusts the precondition of
the fold so that it would work for `SELECT` nodes in addition to
`VSELECT` nodes.
No functional change is intended because all implementations of
`shouldFoldSelectWithIdentityConstant()` are adjusted such that they
restrict the fold to a `VSELECT` node; the same restriction as before.
The rationale of this change is to make more fine grained decisions
possible when to revert the InstCombine canonicalization of
`(select c (binop x y) y)` to `(binop (select c x idc) y)` in the
backends.
Commit: 663aea2601a2d08cace3e6e956c5854d45f6ff5c
https://github.com/llvm/llvm-project/commit/663aea2601a2d08cace3e6e956c5854d45f6ff5c
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Clean up unused template args of min/max (NFC) (#141778)
Commit: a7322d7948637aa45e9d86162601a97eb0ac2668
https://github.com/llvm/llvm-project/commit/a7322d7948637aa45e9d86162601a97eb0ac2668
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
M llvm/lib/Target/Xtensa/XtensaFeatures.td
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
A llvm/test/MC/Disassembler/Xtensa/clamps.txt
M llvm/test/MC/Disassembler/Xtensa/code_density.txt
A llvm/test/MC/Disassembler/Xtensa/dcache.txt
A llvm/test/MC/Disassembler/Xtensa/div.txt
A llvm/test/MC/Disassembler/Xtensa/extendedl32r.txt
A llvm/test/MC/Disassembler/Xtensa/loop.txt
A llvm/test/MC/Disassembler/Xtensa/mac16.txt
A llvm/test/MC/Disassembler/Xtensa/minmax.txt
A llvm/test/MC/Disassembler/Xtensa/miscsr.txt
A llvm/test/MC/Disassembler/Xtensa/mul.txt
A llvm/test/MC/Disassembler/Xtensa/mul16.txt
A llvm/test/MC/Disassembler/Xtensa/mul32high.txt
A llvm/test/MC/Disassembler/Xtensa/nsa.txt
A llvm/test/MC/Disassembler/Xtensa/region_protect.txt
A llvm/test/MC/Disassembler/Xtensa/rvector.txt
A llvm/test/MC/Disassembler/Xtensa/sext.txt
A llvm/test/MC/Xtensa/clamps-invalid.s
A llvm/test/MC/Xtensa/clamps.s
A llvm/test/MC/Xtensa/dcache.s
A llvm/test/MC/Xtensa/extendedl32r.s
A llvm/test/MC/Xtensa/miscsr.s
A llvm/test/MC/Xtensa/region_protect.s
A llvm/test/MC/Xtensa/rvector.s
M llvm/test/MC/Xtensa/xtensa-mac16.s
Log Message:
-----------
[Xtensa] Implement Xtensa Region Protection Option and several other small Options. (#137135)
Implement support of the Xtensa Region Protection, Extended L32R, Data
Cache, Relocatable Vector and MISC Special Registers Options.
Commit: 13011f21d611ade2f12cf441a1ac76e7ebabe3d0
https://github.com/llvm/llvm-project/commit/13011f21d611ade2f12cf441a1ac76e7ebabe3d0
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/Stmt.h
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/Sema/SemaOpenCL.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
Log Message:
-----------
[Clang] Optimize some `getBeginLoc` implementations (#141058)
The bulk of the changes are in `CallExpr`
We cache Begin/End source locs in the trailing objects, in the space
left by making the offset to the trailing objects static.
We also set a flag to indicate that we are calling an explicit object
member function, further reducing the cost of getBeginLoc.
Fixes #140876
Commit: 76051980ea7b93d61e2f4eff888730b21aeee0a3
https://github.com/llvm/llvm-project/commit/76051980ea7b93d61e2f4eff888730b21aeee0a3
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/ops.mlir
Log Message:
-----------
[mlir][tosa] Allow unranked input/output tensors in resize ops (#141608)
This commit allows the input/output of the resize op to be unranked to
account for shapes being computed during shape inference.
Commit: 0105f657e24d5005d012081f03588c43ef116f1d
https://github.com/llvm/llvm-project/commit/0105f657e24d5005d012081f03588c43ef116f1d
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Fix mul op verifier when input types don't match result (#141617)
This commit fixes a crash when operand types are not integer, but the
result is. While this isn't valid, the verifier should not crash.
Commit: 5b85e4b08d2e356c40f5fbe8da98f94467c2f0cb
https://github.com/llvm/llvm-project/commit/5b85e4b08d2e356c40f5fbe8da98f94467c2f0cb
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/vplan-dot-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Use EMIT-SCALAR when printing single-scalar VPInstructions. (#141428)
By using SINGLE-SCALAR when printing, it is clear in the debug output
that those VPInstructions only produce a single scalar.
Split off in preparation for
https://github.com/llvm/llvm-project/pull/140623.
PR: https://github.com/llvm/llvm-project/pull/141428
Commit: 57f3151a3144259f4e830fc43a1424e4c1f15985
https://github.com/llvm/llvm-project/commit/57f3151a3144259f4e830fc43a1424e4c1f15985
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
Log Message:
-----------
Revert "[lldb][Modules] Fix error handling of parseAndLoadModuleMapFile (#141220)"
The TestTemplateWithSameArg.py API test is crashing on macOS with
this change. Michael is going to look into it; reverting for now
to unblock the CI bots.
This reverts commit 052c70451afb7323ef72f321f3b0b5abb024b302.
Commit: e33cd9690fe11305acd7df35532d712844b9049e
https://github.com/llvm/llvm-project/commit/e33cd9690fe11305acd7df35532d712844b9049e
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
A flang/test/Lower/do_concurrent_delayed_locality.f90
Log Message:
-----------
[flang][fir] Basic PFT to MLIR lowering for do concurrent locality specifiers (#138534)
Extends support for `fir.do_concurrent` locality specifiers to the PFT
to MLIR level. This adds code-gen for generating the newly added
`fir.local` ops and referencing these ops from `fir.do_concurrent.loop`
ops that have locality specifiers attached to them. This reuses the
`DataSharingProcessor` component and generalizes it a bit more to allow
for handling `omp.private` ops and `fir.local` ops as well.
PR stack:
- https://github.com/llvm/llvm-project/pull/137928
- https://github.com/llvm/llvm-project/pull/138505
- https://github.com/llvm/llvm-project/pull/138506
- https://github.com/llvm/llvm-project/pull/138512
- https://github.com/llvm/llvm-project/pull/138534 (this PR)
- https://github.com/llvm/llvm-project/pull/138816
Commit: 2a8495c2863c385cdf10d8d23a991326f82f742a
https://github.com/llvm/llvm-project/commit/2a8495c2863c385cdf10d8d23a991326f82f742a
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/lib/AST/Expr.cpp
Log Message:
-----------
[Clang] Fix build after 141058
Fix incorrect static assert on some platforms
Commit: ebe25d8428ea68d2d9ce360076ee66d2d615dbb5
https://github.com/llvm/llvm-project/commit/ebe25d8428ea68d2d9ce360076ee66d2d615dbb5
Author: Will Froom <willfroom at google.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M mlir/include/mlir/IR/DialectRegistry.h
Log Message:
-----------
[MLIR] Add missing move constructor / assignment operator to DialectRegistry (#141915)
Fix after #140963
Commit: 32837f376f3c795d3ae6e632adc4f1a60180a646
https://github.com/llvm/llvm-project/commit/32837f376f3c795d3ae6e632adc4f1a60180a646
Author: David Green <david.green at arm.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/test/CodeGen/AArch64/xar.ll
Log Message:
-----------
[AArch64] Handle XAR with v1i64 operand types (#141754)
When converting ROTR(XOR(a, b)) to XAR(a, b), or ROTR(a, a) to XAR(a, zero)
we were not handling v1i64 types, meaning illegal copies get generated. This
addresses that by generating insert_subreg and extract_subreg for v1i64 to
keep the values with the correct types.
Fixes #141746
Commit: 6602bfa721889df597aae046c639e823b1cbb4e7
https://github.com/llvm/llvm-project/commit/6602bfa721889df597aae046c639e823b1cbb4e7
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M lld/COFF/SymbolTable.cpp
A lld/test/COFF/stdcall-alias.s
Log Message:
-----------
[LLD][COFF] Avoid forcing lazy symbols in loadMinGWSymbols during symbol table enumeration (#141593)
Forcing lazy symbols at this point may introduce new entries into the
symbol table. Avoid mutating `symTab` while iterating over it.
Commit: d6a2a2612f4ed4c87dc612742fef6c68171a69de
https://github.com/llvm/llvm-project/commit/d6a2a2612f4ed4c87dc612742fef6c68171a69de
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M lld/COFF/InputFiles.cpp
M lld/COFF/SymbolTable.cpp
A lld/test/COFF/link-dll-arm64ec.s
Log Message:
-----------
[LLD][COFF] Add support for DLL imports on ARM64EC (#141587)
Define additional `__imp_aux_` and mangled lazy symbols. Also allow
overriding EC aliases with lazy symbols, as we do for other lazy symbol
types.
Commit: 351f15ba82f861cd7441f613db8317c353ca79c2
https://github.com/llvm/llvm-project/commit/351f15ba82f861cd7441f613db8317c353ca79c2
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/DebugInfo/KeyInstructions/builtin.c
Log Message:
-----------
Reapply "[KeyIntsr][Clang] Builtins atoms (#134651)"
This reverts commit 894a0dd57f81211f9e431d9e84f2856d34f46993 with
tests fixed.
This patch is part of a stack that teaches Clang to generate Key Instructions
metadata for C and C++.
RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
The feature is only functional in LLVM if LLVM is built with CMake flag
LLVM_EXPERIMENTAL_KEY_INSTRUCTIONs. Eventually that flag will be removed.
Commit: 9ea4924720490ac973fae25a43176a70555e7df8
https://github.com/llvm/llvm-project/commit/9ea4924720490ac973fae25a43176a70555e7df8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-select-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Use EMIT-SCALAR for single-scalar VPPhis (NFC).
Follow-up to https://github.com/llvm/llvm-project/pull/141428, to also
use EMIT-SCALAR for VPPhis that are single scalars.
Commit: 7e9887a50df2de9c666f5e7ceb46c27bfccc618f
https://github.com/llvm/llvm-project/commit/7e9887a50df2de9c666f5e7ceb46c27bfccc618f
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
A flang/include/flang/Support/Flags.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Support/CMakeLists.txt
A flang/lib/Support/Flags.cpp
M flang/test/Lower/OpenMP/DelayedPrivatization/distribute-standalone-private.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/equivalence.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-allocatable.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-simple.f90
M flang/test/Lower/OpenMP/allocatable-multiple-vars.f90
M flang/test/Lower/OpenMP/cfg-conversion-omp.private.f90
M flang/test/Lower/OpenMP/debug_info_conflict.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-firstprivate.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-private.f90
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-character-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-character.f90
M flang/test/Lower/OpenMP/delayed-privatization-default-init.f90
M flang/test/Lower/OpenMP/delayed-privatization-firstprivate.f90
M flang/test/Lower/OpenMP/delayed-privatization-lower-allocatable-to-llvm.f90
M flang/test/Lower/OpenMP/delayed-privatization-pointer.f90
M flang/test/Lower/OpenMP/delayed-privatization-private-firstprivate.f90
M flang/test/Lower/OpenMP/delayed-privatization-private.f90
M flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
M flang/test/Lower/OpenMP/delayed-privatization-reduction.f90
M flang/test/Lower/OpenMP/different_vars_lastprivate_barrier.f90
M flang/test/Lower/OpenMP/firstprivate-commonblock.f90
M flang/test/Lower/OpenMP/private-commonblock.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
M flang/test/Lower/OpenMP/same_var_first_lastprivate.f90
M flang/test/Lower/do_concurrent_delayed_locality.f90
Log Message:
-----------
[flang] Generlize names of delayed privatization CLI flags (#138816)
Remove the `openmp` prefix from delayed privatization/localization flags
since they are now used for `do concurrent` as well.
PR stack:
- https://github.com/llvm/llvm-project/pull/137928
- https://github.com/llvm/llvm-project/pull/138505
- https://github.com/llvm/llvm-project/pull/138506
- https://github.com/llvm/llvm-project/pull/138512
- https://github.com/llvm/llvm-project/pull/138534
- https://github.com/llvm/llvm-project/pull/138816 (this PR)
Commit: baeec97ebd1ce7043f86f3cd294b9d967afb5f81
https://github.com/llvm/llvm-project/commit/baeec97ebd1ce7043f86f3cd294b9d967afb5f81
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/machine-copyprop-simplifyinstruction.mir
Log Message:
-----------
[RISCV] Canonicalize beq/bne with x0 as first arg to beqz/bnez (#141781)
This covers similar ground as #139086. Although I think it makes sense
to land both, the practical motivation for #139086 is significantly
reduced here.
This canonicalisation makes no difference to compressibility (we have
compress patterns for the operands in either order), but it does mean
that easier to read assembly is printed, as we don't have aliases
defined for beq/bne with x0 in either position.
Commit: c842705c61a073eb7fe649dd6c43ab16b49ec4aa
https://github.com/llvm/llvm-project/commit/c842705c61a073eb7fe649dd6c43ab16b49ec4aa
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/unittests/CIR/PointerLikeTest.cpp
Log Message:
-----------
[CIR] Streamline creation of mlir::IntegerAttrs using mlir::Builder (#141830)
- Uses getI<bitwidth>IntegerAttr builder method instead of explicit attribute and its type creation.
- Adds few helper functions `getAlignmentAttr` to build alignment representing mlir::IntegerAttr.
- Removes duplicit type parameters, that are inferred from mlir::IntegerAttr.
This mirrors incubator changes from https://github.com/llvm/clangir/pull/1645#event-17840237927
Commit: 6421248c959b809efff22773c98b115aac3f6a79
https://github.com/llvm/llvm-project/commit/6421248c959b809efff22773c98b115aac3f6a79
Author: Junjie Gu <junjie.gu at intel.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/include/llvm/ADT/GenericUniformityImpl.h
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/branch-after-join.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/diverged-entry-headers-nested.ll
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/hidden-post-dom.ll
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/phi_div_branch.ll
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/phi_div_loop.ll
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/unstructured-branch.ll
Log Message:
-----------
[Uniformity] Fixed control-div early stop (#139667)
Control-divergence finds joins by propagating labels from the divergent
control branch. The code that checks the early stop for propagation is
not correct in some cases.
This PR, also included changes from ssahasra, fixes this issue by
stopping no early than the post-dominator of the divergent branch.
https://github.com/llvm/llvm-project/issues/137277
---------
Co-authored-by: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Commit: 6769a836e97d5a09b239f78a8fd63cf4dac1fe13
https://github.com/llvm/llvm-project/commit/6769a836e97d5a09b239f78a8fd63cf4dac1fe13
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/test/C/C23/n3037.c
Log Message:
-----------
[C23] Handle type compatibility of unnamed records (#141783)
At the top-level, both types need to have a tag in order for them to be
compatible within the same TU in C23. An unnamed structure has no tag,
so it cannot be compatible with another type within the TU.
Fixes #141724
Commit: 4efe7a590d336b99f3b15e3b9cbe3c9a4ab9715f
https://github.com/llvm/llvm-project/commit/4efe7a590d336b99f3b15e3b9cbe3c9a4ab9715f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpState.h
Log Message:
-----------
[clang][bytecode] Simplify diagnoseUnknownDecl if we're not diagnosing (#141910)
See the added comment.
This improves compile times a bit:
https://llvm-compile-time-tracker.com/compare.php?from=ac62f73f19ae9fb415d3fc423949b8d7543e8717&to=0d6cf47197a4ee11cdd1ee4a48ea38a2907c3d45&stat=instructions:u
Commit: f4e1ec55df92303b8ccd0d8475fc2ad3c1177bdc
https://github.com/llvm/llvm-project/commit/f4e1ec55df92303b8ccd0d8475fc2ad3c1177bdc
Author: Hemang Gadhavi <hemang.gadhavi at ibm.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M lldb/source/Host/aix/Host.cpp
M lldb/source/Host/aix/HostInfoAIX.cpp
M lldb/unittests/Host/HostInfoTest.cpp
M lldb/unittests/Host/HostTest.cpp
Log Message:
-----------
[lldb][AIX] get host info for AIX (cont..) (#138687)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
- Added testcase for `GetProgramFileSpec()` & `FindProcesses()`
- Added changes to get the host information for AIX (info like
FindProcessesImpl() GetProgramFileSpec()),
continue from the PR https://github.com/llvm/llvm-project/pull/134354
Commit: 7bd8e376fca22cac9593e93450a545573d3ff5f4
https://github.com/llvm/llvm-project/commit/7bd8e376fca22cac9593e93450a545573d3ff5f4
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/test/API/lang/cpp/gmodules/template-with-same-arg/TestTemplateWithSameArg.py
M lldb/test/API/lang/cpp/gmodules/template-with-same-arg/main.cpp
Log Message:
-----------
Reland "[lldb][Modules] Fix error handling of parseAndLoadModuleMapFile (#141220)"
This reverts commit 57f3151a3144259f4e830fc43a1424e4c1f15985.
LLDB was hitting an assert when compiling the `std` module. The `std`
module was being pulled in because we use `#import <cstdio>` in the test
to set a breakpoint on `puts`. That's redundant and to work around the
crash we just remove that include. The underlying issue of compiling the
`std` module still exists and I'll investigate that separately. The
reason it started failing after the `ClangModulesDeclVendor` patch is that we would previously just fail to load the modulemap (and thus not load any of the modules). Now we do load the modulemap (and modules) when we prepare for parsing the expression.
Commit: f8dcb059ae06376b0991936026d5befb3d7b109b
https://github.com/llvm/llvm-project/commit/f8dcb059ae06376b0991936026d5befb3d7b109b
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M flang/include/flang/Lower/Support/Utils.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/Support/Utils.cpp
Log Message:
-----------
[flang][fir][OpenMP] Refactor privtization code into shared location (#141767)
Refactors the utils needed to create privtization/locatization ops for
both the fir and OpenMP dialects into a shared location isolating OpenMP
stuff out of it as much as possible.
Commit: b359422eebbc61f0e0fb03c27ec1a93c818701ee
https://github.com/llvm/llvm-project/commit/b359422eebbc61f0e0fb03c27ec1a93c818701ee
Author: Ami-zhang <zhanglimin at loongson.cn>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Sema/SemaDeclAttr.cpp
A clang/test/CodeGen/LoongArch/targetattr.c
A clang/test/Sema/attr-target-loongarch.c
M llvm/include/llvm/TargetParser/LoongArchTargetParser.h
M llvm/lib/TargetParser/LoongArchTargetParser.cpp
Log Message:
-----------
[Clang][LoongArch] Support target attribute for function (#140700)
This adds support under LoongArch for the target("..") attributes.
The supported formats are:
- "arch=<arch>" strings, that specify the architecture features for a
function as per the -march=arch option.
- "tune=<cpu>" strings, that specify the tune-cpu cpu for a function as
per -mtune.
- "<feature>", "no-<feature>" enabled/disables the specific feature.
Commit: ba75febd4fd2d02d19ee67d30b7f9c7a5f017248
https://github.com/llvm/llvm-project/commit/ba75febd4fd2d02d19ee67d30b7f9c7a5f017248
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
Log Message:
-----------
[mlir][gpu] Update descriptions format of GPU ops(NFC) (#141395)
Commit: ee91f9b4a2b8cd6bb5d37ccd34ee7fb2c1401f99
https://github.com/llvm/llvm-project/commit/ee91f9b4a2b8cd6bb5d37ccd34ee7fb2c1401f99
Author: Abhina Sreeskantharajan <Abhina.Sreeskantharajan at ibm.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/lib/Lex/HeaderMap.cpp
Log Message:
-----------
[SystemZ][z/OS] Add back include required for strnlen function
Commit: 7efb79b7053cec7cd712c0fede14e1478f353917
https://github.com/llvm/llvm-project/commit/7efb79b7053cec7cd712c0fede14e1478f353917
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M offload/liboffload/src/OffloadImpl.cpp
Log Message:
-----------
[Offload] Fix Error checking (#141939)
All errors must be checked - this includes the local variable we were
using to increase the lifetime of `Res`. As we were not explicitly
checking it, it resulted in an `abort` in debug builds.
Commit: c474f8f2404dfe5a902cdf93d678a0bfe8cc8f44
https://github.com/llvm/llvm-project/commit/c474f8f2404dfe5a902cdf93d678a0bfe8cc8f44
Author: Victor Lomuller <victor at codeplay.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
R clang/include/clang/Basic/BuiltinsSPIRV.td
A clang/include/clang/Basic/BuiltinsSPIRVBase.td
A clang/include/clang/Basic/BuiltinsSPIRVCL.td
A clang/include/clang/Basic/BuiltinsSPIRVCommon.td
A clang/include/clang/Basic/BuiltinsSPIRVVK.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Sema/SemaSPIRV.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Basic/Targets/SPIR.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/__clang_spirv_builtins.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaSPIRV.cpp
A clang/test/CodeGenSPIRV/Builtins/generic_cast_to_ptr_explicit.c
A clang/test/Headers/spirv_functions.cpp
A clang/test/SemaSPIRV/BuiltIns/generic_cast_to_ptr_explicit.c
A clang/test/SemaSPIRV/BuiltIns/invalid_target_cl.c
A clang/test/SemaSPIRV/BuiltIns/invalid_target_vk.c
Log Message:
-----------
[clang][SPIRV] Add builtin for OpGenericCastToPtrExplicit and its SPIR-V friendly binding (#137805)
The patch introduce __builtin_spirv_generic_cast_to_ptr_explicit which
is lowered to the llvm.spv.generic.cast.to.ptr.explicit intrinsic.
The SPIR-V builtins are now split into 3 differents file:
BuiltinsSPIRVCore.td,
BuiltinsSPIRVVK.td for Vulkan specific builtins, BuiltinsSPIRVCL.td for
OpenCL specific builtins
and BuiltinsSPIRVCommon.td for common ones.
The patch also introduces a new header defining its SPIR-V friendly
equivalent (__spirv_GenericCastToPtrExplicit_ToGlobal,
__spirv_GenericCastToPtrExplicit_ToLocal and
__spirv_GenericCastToPtrExplicit_ToPrivate). The functions are declared
as aliases to the new builtin allowing C-like languages to have a
definition to rely on as well as gaining proper front-end diagnostics.
The motivation for the header is to provide a stable binding for
applications or library (such as SYCL) and allows non SPIR-V targets to
provide an implementation (via libclc or similar to how it is done for
gpuintrin.h).
Commit: fabbc40a36754a3ca2fb1c2b7e0a8b066cfa7fdb
https://github.com/llvm/llvm-project/commit/fabbc40a36754a3ca2fb1c2b7e0a8b066cfa7fdb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Log Message:
-----------
AMDGPU: Make llvm.amdgcn.make.buffer.rsrc propagate poison (#141913)
Commit: a5d97ebe8b65f5a94975c013df6dd5fe11e8c652
https://github.com/llvm/llvm-project/commit/a5d97ebe8b65f5a94975c013df6dd5fe11e8c652
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-wide-add.ll
Log Message:
-----------
[AArch64][SelectionDAG] Add type legalization for partial reduce wide adds (#141075)
Based on work initially done by @JamesChesterman.
Commit: 64106581b9d4f68eb4911c402b12b154d77a9eb0
https://github.com/llvm/llvm-project/commit/64106581b9d4f68eb4911c402b12b154d77a9eb0
Author: Luke Lau <luke at igalia.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/IR/Constants.cpp
Log Message:
-----------
[Constant] Make Constant::getSplatValue return poison on poison (#141870)
This is a follow up from #141845.
TargetTransformInfo::getOperandInfo needs to be updated to check for
undef values as otherwise a splat is considered a constant, and some
RISC-V cost model tests will start adding a cost to materialize the
constant.
Commit: 5a7931f04d627909a70bbc1b5566cc6c69d26860
https://github.com/llvm/llvm-project/commit/5a7931f04d627909a70bbc1b5566cc6c69d26860
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/lib/Lex/PPDirectives.cpp
Log Message:
-----------
[clang][Lex][NFC] Reorder SrcMgr checks in CheckMacroName (#141483)
isInPredefinedFile() will look at the presumed loc, which is
comparatively slow. Move it after isInSystemFile().
http://llvm-compile-time-tracker.com/compare.php?from=843e362318e884991e517a54446b4faeacdad789&to=de0421a1a38052042721a67a6094f5cb38431f26&stat=instructions:u
Commit: cb647ec4f89f6518a18492010b1957ebe3bb9e75
https://github.com/llvm/llvm-project/commit/cb647ec4f89f6518a18492010b1957ebe3bb9e75
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
A llvm/test/tools/llvm-remarkutil/Inputs/instruction-mix.yaml
M llvm/test/tools/llvm-remarkutil/broken-yaml-remark.test
M llvm/test/tools/llvm-remarkutil/empty-file.test
A llvm/test/tools/llvm-remarkutil/instruction-mix.test
M llvm/tools/llvm-remarkutil/CMakeLists.txt
A llvm/tools/llvm-remarkutil/RemarkInstructionMix.cpp
Log Message:
-----------
[llvm-remarkutil] Add an instruction-mix tool (#140598)
The new tool constructs a histogram of instruction frequencies,
optionally filtered by function name via a regex. It can display in
either a human-readable table format, or machine-readable CSV.
Commit: 11c7a0c3f780f505eef7021480f457b2f2a1ff89
https://github.com/llvm/llvm-project/commit/11c7a0c3f780f505eef7021480f457b2f2a1ff89
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M flang/lib/Lower/Support/Utils.cpp
Log Message:
-----------
[NFC][flang] Remove unused variable from `privatizeSymbol` (#141938)
Commit: 69c30f73a4d010ac45877aeb1138f3632834680a
https://github.com/llvm/llvm-project/commit/69c30f73a4d010ac45877aeb1138f3632834680a
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Analysis/DXILResource.cpp
M llvm/test/CodeGen/DirectX/Metadata/cbuffer_metadata.ll
M llvm/test/CodeGen/DirectX/Metadata/resource-symbols.ll
M llvm/test/CodeGen/DirectX/Metadata/srv_metadata.ll
M llvm/test/CodeGen/DirectX/Metadata/uav_metadata.ll
Log Message:
-----------
[DirectX] Use resource names when generating DXIL metadata (#140635)
Use resource names gathered during the DXIL resource analysis when creating DXIL resources metadata.
Part 4/4 of https://github.com/llvm/llvm-project/issues/105059
Closes #105059
Commit: a78a37ff8373d7cfd637fe06dd2714f7df038312
https://github.com/llvm/llvm-project/commit/a78a37ff8373d7cfd637fe06dd2714f7df038312
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M bolt/Maintainers.txt
Log Message:
-----------
[BOLT] Add AArch64 backend maintainer (#141597)
Summary: Add Paschalis as an AArch64 backend maintainer.
Commit: 4c88873be83e2d212e412459c02d05006c5f0069
https://github.com/llvm/llvm-project/commit/4c88873be83e2d212e412459c02d05006c5f0069
Author: Koakuma <koachan at protonmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcFixupKinds.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
M llvm/lib/Target/Sparc/Sparc.td
M llvm/lib/Target/Sparc/SparcInstrAliases.td
M llvm/lib/Target/Sparc/SparcInstrFormats.td
M llvm/lib/Target/Sparc/SparcInstrInfo.td
M llvm/lib/Target/Sparc/SparcInstrUAOSA.td
M llvm/test/MC/Disassembler/Sparc/sparc-ua-osa.txt
M llvm/test/MC/Sparc/Relocations/expr.s
A llvm/test/MC/Sparc/sparc-osa2011.s
R llvm/test/MC/Sparc/sparc64-bpr-offset.s
A llvm/test/MC/Sparc/sparc64-branch-offset.s
Log Message:
-----------
[SPARC][IAS] Add definitions for OSA 2011 instructions
Reviewers: rorth, brad0, s-barannikov
Reviewed By: s-barannikov
Pull Request: https://github.com/llvm/llvm-project/pull/138403
Commit: 722d6b55ed64678abdc6f4e8761cdd7eb224d02c
https://github.com/llvm/llvm-project/commit/722d6b55ed64678abdc6f4e8761cdd7eb224d02c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
Log Message:
-----------
[clang][bytecode] Only check expr in CheckThis() if we have to (#141951)
Pre C++11, we dont't need to get the value of IsImplicit.
Commit: 7521ce9963733491229f612208cd44ab5b0337c8
https://github.com/llvm/llvm-project/commit/7521ce9963733491229f612208cd44ab5b0337c8
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
Log Message:
-----------
[clang][bytecode] Don't get the expr without emitting a diagnostic (#141953)
Commit: 062d24a7d6770b1dd7d5a4968bccb28c85495d67
https://github.com/llvm/llvm-project/commit/062d24a7d6770b1dd7d5a4968bccb28c85495d67
Author: lntue <lntue at google.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M libc/src/math/generic/hypotf16.cpp
Log Message:
-----------
[libc][math] Fix some mis-optimization issue with hypotf16. (#141960)
Commit: 5fe9aea6d128a8569e27f8c66272e481f10c61ae
https://github.com/llvm/llvm-project/commit/5fe9aea6d128a8569e27f8c66272e481f10c61ae
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Target/UnixSignals.h
M lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
M lldb/source/Plugins/Platform/Linux/PlatformLinux.h
M lldb/source/Plugins/Process/Utility/LinuxSignals.cpp
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
M lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
M lldb/source/Plugins/Process/elf-core/ThreadElfCore.h
M lldb/source/Target/UnixSignals.cpp
M lldb/unittests/Signals/UnixSignalsTest.cpp
Log Message:
-----------
Reapply "[LLDB][ELF Core] Support all the Generic (Negative) SI Codes." (#141670)
After some debugging, I found out ProcessELFCore never updates the
platform. I've updated ProcessElfCore to set the arch and platform
before we parse the Notes.
Commit: 0967fce64615c1f9701c6ec313b0b00ac091d07d
https://github.com/llvm/llvm-project/commit/0967fce64615c1f9701c6ec313b0b00ac091d07d
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Port c474f8f2404dfe5a902cdf93d678a0bfe8cc8f44
Commit: 67a0844812f545586104135f4cbf5a2aaaa8466f
https://github.com/llvm/llvm-project/commit/67a0844812f545586104135f4cbf5a2aaaa8466f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/bswap-bitreverse.ll
Log Message:
-----------
[RISCV] Add BREV8 to SimplifyDemandedBitsForTargetNode. (#141898)
Commit: 62e28d4c31fd6b30e2d0f5e5e3ab9187472a3696
https://github.com/llvm/llvm-project/commit/62e28d4c31fd6b30e2d0f5e5e3ab9187472a3696
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Upload JUnit Test Results as Artifacts (#141905)
This enables a script to come through later and download all the test
files for further offline analysis. This is intended to enable
developing a tool that can spot flaky tests.
Commit: 7d44430f663d6f656b527219bdf2219431967fec
https://github.com/llvm/llvm-project/commit/7d44430f663d6f656b527219bdf2219431967fec
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[Github] Fix TODO after removal of continue on error (#141896)
Previously we were using continue-on-error within the workflows to
prevent sending out notifications for workflow failures. We worked
around this in the metrics container to see what was actually
failing/passing by looking at the individual steps. Now that we have
gotten rid of the continue-on-error flag, we just have to look at the
job status.
Commit: 05c76e78dd3e673dff90e3e5463ac27f3d46f9aa
https://github.com/llvm/llvm-project/commit/05c76e78dd3e673dff90e3e5463ac27f3d46f9aa
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
A clang/test/Driver/Inputs/spirv-openmp/lib/libomptarget-spirv.bc
R clang/test/Driver/Inputs/spirv-openmp/lib/libomptarget-spirv64.bc
M clang/test/Driver/spirv-openmp-toolchain.c
Log Message:
-----------
[clang][Driver][OpenMP][SPIR-V] Fix SPIR-V OpenMP DeviceRTL expected file name (#141855)
The option name to specify the path is `--libomptarget-spirv-bc-path` so
the existing error gives an invalid option name
(`--libomptarget-spirv64-bc-path`) when it can't find the file. Also the
expected file name is weird, we expect the file name to be
`libomptarget-spirv64.bc`. and use the same prefix `spirv64` to suggest
the option to the user.
Also the `nvptx` triple is `nvptx64` and the option/filename there is
just `nvptx`, so we should be consistent.
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 28eb66b79413950e584b2c3d8581ae5dc858d6dc
https://github.com/llvm/llvm-project/commit/28eb66b79413950e584b2c3d8581ae5dc858d6dc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/lib/Sema/SemaSPIRV.cpp
Log Message:
-----------
[Sema] Fix a warning
This patch fixes:
clang/lib/Sema/SemaSPIRV.cpp:132:3: error: default label in switch
which covers all enumeration values
[-Werror,-Wcovered-switch-default]
Commit: 475a8a47ead32755bb1377d361afbd1928880e14
https://github.com/llvm/llvm-project/commit/475a8a47ead32755bb1377d361afbd1928880e14
Author: Richard Howell <rmaz at users.noreply.github.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M lld/MachO/DriverUtils.cpp
Log Message:
-----------
[lld] check cache before real_path in loadDylib (#140791)
Commit: 4194192aa5908c92c80a9fd27d8c0d29359bae1a
https://github.com/llvm/llvm-project/commit/4194192aa5908c92c80a9fd27d8c0d29359bae1a
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
Log Message:
-----------
[libc++] Run macOS jobs after the Stage 2 CI (#141816)
Our CI is currently having major difficulties, which causes the Stage 3
CI to basically never succeed. As a result, our macOS CI jobs have not
been running recently. This patch gates the macOS CI jobs on Stage 2
instead of Stage 3 so that they actually run sometimes.
Commit: cf045929b2c9786b0773d46f03c424610e240a78
https://github.com/llvm/llvm-project/commit/cf045929b2c9786b0773d46f03c424610e240a78
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/docs/SanitizerSpecialCaseList.rst
Log Message:
-----------
[clang][docs] Remove reference to deleted line in sanitizer doc (#141921)
This was added by 8eb34700c2b1847ec6dfb8f92b305b65278d2ec0 which added
an opt into the new ignore list behaviour.
Then 81d1df2a39f0616be4b530cbf86b3f575442a347 flipped it so you had to
opt into the old behaviour, but didn't remove the "The line above" bit.
Commit: 8a49db35f45e56c92522c6079e51553e80c07aec
https://github.com/llvm/llvm-project/commit/8a49db35f45e56c92522c6079e51553e80c07aec
Author: John Harrison <harjohn at google.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
M lldb/test/API/tools/lldb-dap/console/TestDAP_redirection_to_console.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
Log Message:
-----------
[lldb-dap] Test Gardening, improving DebugCommunication. (#141689)
Improving the readability and correctness of DebugCommunication by
adding type annotations to many parts of the library and trying to
improve the implementation of a few key areas of the code to better
handle correctness.
Specifically, this refactored the
`DebugCommunication._handle_recv_packet` function to ensure consistency
with the reader thread when handling state changes and improved the
`DebugCommunication._recv_packet` helper to make it easier to follow by
adding some additional helpers.
Commit: cb648ba97003bc0aa94e86f8e89ea6e3e3d09a11
https://github.com/llvm/llvm-project/commit/cb648ba97003bc0aa94e86f8e89ea6e3e3d09a11
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/many-uses-parent-node.ll
Log Message:
-----------
[SLP]Check if the user node has instructions, used only outside
Gather nodes with parents, which scalar instructions are used only
outside, are generated before the whole tree vectorization. Need to
teach isGatherShuffledSingleRegisterEntry to check that such nodes are
emitted first and they cannot depend on other nodes, which are emitted
later.
Fixes #141628
Commit: a36cb01ea7750373739c206f86abcce0dbf9df5f
https://github.com/llvm/llvm-project/commit/a36cb01ea7750373739c206f86abcce0dbf9df5f
Author: anjenner <161845516+anjenner at users.noreply.github.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
Log Message:
-----------
[AMDGPU] Handle CreateBinOp not returning BinaryOperator (#137791)
AMDGPUCodeGenPrepareImpl::visitBinaryOperator() calls
Builder.CreateBinOp() and casts the resulting Value as a BinaryOperator
without checking, leading to an assert failure in a case found by
fuzzing. In this case, the operands are constant and CreateBinOp does
constant folding so returns a Constant instead of a BinaryOperator.
Commit: 74ad4baef07336bcb3b01570e21b560339fad2c3
https://github.com/llvm/llvm-project/commit/74ad4baef07336bcb3b01570e21b560339fad2c3
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILResourceImplicitBinding.cpp
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[HLSL] Move DXILResourceImplicitBinding pass closer to DXIL Resource Analysis (#140981)
Moving `DXILResourceImplicitBinding` pass and the associated `DXILResourceBindingAnalysis` lower in the llc pipeline to just before the DXIL Resource Analysis, which is where its results are first needed, and adjusting the set of analyses it preserves.
The reason for this change is that I will soon be adding `DXILResourceBindingAnalysis` dependency to `DXILPostOptimizationValidation` pass and bringing this closer to where it is needed avoid unnecessary churn to preserved analysis setting in preceding passes.
Commit: a926c61cc005a5a37bcb62f0dbd2c18c0baf91d3
https://github.com/llvm/llvm-project/commit/a926c61cc005a5a37bcb62f0dbd2c18c0baf91d3
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
Log Message:
-----------
[HLSL][RootSignature] Add parsing of floats for StaticSampler (#140181)
- defines in-memory representaiton of MipLODBias to allow for testing of
a float parameter
- defines `handleInt` and `handleFloat` to handle converting a token's
`NumSpelling` into a valid float
- plugs this into `parseFloatParam` to fill in the MipLODBias param
The parsing of floats is required to match the behaviour of DXC. This
behaviour is outlined as follows:
- if the number is an integer then convert it using `_atoi64`, check for
overflow and static_cast this to a float
- if the number is a float then convert it using `strtod`, check for
float overflow and static_cast this to a float, this will implicitly
also check for double over/underflow and if the string is malformed then
it will return an error
This pr matches this behaviour by parsing as, uint/int accordingly and
then casting, or, by using the correct APFloat semantics/rounding mode
with `NumericLiteralParser`.
- adds testing of error diagnostics and valid float param values to
demonstrate functionality
Part 2 of https://github.com/llvm/llvm-project/issues/126574
Commit: 16994a6e768658221c69c85c1b8ecf4225d875c9
https://github.com/llvm/llvm-project/commit/16994a6e768658221c69c85c1b8ecf4225d875c9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrPredicates.td
M llvm/test/CodeGen/RISCV/rvv/vmv-copy.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-coalesce.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
Log Message:
-----------
[RISCV] Add a PseudoVSETVLIX0X0 pseudo for the x0,x0 vsetvli. NFC (#141875)
Strengthen the register class on PseudoVSETVLIX0 to disallow X0 as a
destination. This allows removal of an opcode check from
RISCVDeadRegisterDefinitions. Now the register class will prevent the
conversion to X0.
I'm considering removing the explicit X0 operands and adding them during
PseudoExpansion, but it complicates finding the vtype operand.
Commit: 040f5ee41014724af7dc4941ff9f4223b4db67d4
https://github.com/llvm/llvm-project/commit/040f5ee41014724af7dc4941ff9f4223b4db67d4
Author: Tom Tromey <tromey at adacore.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/IR/DIBuilder.cpp
Log Message:
-----------
Add flags check to createVariantMemberType (#139261)
I noticed that DIDerivedType overloads the "ExtraData" member depending
on the precise type being implemented. A variant part uses this to store
the discriminant (a reference to another member), but a bit field uses
it to store the storage offset.
This patch changes createVariantMemberType to ensure that the
FlagBitField is not used when creating a variant part. If this flag is
used, the ExtraData field would be erroneously used in two different
ways.
The patch also updates a comment in DIDerivedType to list a couple more
cases.
Commit: 66889bf300f6a34808b9ebbee7130c5e1ef21538
https://github.com/llvm/llvm-project/commit/66889bf300f6a34808b9ebbee7130c5e1ef21538
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
M llvm/lib/Frontend/HLSL/HLSLRootSignature.cpp
M llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp
Log Message:
-----------
[HLSL][RootSignature] Implement serialization of `RootConstants` and `RootFlags` (#141130)
- Implements serialization of the currently completely defined
`RootElement`s, namely `RootConstants` and `RootFlags`
- Adds unit testing for the serialization methods
Resolves: https://github.com/llvm/llvm-project/issues/138190 and
https://github.com/llvm/llvm-project/issues/138192
Commit: af6910194ca4de1907e15073fb1fbcfeb1835f26
https://github.com/llvm/llvm-project/commit/af6910194ca4de1907e15073fb1fbcfeb1835f26
Author: David Green <david.green at arm.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
Log Message:
-----------
[ARM] Remove unused enable-arm-3-addr-conv (#141850)
This code is not enabled by default and has no tests, having been added
back in 10043e215bcfd. It can be safely removed to help keep things
simpler, not needing to maintain code that is never used.
Commit: 6cf53da79d3c3e966b3ee60a5d38b9ecce1419fa
https://github.com/llvm/llvm-project/commit/6cf53da79d3c3e966b3ee60a5d38b9ecce1419fa
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wmemset.cpp
A libc/src/wchar/wmemset.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wmemset_test.cpp
Log Message:
-----------
[libc] Implemented wmemset and added tests (#141691)
Implemented and tests the wmemset function in libc.
Commit: 1b07c589b245d078e00576bbd00436cc7f53a7c6
https://github.com/llvm/llvm-project/commit/1b07c589b245d078e00576bbd00436cc7f53a7c6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
Log Message:
-----------
AMDGPU: Delete seemingly dead s_fmaak_f32/s_fmamk_f32 folding code (#140580)
No tests fail with this. I'm not sure I understand the comment,
there can't be any folding into an operand that had to already
be a constant. I tried different combinations of immediates to these
instructions but never hit the condition.
Commit: 65b90c59ce9cfccaaad19847c2b61623e2c9e150
https://github.com/llvm/llvm-project/commit/65b90c59ce9cfccaaad19847c2b61623e2c9e150
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/fold-operands-frame-index.mir
Log Message:
-----------
AMDGPU: Remove redundant operand folding checks (#140587)
This was pre-filtering out a specific situation from being
added to the fold candidate list. The operand legality will
ultimately be checked with isOperandLegal before the fold is
performed, so I don't see the plus in pre-filtering this one
case.
Commit: a2399006357cabd422e3607dba829d397f09d7b5
https://github.com/llvm/llvm-project/commit/a2399006357cabd422e3607dba829d397f09d7b5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/fold-imm-copy-agpr.mir
M llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir
M llvm/test/CodeGen/AMDGPU/fold-short-64-bit-literals.mir
A llvm/test/CodeGen/AMDGPU/issue139317-bad-opsel-reg-sequence-fold.ll
A llvm/test/CodeGen/AMDGPU/si-fold-operands-subreg-imm.gfx942.mir
M llvm/test/CodeGen/AMDGPU/si-fold-operands-subreg-imm.mir
Log Message:
-----------
AMDGPU: Add baseline tests for #139317 (#140607)
Commit: ef11bdc7fe43ed9d418795c56668a1c6f8c6e35f
https://github.com/llvm/llvm-project/commit/ef11bdc7fe43ed9d418795c56668a1c6f8c6e35f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Allow compiler directive in cuda code (#141991)
Commit: 260836d91713f1b6dfeff532120aa3e4ef7b8285
https://github.com/llvm/llvm-project/commit/260836d91713f1b6dfeff532120aa3e4ef7b8285
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang-tools-extra/test/clang-doc/conversion_function.cpp
Log Message:
-----------
[clang-doc] fix FileCheck for conversion function HTML test (#141976)
The HTML FileCheck was missing the RUN command. Fixing that revealed an
error in the HTML check.
Commit: 637e92bf47de03ddc7b9ec08694f268a51ea7550
https://github.com/llvm/llvm-project/commit/637e92bf47de03ddc7b9ec08694f268a51ea7550
Author: lntue <lntue at google.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M libc/test/src/math/smoke/asin_test.cpp
Log Message:
-----------
[libc] Fix asin_test smoke test for DAZ modes due to mis-optimization on newer clang. (#141996)
Commit: b411f70c3b83b0b25eee67d666d42cf50f78a6b8
https://github.com/llvm/llvm-project/commit/b411f70c3b83b0b25eee67d666d42cf50f78a6b8
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode] Make some builtins no-ops (#141952)
For some builtins, we dont' need to do anything, but due to the cleanup
code being the same for all builtins, we still had to duplicate the
value on the stack. Remove that and get rid of all the unnecessary
pressure on the InterpStack.
Commit: 9ca41b6b65680c9eceb938c0e27d8d054114e680
https://github.com/llvm/llvm-project/commit/9ca41b6b65680c9eceb938c0e27d8d054114e680
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
Log Message:
-----------
[LLDB][Minidump] Fix bug in generating 64b memory minidumps (#141995)
In #129307, we introduced read write in chunks, and during the final
revision of the PR I changed the behavior for 64b memory regions and did
not test an actual 64b memory range.
This caused LLDB to crash whenever we generated a 64b memory region.
64b regions has been a problem in testing for some time as it's a waste
of test resources to generation a 5gb+ Minidump. I will work with
@clayborg and @labath to come up with a way to specify creating a 64b
list instead of a 32b list (likely via the yamilizer).
Commit: 8f4fd864033601aad99a10c2b878769b84df7537
https://github.com/llvm/llvm-project/commit/8f4fd864033601aad99a10c2b878769b84df7537
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
R clang/test/ClangScanDeps/export.c
M clang/test/ClangScanDeps/optimize-vfs-pch.m
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
Revert "[clang][Dependency Scanning] Report What a Module Exports during Scanning (#137421)" (#140820)
This reverts commit ea1bfbf3f6399b7d2d840722f0e87542d00f6a35.
The commit did not solve the fundamental issue we need to handle and is
no longer necessary.
rdar://144794793
Commit: cb065a578a9d152603c2ea66a616c1cbbc702d63
https://github.com/llvm/llvm-project/commit/cb065a578a9d152603c2ea66a616c1cbbc702d63
Author: Thurston Dang <thurston at google.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
Log Message:
-----------
[NFCI][ubsan] Add/update deprecation TODOs
Mention -fsanitize-skip-hot-cutoffs and -fsanitize-annotate-debug-info
are available as replacements
Commit: 159646cd39eb6451c8906a999965e04d2566882f
https://github.com/llvm/llvm-project/commit/159646cd39eb6451c8906a999965e04d2566882f
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
Log Message:
-----------
[LLDB] Add ifndef to platform linux (#141971)
Another iteration of fixes for #141670. Platform linux can be used by
other platforms, so we need to supply the signal values if they're not
defined.
Values are from the
[manpage](https://man7.org/linux/man-pages/man7/signal.7.html)
Commit: dd56693451ba31d1e82a79bf460cdf85b728a246
https://github.com/llvm/llvm-project/commit/dd56693451ba31d1e82a79bf460cdf85b728a246
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
M llvm/lib/Frontend/HLSL/HLSLRootSignature.cpp
M llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp
Log Message:
-----------
Revert "[HLSL][RootSignature] Implement serialization of `RootConstants` and `RootFlags`" (#142005)
The commit caused build failures,
[here](https://lab.llvm.org/buildbot/#/builders/10/builds/6308), due to
a missing linked llvm library (HLSLFrontend) into
`clang/unittests/Parse/CMakeLists.txt`.
While it seems like the fix is straightforwardly to just add this
library, I will revert now to build and verify locally it correctly
fixes it.
Reverts llvm/llvm-project#141130
Commit: d93788fcbf585e7cd3866b514bad972765b17e8d
https://github.com/llvm/llvm-project/commit/d93788fcbf585e7cd3866b514bad972765b17e8d
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Sema/SemaDeclAttr.cpp
R clang/test/CodeGen/LoongArch/targetattr.c
R clang/test/Sema/attr-target-loongarch.c
M llvm/include/llvm/TargetParser/LoongArchTargetParser.h
M llvm/lib/TargetParser/LoongArchTargetParser.cpp
Log Message:
-----------
Revert "[Clang][LoongArch] Support target attribute for function" (#141998)
Reverts llvm/llvm-project#140700
This breaks bots both in buildbot and downstream CI:
- https://lab.llvm.org/buildbot/#/builders/11/builds/16173
- https://lab.llvm.org/buildbot/#/builders/202/builds/1531
-
https://ci.chromium.org/ui/p/fuchsia/builders/toolchain.ci/clang-host-linux-x64/b8713537585914796017/overview
Commit: 4de69f786e207f3b5269c37df888d23eace674f7
https://github.com/llvm/llvm-project/commit/4de69f786e207f3b5269c37df888d23eace674f7
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseOpenACC.cpp
A clang/test/ParserOpenACC/extensions.c
Log Message:
-----------
[OpenACC] Implement ignoring of extension clauses
OpenACC 3.4 will permit extension clauses, which are clauses that start
with '__', and contain an optional balanced-paren-token-sequence inside
of parens.
This patch ensures we consume these, and emit a warning instead of an
error for unsupported clauses.
Commit: 945e7d33e803a0a2d9597bf2715f6370110c2dea
https://github.com/llvm/llvm-project/commit/945e7d33e803a0a2d9597bf2715f6370110c2dea
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
M llvm/test/CodeGen/DirectX/Metadata/cbuffer-only.ll
M llvm/test/CodeGen/DirectX/Metadata/cbuffer_metadata.ll
M llvm/test/CodeGen/DirectX/Metadata/resource-symbols.ll
M llvm/test/CodeGen/DirectX/Metadata/srv_metadata.ll
M llvm/test/CodeGen/DirectX/Metadata/uav_metadata.ll
M llvm/unittests/Analysis/DXILResourceTest.cpp
Log Message:
-----------
[DirectX] Update resource type names in DXIL metadata to include element type (#140937)
Update resource type names for globals variables that we generate in `DXILTranslateMetadata` pass to include element type. This change prevents duplicate types for identical resources and brings the DXIL metadata names it closer to what DXC generates.
Commit: 7625d2e77cfd14b371c0cd159dd690eafa5c226b
https://github.com/llvm/llvm-project/commit/7625d2e77cfd14b371c0cd159dd690eafa5c226b
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/include/llvm/ProfileData/IndexedMemProfData.h
A llvm/include/llvm/ProfileData/MemProfCommon.h
M llvm/include/llvm/ProfileData/MemProfSummary.h
M llvm/include/llvm/ProfileData/MemProfSummaryBuilder.h
M llvm/lib/ProfileData/CMakeLists.txt
M llvm/lib/ProfileData/IndexedMemProfData.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
A llvm/lib/ProfileData/MemProfCommon.cpp
M llvm/lib/ProfileData/MemProfSummary.cpp
M llvm/lib/ProfileData/MemProfSummaryBuilder.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[MemProf] Summary section cleanup (NFC) (#142003)
Address post-commit review comments from PR141805. Misc cleanup but the
biggest changes are moving some common utilities to new MemProfCommon
files to reduce unnecessary includes.
Commit: 8e19573682b6c53aa1df223e80aa46a3ab48cd35
https://github.com/llvm/llvm-project/commit/8e19573682b6c53aa1df223e80aa46a3ab48cd35
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/MC/DXContainerRootSignature.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/lib/MC/DXContainerRootSignature.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
A llvm/test/ObjectYAML/DXContainer/RootSignature-DescriptorTable1.0.yaml
A llvm/test/ObjectYAML/DXContainer/RootSignature-DescriptorTable1.1.yaml
M llvm/test/ObjectYAML/DXContainer/RootSignature-MultipleParameters.yaml
M llvm/unittests/Object/DXContainerTest.cpp
M llvm/unittests/ObjectYAML/DXContainerYAMLTest.cpp
Log Message:
-----------
[DirectX] adding support to read/write descriptor table data using obj2yaml/yaml2obj (#138315)
Closes:
https://github.com/orgs/llvm/projects/4/views/22?sliceBy%5Bvalue%5D=joaosaffran&pane=issue&itemId=97332852&issue=llvm%7Cllvm-project%7C126635
---------
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Commit: 273e463f4526691ede59dbda738a8b24d2d1d13c
https://github.com/llvm/llvm-project/commit/273e463f4526691ede59dbda738a8b24d2d1d13c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
Log Message:
-----------
[memprof] Improve a comment (NFC) (#142002)
We can go one step further than "compare" and mention "prefix" to
succinctly describe the function.
Commit: c3bbc06783253f9d9ba4e15d1a6c92590cd46ece
https://github.com/llvm/llvm-project/commit/c3bbc06783253f9d9ba4e15d1a6c92590cd46ece
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXForwardParams.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXProxyRegErasure.cpp
M llvm/test/CodeGen/MIR/NVPTX/expected-floating-point-literal.mir
M llvm/test/CodeGen/MIR/NVPTX/floating-point-immediate-operands.mir
M llvm/test/CodeGen/MIR/NVPTX/floating-point-invalid-type-error.mir
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/f16-instructions.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/fexp2.ll
M llvm/test/CodeGen/NVPTX/flog2.ll
M llvm/test/CodeGen/NVPTX/fma-relu-contract.ll
M llvm/test/CodeGen/NVPTX/fma-relu-fma-intrinsic.ll
M llvm/test/CodeGen/NVPTX/fma-relu-instruction-flag.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/inline-asm.ll
M llvm/test/CodeGen/NVPTX/math-intrins.ll
M llvm/test/CodeGen/NVPTX/param-add.ll
M llvm/test/CodeGen/NVPTX/proxy-reg-erasure.mir
Log Message:
-----------
[NVPTX] Cleanup ISel code after float register removal, use BasicNVPTXInst (#141711)
Commit: 2a22e79b178050f8d62ea93f70efc172410b6641
https://github.com/llvm/llvm-project/commit/2a22e79b178050f8d62ea93f70efc172410b6641
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/OutArgExpr.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/HLSL/ast-dump-comment-cbuffer.hlsl
M clang/test/AST/HLSL/cbuffer.hlsl
M clang/test/AST/HLSL/cbuffer_and_namespaces.hlsl
M clang/test/AST/HLSL/default_cbuffer.hlsl
M clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
M clang/test/AST/HLSL/is_typed_resource_element_compatible_concept.hlsl
M clang/test/AST/HLSL/packoffset.hlsl
M clang/test/AST/HLSL/pch.hlsl
M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
M clang/test/AST/HLSL/pch_with_buf.hlsl
M clang/test/AST/HLSL/private.hlsl
M clang/test/AST/HLSL/resource_binding_attr.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/GlobalConstructors.hlsl
M clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
M clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenHLSL/cbuffer_align.hlsl
M clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
M clang/test/CodeGenHLSL/convergence/global_array.hlsl
M clang/test/CodeGenHLSL/default_cbuffer.hlsl
M clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
M clang/test/CodeGenHLSL/inline-functions.hlsl
M clang/test/CodeGenHLSL/static-local-ctor.hlsl
M clang/test/ParserHLSL/cb_error.hlsl
M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
M clang/test/ParserHLSL/invalid_inside_cb.hlsl
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/hlsl_resource_t.hlsl
M clang/test/SemaHLSL/Language/AggregateSplatCast-errors.hlsl
M clang/test/SemaHLSL/cb_error.hlsl
M clang/test/SemaHLSL/export.hlsl
M clang/test/SemaHLSL/packoffset-invalid.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_basic.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_resource.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_silence_diags.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_space.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_udt.hlsl
M clang/test/SemaHLSL/resource_binding_implicit.hlsl
Log Message:
-----------
[HLSL] Make implicit binding warning off by default (#141879)
Make implicit binding warning off by default and remove `-Wno-hlsl-implicit-binding` from tests.
Closes #135907
Commit: 4811c67d62b840a7f5d3320de0b15ba96e27d2e4
https://github.com/llvm/llvm-project/commit/4811c67d62b840a7f5d3320de0b15ba96e27d2e4
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
A flang/test/Lower/OpenMP/copyprivate4.f90
Log Message:
-----------
[flang][OpenMP] Treat ClassType as BoxType in COPYPRIVATE (#141844)
This fixes the second problem reported in
https://github.com/llvm/llvm-project/issues/141481
Commit: dce490e529ead7885852950394d520de1f53b917
https://github.com/llvm/llvm-project/commit/dce490e529ead7885852950394d520de1f53b917
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/bswap-bitreverse.ll
Log Message:
-----------
[RISCV] Custom type legalize MVT::i8 BITREVERSE to BREV8. (#142001)
If we're only reversing a single byte, we can use BREV8 directly.
If we let it type legalize we'll get (srl (bitreverse X), XLen-8). In op
legalization, we'll expand that to (srl (brev8 (bswap X)), XLen - 8).
Then, SimplifyDemandedBits can reduce it to (srl (brev8 (shl X, XLen -
8)), XLen - 8). We could add a DAGCombine to pull the shl through the
brev8 to put it next to the srl which will allow it to become (and
(brev8 X), 255). Unless we can prove the upper XLen-8 bits are 0 or that
they aren't demanded, we can't remove the `and`.
By emitting BREV8 directly when we still know the type is i8, we can
avoid this. We already DAGCombine i16 and i32 (bitreverse (bswap X)) to
BREV8 early for the same reason.
I've added an i7 test case so we can still see the opportunity for
improvement on weird sizes.
Fixes the RISC-V part of #141863.
Commit: 8e2641a97fbffdb2abce57e9c0b6d1d8d5e00fd9
https://github.com/llvm/llvm-project/commit/8e2641a97fbffdb2abce57e9c0b6d1d8d5e00fd9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rv32zbb-intrinsic.ll
M llvm/test/CodeGen/RISCV/rv64zbb-intrinsic.ll
Log Message:
-----------
[RISCV] Add ORC_B to SimplifyDemandedBitsForTargetNode. (#141975)
Commit: b3660e4aa2e4269079eb3d8d702d9f8543583c08
https://github.com/llvm/llvm-project/commit/b3660e4aa2e4269079eb3d8d702d9f8543583c08
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fract-match.ll
Log Message:
-----------
AMDGPU: Regenerate test checks (#141984)
Update to new update_test_checks output
Commit: 3c5c0709e585892f8ed1ad248e957f5b92f1a04b
https://github.com/llvm/llvm-project/commit/3c5c0709e585892f8ed1ad248e957f5b92f1a04b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fract-match.ll
Log Message:
-----------
AMDGPU: Add missing fract test (#141985)
This was missing the case where the fcmp condition and select were
inverted.
Commit: 8e2a42aa921f11d14064a41b6fb28a0bad38af32
https://github.com/llvm/llvm-project/commit/8e2a42aa921f11d14064a41b6fb28a0bad38af32
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Return from SimplifyDemandedBitsForTargetNode for X86ISD::CMOV/ANDP after computing KnownBits. NFC (#141992)
If we break out of the switch, I believe we fall back to the generic
SimplifyDemandedBitsForTargetNode which will call
computeKnownBitsForTargetNode. This will recurse again and calculate
it's own KnownBits. Since we already did the recursion, we should keep
the results.
Commit: c569248b74337431a1065b10df5cf6029b4784ba
https://github.com/llvm/llvm-project/commit/c569248b74337431a1065b10df5cf6029b4784ba
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fract-match.ll
Log Message:
-----------
AMDGPU: Add baseline tests for fract combine with other fmin types (#141986)
Commit: 798ae823997b417cb85da098f16e4b1101d9b68c
https://github.com/llvm/llvm-project/commit/798ae823997b417cb85da098f16e4b1101d9b68c
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/test/Semantics/OpenMP/copyprivate04.f90
A flang/test/Semantics/OpenMP/copyprivate05.f90
Log Message:
-----------
[flang][OpenMP] Verify that arguments to COPYPRIVATE are variables (#141823)
The check if the arguments are variable list items was missing, leading
to a crash in lowering in some invalid situations.
This fixes the first testcase reported in
https://github.com/llvm/llvm-project/issues/141481
Commit: cc8d253f390e4afc7b275a234f5fcdc976a0af71
https://github.com/llvm/llvm-project/commit/cc8d253f390e4afc7b275a234f5fcdc976a0af71
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/fract-match.ll
Log Message:
-----------
AMDGPU: Handle other fmin flavors in fract combine (#141987)
Since the input is either known not-nan, or we have explicit use
code checking if the input is a nan, any of the 3 is valid to match.
Commit: 3315b84a50a94c229e5a04b05a34ca5d5e374533
https://github.com/llvm/llvm-project/commit/3315b84a50a94c229e5a04b05a34ca5d5e374533
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
A clang/test/Frontend/verify-gh141221.c
Log Message:
-----------
[Clang] Fix an out of bound access in -verify comment parsing (#141940)
When the comment ends with a splice at EOF.
Fixes #141221
Commit: c8eb0949020103ff16ed494e83e757c34f50b151
https://github.com/llvm/llvm-project/commit/c8eb0949020103ff16ed494e83e757c34f50b151
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
Log Message:
-----------
[HLSL][RootSiganture] Add parsing of new number params in StaticSampler (#140291)
- defines in-memory reprsentation of `maxAnisotropy`, `minLOD` and
`maxLOD`
- integrates parsing of these number parameters with their respective,
`parseUInt` and `parseFloat` respectively
- adds basic unit tests to demonstrate setting functionality
Part 3 of https://github.com/llvm/llvm-project/issues/126574
Commit: ddc8db792a8041ccd73581a743fffd725c3eef73
https://github.com/llvm/llvm-project/commit/ddc8db792a8041ccd73581a743fffd725c3eef73
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang-tools-extra/clang-doc/Serialize.cpp
Log Message:
-----------
[clang-doc] Fix assertions error in Serialize.cpp (#141990)
We can only print and use a default arg, if it is instantiated.
I was unable to reduce the test case for this to something of reasonable
size, but this is easily hit by running clang-doc to generate clang's
documentation. For now, we can fix the assertion quickly to unbreak
users, and add the proper test once it is small enough.
Commit: a8c6a5017de7076f3011b0ddba6f224f7e1f93f3
https://github.com/llvm/llvm-project/commit/a8c6a5017de7076f3011b0ddba6f224f7e1f93f3
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wmemcmp.cpp
A libc/src/wchar/wmemcmp.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wmemcmp_test.cpp
Log Message:
-----------
[libc] wmemcmp implementation (#141880)
Implemented wmemcmp as well as tests for the function.
Fixes Issue #141857
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: e74b45e0789ab1da1afab48dc2fe39e0ed7a326e
https://github.com/llvm/llvm-project/commit/e74b45e0789ab1da1afab48dc2fe39e0ed7a326e
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/unittests/Analysis/CMakeLists.txt
A llvm/unittests/Analysis/IR2VecTest.cpp
Log Message:
-----------
[IR2Vec] Adding unit tests (#141873)
This PR adds unit tests for IR2Vec
(Tracking issue - #141817)
Commit: bedbc65871828f0f3f0a7e25d38af2867e8c546c
https://github.com/llvm/llvm-project/commit/bedbc65871828f0f3f0a7e25d38af2867e8c546c
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
A llvm/test/Transforms/EmbedBitcode/embed-wpd.ll
Log Message:
-----------
[llvm][EmbedBitcodePass] Pre-commit test for using WPD with FatLTO (#139998)
This is a reduced test case from #139440.
Commit: 55c7d5cdadc4dd0fab843992e0fb31ef7ea6fda4
https://github.com/llvm/llvm-project/commit/55c7d5cdadc4dd0fab843992e0fb31ef7ea6fda4
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Transforms/IPO/EmbedBitcodePass.cpp
M llvm/test/Transforms/EmbedBitcode/embed-wpd.ll
Log Message:
-----------
[llvm][EmbedBitcodePass] Prevent modifying the module with ThinLTO (#139999)
Since ThinLTOBitcodeWriterPass handles many things for CFI and WPD, like
updating vtable linkage, we need to prevent those changes from
persisting in the non-LTO object code we will compile under FatLTO.
The only non-invasive way to do that is to clone the module when
serializing the module in ThinLTOBitcodeWriterPass. We may be able to
avoid cloning in the future with additional infrastructure to restore
the IR to its original state.
Fixes #139440
Commit: a0d699a8e686cba99690cf28463d14526c5bfbc8
https://github.com/llvm/llvm-project/commit/a0d699a8e686cba99690cf28463d14526c5bfbc8
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
M flang/test/Fir/array-coor.fir
M flang/test/Fir/arrayset.fir
M flang/test/Fir/arrexp.fir
M flang/test/Fir/box-offset-codegen.fir
M flang/test/Fir/box-typecode.fir
M flang/test/Fir/box.fir
M flang/test/Fir/boxproc.fir
M flang/test/Fir/commute.fir
M flang/test/Fir/coordinateof.fir
M flang/test/Fir/embox.fir
M flang/test/Fir/field-index.fir
M flang/test/Fir/ignore-missing-type-descriptor.fir
M flang/test/Fir/polymorphic.fir
M flang/test/Fir/rebox.fir
M flang/test/Fir/struct-passing-x86-64-byval.fir
M flang/test/Fir/target-rewrite-complex-10-x86.fir
M flang/test/Fir/target.fir
M flang/test/Fir/tbaa-codegen.fir
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/Integration/OpenMP/copyprivate.f90
M flang/test/Integration/debug-local-var-2.f90
M flang/test/Integration/unroll-loops.f90
M flang/test/Lower/HLFIR/unroll-loops.fir
M flang/test/Lower/forall/character-1.f90
M flang/test/Transforms/constant-argument-globalisation.fir
A flang/test/Transforms/function-attrs-noalias.fir
M flang/test/Transforms/function-attrs.fir
Log Message:
-----------
Reland "[flang] Added noalias attribute to function arguments. (#140803)"
This helps to disambiguate accesses in the caller and the callee
after LLVM inlining in some apps. I did not see any performance
changes, but this is one step towards enabling other optimizations
in the apps that I am looking at.
The definition of llvm.noalias says:
```
... indicates that memory locations accessed via pointer values based on the argument or return value are not also accessed, during the execution of the function, via pointer values not based on the argument or return value. This guarantee only holds for memory locations that are modified, by any means, during the execution of the function.
```
I believe this exactly matches Fortran rules for the dummy arguments
that are modified during their subprogram execution.
I also set llvm.noalias and llvm.nocapture on the !fir.box<> arguments,
because the corresponding descriptors cannot be captured and cannot
alias anything (not based on them) during the execution of the
subprogram.
Commit: 821cd6aa77233b4659fafca5b2d63432ae32610c
https://github.com/llvm/llvm-project/commit/821cd6aa77233b4659fafca5b2d63432ae32610c
Author: Zequan Wu <zequanwu at google.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Object/RelocationResolver.cpp
A llvm/test/tools/llvm-dwarfdump/X86/debug_info_crel.test
Log Message:
-----------
[Object] Handle SHT_CREL relocation sections when resolving relocation data (#141843)
Fixes #141680
Commit: 17ee4aecdab466003717149ce61bd593cd211048
https://github.com/llvm/llvm-project/commit/17ee4aecdab466003717149ce61bd593cd211048
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/docs/ResponseGuide.rst
Log Message:
-----------
[docs] Update expected cadence of when Transparency reports are published (#142026)
Commit: 572b89a1f42b83a0cb91534295ae7f360dff6d68
https://github.com/llvm/llvm-project/commit/572b89a1f42b83a0cb91534295ae7f360dff6d68
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
Log Message:
-----------
NFCI: [clang][deps] Simplify handling of main TU context hash (#141966)
Instead of handling the context hash in a preprocessor callback on each
file change, do it once at the end of the scan.
Commit: c7cbaef1e9199bc3a1feca97b7ad03adcd5cbdb3
https://github.com/llvm/llvm-project/commit/c7cbaef1e9199bc3a1feca97b7ad03adcd5cbdb3
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/MC/DXContainerRootSignature.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/lib/MC/DXContainerRootSignature.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
A llvm/test/ObjectYAML/DXContainer/RootSignature-StaticSamplers-Defaults.yaml
A llvm/test/ObjectYAML/DXContainer/RootSignature-StaticSamplers.yaml
M llvm/unittests/Object/DXContainerTest.cpp
M llvm/unittests/ObjectYAML/DXContainerYAMLTest.cpp
Log Message:
-----------
[DirectX] Adding support for static samplers in yaml2obj/obj2yaml (#139963)
- Adds support for static samplers ins dxcontainer binary format.
- Adds writing logic to mcdxbc
- adds reading logic to Object
- adds tests
Closes: [126636](https://github.com/llvm/llvm-project/issues/126636)
---------
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Commit: beb6972cbb549eb4f00345f6e04427e266b2dd0c
https://github.com/llvm/llvm-project/commit/beb6972cbb549eb4f00345f6e04427e266b2dd0c
Author: peremyach <akhabutdinov at meta.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
Log Message:
-----------
fix llvm-gsymutil verification (#141751)
Verification crashed here
https://github.com/llvm/llvm-project/blob/main/llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp#L519
The reason being that during verification to extract inline_info we
recreate compile unit dies. Assert fails because we previously cleaned
up just the DIEs but some other fields remained initialized.
Co-authored-by: Arslan Khabutdinov <akhabutdinov at fb.com>
Commit: 1651aa294342b2c019d3691fbfe890ee65194e1b
https://github.com/llvm/llvm-project/commit/1651aa294342b2c019d3691fbfe890ee65194e1b
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[SDAG] Split the partial reduce legalize table by opcode [nfc] (#141970)
On it's own, this change should be non-functional. This is a preparatory
change for https://github.com/llvm/llvm-project/pull/141267 which adds a
new form of PARTIAL_REDUCE_*MLA. As noted in the discussion on that
review, AArch64 needs a different set of legal and custom types for the
PARTIAL_REDUCE_SUMLA variant than the currently existing
PARTIAL_REDUCE_UMLA/SMLA.
Commit: 84a69a0f8f60b6d852b9a16be199bfa432706b0c
https://github.com/llvm/llvm-project/commit/84a69a0f8f60b6d852b9a16be199bfa432706b0c
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/gep-const-address-space.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/infer-addrspace-flat-atomic.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/swdev282079.ll
M llvm/test/CodeGen/AMDGPU/uniform_branch_with_floating_point_cond.ll
A llvm/test/Transforms/InferAddressSpaces/AMDGPU/global-atomicrmw-fadd.ll
A llvm/test/Transforms/PhaseOrdering/AMDGPU/infer-address-space.ll
A llvm/test/Transforms/PhaseOrdering/AMDGPU/lit.local.cfg
Log Message:
-----------
[AMDGPU] Move InferAddressSpacesPass to middle end optimization pipeline (#138604)
It will run twice in the non-LTO pipeline with `O1` or higher. In LTO post link pipeline, it will be run once with `O2` or higher, since inline and SROA don't run in `O1`.
Commit: b3457d823e5e08462f7bb73b9c667da542e76a45
https://github.com/llvm/llvm-project/commit/b3457d823e5e08462f7bb73b9c667da542e76a45
Author: Zequan Wu <zequanwu at google.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
R llvm/test/tools/llvm-dwarfdump/X86/debug_info_crel.test
A llvm/test/tools/llvm-dwarfdump/X86/debug_info_crel.yaml
Log Message:
-----------
Fix 821cd6a to use yaml test instead because clang is not a dependency for the test suite.
Commit: 9af5e0628347dff59c1b23c4be579889986d8530
https://github.com/llvm/llvm-project/commit/9af5e0628347dff59c1b23c4be579889986d8530
Author: nerix <nerixdev at outlook.de>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/threads/Makefile
M lldb/test/API/tools/lldb-dap/threads/TestDAP_threads.py
R lldb/test/API/tools/lldb-dap/threads/main.c
A lldb/test/API/tools/lldb-dap/threads/main.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
Log Message:
-----------
[lldb-dap] Treat empty thread names as unset (#141529)
When a target thread returned an empty but not `nullptr` string as its
name, the thread would show up with an empty name in lldb-dap.
I don't know how this works on macOS and Linux, but on Windows,
[`TargetThreadWindows::GetName`](https://github.com/llvm/llvm-project/blob/deedc8a181b9598d188b2175357bce990a271d5d/lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp#L178-L204)
returns a non-null pointer to an empty string, because on MSVC's STL,
`std::string{}.c_str()` returns a pointer to inside the object (the SSO
storage).
This changes the check in `CreateThread`, when no custom thread
formatter is set, to check for the length of the thread and queue name
instead of it being `nullptr`.
Commit: cde67b6663f994fcb4ded28fd79b23a13d347c4a
https://github.com/llvm/llvm-project/commit/cde67b6663f994fcb4ded28fd79b23a13d347c4a
Author: Ely Ronnen <elyronnen at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
Log Message:
-----------
[lldb-dap] fix config value comparison (#142017)
Fix TypeSCript comparison (when defining an empty config string like
`commandEscapePrefix=""` it would skip it)
Commit: 8083944be0f2e610bb4170247522709a8e9f1ed3
https://github.com/llvm/llvm-project/commit/8083944be0f2e610bb4170247522709a8e9f1ed3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Do not fail with no JUnit XML
Currently we will fail if there are no JUnit XML files produced from
llvm-lit invocations. This can happen if the build fails and no test
suites end up getting run or if we test a project that does not use
llvm-lit, libe libc.
This fixes #142038.
Commit: e60b6330ac413682b3824603cb274528a67d58c9
https://github.com/llvm/llvm-project/commit/e60b6330ac413682b3824603cb274528a67d58c9
Author: Cassandra Beckley <beckl.ds at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
A llvm/test/CodeGen/SPIRV/inline/type.undef.ll
Log Message:
-----------
[SPIR-V] Consistent handling of TargetExtTypes in emit-intrinsics (#135682)
TargetExtType values are replaced with calls to
`llvm.spv.track.constant`, with a `poison` value, but
`llvm.spv.assign.type` was called with their original value. This PR
updates the `assign.type` call to be consistent with the
`track.constant` call.
Fixes #134417.
---------
Co-authored-by: Steven Perron <stevenperron at google.com>
Commit: 2b5b8db9dcf1b0b1bf2cbb24c3662d94b94a8aae
https://github.com/llvm/llvm-project/commit/2b5b8db9dcf1b0b1bf2cbb24c3662d94b94a8aae
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
Log Message:
-----------
[HLSL][RootSignature] Add parsing of address params in StaticSampler (#140293)
- defines in-memory reprsentation of `address[U|V|W]`
- defines parsing of the `TextureAddressMode` enum
- integrates parsing of these number parameters with their respective,
`parseTextureAddressMode`
- adds basic unit tests to demonstrate setting functionality
Part 4 of https://github.com/llvm/llvm-project/issues/126574
Commit: 8a44cd74bdf8a650d85e144a640c595e1945e906
https://github.com/llvm/llvm-project/commit/8a44cd74bdf8a650d85e144a640c595e1945e906
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/optimized/TestDAP_optimized.py
Log Message:
-----------
[NFC][lldb-dap][test] show the expected value in the error message. (#142030)
Show the expected value in the error message so we can see the expected
value without searching through the log messages.
Related #141689
Commit: 494c82e709fa89110a3178bff1330a38f13f87be
https://github.com/llvm/llvm-project/commit/494c82e709fa89110a3178bff1330a38f13f87be
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/unittests/Analysis/IR2VecTest.cpp
Log Message:
-----------
[IR2Vec] Support for lazy computation of BB Embeddings (#142033)
This PR exposes interfaces to compute embeddings at BB level. This would be necessary for delta patching the embeddings in MLInliner (#141836).
(Tracking issue - #141817)
Commit: dfc2c15f1c011bec8d79ef1738001e9e7ae9283e
https://github.com/llvm/llvm-project/commit/dfc2c15f1c011bec8d79ef1738001e9e7ae9283e
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
Log Message:
-----------
[HLSL][RootSignature] Add parsing of filter enum for StaticSampler (#140294)
- defines in-memory reprsentation of `filter`
- defines parsing of the `Filter` enum
- integrates parsing of these number parameters with their respective,
`parseFilter`
- adds basic unit tests to demonstrate setting functionality
Part 5 of https://github.com/llvm/llvm-project/issues/126574
Commit: 29d49de58a17309bc1a8f64d7962cf265e785702
https://github.com/llvm/llvm-project/commit/29d49de58a17309bc1a8f64d7962cf265e785702
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
Log Message:
-----------
Revert "[HLSL][RootSignature] Add parsing of filter enum for StaticSampler" (#142053)
The current naming of the `enum class Filter` and the Filter struct
member causes ambiguity.
This change will be reverted to be addressed by renaming the variable.
Reverts llvm/llvm-project#140294
Commit: 8229f72b7b357ab9cd2b0a7a47356b16a47269ce
https://github.com/llvm/llvm-project/commit/8229f72b7b357ab9cd2b0a7a47356b16a47269ce
Author: google-yfyang <yfyang at google.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
Add "maybe_unused" to variable only used in assert (#142049)
Commit: 882e7331c4ba5582d3881b7bb93c0952e601336b
https://github.com/llvm/llvm-project/commit/882e7331c4ba5582d3881b7bb93c0952e601336b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[AST] Fix a warning
This patch fixes:
clang/lib/AST/ByteCode/InterpBuiltin.cpp:767:12: error: unused
variable 'PtrT' [-Werror,-Wunused-variable]
Commit: fe40f97afe9f62456f42cb88e683e653513cf519
https://github.com/llvm/llvm-project/commit/fe40f97afe9f62456f42cb88e683e653513cf519
Author: Lang Hames <lhames at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/Generic/all-load-multifile-archive-with-duplicate-member-filenames.test
M llvm/test/ExecutionEngine/JITLink/Generic/all-load-multifile-archive.test
Log Message:
-----------
[JITLink] Disable the all-load- tests on Windows/arm64.
We don't have a JITLink Windows/arm64 backend yet, so disable these tests
there.
Commit: f9073e7e62ff30def5f0d6bea6b2fb1d7ca35853
https://github.com/llvm/llvm-project/commit/f9073e7e62ff30def5f0d6bea6b2fb1d7ca35853
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/lib/Basic/NoSanitizeList.cpp
M clang/test/CodeGen/ubsan-type-ignorelist-category-2.test
Log Message:
-----------
[UBSan] Move type:*=sanitize handling. (#142006)
As discussed in https://github.com/llvm/llvm-project/issues/139128, this
PR moves =sanitize handling from `ASTContext::isTypeIgnoredBySanitizer`
to `NoSanitizeList::containsType`.
Before this PR: "=sanitize" has priority regardless of the order
After this PR: If multiple entries match the source, than the latest
entry takes the precedence.
Commit: cda1853622a9d26574f13be8d233a95ce96ba947
https://github.com/llvm/llvm-project/commit/cda1853622a9d26574f13be8d233a95ce96ba947
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M clang/lib/Parse/ParsePragma.cpp
R clang/test/Sema/Inputs/builtin-system-header.h
R clang/test/Sema/builtin-pragma-intrinsic.c
Log Message:
-----------
Revert "[clang][Sema] Declare builtins used in #pragma intrinsic" (#141994)
Reverts llvm/llvm-project#138205
Breaks Chrome.
Commit: fc1484b30e016bb229ad5618d359a21b47686862
https://github.com/llvm/llvm-project/commit/fc1484b30e016bb229ad5618d359a21b47686862
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Fix build for 5fe9aea6d128a8569e27f8c66272e481f10c61ae (#142065)
Commit: 5d86fb7d9deb14a416efa759cf82b123b881e88a
https://github.com/llvm/llvm-project/commit/5d86fb7d9deb14a416efa759cf82b123b881e88a
Author: David Blaikie <dblaikie at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Object/RelocationResolver.cpp
Log Message:
-----------
Revert "[Object] Handle SHT_CREL relocation sections when resolving relocation data" (#142068)
Reverts llvm/llvm-project#141843
The test case relies on clang, which LLVM test cases can't use.
Commit: b5530225b1327a8471b119fd098af4e617861843
https://github.com/llvm/llvm-project/commit/b5530225b1327a8471b119fd098af4e617861843
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M lldb/include/lldb/Interpreter/OptionValueFormatEntity.h
Log Message:
-----------
[lldb] Remove dead code and redundant comments (NFC)
Commit: 65c127f4c6b0da0e9bf1d49fc79fce9074e95264
https://github.com/llvm/llvm-project/commit/65c127f4c6b0da0e9bf1d49fc79fce9074e95264
Author: Kewen12 <Kewen.Meng at amd.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/Object/RelocationResolver.cpp
Log Message:
-----------
Revert "Revert "[Object] Handle SHT_CREL relocation sections when resolving relocation data"" (#142075)
Reverts llvm/llvm-project#142068
This PR breaks several buildbots. e.g
https://lab.llvm.org/buildbot/#/builders/10/builds/6340
Commit: 587d6fcbb685e3a57803110695a1996ac895d8b8
https://github.com/llvm/llvm-project/commit/587d6fcbb685e3a57803110695a1996ac895d8b8
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M mlir/lib/Analysis/SliceAnalysis.cpp
Log Message:
-----------
[mlir] Recover the behavior of SliceAnaylsis for llvm-project at 6a8dde04a07 (#142076)
In
https://github.com/llvm/llvm-project/commit/6a8dde04a07287f837bbabeb93e23e47af366d3d,
it changes the method to return LogicalFailure, so callers can handle
the failure instead of crashing, if I read the intention correctly.
However, it changes the behavior of the implementation; it breaks
several integratino tests in downstream projects (e.g., IREE).
Before the change, processValue does not treat it as a failure if the
check below TODO has a false condition. However, with the new change, it
starts treating it as a failure.
The revision updates the final `else` branch (i.e., `llvm_unreachable`
line) to return a failure, and return success at the end; the behavior
is recovered.
```cpp
auto processValue = [&](Value value) {
if (auto *definingOp = value.getDefiningOp()) {
if (backwardSlice->count(definingOp) == 0)
getBackwardSliceImpl(definingOp, backwardSlice, options);
} else if (auto blockArg = dyn_cast<BlockArgument>(value)) {
if (options.omitBlockArguments)
return;
Block *block = blockArg.getOwner();
Operation *parentOp = block->getParentOp();
// TODO: determine whether we want to recurse backward into the other
// blocks of parentOp, which are not technically backward unless they flow
// into us. For now, just bail.
if (parentOp && backwardSlice->count(parentOp) == 0) {
assert(parentOp->getNumRegions() == 1 &&
llvm::hasSingleElement(parentOp->getRegion(0).getBlocks()));
getBackwardSliceImpl(parentOp, backwardSlice, options);
}
} else {
llvm_unreachable("No definingOp and not a block argument.");
}
```
No additional tests are added, like the previous commit. This revision
is mostly a post-fix for
https://github.com/llvm/llvm-project/commit/6a8dde04a07287f837bbabeb93e23e47af366d3d
Co-authored-by: Ian Wood <ianwood2024 at u.northwestern.edu>
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: c9022a29b4d3c0c7b82c1ae795405c238a14bde1
https://github.com/llvm/llvm-project/commit/c9022a29b4d3c0c7b82c1ae795405c238a14bde1
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/AArch64/veneer-lld-abs.s
Log Message:
-----------
[BOLT][AArch64] Detect veneers with missing data markers (#142069)
The linker may omit data markers for long absolute veneers causing BOLT
to treat data as code. Detect such veneers and introduce data markers
artificially before BOLT's disassembler kicks in.
Commit: fbbae9ea2bd1c89e39deb62c8a2f549a33e51fae
https://github.com/llvm/llvm-project/commit/fbbae9ea2bd1c89e39deb62c8a2f549a33e51fae
Author: Weining Lu <luweining at loongson.cn>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/lib/Sema/SemaLoongArch.cpp
M clang/test/CodeGen/LoongArch/intrinsic-la32-error.c
M clang/test/CodeGen/LoongArch/intrinsic-la64-error.c
Log Message:
-----------
[LoongArch] Only report the first range error if there is actually more than one for __builtin_loongarch_cacop_[wd]
Other builtins do the same. Align with them.
Commit: bfd7024b0d665de02abbfc7b16f593020d2c12c9
https://github.com/llvm/llvm-project/commit/bfd7024b0d665de02abbfc7b16f593020d2c12c9
Author: Aly ElAshram <71949028+AlyElashram at users.noreply.github.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCArchitectures.cmake
A libc/config/darwin/aarch64/entrypoints.txt
A libc/config/darwin/aarch64/headers.txt
R libc/config/darwin/arm/entrypoints.txt
R libc/config/darwin/arm/headers.txt
A libc/src/__support/OSUtil/darwin/aarch64/CMakeLists.txt
A libc/src/__support/OSUtil/darwin/aarch64/syscall.h
R libc/src/__support/OSUtil/darwin/arm/CMakeLists.txt
R libc/src/__support/OSUtil/darwin/arm/syscall.h
M libc/src/__support/OSUtil/darwin/syscall.h
Log Message:
-----------
[LibC] Refactor arm64 to aarch64 for darwin. (#141509)
Fixes [#141505](https://github.com/llvm/llvm-project/issues/141505)
The main intention behind this PR is to update the
LibCTargetArchitecture for arm64 to use the implementation of aarch64
architecture and not arm32.
This is a historical issue , and is a blocker to issue #138407.
The intended fix is to set the `LibCTargetArchitecture` to aarch64 when
it matches arm64 , this in turn would help us run darwin/aarch64
specific code on our MacOs pipeline in the git actions.
Methods used to search and find "darwin/arm" directories was
1. "find . -type d -path "*/libc/*/darwin/arm" in a linux terminal to
check for arm specifically
2. "find . -type d -path "*/libc/*/darwin/*" to ensure there are no
directories that are named "*arm*" where star is a wildcard for any
character.
Commit: f5d3470d425f9ee99436bfdc0c1ae1ce03bab385
https://github.com/llvm/llvm-project/commit/f5d3470d425f9ee99436bfdc0c1ae1ce03bab385
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Lower/OpenMP/task-depend-structure-component.f90
R flang/test/Semantics/OpenMP/depend02.f90
Log Message:
-----------
[flang][OpenMP] Allow structure component in `task depend` clauses (#141923)
Even though the spec (version 5.2) prohibits strcuture components from
being specified in `depend` clauses, this restriction is not sensible.
This PR rectifies the issue by lifting that restriction and allowing
structure components in `depend` clauses (which is allowed by OpenMP
6.0).
Commit: 7454098a9ed46ca5ad310bf3ec9347eb08eba007
https://github.com/llvm/llvm-project/commit/7454098a9ed46ca5ad310bf3ec9347eb08eba007
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M mlir/docs/Tutorials/UnderstandingTheIRStructure.md
M mlir/include/mlir/IR/Value.h
M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/IR/Value.cpp
M mlir/test/lib/IR/TestPrintDefUse.cpp
M mlir/unittests/IR/CMakeLists.txt
A mlir/unittests/IR/ValueTest.cpp
Log Message:
-----------
[mlir][Value] Add getNumUses, hasNUses, and hasNUsesOrMore to Value (#142084)
We already have hasOneUse. Like llvm::Value we provide helper methods to
query the number of uses of a Value. Add unittests for Value, because
that was missing.
---------
Co-authored-by: Michael Maitland <michaelmaitland at meta.com>
Commit: 6cb087a7256c04cc8fc783159ff6e4de69908632
https://github.com/llvm/llvm-project/commit/6cb087a7256c04cc8fc783159ff6e4de69908632
Author: Sebastian Kreutzer <SebastianKreutzer at gmx.net>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M llvm/lib/CodeGen/XRayInstrumentation.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/xray-tail-call-sled.ll
Log Message:
-----------
[XRay] Fix tail call sleds for AArch64 (#141403)
This addresses issue #141051.
XRay uses a special event kind for tail calls on some architectures.
This feature is implemented on AArch64, but wasn't fully activated.
Tests in `llvm/test/CodeGen/AArch64/xray-tail-call-sled.ll` were
incomplete and did not check for the emitted sled type.
This patch correctly enables emission of tail call sleds on AArch64 and
fixes the tests to check the sled kind.
Commit: 3609e09aa7ee03ee529e1c4cba0931027d674d8c
https://github.com/llvm/llvm-project/commit/3609e09aa7ee03ee529e1c4cba0931027d674d8c
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaCXX/member-pointer.cpp
Log Message:
-----------
[clang] member pointer class qualification fix (#142081)
This fixes a regression introduced in
https://github.com/llvm/llvm-project/pull/130537,
which was reported here:
https://github.com/llvm/llvm-project/pull/132401#issuecomment-2839690599
When deducing member pointers class, ignore top level qualifiers on the
argument side, since the class portion of a member pointer is a
nested-name-specifier, and these just nominate an entity.
Qualifiers on the parameter side are fine since deduction allows the
parameter side to be more qualified, and these qualifiers won't be part
of the result.
Since this regression was never released, there are no release notes.
Commit: 6b81483e28145910e0fa39667fd1f2bf840d8a55
https://github.com/llvm/llvm-project/commit/6b81483e28145910e0fa39667fd1f2bf840d8a55
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
A llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-unsupported-errors.ll
Log Message:
-----------
AMDGPU: Start using LLVMContext errors in buffer fat pointer lowering (#142014)
Avoid using report_fatal_error. Many more uses that should be converted
in the pass remain.
Commit: a227b26d3553e091561a9006867a85eef0f24c19
https://github.com/llvm/llvm-project/commit/a227b26d3553e091561a9006867a85eef0f24c19
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/nullptr-long-address-spaces.ll
Log Message:
-----------
AMDGPU: Fix broken XFAILed test for fat pointer null initializers (#142015)
This was failing on the buffer fat pointer lowering error in the
addrspace(7) case, not the expected asm printer breakage. Also remove
the attempt at FileChecking the result, since that is dependent on the
actual fix and we want the unexpected pass whenever the assert is fixed.
Commit: 33be70af9f2446e8562517ca6120d0dabc2e2f07
https://github.com/llvm/llvm-project/commit/33be70af9f2446e8562517ca6120d0dabc2e2f07
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/NewGVN.cpp
A llvm/test/Transforms/NewGVN/s-barrier-compile-issue.ll
Log Message:
-----------
[NewGVN] Check intrinsic ID before accessing operands (#141571)
This patch is fixing assertions in downstream tests
Commit: 72a3c7610b4f97b43d5cd30f1d5b95bad5e77640
https://github.com/llvm/llvm-project/commit/72a3c7610b4f97b43d5cd30f1d5b95bad5e77640
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsSubtarget.cpp
M llvm/lib/Target/X86/X86Subtarget.cpp
M llvm/test/CodeGen/Mips/cpus-no-mips64.ll
M llvm/test/CodeGen/X86/cpus-amd-no-x86_64.ll
M llvm/test/CodeGen/X86/cpus-intel-no-x86_64.ll
M llvm/test/CodeGen/X86/cpus-no-x86_64.ll
Log Message:
-----------
Mips/X86: Use reportFatalUsageError for subtarget construction errors (#142028)
Commit: 36b710a7e5c3bb382425c49d65400bc4adf5d1af
https://github.com/llvm/llvm-project/commit/36b710a7e5c3bb382425c49d65400bc4adf5d1af
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/LiveVariables.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/test/CodeGen/AArch64/fast-isel-sp-adjust.ll
M llvm/test/CodeGen/Generic/llc-start-stop-instance-errors.ll
M llvm/test/CodeGen/Generic/llc-start-stop.ll
M llvm/test/CodeGen/Generic/opt-codegen-no-target-machine.ll
M llvm/test/CodeGen/Mips/Fast-ISel/double-arg.ll
M llvm/test/CodeGen/Mips/Fast-ISel/fast-isel-softfloat-lower-args.ll
M llvm/test/CodeGen/X86/fast-isel-args-fail2.ll
Log Message:
-----------
CodeGen: Convert some assorted errors to use reportFatalUsageError (#142031)
The test coverage is lacking for many of these errors.
Commit: ccb55713db9e457b45945d924b8a177075211b03
https://github.com/llvm/llvm-project/commit/ccb55713db9e457b45945d924b8a177075211b03
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/test/tools/llvm-readobj/COFF/arm64-many-epilogs.s
M llvm/test/tools/llvm-readobj/COFF/arm64-win-error2.s
M llvm/tools/llvm-readobj/ARMWinEHPrinter.cpp
Log Message:
-----------
llvm-readobj: Use reportFatalUsageError (#142039)
Commit: 1e81e800508fbec5bdd394754e6005af536aa2f3
https://github.com/llvm/llvm-project/commit/1e81e800508fbec5bdd394754e6005af536aa2f3
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/IR/SymbolTableListTraits.h
Log Message:
-----------
[IR] Avoid UB in `SymbolTableListTraits` (#139096)
This patch fixes the "dereferencing null" UB. Unfortunately, C++ doesn't
provide an inverse operation for `p->*pmf`.
See also https://github.com/llvm/llvm-project/pull/130952.
Commit: e4ed71818e913426f52acbcc1d1f4a1d414d4a2b
https://github.com/llvm/llvm-project/commit/e4ed71818e913426f52acbcc1d1f4a1d414d4a2b
Author: Akash Agrawal <quic_akashag at quicinc.com>
Date: 2025-05-29 (Thu, 29 May 2025)
Changed paths:
M lldb/source/API/SBInstruction.cpp
M lldb/source/API/SBPlatform.cpp
M lldb/source/Core/Telemetry.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/HexagonDYLDRendezvous.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/Process/FreeBSDKernel/ThreadFreeBSDKernel.cpp
M lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Target/ScriptedThreadPlan.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/tools/debugserver/source/RNBRemote.cpp
Log Message:
-----------
[LLDB] [NFC] - Remove duplicate #include headers from the files of lldb dir & few other files (#141478)
A few files of lldb dir & few other files had duplicate headers
included. This patch removes those redundancies.
---------
Co-authored-by: Akash Agrawal <akashag at qti.qualcomm.com>
Commit: 7b96272bd991adb51240151c779be23a023227c1
https://github.com/llvm/llvm-project/commit/7b96272bd991adb51240151c779be23a023227c1
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
A lldb/test/API/lang/cpp/decl-from-submodule/Makefile
A lldb/test/API/lang/cpp/decl-from-submodule/TestDeclFromSubmodule.py
A lldb/test/API/lang/cpp/decl-from-submodule/TopLevel/module1.h
A lldb/test/API/lang/cpp/decl-from-submodule/TopLevel/module2.h
A lldb/test/API/lang/cpp/decl-from-submodule/main.cpp
A lldb/test/API/lang/cpp/decl-from-submodule/module.modulemap
Log Message:
-----------
[lldb][SymbolFileDWARF] Fall back to using parent DW_AT_LLVM_include_path for submodules (#142044)
Inferred submodule declarations are emitted in DWARF as `DW_TAG_module`s
without `DW_AT_LLVM_include_path`s. Instead the parent DIE will have the
include path. This patch adds support for such setups. Without this, the
`ClangModulesDeclVendor` would fail to `AddModule` the submodules (i.e.,
compile and load the submodules). This would cause errors such as:
```
note: error: Header search couldn't locate module 'TopLevel'
```
The test added here also tests
https://github.com/llvm/llvm-project/pull/141220. Without that patch
we'd fail with:
```
note: error: No module map file in /Users/jonas/Git/llvm-worktrees/llvm-project/lldb/test/API/lang/cpp/decl-from-submodule
```
Unfortunately the embedded clang instance doesn't allow us to use the
decls we find in the modules. But we'll try to fix that in a separate
patch.
rdar://151022173
Commit: 4cce1e77074bf6d4a044ca894f988e3a8d63ef1c
https://github.com/llvm/llvm-project/commit/4cce1e77074bf6d4a044ca894f988e3a8d63ef1c
Author: David Green <david.green at arm.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
A llvm/test/CodeGen/AArch64/i128_with_overflow.ll
Log Message:
-----------
[AArch64] Add some i128 add/sub/mul with overflow tests. NFC
Commit: 87fd352d910889a9ada9085de9d141d8820a0f61
https://github.com/llvm/llvm-project/commit/87fd352d910889a9ada9085de9d141d8820a0f61
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/minmax-fp.ll
Log Message:
-----------
[InstCombine] Use `canIgnoreSignBitOfZero` in `spf->minmax` fold (#141914)
Alive2: https://alive2.llvm.org/ce/z/dCZBB_
Fix remaining regressions caused by https://github.com/llvm/llvm-project/pull/141010.
Commit: 2e82a17f4e71a833cc3ca4a832bd14a5ef537616
https://github.com/llvm/llvm-project/commit/2e82a17f4e71a833cc3ca4a832bd14a5ef537616
Author: Michael Tyler Maitland <michaelmaitland at meta.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M mlir/unittests/IR/ValueTest.cpp
Log Message:
-----------
[mlir][value] Fix the ASAN error introduced in #142084
Commit: d490526a81586c7b2fe674ce520276570c9881e2
https://github.com/llvm/llvm-project/commit/d490526a81586c7b2fe674ce520276570c9881e2
Author: fleeting-xx <bakerdt at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang-tools-extra/clangd/ModulesBuilder.cpp
A clang-tools-extra/clangd/test/module_dependencies.test
M clang-tools-extra/clangd/test/modules.test
Log Message:
-----------
[clangd] [Modules] Fixes to correctly handle module dependencies (#142090)
Simple module import dependencies, see
[module_dependencies.test](https://github.com/llvm/llvm-project/compare/main...fleeting-xx:llvm-project:fix_clangd_dependent_modules#diff-5510681cbe5b7ed3a72c5e683184e83fa66e911e9abb0e6670b01b87b3ca7b1a),
were not being correctly handled due to a couple of issues.
- The `MDB.getRequiredModules()` call returned a
`std::vector<std::string>` and all `StringRefs` were to entries in that
temporary value. So the `StringRef` elements in
`getAllRequiredModules()`'s return value were bound to values that went
out of scope.
- `ModulesBuilder::ModulesBuilderImpl::getOrBuildModuleFile()` was
iterating over each module dependency name, but only using the original
module name and path for various checks and module compilation.
In addition to fixing the above issues I added support for Windows paths
in modules.test and added a new unit test, module_dependencies.test,
which demonstrates the failure in the previous state and works correctly
after the fixes have been applied.
Please let me know if I've missed anything.
Co-authored-by: Dan Baker <dan at requires.coffee>
Commit: aa7d7b3e4a30d414c7e66278bfee24cdbf4223a6
https://github.com/llvm/llvm-project/commit/aa7d7b3e4a30d414c7e66278bfee24cdbf4223a6
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/IR/SymbolTableListTraits.h
Log Message:
-----------
Revert "[IR] Avoid UB in `SymbolTableListTraits`" (#142093)
Reverts llvm/llvm-project#139096 due to invalid uses of `offsetof` on
non-standard-layout types.
Commit: df712f588c621981633e28b6a0ed70c280cbccb6
https://github.com/llvm/llvm-project/commit/df712f588c621981633e28b6a0ed70c280cbccb6
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[github/CODEOWNERS] Add paschalis-mpeis as BOLT reviewer (#141961)
Commit: b71255705bab3bba231c045a9fd101df438a7a72
https://github.com/llvm/llvm-project/commit/b71255705bab3bba231c045a9fd101df438a7a72
Author: Ksar <hcwenyc at hotmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M libcxx/include/__iterator/iterator_traits.h
M libcxx/test/std/containers/associative/map/map.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct.verify.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/deduct.verify.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct.verify.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/deduct.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/deduct.verify.cpp
M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/deduct.pass.cpp
M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/deduct.verify.cpp
M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/deduct.pass.cpp
M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/deduct.verify.cpp
Log Message:
-----------
[libc++] P2165R4: Update deduction guides for map containers and container adaptors (#136011)
Fixes #135351
This PR update CATD guides to associative containers (`std::map`,
`std::multimap`, `std::unordered_map`, `std::unordered_multimap`,
`std::flat_map`, `std::flat_multimap`).
- Updated template alias for deduction guides for the relevant
associative containers.
- Added a new test to verify the deduction guides with `std::map`,
`std::multimap`, `std::unordered_map`, `std::unordered_multimap`,
`std::flat_map`, `std::flat_multimap`.
Commit: c7b8d6e1dcb0a277f95496cbc6bb27143afb80a6
https://github.com/llvm/llvm-project/commit/c7b8d6e1dcb0a277f95496cbc6bb27143afb80a6
Author: Wenju He <wenju.he at intel.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/unittests/Tooling/ToolingTest.cpp
Log Message:
-----------
[Clang] Add resource_dir_EQ flag to CC1Option group (#140870)
This PR fixes ClangTool error in -cc1 mode in function
injectResourceDir:
error: unknown argument: '-resource-dir=
Commit: 417e43ad43d706c8a932adf702a55de97e65fb37
https://github.com/llvm/llvm-project/commit/417e43ad43d706c8a932adf702a55de97e65fb37
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Set PhiTy once in adjustRecipesForReductions (NFC).
Commit: 37edd2c1c32bf7599af28b96ae5adf909e96fc58
https://github.com/llvm/llvm-project/commit/37edd2c1c32bf7599af28b96ae5adf909e96fc58
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/avx512-vbroadcasti128.ll
Log Message:
-----------
[X86] combineEXTRACT_SUBVECTOR - generalize extract_subvector(broadcast(x),c) fold with IsElementEquivalent (#141963)
Instead of matching the broadcast nodes directly, let IsElementEquivalent handle it to allow BITCAST handling, which we already have with IsElementEquivalent
Commit: 1b1f498835f664cf2e112008edc6c956462e81c0
https://github.com/llvm/llvm-project/commit/1b1f498835f664cf2e112008edc6c956462e81c0
Author: nerix <nerixdev at outlook.de>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M lldb/test/Shell/helper/build.py
Log Message:
-----------
[LLDB] Pass `/std:...` before `--` on MSVC (#141782)
>From https://github.com/llvm/llvm-project/pull/140761. `MsvcBuilder`
passed `/std:<value>` (if specified) after `--`, so the compiler would
interpret this as a file. This moves the argument before the `--`.
Commit: 8422c3df637b5129f5412088be9eb8fbdf08b3a4
https://github.com/llvm/llvm-project/commit/8422c3df637b5129f5412088be9eb8fbdf08b3a4
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/test/ThinLTO/X86/cfi-devirt.ll
M llvm/test/Transforms/LowerTypeTests/aarch64-jumptable.ll
M llvm/test/Transforms/LowerTypeTests/function-thumb-bti.ll
M llvm/test/Transforms/LowerTypeTests/import.ll
M llvm/test/Transforms/LowerTypeTests/simple.ll
M llvm/test/Transforms/LowerTypeTests/simplify.ll
M llvm/test/Transforms/MergeFunc/cfi-thunk-merging.ll
Log Message:
-----------
[LowerTypeTests] Generate fshr for rotate pattern (#141735)
The canonical representation for a rotate right is fshr with two equal
arguments, so generate that instead of a lshr/shl/or sequence.
Commit: 85f791d9cdcba8a91382a889a51f1521aaad9dfa
https://github.com/llvm/llvm-project/commit/85f791d9cdcba8a91382a889a51f1521aaad9dfa
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
R mlir/test/Dialect/Linalg/vectorization-pad-patterns.mlir
R mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
R mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
R mlir/test/Dialect/Linalg/vectorization.mlir
A mlir/test/Dialect/Linalg/vectorization/convolution-with-patterns-flatten.mlir
A mlir/test/Dialect/Linalg/vectorization/convolution-with-patterns.mlir
A mlir/test/Dialect/Linalg/vectorization/convolution.mlir
A mlir/test/Dialect/Linalg/vectorization/linalg-ops-with-patterns.mlir
A mlir/test/Dialect/Linalg/vectorization/linalg-ops.mlir
A mlir/test/Dialect/Linalg/vectorization/pad-patterns.mlir
A mlir/test/Dialect/Linalg/vectorization/unsupported.mlir
R mlir/test/Dialect/Linalg/vectorize-conv-masked-and-scalable.mlir
R mlir/test/Dialect/Linalg/vectorize-convolution-flatten.mlir
R mlir/test/Dialect/Linalg/vectorize-convolution.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-padtensor.mlir
Log Message:
-----------
[mlir][linalg][nfc] Move vectorization tests (#141656)
Moves all the remaining Linalg vectorization tests from:
* `mlir/tests/Dialect/Linalg/*`
to:
* `mlir/tests/Dialect/Linalg/vectorization/*`
To maintain consistency within tests, `vectorize-convolution.mlir`
was updated to use:
* `transform.structured.vectorize_children_and_apply_patterns`
instead of:
* `-test-linalg-transform-patterns=test-linalg-to-vector-patterns`
This change required minor updates to some `CHECK` lines, reflecting
only reordering of ops due to an additional pattern being applied.
Closes #141025
Commit: 114192f586f70d1f7ac91da88061e39524c98ca3
https://github.com/llvm/llvm-project/commit/114192f586f70d1f7ac91da88061e39524c98ca3
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
M lldb/test/API/tools/lldb-dap/console/TestDAP_redirection_to_console.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
Log Message:
-----------
Revert "[lldb-dap] Test Gardening, improving DebugCommunication. (#141689)"
This reverts commit 8a49db35f45e56c92522c6079e51553e80c07aec.
Due to failures on Arm and AArch64 Linux:
https://lab.llvm.org/buildbot/#/builders/59/builds/18540
https://lab.llvm.org/buildbot/#/builders/18/builds/16759
File "/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/llvm-project/lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py", line 22, in assertEvaluateFailure
self.assertNotIn(
AssertionError: 'result' unexpectedly found in {'memoryReference': '0xFFFFF7CB3060', 'result': '0x0000000000000000', 'type': 'int *', 'variablesReference': 7}
FAIL: test_generic_evaluate_expressions (TestDAP_evaluate.TestDAP_evaluate)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/llvm-project/lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py", line 228, in test_generic_evaluate_expressions
self.run_test_evaluate_expressions(enableAutoVariableSummaries=False)
File "/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/llvm-project/lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py", line 117, in run_test_evaluate_expressions
self.assertEvaluateFailure("list") # local variable of a_function
File "/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/llvm-project/lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py", line 22, in assertEvaluateFailure
self.assertNotIn(
AssertionError: 'result' unexpectedly found in {'memoryReference': '0xFFFFF7CB3060', 'result': '0x0000000000000000', 'type': 'int *', 'variablesReference': 7}
Config=aarch64-/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang
The second one is because our bots have the libc debug info package installed,
the first, no idea.
Commit: d9dc3575d364888c04fc806253ed5ec8a292fcd8
https://github.com/llvm/llvm-project/commit/d9dc3575d364888c04fc806253ed5ec8a292fcd8
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/lower-range-metadata-func-call.ll
Log Message:
-----------
[AArch64] Regenerate test checks (NFC)
Commit: 3f0a5305b483560275fa494d2c1b117c6ebe350a
https://github.com/llvm/llvm-project/commit/3f0a5305b483560275fa494d2c1b117c6ebe350a
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
Log Message:
-----------
[clang-format][NFC] Clean up AnnotatingParser::consumeToken() (#142104)
Commit: 5483190216cb0ff3b9f0e1a3ca901ad1b259ba82
https://github.com/llvm/llvm-project/commit/5483190216cb0ff3b9f0e1a3ca901ad1b259ba82
Author: Ying Chen <chenying at inchitech.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add shlcofideleg extension (#141572)
This is for `shlcofideleg` extension, that supports delegating LCOFI
interrupts to VS-mode.
Spec:
https://github.com/riscv/riscv-isa-manual/blob/main/src/hypervisor.adoc
Commit: ea096c98ae2c88ce9ba879be832caa8b254a348a
https://github.com/llvm/llvm-project/commit/ea096c98ae2c88ce9ba879be832caa8b254a348a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/AArch64/lower-range-metadata-func-call.ll
M llvm/test/CodeGen/X86/pr37063.ll
Log Message:
-----------
[SDAG] Remove noundef workaround for range metadata/attributes (#141745)
In https://reviews.llvm.org/D157685 I changed SDAG to only transfer
range metadata to SDAG if it also has !noundef. At the time, this was
necessary because SDAG incorrectly propagated poison when folding
logical and/or to bitwise and/or.
The root cause of that issue has since been addressed by
https://github.com/llvm/llvm-project/pull/84924, so drop the workaround
now.
Commit: 2a3afa2feb90844ad0f8b0bc57663e2aec06cd0a
https://github.com/llvm/llvm-project/commit/2a3afa2feb90844ad0f8b0bc57663e2aec06cd0a
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/include/clang/Basic/NoSanitizeList.h
M clang/lib/Basic/NoSanitizeList.cpp
Log Message:
-----------
[NoSanitizeList][NFI] Add containsPrefix to remove duplicated logics. (#142027)
See https://github.com/llvm/llvm-project/pull/142006 and
https://github.com/llvm/llvm-project/issues/139128
---------
Co-authored-by: Vitaly Buka <vitalybuka at google.com>
Commit: 7c996012ceee0997838e3246cce169652b0b6eb6
https://github.com/llvm/llvm-project/commit/7c996012ceee0997838e3246cce169652b0b6eb6
Author: Usha Gupta <usha.gupta at arm.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-concat.mir
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
Log Message:
-----------
[GlobalISel] Add G_CONCAT_VECTOR computeKnownBits (#141933)
Code ported from SelectionDAG::computeKnownBits.
Commit: 1f7885cf9c6801d11491c8c194c999f7223dd141
https://github.com/llvm/llvm-project/commit/1f7885cf9c6801d11491c8c194c999f7223dd141
Author: Lewis Crawford <lcrawford at nvidia.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstSimplify/disable_folding.ll
Log Message:
-----------
[ConstantFolding] Add flag to disable call folding (#140270)
Add an optional flag to disable constant-folding for function calls.
This applies to both intrinsics and libcalls.
This is not necessary in most cases, so is disabled by default, but in
cases that require bit-exact precision between the result from
constant-folding and run-time execution, having this flag can be useful,
and may help with debugging. Cases where mismatches can occur include
GPU execution vs host-side folding, cross-compilation scenarios, or
compilation vs execution environments with different math library
versions.
This applies only to calls, rather than all FP arithmetic. Methods such
as fast-math-flags can be used to limit reassociation, fma-fusion etc,
and basic arithmetic operations are precisely defined in IEEE 754.
However, other math operations such as sqrt, sin, pow etc. represented
by either libcalls or intrinsics are less well defined, and may vary
more between different architectures/library implementations.
As this option is not intended for most common use-cases, this patch
takes the more conservative approach of disabling constant-folding even
for operations like fmax, copysign, fabs etc. in order to keep the
implementation simple, rather than sprinkling checks for this flag
throughout.
The use-cases for this option are similar to StrictFP, but it is only
limited to FP call folding, rather than all FP operations, as it is
about precise arithmetic results, rather than FP environment behaviours.
It also can be used to when linking .bc files compiled with different
StrictFP settings with llvm-link.
Commit: 76bd5da3248fd4affedfefec3b2a3e1acbe0a94a
https://github.com/llvm/llvm-project/commit/76bd5da3248fd4affedfefec3b2a3e1acbe0a94a
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M lldb/test/API/commands/expression/import-std-module/array/TestArrayFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/deque-basic/TestDequeFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/TestDbgInfoContentDequeFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/forward_list-dbg-info-content/TestDbgInfoContentForwardListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/forward_list/TestForwardListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/iterator/TestIteratorFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/list-dbg-info-content/TestDbgInfoContentListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/list/TestListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/non-module-type-separation/TestNonModuleTypeSeparation.py
M lldb/test/API/commands/expression/import-std-module/shared_ptr-dbg-info-content/TestSharedPtrDbgInfoContentFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/shared_ptr/TestSharedPtrFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/TestDbgInfoContentVectorFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/weak_ptr-dbg-info-content/TestDbgInfoContentWeakPtrFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/weak_ptr/TestWeakPtrFromStdModule.py
Log Message:
-----------
[lldb][test] Skip import-std-module tests on Linux for now
Fixes https://github.com/llvm/llvm-project/issues/137046
Commit: c6893dc36e66d7666e7b5f0c67c03c6047a36d08
https://github.com/llvm/llvm-project/commit/c6893dc36e66d7666e7b5f0c67c03c6047a36d08
Author: Victor Lomuller <victor at codeplay.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
Log Message:
-----------
[clang][SPIRV] Fix build issue after c474f8f (#141954)
Remove unneeded default label which triggers a warning with
-Wcovered-switch-default
Commit: 67ff71305201bc6f9016ab46bda667729b50fff2
https://github.com/llvm/llvm-project/commit/67ff71305201bc6f9016ab46bda667729b50fff2
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/fminimumnum.ll
Log Message:
-----------
[NFC][LV] Remove incorrect comment about lack of support (#142126)
Commit: 10bd4cd9cd0f11f158c0fe276441c65ba6bca30a
https://github.com/llvm/llvm-project/commit/10bd4cd9cd0f11f158c0fe276441c65ba6bca30a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Remove ResumePhi opcode, use regular PHI instead (NFC). (#140405)
Use regular VPPhi instead of a separate opcode for resume phis. This
removes an unneeded specialized opcode and unifies the code
(verification, printing, updating when CFG is changed).
Depends on https://github.com/llvm/llvm-project/pull/140132.
PR: https://github.com/llvm/llvm-project/pull/140405
Commit: 4f392f9d0d07c1e414452badf412d6c612f182c2
https://github.com/llvm/llvm-project/commit/4f392f9d0d07c1e414452badf412d6c612f182c2
Author: Bushev Dmitry <111585886+dybv-sc at users.noreply.github.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/include/llvm/ADT/StringExtras.h
M llvm/unittests/ADT/StringExtrasTest.cpp
Log Message:
-----------
[ADT][bugfix] Fixed extra leading zero in uhextostr (#141097)
fixed bug: if fixed-width mode uhextostr() is used with value zero, it
prints extra '0' character.
Commit: af163a1c7f9d9c24521460a24b1d41a9b4b75ce8
https://github.com/llvm/llvm-project/commit/af163a1c7f9d9c24521460a24b1d41a9b4b75ce8
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M lldb/source/API/SBTarget.cpp
M lldb/source/Commands/CommandObjectDisassemble.cpp
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
Log Message:
-----------
[lldb][lldb-dap] Use the default disassembly flavour if none is provided. (#141424)
This is the currently the default for
`SBTarget::ReadInstructions(SBAddress, uint32_t)`. But not for others,
to make it consistent used the user assigned instruction flavour.
Commit: b222fa828432a6a0aeec6a58915a35e14d8a1c8d
https://github.com/llvm/llvm-project/commit/b222fa828432a6a0aeec6a58915a35e14d8a1c8d
Author: Nico Weber <thakis at chromium.org>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn] port c474f8f2404d (more SPIRV builtins)
Commit: 5c3bf36c996e0e8e1b6fcdd2fc116d3e5305df13
https://github.com/llvm/llvm-project/commit/5c3bf36c996e0e8e1b6fcdd2fc116d3e5305df13
Author: Yussur Mustafa Oraji <N00byKing at hotmail.de>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M flang/docs/Extensions.md
M flang/docs/Preprocessing.md
M flang/include/flang/Parser/preprocessor.h
M flang/lib/Parser/preprocessor.cpp
A flang/test/Preprocessing/counter.F90
Log Message:
-----------
[flang] Add __COUNTER__ preprocessor macro (#136827)
This commit adds support for the `__COUNTER__` preprocessor macro, which
works the same as the one found in clang.
It is useful to generate unique names at compile-time.
Commit: 4997bae20dc75bfdb24f72550e3c875aa9e93b59
https://github.com/llvm/llvm-project/commit/4997bae20dc75bfdb24f72550e3c875aa9e93b59
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ProfileData/BUILD.gn
Log Message:
-----------
[gn build] Port 7625d2e77cfd
Commit: b94fef1b5b2e5be4672edcb8bc6def208db234f2
https://github.com/llvm/llvm-project/commit/b94fef1b5b2e5be4672edcb8bc6def208db234f2
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-remarkutil/BUILD.gn
Log Message:
-----------
[gn build] Port cb647ec4f89f
Commit: 9b5dc1329a9de39cee18b91ecd193aabc5c4586d
https://github.com/llvm/llvm-project/commit/9b5dc1329a9de39cee18b91ecd193aabc5c4586d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn
Log Message:
-----------
[gn build] Port e74b45e0789a
Commit: 3745e051be6ff7c2464f775f06a71bee79eaf16f
https://github.com/llvm/llvm-project/commit/3745e051be6ff7c2464f775f06a71bee79eaf16f
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
Log Message:
-----------
[lldb] Fix Linux core file tests hanging on Windows (#142143)
After https://github.com/llvm/llvm-project/pull/141670, TestLinuxCore.py
was timing out on our Windows on Arm bot.
Non-Linux core files were ok, as were Linux core files unless it was
ppc64le, riscv64 or loongarch.
I eventually noticed that it was attempting to create PlatformLinux many
times before trying PlatformAndroid, PlatformMac etc., which it should
never need to do.
The tests passed on a Linux host too, to add to the mystery.
Turns out, all I needed to do was mark those architectures as supported
in the PlatformLinux constructor. If they're not listed there we get
stuck here:
```
// Wait for a stopped event since we just posted one above...
printf("waiting for process to stop...\n");
lldb::EventSP event_sp;
StateType state =
WaitForProcessToStop(std::nullopt, &event_sp, true, listener_sp,
nullptr, true, SelectMostRelevantFrame);
printf("process stopped\n");
```
Waiting for a stop event that never comes, because it appears we try to
treat the core as a real process?
```
DynamicLoaderPOSIXDYLD::virtual DynamicLoaderPOSIXDYLD::DidAttach pid 28147 executable '<null executable>', load_offset 0xffffffffffffffff
<...>
Process::ShouldBroadcastEvent (000002ABC43FF4A0) Restarting process from state: stopped
Process::PrivateResume() m_stop_id = 1, public state: unloaded private state: stopped
Process::PrivateResume() got an error "error: elf-core does not support resuming processes".
Process::ShouldBroadcastEvent (000002ABC43FF4A0) => new state: stopped, last broadcast state: invalid - NO
```
Some actionable feedback here would be nice, but all I care about for
now is that the tests run again.
I have not added riscv32 as that appears to only be supported for Darwin
at the moment (I expect someone will get burned by this when it is).
I think debug on these architectures worked if they were also the host
arch, if someone tried to remote debug them, I think it would have
failed.
Commit: 71ba85247499294f73c91ca39055cc6d40e8bc96
https://github.com/llvm/llvm-project/commit/71ba85247499294f73c91ca39055cc6d40e8bc96
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/test/tools/llvm-symbolizer/symbol-search.test
M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
Log Message:
-----------
[symbolizer] Address starting with a plus sign is valid. (#135857)
this is also the same behaviour in `gnu addr2line`.
The change only applies if the binary is llvm-addr2line
---------
Signed-off-by: Ebuka Ezike <yerimyah1 at gmail.com>
Commit: aaa9c19328b23319eb1b50789d9478f31dee09b1
https://github.com/llvm/llvm-project/commit/aaa9c19328b23319eb1b50789d9478f31dee09b1
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M lldb/include/lldb/Core/DemangledNameInfo.h
Log Message:
-----------
[LLDB] Remove redundant check in DemangledNameInfo::hasBasename (#142139)
Commit: 73d6a48029d61e8a26749cd9990108357b5318b1
https://github.com/llvm/llvm-project/commit/73d6a48029d61e8a26749cd9990108357b5318b1
Author: Aaron Puchert <aaron.puchert at sap.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/CodeGen/WinEHPrepare.cpp
Log Message:
-----------
[WinEH] Track changes in WinEHPrepare pass (#134121)
Before this change, the pass would always claim to have changed IR if
there is a scope-based personality function. We add some plumbing to
track if there was an actual change.
This should be NFC, except that we might now preserve more analysis
passes.
Commit: 99ae675fb7957f3eb8b65e9086dae4bbc722f221
https://github.com/llvm/llvm-project/commit/99ae675fb7957f3eb8b65e9086dae4bbc722f221
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
Log Message:
-----------
[NFC][OpenMP] Move the default declare mapper name suffix to OMPConstants.h (#141964)
This patch moves the default declare mapper name suffix
".omp.default.mapper" to the OMPConstants.h file to be used everywhere
for lowering.
Commit: ce9cef79ea3f1ee86e4dc674d4c05b2fa8b3c7a8
https://github.com/llvm/llvm-project/commit/ce9cef79ea3f1ee86e4dc674d4c05b2fa8b3c7a8
Author: Cameron McInally <cameron.mcinally at nyu.edu>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
A flang/test/Driver/prefer-vector-width.f90
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Target/LLVMIR/Import/prefer-vector-width.ll
A mlir/test/Target/LLVMIR/prefer-vector-width.mlir
Log Message:
-----------
[flang] Add support for -mprefer-vector-width=<value> (#142073)
This patch adds support for the -mprefer-vector-width= command line
option. The parsing of this options is equivalent to Clang's and it is
implemented by setting the "prefer-vector-width" function attribute.
Co-authored-by: Cameron McInally <cmcinally at nvidia.com>
Commit: f70e920c879340a484207bc4b321d8785860bc07
https://github.com/llvm/llvm-project/commit/f70e920c879340a484207bc4b321d8785860bc07
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/test/CodeGen/AMDGPU/frexp-constant-fold.ll
Log Message:
-----------
AMDGPU: Directly check if shrink-instructions run is post-RA (#142009)
Commit: 6d3b72aa6e98bccffbb3a02cbace314ccc7faa35
https://github.com/llvm/llvm-project/commit/6d3b72aa6e98bccffbb3a02cbace314ccc7faa35
Author: lntue <lntue at google.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/test/src/math/smoke/nan_test.cpp
M libc/test/src/math/smoke/nanf128_test.cpp
M libc/test/src/math/smoke/nanf16_test.cpp
M libc/test/src/math/smoke/nanf_test.cpp
M libc/test/src/math/smoke/nanl_test.cpp
M libc/test/src/stdfix/IdivTest.h
Log Message:
-----------
[libc] Pass config flags to unit tests. (#142085)
Commit: 4d650ef4b3d7a0f21f8681e73586d0319fc3953b
https://github.com/llvm/llvm-project/commit/4d650ef4b3d7a0f21f8681e73586d0319fc3953b
Author: Acthink Yang <yangzhh at mail.ustc.edu.cn>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Sema/builtins-elementwise-math.c
Log Message:
-----------
[Sema] Fix type mismatch error when arguments to elementwise math builtin have different qualifiers, which should be well-formed (#141485)
Fixes #141397
Element-wise math builtins (e.g.
__builtin_elementwise_max/__builtin_elementwise_pow etc.) fail when
their arguments have different qualifications, but should be
well-formed. The fix is to use hasSameUnqualifiedType to check if the
arguments match.
Commit: d27a210a77af63568db9f829702b4b2c98473a46
https://github.com/llvm/llvm-project/commit/d27a210a77af63568db9f829702b4b2c98473a46
Author: FYK <fanyikang at bosc.ac.cn>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/ProfileList.h
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/ProfileList.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/test/Driver/flang-f-opts.f90
A flang/test/Profile/Inputs/gcc-flag-compatibility_IR.proftext
A flang/test/Profile/Inputs/gcc-flag-compatibility_IR_entry.proftext
A flang/test/Profile/gcc-flag-compatibility.f90
M llvm/include/llvm/Frontend/Driver/CodeGenOptions.h
M llvm/lib/Frontend/Driver/CodeGenOptions.cpp
Log Message:
-----------
Add IR Profile-Guided Optimization (IR PGO) support to the Flang compiler (#136098)
This patch implements IR-based Profile-Guided Optimization support in
Flang through the following flags:
- `-fprofile-generate` for instrumentation-based profile generation
- `-fprofile-use=<dir>/file` for profile-guided optimization
Resolves #74216 (implements IR PGO support phase)
**Key changes:**
- Frontend flag handling aligned with Clang/GCC semantics
- Instrumentation hooks into LLVM PGO infrastructure
- LIT tests verifying:
- Instrumentation metadata generation
- Profile loading from specified path
- Branch weight attribution (IR checks)
**Tests:**
- Added gcc-flag-compatibility.f90 test module verifying:
- Flag parsing boundary conditions
- IR-level profile annotation consistency
- Profile input path normalization rules
- SPEC2006 benchmark results will be shared in comments
For details on LLVM's PGO framework, refer to [Clang PGO
Documentation](https://clang.llvm.org/docs/UsersManual.html#profile-guided-optimization).
This implementation was developed by [XSCC Compiler
Team](https://github.com/orgs/OpenXiangShan/teams/xscc).
---------
Co-authored-by: ict-ql <168183727+ict-ql at users.noreply.github.com>
Co-authored-by: Tom Eccles <t at freedommail.info>
Commit: 7a66b28fcafdb7546aedeca1271e66438ad04127
https://github.com/llvm/llvm-project/commit/7a66b28fcafdb7546aedeca1271e66438ad04127
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M lldb/test/API/lang/cpp/decl-from-submodule/TestDeclFromSubmodule.py
Log Message:
-----------
[lldb][test] Disable DeclFromSubmodule test on Windows
Or more precisely, when linking with link.exe, but Windows
is our closest proxy for that right now.
This test requires the DWARF info to work, on the Windows on Arm
buildbot it fails:
```
AssertionError: Ran command:
"expr func(1, 2)"
Got output:
error: <user expression 0>:1:1: use of undeclared identifier 'func'
1 | func(1, 2)
| ^~~~
Expecting start string: "error: <user expression 0>:1:1: 'func' has unknown return type" (was not found)
```
Commit: f88a9a32d9957bd0cd1877676447c822741f495a
https://github.com/llvm/llvm-project/commit/f88a9a32d9957bd0cd1877676447c822741f495a
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/ashr.v2i16.ll
M llvm/test/CodeGen/AMDGPU/dagcomb-mullohi.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-range-metadata-sign-bits.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/mul_int24.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/shift-i128.ll
M llvm/test/CodeGen/AMDGPU/sign_extend.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
Log Message:
-----------
[AMDGPU] Extend SRA i64 simplification for shift amts in range [33:62] (#138913)
Extend sra i64 simplification to shift constants in range [33:62]. Shift
amounts 32 and 63 were already handled.
New testing for shift amts 33 and 62 added in sra.ll. Changes to other
test files were to adapt previous test results to this extension.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: e00366dcde294b420ae9decf5ac5d85463fd274f
https://github.com/llvm/llvm-project/commit/e00366dcde294b420ae9decf5ac5d85463fd274f
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-csel.ll
M llvm/test/CodeGen/AArch64/check-sign-bit-before-extension.ll
M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
M llvm/test/CodeGen/AArch64/csel-subs-swapped.ll
M llvm/test/CodeGen/AArch64/logical_shifted_reg.ll
M llvm/test/CodeGen/AArch64/select-constant-xor.ll
M llvm/test/CodeGen/AArch64/signbit-shift.ll
M llvm/test/CodeGen/AArch64/signbit-test.ll
M llvm/test/CodeGen/AArch64/typepromotion-signed.ll
M llvm/test/CodeGen/AArch64/use-cr-result-of-dom-icmp-st.ll
M llvm/test/CodeGen/AArch64/win64_vararg.ll
Log Message:
-----------
[AArch64] Check for negative numbers when adjusting icmps (#141151)
This relies on the fact that we can use tst and ands for comparisons as
by emitComparison.
Also has mitigations for when comparing with -1 and 1 to avoid
regressions.
Fixes: https://github.com/llvm/llvm-project/issues/141137
Commit: 597340b5b666bdee2887f56c111407b6737cbf34
https://github.com/llvm/llvm-project/commit/597340b5b666bdee2887f56c111407b6737cbf34
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/ProfileList.h
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/ProfileList.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/test/Driver/flang-f-opts.f90
R flang/test/Profile/Inputs/gcc-flag-compatibility_IR.proftext
R flang/test/Profile/Inputs/gcc-flag-compatibility_IR_entry.proftext
R flang/test/Profile/gcc-flag-compatibility.f90
M llvm/include/llvm/Frontend/Driver/CodeGenOptions.h
M llvm/lib/Frontend/Driver/CodeGenOptions.cpp
Log Message:
-----------
Revert "Add IR Profile-Guided Optimization (IR PGO) support to the Flang compiler" (#142159)
Reverts llvm/llvm-project#136098
Commit: 5208f722d80c9033ed9b5de86e6302f452f4ceca
https://github.com/llvm/llvm-project/commit/5208f722d80c9033ed9b5de86e6302f452f4ceca
Author: Daniil Fukalov <dfukalov at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
Log Message:
-----------
[AMDGPU] Fix SIFoldOperandsImpl::canUseImmWithOpSel() for VOP3 packed [B]F16 imms. (#142142)
VOP3 instructions ignore opsel source modifiers, so a constant that
contains two different [B]F16 imms cannot be encoded into instruction
with an src opsel.
E.g. without the fix the following instructions
`s_mov_b32 s0, 0x40003c00 // <half 1.0, half 2.0>`
`v_cvt_scalef32_pk_fp8_f16 v0, s0, v2`
lose `2.0` imm and are folded into
`v_cvt_scalef32_pk_fp8_f16 v1, 1.0, 1.0`
Fixes SWDEV-531672
Commit: c46927f86829b9df45458f718b9df23501646caa
https://github.com/llvm/llvm-project/commit/c46927f86829b9df45458f718b9df23501646caa
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvqdotq.ll
Log Message:
-----------
[RISCV] Precommit test coverage for partial_reduce_sumla
Precommit tests for 141267. Found another bug in the process around
lowering .vx nodes, so fixme's included for that as well.
Commit: e4ef651695e5274df0abc0f596b3404007094052
https://github.com/llvm/llvm-project/commit/e4ef651695e5274df0abc0f596b3404007094052
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Simplify VPReductionPHIRecipe::execute (NFC).
Simplify VPReductionPHIRecipe::execute by handling the simple cases
first, by directly using State.get() to the appropriate start value.
Commit: 5301f4c469de1cd410dbc2fc953ead14296d4eb0
https://github.com/llvm/llvm-project/commit/5301f4c469de1cd410dbc2fc953ead14296d4eb0
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_file.cpp
A compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_fail.cpp
M compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp
Log Message:
-----------
[Sanitizer] Use % patterns in report paths (#141820)
Support `%` patterns in sanitizer report paths, similar to the patterns
supported in IRPGO
https://github.com/llvm/llvm-project/blob/4bf67cdf026478c4bc3e708153c02f82e2c22524/compiler-rt/lib/profile/InstrProfilingFile.c#L999-L1017
* `%%` becomes `%`
* `%H` expands to the environment variable `HOME`
* `%t` expands to the environment variable `TMPDIR`
* `%p` expands to the process ID (PID)
In particular, the `%H` pattern is useful to resolve the home directory
at runtime, which is not possible before this PR.
Also, avoid using `Report()` before the report path has been set.
Commit: 7f34d3acbac3df2bceb5f6450413706bde38908c
https://github.com/llvm/llvm-project/commit/7f34d3acbac3df2bceb5f6450413706bde38908c
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/test/CodeGen/DirectX/BufferLoad.ll
A llvm/test/CodeGen/DirectX/BufferLoadDouble.ll
M llvm/test/CodeGen/DirectX/BufferStore.ll
A llvm/test/CodeGen/DirectX/BufferStoreDouble.ll
Log Message:
-----------
[DirectX] Add support for typedBufferLoad and Store for RWBuffer<double2> and RWBuffer<double> (#139996)
typedBufferLoad of double/double2 is expanded to a typedBufferLoad of a
<2 x i32>/<4 x i32> and asdouble
typedBufferStore of a double/double2 is expanded to a splitdouble and a
typedBufferStore of a <2 x i32>/<4 x i32>
Add tests showing result of intrinsic expansion for typedBufferLoad and
typedBufferStore
Add tests showing dxil op lowering can handle typedBufferLoad and
typedBufferStore where the target type doesn't match the typedBufferLoad
and typedBufferStore type
Closes #104423
Commit: ccb6b0dafda22360edea8dbf515f78db3c31e807
https://github.com/llvm/llvm-project/commit/ccb6b0dafda22360edea8dbf515f78db3c31e807
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/lib/Sema/SemaStmt.cpp
Log Message:
-----------
[clang][NFC] Move Diags.isIgnored check later in checkForRedundantLoop (#141470)
... Iteration.
The `isIgnored()` check is more expensive than the earlier checks, so
move it last.
Commit: f8d3bdf6a2720b68a32c4588d5a2a8840fc882d3
https://github.com/llvm/llvm-project/commit/f8d3bdf6a2720b68a32c4588d5a2a8840fc882d3
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
A llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-wwm.ll
A llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-wwm.mir
Log Message:
-----------
[AMDGPU] Fix SIFixSGPRCopies handling of STRICT_WWM and friends (#142122)
SIFixSGPRCopies handled STRICT_WWM (and similar WWM/WQM pseudos) like a
COPY. In particular, if the source was a VGPR and the result was an
SGPR, lowerVGPR2SGPRCopies would replace it with a readfirstlane,
erasing the original pseudo and hence sabotaging the WWM region marking
which is supposed to be performed by SIWholeQuadMode.
Fix this by handling it more like INSERT_SUBREG, PHI and REG_SEQUENCE:
if the source is a VGPR then move the result to a VGPR, and keep the
pseudo.
Commit: 45218e01d69ecb6428afcff19c9dde2cc792cdd6
https://github.com/llvm/llvm-project/commit/45218e01d69ecb6428afcff19c9dde2cc792cdd6
Author: Devon Loehr <DKLoehr at users.noreply.github.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
Log Message:
-----------
[NFC] Tweak docs for unique-object-duplication warning (#142158)
This improves the documentation for the unique-object-duplication
warning. It clarifies the conditions for the warning to fire, provides
clearer instructions on how to resolve it, and adjusts wording to be
more precise.
Commit: 6a47241c9983c46d805034821f04c34a475a254f
https://github.com/llvm/llvm-project/commit/6a47241c9983c46d805034821f04c34a475a254f
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/docs/SanitizerSpecialCaseList.rst
Log Message:
-----------
[Doc][NFC] Fix a typo in SanitizerSpecialCaseList doc. (#142168)
Commit: c5a17e6bea679f7c84dbdd412432f126e03f328e
https://github.com/llvm/llvm-project/commit/c5a17e6bea679f7c84dbdd412432f126e03f328e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAGCombiner] Use APInt::isSubsetOf. NFC (#142029)
Commit: ee0ccb7824bc50db074d1394338cf116825ddc5f
https://github.com/llvm/llvm-project/commit/ee0ccb7824bc50db074d1394338cf116825ddc5f
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/docs/SanitizerSpecialCaseList.rst
Log Message:
-----------
Revert "[Doc][NFC] Fix a typo in SanitizerSpecialCaseList doc." (#142180)
Reverts llvm/llvm-project#142168
Commit: 1a1927abd3c6c7b45b036ca1f06f1ca0421ef68e
https://github.com/llvm/llvm-project/commit/1a1927abd3c6c7b45b036ca1f06f1ca0421ef68e
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Add release note about ELF `thread siginfo` and negative SI Codes. (#141631)
Adding a release note about adding `thread siginfo` support to
`ThreadELFCore` and expanding Linux signals to understand user space
signals.
Commit: c66dbbe385561a349ec854e545bbab395ec6dcf8
https://github.com/llvm/llvm-project/commit/c66dbbe385561a349ec854e545bbab395ec6dcf8
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/test/SemaOpenACC/combined-construct-copy-clause.c
M clang/test/SemaOpenACC/combined-construct-copyin-clause.c
M clang/test/SemaOpenACC/combined-construct-copyout-clause.c
M clang/test/SemaOpenACC/combined-construct-create-clause.c
M clang/test/SemaOpenACC/compute-construct-copy-clause.c
M clang/test/SemaOpenACC/compute-construct-copyin-clause.c
M clang/test/SemaOpenACC/compute-construct-copyout-clause.c
M clang/test/SemaOpenACC/compute-construct-create-clause.c
M clang/test/SemaOpenACC/data-construct-copy-clause.c
M clang/test/SemaOpenACC/data-construct-copyin-clause.c
M clang/test/SemaOpenACC/data-construct-copyout-clause.c
M clang/test/SemaOpenACC/data-construct-create-clause.c
M clang/test/SemaOpenACC/declare-construct.cpp
Log Message:
-----------
[OpenACC] Implement 'capture' modifier Sema/AST
The 'capture' modifier is an OpenACC 3.3NEXT (AKA 3.4) feature, which
permits a new kind of identifying the memory location of variables in a
data clause. However, it is only valid on data, combined, or compute
constructs.
This patch implements all of the proper restrictions.
Commit: d16ecad968244ca42ce09cb3199dea1ec994b211
https://github.com/llvm/llvm-project/commit/d16ecad968244ca42ce09cb3199dea1ec994b211
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/test/Fir/struct-passing-x86-64-byval.fir
M flang/test/Fir/target-rewrite-complex-10-x86.fir
M flang/test/Fir/target.fir
Log Message:
-----------
[flang] Disable noalias by default (#142128)
With these enabled we see a 70% performance regression for exchange2_r
on neoverse-v1 (aws graviton 3) using `-mcpu=native -Ofast -flto`. There
is also a smaller regression on neoverse-v2.
This appears to be because function specialization is no longer kicking
in during LTO for digits_2. This can be seen in the output executable:
previously it contained specialized copies of the function with names
like `_QMbrute_forcePdigits_2.specialized.4`. Now there are no names
like this.
The bug is not in flang - instead in the function specialization pass -
but due to the size of the regression I would like to request that this
is disabled until function specialization has been fixed.
Commit: 12bd04951054f3b7a4c604d84820ba809b67cedb
https://github.com/llvm/llvm-project/commit/12bd04951054f3b7a4c604d84820ba809b67cedb
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sve-fixed-length-partial-reduce.ll
Log Message:
-----------
[AArch64] Enable fixed-length vector support for partial-reductions (#142032)
This enables the use of the [us]dot, [us]add[wt] and [us]mlal[bt]
instructions in Streaming mode, and for wider vectors when the runtime
vector length is known to be 256bits or larger.
Commit: ed71a4ff646f53036e06f378755a67ef275c754c
https://github.com/llvm/llvm-project/commit/ed71a4ff646f53036e06f378755a67ef275c754c
Author: Dudeldu <mustermann.informatik at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/calls.ll
M llvm/test/CodeGen/RISCV/calls.ll
Log Message:
-----------
[RISCV][GISel] Use the correct calling convention during call lowering (#142148)
Commit: 07ce57ffcbc626f74adace6ae0bebf64a4326406
https://github.com/llvm/llvm-project/commit/07ce57ffcbc626f74adace6ae0bebf64a4326406
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILForwardHandleAccesses.cpp
M llvm/test/CodeGen/DirectX/ForwardHandleAccesses/buffer-O0.ll
M llvm/test/CodeGen/DirectX/ForwardHandleAccesses/cbuffer-access.ll
Log Message:
-----------
[DirectX] Add support for implicit binding to DXILForwardHandleAccesses pass (#142061)
Since the `DXILResourceImplicitBinding` pass has been moved after `DXILForwardHandleAccesses` pass the forward-handle pass needs to handle `llvm.dx.resource.handlefromimplicitbinding` calls as well.
Commit: a236dc63bf467edeae07c96a9157cf57570fb5ba
https://github.com/llvm/llvm-project/commit/a236dc63bf467edeae07c96a9157cf57570fb5ba
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M mlir/docs/DeclarativeRewrites.md
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/IR/Constraints.td
M mlir/include/mlir/IR/Properties.td
M mlir/include/mlir/TableGen/Constraint.h
M mlir/lib/TableGen/Constraint.cpp
Log Message:
-----------
[mlir][NFC] Make Property a subclass of PropConstraint (#140848)
In preparation for allowing non-attribute properties in the declaritive
rewrite pattern system, make `Property` a subclass of `PropConstraint`
in tablegen and add a CK_Prop to the Constraint class for tablegen.
Like `TypeConstraint` but unlike other constraints, a `PropConstraint`
has an additional field - the C++ interface type of the property being
constraint (if it's known).
Commit: c87edaf99b18821e5278eb7b46b92cb67fc8d10c
https://github.com/llvm/llvm-project/commit/c87edaf99b18821e5278eb7b46b92cb67fc8d10c
Author: Alexey Karyakin <akaryaki at quicinc.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
A llvm/test/tools/llvm-objdump/ELF/Hexagon/truncated-inst.yaml
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[Hexagon][llvm-objdump] Fix crash at a truncated instruction (#142082)
Fixes #141740.
Co-authored-by: Alexey Karyakin <quic-akaryaki at quicinc.com>
Co-authored-by: Sudharsan Veeravalli <quic_svs at quicinc.com>
Commit: 665148d5e169762fe53a1bcb09b91aff7f8b89f7
https://github.com/llvm/llvm-project/commit/665148d5e169762fe53a1bcb09b91aff7f8b89f7
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M libcxx/test/libcxx/containers/container.adaptors/flat.multiset/insert_range.pass.cpp
M libcxx/test/libcxx/containers/container.adaptors/flat.set/insert_range.pass.cpp
M libcxx/test/libcxx/containers/container.adaptors/flat_helpers.h
Log Message:
-----------
[libc++][test] Fix test not relying on MinSequenceContainer (#140372)
The affected tests are relying on the fact that `MinSequenceContainer`
does not have `insert_range`. This prevents landing of #140287.
This PR creates a new helper class to allow the change in MinSequenceContainer.
Commit: 21123792b895109d70e69e4b39c6b95fc71bdb45
https://github.com/llvm/llvm-project/commit/21123792b895109d70e69e4b39c6b95fc71bdb45
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
A llvm/test/Transforms/InstCombine/or-bitmask.ll
Log Message:
-----------
Reland: [InstCombine] Combine and->cmp->sel->or-disjoint into and->mul (#142035)
Reland of https://github.com/llvm/llvm-project/pull/135274
The commit to land the original PR was blamelisted for two types of
failures:
https://lab.llvm.org/buildbot/#/builders/24/builds/8932
https://lab.llvm.org/buildbot/#/builders/198/builds/4844
The second of which seems to be unrelated to the PR and seemingly fixed
by
https://github.com/llvm/llvm-project/commit/6ee2453360e986c1258e83ce854919adf452b990
I've addressed the fix to the other issue with the latest commit in this
PR b24f4731aaeb753c9269dbd9926cc83c7456f98e . This is the only
difference between this PR and the previously accepted PR.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Co-authored-by: Yingwei Zheng <dtcxzyw at qq.com>
Commit: 294a182021c6a9f93e1eebd173abb7fb6d840fc5
https://github.com/llvm/llvm-project/commit/294a182021c6a9f93e1eebd173abb7fb6d840fc5
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
Log Message:
-----------
[CIR][NFC] Fix warning about unhandled type (#142059)
This change fixes a warning about an unhandled type in a switch
statement in CIRGenFunction::getEvaluationKind. It also moves two types
that were marked as NYI to the appropriate group.
Commit: 7114cfbd572bd887c2dafefb4bee3f12579dd089
https://github.com/llvm/llvm-project/commit/7114cfbd572bd887c2dafefb4bee3f12579dd089
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
Log Message:
-----------
[RISCV] Fix a warning
This patch fixes:
llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp:590:19: error:
unused variable 'F' [-Werror,-Wunused-variable]
Commit: d11f9d45e4fa872598e5ce61390d53c7901fdebf
https://github.com/llvm/llvm-project/commit/d11f9d45e4fa872598e5ce61390d53c7901fdebf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
Log Message:
-----------
AMDGPU: Avoid using kernels in f16 copysign test (#142113)
Avoid the memory noise in tests that predate function support.
Commit: c9cca5cdc407390f3faf9025eb62720d7b293960
https://github.com/llvm/llvm-project/commit/c9cca5cdc407390f3faf9025eb62720d7b293960
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/bf16.ll
A llvm/test/CodeGen/AMDGPU/fcopysign.bf16.ll
Log Message:
-----------
AMDGPU: Move bf16 copysign tests to separate file (#142114)
Make symmetric with other copysign tests
Commit: ba4f4a1a181590d532a760a5e3dd233aeadd4267
https://github.com/llvm/llvm-project/commit/ba4f4a1a181590d532a760a5e3dd233aeadd4267
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fcopysign.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
Log Message:
-----------
AMDGPU: Add more f16 copysign tests (#142115)
Commit: e39e99022a4bc3ed9bcafd25a28a7a4ad23832fb
https://github.com/llvm/llvm-project/commit/e39e99022a4bc3ed9bcafd25a28a7a4ad23832fb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/copysign-simplify-demanded-bits.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
Log Message:
-----------
AMDGPU: Handle vectors in copysign magnitude sign case (#142156)
Commit: 6a6aec6f4ed014bd11daf1cf29e225b43466b239
https://github.com/llvm/llvm-project/commit/6a6aec6f4ed014bd11daf1cf29e225b43466b239
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/fcopysign.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
Log Message:
-----------
AMDGPU: Handle vectors in copysign sign type combine (#142157)
This avoids some ugly codegen on pre-16-bit instruction targets now
from annoying f16 legalization effects. This also avoids regressions
on newer targets in a future patch.
Commit: 443cdd0b48b850b9f2d7cb93f9cc0ba8d5ac4827
https://github.com/llvm/llvm-project/commit/443cdd0b48b850b9f2d7cb93f9cc0ba8d5ac4827
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvqdotq.ll
M llvm/test/CodeGen/RISCV/rvv/zvqdotq-sdnode.ll
Log Message:
-----------
[RISCV] Fix a bug in partial.reduce lowering for zvqdotq .vx forms (#142185)
I'd missed a bitcast in the lowering. Unfortunately, that bitcast
happens to be semantically required here as the partial_reduce_* source
expects an i8 element type, but the pseudos and patterns expect an i32
element type.
This appears to only influence the .vx matching from the cases I've
found so far, and LV does not yet generate anything which will exercise
this. The reduce path (instead of the partial.reduce one) used by SLP
currently manually constructs the i32 value, and then goes directly to
the pseudo's with their i32 arguments, not the partial_reduce nodes.
We're basically loosing the .vx matching on this path until we teach
splat matching to be able to manually splat the i8 value into an i32 via
LUI/ADDI.
Commit: 8eb4ada181dc80e1c31c30c02e0bed6ca415047b
https://github.com/llvm/llvm-project/commit/8eb4ada181dc80e1c31c30c02e0bed6ca415047b
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-extractelement.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-insertelement.ll
Log Message:
-----------
[RISCV][TTI] Discount slide cost if ri.vinsert/ri.vextract are available (#142036)
If we have the ri.vinsert/vextract instructions from xrivosvisni, we can
do an element insert or extract without needing a vslide or a vector
temporary register. Adjust the TTI cost to reflect this.
Commit: 4dcfcd3a66847e2ed377efdefa22fea9b59a8285
https://github.com/llvm/llvm-project/commit/4dcfcd3a66847e2ed377efdefa22fea9b59a8285
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
A clang/test/CIR/IR/invalid-vector-shuffle-dyn-wrong-operands.cir
M clang/test/CIR/IR/vector.cir
Log Message:
-----------
[CIR] Upstream ShuffleDynamicOp for VectorType (#141411)
This change adds support for the Dynamic Shuffle op for VectorType
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 46b389218bf392b87fe9d375e4214a6faf470ec5
https://github.com/llvm/llvm-project/commit/46b389218bf392b87fe9d375e4214a6faf470ec5
Author: Folkert de Vries <flokkievids at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrVFP.td
M llvm/test/CodeGen/ARM/arm32-rounding.ll
M llvm/test/CodeGen/ARM/fp16-fullfp16.ll
M llvm/test/CodeGen/ARM/fp16-promote.ll
M llvm/test/CodeGen/ARM/vrint.ll
M llvm/test/CodeGen/Thumb2/bf16-instructions.ll
M llvm/test/CodeGen/Thumb2/float-intrinsics-double.ll
M llvm/test/CodeGen/Thumb2/float-intrinsics-float.ll
Log Message:
-----------
[ARM]: codegen `llvm.roundeven.v*` (#141786)
fixes https://github.com/llvm/llvm-project/issues/73588
The aarch64 version of `frintn.ll` notes the intention to auto-upgrade
`frintn` to `roundeven`. I haven't been able to figure out how to make
that happen though (either for arm or aarch64).
The original issue came up in
https://github.com/rust-lang/stdarch/pull/1807
Commit: f7e172da4caeab9d92f6e97501b1a2c561e616c1
https://github.com/llvm/llvm-project/commit/f7e172da4caeab9d92f6e97501b1a2c561e616c1
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M libcxxabi/src/demangle/cp-to-llvm.sh
A libcxxabi/test/DemangleTestCases.inc
M libcxxabi/test/test_demangle.pass.cpp
A llvm/include/llvm/Testing/Demangle/DemangleTestCases.inc
A llvm/include/llvm/Testing/Demangle/README.txt
Log Message:
-----------
[ItaniumDemangle][test] Factor demangler test-cases into file and sync into LLVM (#137947)
This patch turns the `libcxxabi/test/test_demangle.pass.cpp` into gtest
unit-tests in `llvm/unittests/Demangle`. The main motivation for this is
https://github.com/llvm/llvm-project/pull/137793, where we want to
re-use the test-cases from the ItaniumDemangler to test our OutputBuffer
implementation.
`libcxxabi/test/test_demangle.pass.cpp` now only tests the
`__cxa_demangle` API surface, not the underlying ItaniumDemangle
implementation.
Commit: c5f3018668efea156831feb24843e34e4602a8e6
https://github.com/llvm/llvm-project/commit/c5f3018668efea156831feb24843e34e4602a8e6
Author: Aviad Cohen <aviadcohen7 at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
M mlir/lib/IR/OperationSupport.cpp
M mlir/unittests/IR/OperationSupportTest.cpp
Log Message:
-----------
[mlir]: Added properties/attributes ignore flags to OperationEquivalence (#141664)
Those flags are useful for cases and operation which we may consider
equivalent even when their attributes/properties are not the same.
Commit: 9e9626b3d5aa56828b71b03d99bf3167fdfeb08d
https://github.com/llvm/llvm-project/commit/9e9626b3d5aa56828b71b03d99bf3167fdfeb08d
Author: nerix <nerixdev at outlook.de>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
A lldb/test/Shell/Process/Windows/msstl_smoke.cpp
Log Message:
-----------
[LLDB] Avoid crashes when inspecting MSVC STL types (#140761)
When inspecting/printing types from MSVC's STL, LLDB would crash because
it assumes these types were from libstdc++. Specifically,
`std::shared_ptr` and `std::optional` would crash because of a null
pointer dereference. I added a minimal test that tests the types with
C++ helpers for libstdc++ (only tests for crashes).
- Fixes #115216
- Fixes #120310
This still has one unresolved discussion: What about MS STL types? This
is https://github.com/llvm/llvm-project/issues/24834, but there was a
bit of discussion in #120310 as well. The main issue is that MSVC's STL
uses the same type names as libstdc++ (i.e. neither uses an inline
namespace like libc++ for some types).
Commit: 03d1f3d7e34d3420b8ddafa7e6df0c1d8ad13c41
https://github.com/llvm/llvm-project/commit/03d1f3d7e34d3420b8ddafa7e6df0c1d8ad13c41
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M lldb/include/lldb/Expression/DiagnosticManager.h
M lldb/include/lldb/Symbol/VariableList.h
Log Message:
-----------
[lldb][nfc] Fix missing move operations and constness of methods (#142052)
This PR adds the missing move operators for VariableList: this class is
just a wrapper around a vector, so it can use the default move
operations. Subsequent patches will want to return VariableLists from
functions, so the move operation is required (the copy constructors are
deleted).
It also fixes constness for a method in DiagnosticManager returning its
list of diagnostics. Previously, the method always returned a const
list, even though the method was not const itself. Subsequent patches
will make use of the ability to mutate the diagnostics.
Commit: d4791f56f31e54d66e606e783ba21b99346caf7c
https://github.com/llvm/llvm-project/commit/d4791f56f31e54d66e606e783ba21b99346caf7c
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wcsspn.cpp
A libc/src/wchar/wcsspn.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wcsspn_test.cpp
Log Message:
-----------
[libc] wcsspn implementation (#142034)
Implemented wcsspn as well as tests for the function.
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 986f519d1f7606dd4ac374d467c79f7dfa36c00a
https://github.com/llvm/llvm-project/commit/986f519d1f7606dd4ac374d467c79f7dfa36c00a
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp
Log Message:
-----------
[Sanitizer][test] Emit to stderr to fix android (#142207)
This test is broken on android by
https://github.com/llvm/llvm-project/pull/141820
https://lab.llvm.org/buildbot/#/builders/186/builds/9498
> FileCheck error: '' is empty.
I suspect that on android printf only works if its emitted to stderr
because this use to work
https://github.com/llvm/llvm-project/blob/a2ce5647200ad40ae356affd44db7d054de444d2/compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp#L21-L22
Only emit to stderr and see if that fixes the test.
Commit: 8eadbea8e3aac52608880f0e0ae64e8403f2609f
https://github.com/llvm/llvm-project/commit/8eadbea8e3aac52608880f0e0ae64e8403f2609f
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/lib/Target/DirectX/DXILPostOptimizationValidation.cpp
A llvm/test/CodeGen/DirectX/Binding/binding-overlap-1.ll
A llvm/test/CodeGen/DirectX/Binding/binding-overlap-2.ll
A llvm/test/CodeGen/DirectX/Binding/binding-overlap-3.ll
A llvm/test/CodeGen/DirectX/Binding/binding-overlap-4.ll
A llvm/test/CodeGen/DirectX/Binding/binding-overlap-5.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll
Log Message:
-----------
[HLSL] Diagnose overlapping resource bindings (#140982)
Adds reporting of overlapping binding errors to `DXILPostOptimizationValidation` pass. Only runs when `DXILResourceBindingAnalysis` detects that there is a resource binding that overlaps while it is building up a map of available register spaces.
Fixes #110723
Commit: 9bd63b1dc79d40945664daf3a462da099f9b2870
https://github.com/llvm/llvm-project/commit/9bd63b1dc79d40945664daf3a462da099f9b2870
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
Log Message:
-----------
[HLSL][RootSignature] Add parsing of remaining enums to StaticSampler (#140305)
- defines in-memory reprsentation of `comparisonFunc` and `borderColor`
- defines parsing of the `ComparisonFunc` and `StaticBorderColor` enum
- integrates parsing of these number parameters with their respective
`parseComparisonFunc` and `parseStaticBorderColor`
- adds basic unit tests to demonstrate setting functionality
Part 6 of https://github.com/llvm/llvm-project/issues/126574
Commit: 7a80a8b2bc9136e5c6254eef68230a9b56b35779
https://github.com/llvm/llvm-project/commit/7a80a8b2bc9136e5c6254eef68230a9b56b35779
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
Log Message:
-----------
[lldb] Remove some dead code in TypeSystemClang (NFC) (#142056)
Commit: ff94ba613e2fab918d5d96c57833ee3f6e3f3015
https://github.com/llvm/llvm-project/commit/ff94ba613e2fab918d5d96c57833ee3f6e3f3015
Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
A clang-tools-extra/test/clang-doc/invalid-options.cpp
Log Message:
-----------
[clang-doc] Refactor error handling to use ExitOnError (#141699)
This patch refactors the clang-doc tool to replace manual error handling
(e.g., checking error codes and calling exit()) with llvm::ExitOnError.
Fixes #140085
Commit: 397fdb172a515f5cd75aa6bf9ef530ac6eb4dd25
https://github.com/llvm/llvm-project/commit/397fdb172a515f5cd75aa6bf9ef530ac6eb4dd25
Author: DeanSturtevant1 <dsturtevant at google.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
Enclose code in nondebug in #ifndef NDEBUG/#endif (#142189)
A previous change to InterpBuiltin.cpp fixed an unused variable warning
by using [[maybe unused]] and (void).
The code actually serves no useful purpose in non-debug builds, so let's
not include it there.
Commit: 0e90a846d6dd48c0097ade8e0fa2221a8a6aef6c
https://github.com/llvm/llvm-project/commit/0e90a846d6dd48c0097ade8e0fa2221a8a6aef6c
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Interfaces/CIROpInterfaces.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/namespace.cpp
M clang/test/CIR/CodeGen/string-literals.c
M clang/test/CIR/CodeGen/struct.c
M clang/test/CIR/CodeGen/struct.cpp
M clang/test/CIR/CodeGen/union.c
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/IR/array.cir
M clang/test/CIR/IR/global-var-linkage.cir
M clang/test/CIR/IR/global.cir
M clang/test/CIR/Lowering/array.cpp
M clang/test/CIR/Lowering/global-var-simple.cpp
M clang/test/CIR/Lowering/hello.c
M clang/test/CIR/global-var-linkage.cpp
M clang/test/CIR/global-var-simple.cpp
Log Message:
-----------
[CIR] Add support for global linkage and visibility (#141973)
This change adds support for the CIRGlobalValueInterface and attributes
for visibility and comdat to GlobalOp.
The comdat attribute isn't correctly calculated yet, but it was required
for the CIRGlobalValueInterface interface. There are also some cases
where dso_local isn't set correctly, but it is better than it was before
this change. Those issues will be addressed in a future patch.
Commit: d721d4e280391d36b72d513c18ca04c6e0c03a1a
https://github.com/llvm/llvm-project/commit/d721d4e280391d36b72d513c18ca04c6e0c03a1a
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wcspbrk.cpp
A libc/src/wchar/wcspbrk.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wcspbrk_test.cpp
Log Message:
-----------
[libc] Implemented wcspbrk (#142040)
Implemented wcspbrk and added tests
Commit: 459de736a0753e12d8a7a557e5b9d7da93ef7a57
https://github.com/llvm/llvm-project/commit/459de736a0753e12d8a7a557e5b9d7da93ef7a57
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
Log Message:
-----------
[CIR] Upstream converting vector types (#142012)
This change adds support for ConvertVectorExpr to convert between vector
types with the same size
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 513c1cdfaaa3432dc4674a2d3be3dcaec2b4343e
https://github.com/llvm/llvm-project/commit/513c1cdfaaa3432dc4674a2d3be3dcaec2b4343e
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
A lldb/test/Shell/Register/Core/Inputs/tkill.cpp
A lldb/test/Shell/Register/Core/Inputs/x86-64-linux-tkill.core
A lldb/test/Shell/Register/Core/x86-64-linux-tkill.test
Log Message:
-----------
[LLDB][Platform Linux] Flip uid and pid in get signal description (#142200)
Despite a great review from @labath, I accidentally landed the signal
with the UID and PID properties flipped. I was actually trying to write
tests for this feature when I discovered it.
This fixes that bug, and add a shell test that runs only on Nix systems.
Commit: 66a357f2a4526986547ce6a5b01374b7ff928f62
https://github.com/llvm/llvm-project/commit/66a357f2a4526986547ce6a5b01374b7ff928f62
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M mlir/include/mlir/TableGen/CodeGenHelpers.h
M mlir/include/mlir/TableGen/Property.h
M mlir/lib/TableGen/CodeGenHelpers.cpp
M mlir/lib/TableGen/Property.cpp
M mlir/test/mlir-tblgen/op-properties-predicates.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir] Unique property constraints where possible (#140849)
Now that `Property` is a `PropConstraint`, hook it up to the same
constraint-uniquing machinery that other types of constraints use. This
will primarily save on code size for types, like enums, that have
inherent constraints which are shared across many operations.
Commit: 226d06ba43903ee0d8d941d053a2c320cd006a21
https://github.com/llvm/llvm-project/commit/226d06ba43903ee0d8d941d053a2c320cd006a21
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wmemcpy.cpp
A libc/src/wchar/wmemcpy.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wmemcpy_test.cpp
Log Message:
-----------
[libc] wmemcpy implementation (#142070)
Implemented wmemcpy and tests for the function.
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 9bf6b2a8cb0467b62173659306e43a0346f063a2
https://github.com/llvm/llvm-project/commit/9bf6b2a8cb0467b62173659306e43a0346f063a2
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/CodeGen/AMDGPU/aa-as-infer.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/basic.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/mem-intrinsics.ll
M llvm/test/Transforms/OpenMP/barrier_removal.ll
M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
Log Message:
-----------
[AMDGPU] Make `getAssumedAddrSpace` return AS1 for pointer kernel arguments (#137488)
Commit: a004c703bcf7a563415ca872c98a415edda36e6e
https://github.com/llvm/llvm-project/commit/a004c703bcf7a563415ca872c98a415edda36e6e
Author: xur-llvm <59886942+xur-llvm at users.noreply.github.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
A llvm/test/Transforms/PGOProfile/entry_alloca.ll
M llvm/test/Transforms/PGOProfile/split-indirectbr-critical-edges.ll
Log Message:
-----------
[PGO] Make the PGO instrumentation insert point after alloca (#142043)
We're changing PGO instrumentation to insert the intrinsic after alloca
instructions. For sampled instrumentation, a conditional check is placed
before the intrinsic. If this intrinsic comes before an alloca, the
alloca (whose size might be unknown due to Phi node) becomes
conditional, resulting in inefficient code. We have seen some stack
overflows due to this.
This patch guarantees the intrinsic is always after the alloca.
Commit: 4a7b53f04021d957db65248deafbfd71e333bc54
https://github.com/llvm/llvm-project/commit/4a7b53f04021d957db65248deafbfd71e333bc54
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Fix a warning
This patch fixes:
llvm/lib/Target/RISCV/RISCVISelLowering.cpp:8411:7: error: unused
variable 'ArgVT' [-Werror,-Wunused-variable]
Commit: 328f40f408c218f25695ea42c844e43bef38660b
https://github.com/llvm/llvm-project/commit/328f40f408c218f25695ea42c844e43bef38660b
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M libc/src/wchar/CMakeLists.txt
M libc/src/wchar/wmemcmp.cpp
M libc/test/src/wchar/wmemcmp_test.cpp
Log Message:
-----------
[libc] wmemcmp nullptr handling (#142058)
Added nullptr handling for wmemcmp
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 0a75d8e4330b4fba670c48c942adcc5a5891eba3
https://github.com/llvm/llvm-project/commit/0a75d8e4330b4fba670c48c942adcc5a5891eba3
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
Log Message:
-----------
[FIX] Fix a test update by mistake
Commit: b4b3be7faaa1ededdacef679074d59aff8bbc9a2
https://github.com/llvm/llvm-project/commit/b4b3be7faaa1ededdacef679074d59aff8bbc9a2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/RISCV/pr142004.ll
Log Message:
-----------
[DAGCombiner] Teach SearchForAndLoads to handle an AND with 2 constant operands. (#142062)
If opaque constants are involved we can have an AND with 2 constant
operands that hasn't been simplified. If this is the case, we need
to modify at least one of the constants if it is out of range.
Fixes #142004
Commit: 94dfe875b01655cf2f1777973906da6ae0d96e7a
https://github.com/llvm/llvm-project/commit/94dfe875b01655cf2f1777973906da6ae0d96e7a
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/test/CIR/CodeGen/struct.cpp
Log Message:
-----------
[CIR] Enable support for nested struct members in C++ (#142205)
This enables us to compile C++ code with nested structures. The
necessary support for this was already in place, but we were hitting an
NYI error in a place where the implementation only needed to check for
base classes. Base classes really aren't implemented yet, so the error
is left in place but it is now behind a check for a non-zero number of
bases so that the simple case is unblocked.
Commit: f1886b1d6d439a2b1adeb6ccdfe157532eed69e1
https://github.com/llvm/llvm-project/commit/f1886b1d6d439a2b1adeb6ccdfe157532eed69e1
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang-tools-extra/test/CMakeLists.txt
Log Message:
-----------
[cmake][clang-tools] Make split-file a dependency for tests (#142048)
clang-doc uses split-file in some tests. We didn't notice the missing
dep, since its always built before clang-tools-extra tests run in CI.
Commit: 5047a33cd8bb6207fd55cbd684b4ae25b48baa6a
https://github.com/llvm/llvm-project/commit/5047a33cd8bb6207fd55cbd684b4ae25b48baa6a
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M bolt/docs/Heatmaps.md
M bolt/include/bolt/Profile/Heatmap.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/Heatmap.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/test/X86/heatmap-preagg.test
M bolt/tools/heatmap/heatmap.cpp
Log Message:
-----------
[BOLT][heatmap] Produce zoomed-out heatmaps (#140153)
Add a capability to produce multiple heatmaps with given bucket sizes.
The default heatmap block size (64B) could be too fine-grained for
large binaries. Extend the option `block-size` to accept a list of
bucket sizes for additional heatmaps with coarser granularity. The
heatmap is simply rescaled so provided sizes should be multiples of
each other. Human-readable suffixes can be used, e.g. 4K, 16kb, 1MiB.
New defaults: 64B (base bucket size), 4KB (default page size),
256KB (for large binaries).
Test Plan: updated heatmap-preagg.test
Commit: a080c741bc2c013919e7445d108fd532f12549b1
https://github.com/llvm/llvm-project/commit/a080c741bc2c013919e7445d108fd532f12549b1
Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M lldb/cmake/modules/LLDBConfig.cmake
Log Message:
-----------
[lldb] Add build option to specify the libxml 2 version (#142183)
The Swift Windows toolchain uses its own static build of libxml 2, which
is more recent than 2.8, resulting in the provided libxml 2 to be
rejected. This change allows to specify a custom version for libxml 2,
while defaulting to 2.8.
Commit: 339851e1402eb9d86c0c88f8cd0f5e711ceec578
https://github.com/llvm/llvm-project/commit/339851e1402eb9d86c0c88f8cd0f5e711ceec578
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M libc/include/wchar.yaml
Log Message:
-----------
[libc][obvious] Fixed wchar.yaml (#142238)
Changed __restricted to __restrict for wmemcpy.
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 1d338a0b9a0d325bb10cf5181afe73cbd4077d4e
https://github.com/llvm/llvm-project/commit/1d338a0b9a0d325bb10cf5181afe73cbd4077d4e
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/unittests/SandboxIR/RegionTest.cpp
Log Message:
-----------
Wrap ifndef NDEBUG around assertion-only code (#142227)
Otherwise we get unused variable warnings.
Commit: 9cdd33db169d0ba9853f2c9538cb15ec4b506793
https://github.com/llvm/llvm-project/commit/9cdd33db169d0ba9853f2c9538cb15ec4b506793
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/test/CodeGenHLSL/RootSignature.hlsl
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
M llvm/lib/Frontend/HLSL/HLSLRootSignature.cpp
Log Message:
-----------
[HLSL][RootSignature] Metadata generation of RootFlags, RootConstants, RootDescriptors (#142010)
Implements metadata generation of a Root Signature from its in-memory
representation. It follows the same style as:
https://github.com/llvm/llvm-project/pull/139633.
This pr handles RootFlags, RootConstants and RootDescriptors.
The metadata follows the format described
[here](https://github.com/llvm/wg-hlsl/blob/main/proposals/0002-root-signature-in-clang.md#metadata-schema).
- Implement `BuildRoot[Flags|Constants|Descriptors]` into
`HLSLRootSignature.h`
- Add sample testcases demonstrating functionality
Note: there is no validation of metadata nodes as the
`llvm::hlsl::rootsig::RootElement` that generates it will have already
been validated.
First part of https://github.com/llvm/llvm-project/issues/126586.
Commit: 0996bfc663e870fb3a7820beccded553f4d5fc37
https://github.com/llvm/llvm-project/commit/0996bfc663e870fb3a7820beccded553f4d5fc37
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
Log Message:
-----------
[HLSL][RootSignature] Add space, visibility enums to StaticSampler (#140306)
- adds the `space` and `visibility` parameters to StaticSampler
- adds basic unit tests to demonstrate setting functionality
Part 7 and Resolves https://github.com/llvm/llvm-project/issues/126574
Commit: ab77a70a7441f52150694bddadcabd11f8d61533
https://github.com/llvm/llvm-project/commit/ab77a70a7441f52150694bddadcabd11f8d61533
Author: Aviad Cohen <aviadcohen7 at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M mlir/unittests/IR/OperationSupportTest.cpp
Log Message:
-----------
Fixed wrong check OperationEquivalenceTest.HashWorksWithFlags (#142210)
The check was meant to check `IgnoreProperties` works as expected but
operated on the wrong operation.
Co-authored-by: Aviad Cohen <aviad.cohen2 at mobileye.com>
Commit: 244638183826fc2945a254a3536178e961dfc218
https://github.com/llvm/llvm-project/commit/244638183826fc2945a254a3536178e961dfc218
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
Log Message:
-----------
Revert "[FIX] Fix a test update by mistake"
This reverts commit 0a75d8e4330b4fba670c48c942adcc5a5891eba3.
Commit: 3c6211c183885afb5d89259a53c4f4f46a6bf399
https://github.com/llvm/llvm-project/commit/3c6211c183885afb5d89259a53c4f4f46a6bf399
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/CodeGen/AMDGPU/aa-as-infer.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/basic.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/mem-intrinsics.ll
M llvm/test/Transforms/OpenMP/barrier_removal.ll
M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
Log Message:
-----------
Revert "[AMDGPU] Make `getAssumedAddrSpace` return AS1 for pointer kernel arguments (#137488)"
This reverts commit 9bf6b2a8cb0467b62173659306e43a0346f063a2.
Commit: 278ef84d2019f8200cf0959a50e1c44819c8bfeb
https://github.com/llvm/llvm-project/commit/278ef84d2019f8200cf0959a50e1c44819c8bfeb
Author: fleeting-xx <bakerdt at gmail.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M clang-tools-extra/clangd/ModulesBuilder.cpp
R clang-tools-extra/clangd/test/module_dependencies.test
M clang-tools-extra/clangd/test/modules.test
Log Message:
-----------
Revert "[clangd] [Modules] Fixes to correctly handle module dependencies" (#142162)
Commit: 84fd907aa7de2c35721ab6d1fd0d64d7c9345747
https://github.com/llvm/llvm-project/commit/84fd907aa7de2c35721ab6d1fd0d64d7c9345747
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/docs/CommandGuide/lit.rst
M llvm/utils/lit/lit/LitConfig.py
M llvm/utils/lit/lit/TestingConfig.py
M llvm/utils/lit/lit/cl_arguments.py
M llvm/utils/lit/lit/main.py
A llvm/utils/lit/tests/Inputs/max-retries-per-test/allow-retries-no-test_retry_attempts/lit.cfg
A llvm/utils/lit/tests/Inputs/max-retries-per-test/allow-retries-no-test_retry_attempts/test.py
A llvm/utils/lit/tests/Inputs/max-retries-per-test/allow-retries-test_retry_attempts/lit.cfg
A llvm/utils/lit/tests/Inputs/max-retries-per-test/allow-retries-test_retry_attempts/test.py
A llvm/utils/lit/tests/Inputs/max-retries-per-test/no-allow-retries-no-test_retry_attempts/lit.cfg
A llvm/utils/lit/tests/Inputs/max-retries-per-test/no-allow-retries-no-test_retry_attempts/test.py
A llvm/utils/lit/tests/Inputs/max-retries-per-test/no-allow-retries-test_retry_attempts/lit.cfg
A llvm/utils/lit/tests/Inputs/max-retries-per-test/no-allow-retries-test_retry_attempts/test.py
M llvm/utils/lit/tests/allow-retries.py
Log Message:
-----------
[lit] add --max-retries-per-test execution option (#141851)
When packaging LLVM we've seen arbitrary tests fail.
It happened sporadically and most of the times the test
do work if they are run a second time on the next day.
The tests themselves were always different and we didn't
know ahead of time which ones we wanted to re-run.
That's we filter-out a lot of `libomp` and `libarcher` tests [1].
This change allows us to set
`LIT_OPTS="--max-retries-per-test=12"`
when running any "check-XXX" build target. Then any lit test
will at most be re-run 12 times, unless there's an `ALLOW_RETRIES:`
in one of the test scripts that's specifying a different value
than `12`. `12` is just an example here, any positive integer
will work.
Please note, that this only adds the possibility to re-run
lit tests. It does not actually do it until the caller specifies
`--max-retries-per-test=<POSITIVE_INT>` either on a call to `lit` or
in `LIT_OPTS`.
Also note, that one can still use `ALLOW_RETRIES:` in test scripts
and it will always rule over `--max-retries-per-test`. When
`--max-retries-per-test` is set too low, but the
`config.test_retry_attempts`
is high enough, it works as well.
Any option in the list below overrules its predecessor:
* `--max-retries-per-test`
* `config.test_retry_attempts`
* `ALLOW_RETRIES` keyword
>From the above options to re-run tests, `--max-retries-per-test` is the
only one that doesn't require a change in the test scripts or the test
config.
[1]:
https://src.fedoraproject.org/rpms/llvm/blob/rawhide/f/llvm.spec#_2326
Downstream PR to make use of the `--max-retries-per-test` option:
https://src.fedoraproject.org/rpms/llvm/pull-request/434
Downstream ticket: https://issues.redhat.com/browse/LLVM-145
Commit: 4851886693f3fa8b083f49cc09a32659125b45a4
https://github.com/llvm/llvm-project/commit/4851886693f3fa8b083f49cc09a32659125b45a4
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Handle bit-field colon of non-numeric-constant size (#142110)
Fix #142050
Commit: 4efc13f8ff1eaf4f9fb1fcea8d4552b3eca052ca
https://github.com/llvm/llvm-project/commit/4efc13f8ff1eaf4f9fb1fcea8d4552b3eca052ca
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/CodeGen/AMDGPU/aa-as-infer.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/basic.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/mem-intrinsics.ll
M llvm/test/Transforms/OpenMP/barrier_removal.ll
M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
Log Message:
-----------
Reapply "[AMDGPU] Make `getAssumedAddrSpace` return AS1 for pointer kernel arguments (#137488)"
This reverts commit 3c6211c183885afb5d89259a53c4f4f46a6bf399.
Commit: 628a3f0a48fcdf9485a051a4b9d64888b9b21143
https://github.com/llvm/llvm-project/commit/628a3f0a48fcdf9485a051a4b9d64888b9b21143
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/test/CIR/CodeGen/call.cpp
M clang/test/CIR/IR/invalid-call.cir
Log Message:
-----------
[CIR] Call to variadic functions (#141942)
Commit: 37ea3b32cdcb6c0dcecbcc4bf844f5190c7378dd
https://github.com/llvm/llvm-project/commit/37ea3b32cdcb6c0dcecbcc4bf844f5190c7378dd
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/CodeGen/AMDGPU/aa-as-infer.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/basic.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/mem-intrinsics.ll
M llvm/test/Transforms/OpenMP/barrier_removal.ll
M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
Log Message:
-----------
Revert "Reapply "[AMDGPU] Make `getAssumedAddrSpace` return AS1 for pointer kernel arguments (#137488)""
This reverts commit 4efc13f8ff1eaf4f9fb1fcea8d4552b3eca052ca.
Commit: 4d48673562163d99dec601a40dc79aa30102d088
https://github.com/llvm/llvm-project/commit/4d48673562163d99dec601a40dc79aa30102d088
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/CodeGen/AMDGPU/aa-as-infer.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/basic.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/mem-intrinsics.ll
M llvm/test/Transforms/OpenMP/barrier_removal.ll
M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
Log Message:
-----------
Reapply "Reapply "[AMDGPU] Make `getAssumedAddrSpace` return AS1 for pointer kernel arguments (#137488)""
This reverts commit 37ea3b32cdcb6c0dcecbcc4bf844f5190c7378dd.
Commit: c979d1f812b542b45dc726305d8788f18bb20702
https://github.com/llvm/llvm-project/commit/c979d1f812b542b45dc726305d8788f18bb20702
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M compiler-rt/test/sanitizer_common/android_commands/android_run.py
Log Message:
-----------
[Sanitizer] Fix android test env issue (#142235)
I attempted to fix android tests in
https://github.com/llvm/llvm-project/pull/142207 (broken by
https://github.com/llvm/llvm-project/pull/141820). They are still
failing but now I have more info.
https://lab.llvm.org/buildbot/#/builders/186/builds/9504/steps/16/logs/stdio
ERROR: Can't open file: //foo.8862 (reason: 30)
I believe the reason is that on android the HOME and TMPDIR environment
variables are not being set correctly, or they are not read correctly.
(https://github.com/llvm/llvm-project/pull/142234#issuecomment-2923694428)
Commit: ed14e0da77e3ab6f66ea51f07c1ac6bbf06df113
https://github.com/llvm/llvm-project/commit/ed14e0da77e3ab6f66ea51f07c1ac6bbf06df113
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang-tools-extra/clangd/ConfigYAML.cpp
Log Message:
-----------
[clangd] Log the paths of loaded config files without --log=verbose (#142063)
Users sometimes forget about configuration they've placed in the user
config file, or an ancestor directory of their project.
Logging the paths of loaded config files by default (without
--log=verbose) surfaces more readily where clangd is getting its
configuration from.
Commit: 418c1d8a44c4e0188448713a86825a798d460fcb
https://github.com/llvm/llvm-project/commit/418c1d8a44c4e0188448713a86825a798d460fcb
Author: Mallikarjuna Gouda <mgouda at mips.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
A clang/test/Driver/mips-cpus.c
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/test/CodeGen/Mips/msa/arithmetic.ll
Log Message:
-----------
[MIPS] Reland Add FeatureMSA to i6400 and i6500 cores (#134985) (#141730)
Note: This relands #134985 with a fix. Original PR resulted in test fail
for msan builds.
Fix: Initialize MipsSubtarget::ProcImpl to ProcImpl::CPU::Others
[MIPS] Reland Add FeatureMSA to i6400 and i6500 cores (#134985)
- Enable 'FeatureMSA' for MIPS i6400 and i6500 cpu.
- Enable -mmsa option if mcpu is set to either i6400 or i6500
- added clang driver test to validate msa feature
- added llvm codegen test to validate msa instructions for cpu i6500 and
i6400
MIPS i6400 and i6500 cores implements and enables MSA (MIPS SIMD
ARCHITECTURE) by default.
Commit: 74420ce52475435afc5f96e16c2004fc955f8871
https://github.com/llvm/llvm-project/commit/74420ce52475435afc5f96e16c2004fc955f8871
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_fail.cpp
Log Message:
-----------
[Sanitizer][NFC] Remove extra env from test (#142247)
Commit: 40e1f7d1e7755726a27d34cb4d601019d376299b
https://github.com/llvm/llvm-project/commit/40e1f7d1e7755726a27d34cb4d601019d376299b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Use llvm::is_contained. NFC (#142239)
Commit: 26b81c4300a8efc8e9377dd04b5c78896e96740d
https://github.com/llvm/llvm-project/commit/26b81c4300a8efc8e9377dd04b5c78896e96740d
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/canonicalize.mlir
Log Message:
-----------
[mlir][memref] Add terminator check to prevent a crash (#141972)
This PR adds terminator check to prevent a crash when invoke
`lastNonTerminatorInRegion`. Fixes #137333.
Commit: 11f915f473ac4f3479939bb81a0ca9d6ba96294f
https://github.com/llvm/llvm-project/commit/11f915f473ac4f3479939bb81a0ca9d6ba96294f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.h
Log Message:
-----------
[RISCV] Add RISCVISD::VQDOT*_VL to RISCVSelectionDAGInfo::verifyTargetNode. (#142202)
After seeing the bug that #142185 fixed, I thought it might be a good
idea to start verifying that nodes are formed correctly.
This patch introduces the verifyTargetNode function and adds these
opcodes. More opcodes can be added in later patches.
Commit: f71e4e9bc2b6cd1444ab2a395a1ce20d486362de
https://github.com/llvm/llvm-project/commit/f71e4e9bc2b6cd1444ab2a395a1ce20d486362de
Author: Nadharm <ndhiantravan at nvidia.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/floating-point-arithmetic.ll
Log Message:
-----------
[InstSimplify] Handle nsz when simplifying X * 0.0 (#142181)
If ValueTracking can guarantee non-NaN and non-INF and the `nsz`
fast-math flag is set, we can simplify X * 0.0 ==> 0.0.
https://alive2.llvm.org/ce/z/XacRQZ
Commit: 64e9a3f8f0201e9fc1a7e0124bd91436c0506e70
https://github.com/llvm/llvm-project/commit/64e9a3f8f0201e9fc1a7e0124bd91436c0506e70
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-30 (Fri, 30 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Use isVLPreservingConfig in isConvertibleToVMV_V_V. NFC
Commit: 4aa4005e04bf177de9523e8de65b6dc42fcc4bfe
https://github.com/llvm/llvm-project/commit/4aa4005e04bf177de9523e8de65b6dc42fcc4bfe
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/copysign-simplify-demanded-bits.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
Log Message:
-----------
AMDGPU: Make copysign with matching v2f16/v2bf16 inputs legal (#142173)
Fixes #141931
Commit: 20ad4209ddca9384ae9908b10b32ba634fb6d6ed
https://github.com/llvm/llvm-project/commit/20ad4209ddca9384ae9908b10b32ba634fb6d6ed
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/fcopysign.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
Log Message:
-----------
AMDGPU: Improve v4f16/v4bf16 copysign handling (#142174)
Commit: dfbb9a0e3065332411f1b56de5aced3164fe69f1
https://github.com/llvm/llvm-project/commit/dfbb9a0e3065332411f1b56de5aced3164fe69f1
Author: Jim Lin <jim at andestech.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M clang/include/clang/Basic/riscv_andes_vector.td
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/nds_vd4dots.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/nds_vd4dotsu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/nds_vd4dotu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/nds_vd4dots.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/nds_vd4dotsu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/nds_vd4dotu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/nds_vd4dots.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/nds_vd4dotsu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/nds_vd4dotu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/nds_vd4dots.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/nds_vd4dotsu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/nds_vd4dotu.c
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
[RISCV] Implement intrinsics for XAndesVDot (#141441)
This patch implements clang intrinsic support for XAndesVDot.
The document for the intrinsics can be found at:
https://github.com/andestech/andes-vector-intrinsic-doc/blob/ast-v5_4_0-release-v5/auto-generated/andes-v5/intrinsic_funcs.adoc#andes-vector-dot-product-extensionxandesvdot
and with policy variants
https://github.com/andestech/andes-vector-intrinsic-doc/blob/ast-v5_4_0-release-v5/auto-generated/andes-v5/policy_funcs/intrinsic_funcs.adoc#andes-vector-dot-product-extensionxandesvdot
Co-authored-by: Tony Chuan-Yue Yuan <yuan593 at andestech.com>
Commit: ffee01e7482fd185ca2283b7c40aa291f17e3ad5
https://github.com/llvm/llvm-project/commit/ffee01e7482fd185ca2283b7c40aa291f17e3ad5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/fcopysign.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
Log Message:
-----------
AMDGPU: Improve v8f16/v8bf16 copysign handling (#142175)
Commit: 3aeffcfde12af749b4dd83c9d3be08feb652cbb2
https://github.com/llvm/llvm-project/commit/3aeffcfde12af749b4dd83c9d3be08feb652cbb2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/fcopysign.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
Log Message:
-----------
AMDGPU: Improve v16f16/v16bf16 copysign handling (#142176)
Commit: ad0a52202e4cfe474f341861d753f78d1603f7e3
https://github.com/llvm/llvm-project/commit/ad0a52202e4cfe474f341861d753f78d1603f7e3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/fcopysign.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
Log Message:
-----------
AMDGPU: Improve v32f16/v32bf16 copysign handling (#142177)
Commit: 22dfe9cb589308d94daa00ae533a16a24a012fd9
https://github.com/llvm/llvm-project/commit/22dfe9cb589308d94daa00ae533a16a24a012fd9
Author: Ely Ronnen <elyronnen at gmail.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M lldb/source/API/SBTarget.cpp
M lldb/source/Core/Module.cpp
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LocationsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.h
A lldb/tools/lldb-dap/ProtocolUtils.cpp
A lldb/tools/lldb-dap/ProtocolUtils.h
Log Message:
-----------
[lldb-dap] Reuse source object logics (#141426)
Refactor code revolving source objects such that most logics will be
reused.
The main change is to expose a single `CreateSource(addr, target)` that
can return either a normal or an assembly source object, and call
`ShouldDisplayAssemblySource()` only from this function instead of
multiple places across the code.
Other functions can use `source.IsAssemblySource()` in order to check
which type the source is.
Commit: d6a2ca3eb81d454c33c8ce9e43038b92885bde52
https://github.com/llvm/llvm-project/commit/d6a2ca3eb81d454c33c8ce9e43038b92885bde52
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port 22dfe9cb5893
Commit: 35757d67ba5afc0fd53266946ba1e73db518ac70
https://github.com/llvm/llvm-project/commit/35757d67ba5afc0fd53266946ba1e73db518ac70
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M libcxx/include/__configuration/abi.h
M libcxx/include/__cxx03/__configuration/abi.h
Log Message:
-----------
Revert "[libc++] Re-enable std::pair trivial copy constructor for FreeBSD >= 14" (#142204)
The ABI bump to adopt the conforming ABI v1 std::pair implementation did
not end up happening for FreeBSD 14, and instead this diff was reverted
downstream in FreeBSD[1]. Align the upstream ABI config with FreeBSD's
actual ABI.
[1] ce4f1f49e036 ("Revert commit 6255157d24e2 from llvm-project (by
Dimitry Andric):")
This reverts commit 6255157d24e27c604bda8fe8ce26e896f54785c0.
Commit: c0b25f4e74c5eeab38d24d3aca0ebddc0d4132f0
https://github.com/llvm/llvm-project/commit/c0b25f4e74c5eeab38d24d3aca0ebddc0d4132f0
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/simple_phi_condition.ll
Log Message:
-----------
[InstCombine] Test cast support in simplifyUsingControlFlow (NFC)
Commit: f669b9c3eca9438d33259aefb8156f977f1df382
https://github.com/llvm/llvm-project/commit/f669b9c3eca9438d33259aefb8156f977f1df382
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M lldb/unittests/Core/MangledTest.cpp
Log Message:
-----------
[lldb][test] Test all libcxxabi demangler test-cases against TrackingOutputBuffer (#137793)
To test the infrastructure added in
https://github.com/llvm/llvm-project/pull/131836 in would be nice to
confirm that we can reconstruct all kinds of demangled names. The
libcxxabi test-suite already has all those test-cases.
This patch copies those test-cases (taken from
`libcxxabi/test/test_demangle.pass.cpp`), reconstructs the name like
LLDB would when showing backtraces, and confirms that all demangled
names can be fully reconstructed.
Two open questions:
1. Do we really want a copy of all those test-cases in LLDB? It's
unlikely to be kept in sync with the demangler test-suite. It includes
30,000+ test-cases
2. Do we want to turn the
`GetDemangledBasename`/`GetDemangledScope`/etc. into public APIs (e.g.,
on `TrackingOutputBuffer`) so that we can use the exact same method of
extraction in the tests?
Commit: 7c080e267722ba14439e2f35789c5c293672ab84
https://github.com/llvm/llvm-project/commit/7c080e267722ba14439e2f35789c5c293672ab84
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/Transforms/InstCombine/or.ll
Log Message:
-----------
[InstCombine] Avoid to create bitreverse.i1 for or of trunc to i1 (#142258)
Commit: 3ec0c5c7fef03985b43432c6b914c289d8a5435e
https://github.com/llvm/llvm-project/commit/3ec0c5c7fef03985b43432c6b914c289d8a5435e
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/clamp-to-minmax.ll
M llvm/test/Transforms/InstCombine/fcmp-fadd-select.ll
M llvm/test/Transforms/InstCombine/minmax-fold.ll
M llvm/test/Transforms/InstCombine/minmax-fp.ll
M llvm/test/Transforms/InstCombine/unordered-fcmp-select.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
Log Message:
-----------
[InstCombine] Propagate FMF from select instead of fcmp (#141010)
Previously,
https://github.com/llvm/llvm-project/commit/3d6b53980ce4ee855484fc8ae6ac3f99c85e48c3
propagates FMF from fcmp to avoid performance regressions. With the help
of https://github.com/llvm/llvm-project/pull/139861,
https://github.com/llvm/llvm-project/pull/141015, and
https://github.com/llvm/llvm-project/pull/141914, we can still convert
SPF into fabs/minnum/maxnum intrinsics even if some flags are missing.
This patch propagates FMF from select to address the long-standing
issue.
Closes https://github.com/llvm/llvm-project/issues/140994.
Commit: 3b6ff59d9b137388fe718a624942f9ff6bbde329
https://github.com/llvm/llvm-project/commit/3b6ff59d9b137388fe718a624942f9ff6bbde329
Author: Ely Ronnen <elyronnen at gmail.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M lldb/tools/lldb-dap/ProtocolUtils.cpp
Log Message:
-----------
fix PATH_MAX missing in windows build (#142259)
Commit: 3a989344741949be04bc2512a4633edc1c0e69d6
https://github.com/llvm/llvm-project/commit/3a989344741949be04bc2512a4633edc1c0e69d6
Author: Folkert de Vries <flokkievids at gmail.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-neon-3vdiff.ll
M llvm/test/CodeGen/AArch64/arm64-vmul.ll
Log Message:
-----------
[AArch64] Treat `@llvm.ssub.sat` the same as `@llvm.aarch64.neon.sqsub` (#140454)
Fixes #94463
Co-authored-by: Spencer Abson <spencer.abson at arm.com>
Commit: 6f7268e204ed0a2c014324828e0582d90e8fcd04
https://github.com/llvm/llvm-project/commit/6f7268e204ed0a2c014324828e0582d90e8fcd04
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Lex/PPExpressions.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaCXX/libstdcxx_common_type_hack.cpp
M clang/test/SemaCXX/libstdcxx_explicit_init_list_hack.cpp
M clang/test/SemaCXX/libstdcxx_pair_swap_hack.cpp
Log Message:
-----------
[Clang] Improve infrastructure for libstdc++ workarounds (#141977)
This introduces a way detect the libstdc++ version, use that to enable
workarounds.
The version is cached.
This should make it easier in the future to find and remove these hacks.
I did not find the need for enabling a hack between or after specific
versions, so it's left as a future exercise.
We can extend this fature to other libraries as the need arise.
Commit: c3cce7caf8ef5510af5419dc1c2c06378dc51f77
https://github.com/llvm/llvm-project/commit/c3cce7caf8ef5510af5419dc1c2c06378dc51f77
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanValue.h
Log Message:
-----------
[VPlan] Remove unused VPUser constructors (NFC).
Now all users construct VPUsers using VPUser(ArraryRef<VPValue *>).
Remove the other unused constructors.
Commit: 7a688c080f230bb44172e699726f8200cc67f30b
https://github.com/llvm/llvm-project/commit/7a688c080f230bb44172e699726f8200cc67f30b
Author: David Green <david.green at arm.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/vrint.ll
A llvm/test/CodeGen/ARM/vrintn.ll
Log Message:
-----------
[ARM] Add vector vrint tests and fix FP16 to expand.
Commit: 78eafb14f7c91a40d493b29a3ce977f327c13892
https://github.com/llvm/llvm-project/commit/78eafb14f7c91a40d493b29a3ce977f327c13892
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
Log Message:
-----------
[VPlan] Add getIndexFor(Predecessor|Successor) helpers (NFC).
Move code to get the index of a predecessor and successor to helpers in
VPBlockBase, to avoid duplication and enable future reuse.
Split off from https://github.com/llvm/llvm-project/pull/140409.
Commit: 0adf6e8d332c71e5feda3bd22bb6695dc8fcbf5e
https://github.com/llvm/llvm-project/commit/0adf6e8d332c71e5feda3bd22bb6695dc8fcbf5e
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
Log Message:
-----------
Work around a build issue with MSVC; NFC (#142195)
Microsoft helpfully defines `THIS` to `void` in two different platform
SDK headers, at least one of which is reachable via <Windows.h>. We have
a user who ran into a build because of `THIS` unfortunate macro name
collision.
Rename the members to better match our naming conventions.
Fixes #142186
Commit: 07ba406cbd9c0c914b9416ce96b36c2f0b8d5aef
https://github.com/llvm/llvm-project/commit/07ba406cbd9c0c914b9416ce96b36c2f0b8d5aef
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Improve code in VPWidenIntrinsic (NFC) (#141936)
Use operands() instead of {op_begin(), op_end()}.
Commit: f057a593a7151437edd25cfbbdcf450139346f12
https://github.com/llvm/llvm-project/commit/f057a593a7151437edd25cfbbdcf450139346f12
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Improve code in VPWidenCallRecipe (NFC) (#141926)
Use operands() instead of {op_begin(), op_end()}. Also rename
arg_operands to args to match CallBase.
Commit: 2cbe8df1819f9c4e2e89d13b933c5a594bbe3a0f
https://github.com/llvm/llvm-project/commit/2cbe8df1819f9c4e2e89d13b933c5a594bbe3a0f
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/include/llvm/DWP/DWP.h
M llvm/lib/DWP/DWP.cpp
Log Message:
-----------
[NFC][DWP] Make `getContributionIndex` static (#141708)
Remove `getContributionIndex` declaration from header and make it static
as it seems to be only used within the .cpp file.
Commit: 79da1c405dc1b7a6692689b30dd2afa166a17961
https://github.com/llvm/llvm-project/commit/79da1c405dc1b7a6692689b30dd2afa166a17961
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp
Log Message:
-----------
[Sanitizer] Use %device_rundir/ to fix test (#142274)
I attempted to fix this test in
https://github.com/llvm/llvm-project/pull/142235 but we a new error.
https://lab.llvm.org/buildbot/#/builders/186/builds/9524/steps/26/logs/stdio
> ERROR: Can't create directory: /var
The path we want is actually at `/data/local/tmp/Output/var/...`.
I found `%device_rundir/` evaluates to this prefix on android, and
nothing otherwise.
https://github.com/llvm/llvm-project/blob/f057a593a7151437edd25cfbbdcf450139346f12/compiler-rt/test/lit.common.cfg.py#L658
Commit: 81602769d830e6791200e8cc7dd10a3afc32570b
https://github.com/llvm/llvm-project/commit/81602769d830e6791200e8cc7dd10a3afc32570b
Author: Ely Ronnen <elyronnen at gmail.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setFunctionBreakpoints.py
M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
Log Message:
-----------
[lldb-dap] Synchronously wait for breakpoints resolves in tests (#140470)
Attempt to improve tests by synchronously waiting for breakpoints to
resolve. Not sure if it will fix all the tests but I think it should
make the tests more stable
Commit: b9675617af25d674b6f1e22c1ffeb6ae926b0e14
https://github.com/llvm/llvm-project/commit/b9675617af25d674b6f1e22c1ffeb6ae926b0e14
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M clang/lib/Sema/Sema.cpp
Log Message:
-----------
[clang][Sema] Optimize ~SemaDiagnosticBuilder (#142252)
Call getDiagnosticLevel(), which is expensive, only if ShowCallStack is
set.
Small gains:
https://llvm-compile-time-tracker.com/compare.php?from=843e362318e884991e517a54446b4faeacdad789&to=5cef0c18466318a426924b3c45f7abaaa8f6b535&stat=instructions:u
Commit: 798058fca51ab4ba9d364c0ef022a15485e5ed5d
https://github.com/llvm/llvm-project/commit/798058fca51ab4ba9d364c0ef022a15485e5ed5d
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/include/llvm/IR/DiagnosticInfo.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/CodeGen/HardwareLoops.cpp
M llvm/lib/IR/DiagnosticInfo.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M polly/include/polly/ScopDetectionDiagnostic.h
M polly/lib/Analysis/ScopDetectionDiagnostic.cpp
M polly/lib/Transform/ManualOptimizer.cpp
Log Message:
-----------
[Remarks] Remove an upcast footgun. NFC (#142191)
CodeRegion's were previously passed as Value*, but then immediately
upcast to BasicBlock. Let's keep the type information around until the
use cases for non-BasicBlock code regions actually materialize.
Commit: 29f79ea3c59649f7686a09845665660c25ca3f9b
https://github.com/llvm/llvm-project/commit/29f79ea3c59649f7686a09845665660c25ca3f9b
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Handle token-pasted function decl names (#142251)
Fix #142178
Commit: 0f00a96fede09ceb7a764c95243a2cf673d0c466
https://github.com/llvm/llvm-project/commit/0f00a96fede09ceb7a764c95243a2cf673d0c466
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
Log Message:
-----------
[VPlan] Simplify branch on False in VPlan transform (NFC). (#140409)
Simplify branch on false, starting with the branch from the middle block
to the scalar preheader. Initially this helps simplifying the initial
VPlan construction.
Depends on https://github.com/llvm/llvm-project/pull/140405.
PR: https://github.com/llvm/llvm-project/pull/140409
Commit: c7b421deac59948690910dd3e1bb16ef590846a3
https://github.com/llvm/llvm-project/commit/c7b421deac59948690910dd3e1bb16ef590846a3
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
A llvm/test/Transforms/PGOProfile/memprof_annotate_indirect_call.test
Log Message:
-----------
[MemProf] Attach value profile metadata to the IR using CalleeGuids. (#141164)
Use the newly introduced CalleeGuids in CallSiteInfo to annotate the IR
where necessary with value profile metadata. Use a synthetic count of 1
since we don't have actual counts in the profile collection.
Commit: 061ef3c6e22722c31986182e14a5b9c0a117c661
https://github.com/llvm/llvm-project/commit/061ef3c6e22722c31986182e14a5b9c0a117c661
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M libcxxabi/test/itanium_demangle_matches_llvm.sh.test
Log Message:
-----------
[libcxxabi][test] Check that all copied files are synced between llvm and libcxxabi (#142262)
This patch expands the list of files we check to all the ones that are
copied via `cp-to-llvm.sh`.
Commit: c0bf51e3ad8e3785a4e44686dc17217c645fa8b4
https://github.com/llvm/llvm-project/commit/c0bf51e3ad8e3785a4e44686dc17217c645fa8b4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[Vectorize] Fix a warning
This patch fixes:
llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp:1865:17: error:
unused variable 'Preds' [-Werror,-Wunused-variable]
Commit: bbb3d2177485ea4e182c369663e68f790881f557
https://github.com/llvm/llvm-project/commit/bbb3d2177485ea4e182c369663e68f790881f557
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M clang/lib/Analysis/AnalysisDeclContext.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/CFGReachabilityAnalysis.cpp
M clang/lib/Analysis/CallGraph.cpp
M clang/lib/Analysis/CalledOnceCheck.cpp
M clang/lib/Analysis/CloneDetection.cpp
M clang/lib/Analysis/CocoaConventions.cpp
M clang/lib/Analysis/Consumed.cpp
M clang/lib/Analysis/FlowSensitive/AdornedCFG.cpp
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Formula.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/FlowSensitive/Value.cpp
M clang/lib/Analysis/IssueHash.cpp
M clang/lib/Analysis/LiveVariables.cpp
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/Analysis/ReachableCode.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/lib/Analysis/ThreadSafetyTIL.cpp
M clang/lib/Analysis/UninitializedValues.cpp
M clang/lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandling.cpp
M clang/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp
Log Message:
-----------
[Analysis] Remove unused includes (NFC) (#142255)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: 52e3b100d4ed695af47cb08e756b30950af52d6a
https://github.com/llvm/llvm-project/commit/52e3b100d4ed695af47cb08e756b30950af52d6a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M clang/lib/Frontend/ASTConsumers.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/DiagnosticRenderer.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/LogDiagnosticPrinter.cpp
M clang/lib/Frontend/ModuleDependencyCollector.cpp
M clang/lib/Frontend/PrintPreprocessedOutput.cpp
M clang/lib/Frontend/Rewrite/FixItRewriter.cpp
M clang/lib/Frontend/Rewrite/FrontendActions.cpp
M clang/lib/Frontend/Rewrite/HTMLPrint.cpp
M clang/lib/Frontend/Rewrite/RewriteMacros.cpp
M clang/lib/Frontend/Rewrite/RewriteTest.cpp
M clang/lib/Frontend/SARIFDiagnosticPrinter.cpp
M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
M clang/lib/Frontend/SerializedDiagnosticReader.cpp
M clang/lib/Frontend/TestModuleFileExtension.cpp
M clang/lib/Frontend/TextDiagnostic.cpp
M clang/lib/Frontend/TextDiagnosticPrinter.cpp
M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
Log Message:
-----------
[Frontend] Remove unused includes (NFC) (#142256)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: 2c855e629c9b56830d41fcc81e511e4361323d3b
https://github.com/llvm/llvm-project/commit/2c855e629c9b56830d41fcc81e511e4361323d3b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M clang/lib/Tooling/CompilationDatabase.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/ExpandResponseFilesCompilationDatabase.cpp
M clang/lib/Tooling/FileMatchTrie.cpp
M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
M clang/lib/Tooling/JSONCompilationDatabase.cpp
M clang/lib/Tooling/Refactoring.cpp
M clang/lib/Tooling/Refactoring/ASTSelectionRequirements.cpp
M clang/lib/Tooling/Refactoring/Rename/RenamingAction.cpp
M clang/lib/Tooling/Refactoring/Rename/USRFinder.cpp
M clang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/lib/Tooling/Syntax/Mutations.cpp
M clang/lib/Tooling/Syntax/Tokens.cpp
M clang/lib/Tooling/Syntax/Tree.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/lib/Tooling/Transformer/Parsing.cpp
M clang/lib/Tooling/Transformer/RangeSelector.cpp
M clang/lib/Tooling/Transformer/RewriteRule.cpp
M clang/lib/Tooling/Transformer/Stencil.cpp
M clang/lib/Tooling/Transformer/Transformer.cpp
Log Message:
-----------
[Tooling] Remove unused includes (NFC) (#142257)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: fbb22ce1aae919606f2db81255b8e054c949783c
https://github.com/llvm/llvm-project/commit/fbb22ce1aae919606f2db81255b8e054c949783c
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M clang/test/AST/HLSL/vector-constructors.hlsl
M clang/test/AST/ast-dump-decl-json.c
M clang/test/AST/ast-dump-expr-json.cpp
M clang/test/AST/ast-dump-record-definition-data-json.cpp
M clang/test/AST/ast-dump-records-json.cpp
M clang/test/CXX/drs/cwg2149.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p3-0x.cpp
M clang/test/CodeGenCXX/constructors.cpp
M clang/test/CodeGenCXX/vtable-layout.cpp
M clang/test/Index/c-index-api-loadTU-test.m
A clang/test/Parser/cxx-nested-name.cpp
M clang/test/SemaCXX/adl.cpp
M clang/test/SemaCXX/anonymous-struct.cpp
M clang/test/SemaCXX/class-base-member-init.cpp
M clang/test/SemaCXX/constructor.cpp
M clang/test/SemaCXX/coroutine-allocs.cpp
M clang/test/SemaCXX/ctad.cpp
M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
M clang/test/SemaCXX/incomplete-call.cpp
M clang/test/SemaCXX/nested-name-spec.cpp
M clang/test/SemaCXX/pointer-forward-declared-class-conversion.cpp
M clang/test/SemaCXX/pseudo-destructors.cpp
M clang/test/SemaCXX/return.cpp
M clang/test/SemaCXX/type-traits.cpp
R clang/test/SemaCXX/using-decl-pr4441.cpp
A clang/test/SemaCXX/using-decl.cpp
M clang/test/SemaCXX/virtual-override.cpp
M clang/test/SemaCXX/warn-infinite-recursion.cpp
M clang/test/SemaObjCXX/arc-bridged-cast.mm
M clang/test/SemaTemplate/class-template-spec.cpp
M clang/test/SemaTemplate/current-instantiation.cpp
M clang/test/SemaTemplate/dependent-base-classes.cpp
M clang/test/SemaTemplate/explicit-instantiation.cpp
M clang/test/SemaTemplate/nested-name-spec-template.cpp
M clang/test/SemaTemplate/typename-specifier-4.cpp
Log Message:
-----------
[clang] NFC: new tests and some cleanups on existing ones (#142293)
This offloads some test changes from another PR in order to facilitate
review.
- Adds some new tests.
- Cleans stray spaces and newlines on existing tests.
- Regenerates some AST json dumps, as the generator now includes
offsets.
Commit: cd9fe8a34cfbda448adf256ed0ce7d4dd14410fc
https://github.com/llvm/llvm-project/commit/cd9fe8a34cfbda448adf256ed0ce7d4dd14410fc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M clang/lib/Basic/Attributes.cpp
M clang/lib/Basic/CodeGenOptions.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/ExpressionTraits.cpp
M clang/lib/Basic/FileEntry.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/FileSystemStatCache.cpp
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/ProfileList.cpp
M clang/lib/Basic/Sanitizers.cpp
M clang/lib/Basic/Sarif.cpp
M clang/lib/Basic/SourceLocation.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/TargetID.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/ARC.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/BPF.cpp
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Basic/Targets/M68k.cpp
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/SPIR.cpp
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/Xtensa.cpp
M clang/lib/Basic/TypeTraits.cpp
Log Message:
-----------
[Basic] Remove unused includes (NFC) (#142295)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: dfaa66281a1a44065e24857f2f97dccc4860639a
https://github.com/llvm/llvm-project/commit/dfaa66281a1a44065e24857f2f97dccc4860639a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-31 (Sat, 31 May 2025)
Changed paths:
M clang/lib/Format/DefinitionBlockSeparator.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/MacroExpander.cpp
M clang/lib/Format/ObjCPropertyAttributeOrderFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/SortJavaScriptImports.cpp
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
Log Message:
-----------
[Format] Remove unused includes (NFC) (#142296)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: eedc72b45e953bd21cb5c772b8fd24b414894042
https://github.com/llvm/llvm-project/commit/eedc72b45e953bd21cb5c772b8fd24b414894042
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCFragment.h
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/MC/MCSymbol.cpp
Log Message:
-----------
MCSection: Replace DummyFragment with the Subsections[0] head fragment
The dummy fragment is primarily used by MCAsmStreamer::emitLabel to
track the defined state. We can replace it with an arbitrary fragment.
Remove MCDummyFragment introduced for https://github.com/llvm/llvm-project/issues/24860
Commit: a2e093f4b5a97704aeed5af0d0185da54eaf326f
https://github.com/llvm/llvm-project/commit/a2e093f4b5a97704aeed5af0d0185da54eaf326f
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp
Log Message:
-----------
[NFC][lldb-dap] Avoid unnecessary copy in setBreakpoint (#142179)
Commit: 88aa5cbbda67857891a740dd8326f6f45f4eb6fd
https://github.com/llvm/llvm-project/commit/88aa5cbbda67857891a740dd8326f6f45f4eb6fd
Author: Brandon Wu <songwu0813 at gmail.com>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaRISCV.cpp
A clang/test/Sema/zvk-target-attributes.c
Log Message:
-----------
[clang][RISCV] Handle target features correctly in CheckBuiltinFunctionCall (#141548)
Currently we only check the required features passed by command line
arguments.
We also need to check the features passed by using target features.
Commit: 573545c712357fc4498728d6cde971226c26c20f
https://github.com/llvm/llvm-project/commit/573545c712357fc4498728d6cde971226c26c20f
Author: wldfngrs <wldfngrs at gmail.com>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/include/math.yaml
M libc/src/math/CMakeLists.txt
A libc/src/math/atanf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/atanf16.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/atanf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/atanf16_test.cpp
Log Message:
-----------
[libc][math][c23] Add atanf16() function (#141612)
- Implementation of atan (tan inverse) function for 16-bit inputs.
- Exhaustive tests across the 16-bit input range
Commit: 33bbce5e34fcc0bf85f327258e7da356ab8b8978
https://github.com/llvm/llvm-project/commit/33bbce5e34fcc0bf85f327258e7da356ab8b8978
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Get plan once in simplifyRecipe (NFC).
Also check once if the plan is unrolled at the end, to make it easier to
add more transforms that apply after unrolling.
Commit: 71079fcb8e2f3f25bf06740d4bbc498ee075459c
https://github.com/llvm/llvm-project/commit/71079fcb8e2f3f25bf06740d4bbc498ee075459c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Move IsElementEquivalent above shuffle comparison helpers. NFC.
No change - but makes it easier for the shuffle helpers to call IsElementEquivalent.
Commit: aa09dbbbcfd4724bd04eea48763a1322f659637d
https://github.com/llvm/llvm-project/commit/aa09dbbbcfd4724bd04eea48763a1322f659637d
Author: dianqk <dianqk at dianqk.net>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
A llvm/test/Transforms/RelLookupTableConverter/unnamed_addr.ll
Log Message:
-----------
[RelLookupTableConverter] Drop unnamed_addr to avoid generating GOTPCREL relocations (#142304)
Follow
https://github.com/llvm/llvm-project/pull/72584#issuecomment-2925759253,
the patch will drop the `unnamed_addr` attribute when generating
relative lookup tables. I'm not very confident about this patch, but it
does resolve https://github.com/rust-lang/rust/issues/140686,
https://github.com/rust-lang/rust/issues/141306 and
https://github.com/rust-lang/rust/issues/141737.
But I don't think this will result in worse problems.
> LLVM provides that the calculation of such a constant initializer will
not overflow at link time under the medium code model if x is an
unnamed_addr function. However, it does not provide this guarantee for a
constant initializer folded into a function body. This intrinsic can be
used to avoid the possibility of overflows when loading from such a
constant. ([‘llvm.load.relative’
Intrinsic](https://llvm.org/docs/LangRef.html#id2592))
This is my concern. I'm not sure how unnamed_addr provides this
guarantee, and I haven't found any test cases.
Commit: 3b474bc510d6975fd1d09f5408a82dfb4daaea30
https://github.com/llvm/llvm-project/commit/3b474bc510d6975fd1d09f5408a82dfb4daaea30
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Use VPSingleDef in simplifyRecipe (NFC).
All simplifications are applied to VPSingleDefRecipes. Check for them
early to skip unnecessary work and remove a number of getVPSingleValue
calls.
Commit: de7f2fbc0c6640241c04ce846760edf3893b8671
https://github.com/llvm/llvm-project/commit/de7f2fbc0c6640241c04ce846760edf3893b8671
Author: dianqk <dianqk at dianqk.net>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M llvm/test/Transforms/RelLookupTableConverter/unnamed_addr.ll
Log Message:
-----------
[RelLookupTableConverter] Fix test cases
Commit: 2425626d803002027cbf71c39df80cb7b56db0fb
https://github.com/llvm/llvm-project/commit/2425626d803002027cbf71c39df80cb7b56db0fb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/test/Transforms/PGOProfile/memprof-dump-matched-alloc-site.ll
M llvm/test/Transforms/PGOProfile/memprof.ll
Log Message:
-----------
[memprof] Print alloc site matches immediately (#142233)
Without this patch, we buffer alloc site matches in
FullStackIdToAllocMatchInfo and then print them out at the end of
MemProfUsePass.
This practice is problematic when we have multiple matches per alloc
site. Consider:
char *f1() { return new char[3]; }
char *f2() { return f1(); }
__attribute__((noinline)) char *f3() { return f2(); }
In this example, f1 contains an alloc site, of course, but so do f2
and f3 via inlining. When something like this happens,
FullStackIdToAllocMatchInfo gets updated multiple times for the same
full stack ID at:
FullStackIdToAllocMatchInfo[FullStackId] = { ... };
with different InlinedCallStack.size() each time.
This patch changes the behavior by immediately printing out alloc site
matches, potentially printing out multiple matches for the same
FullStackId. It is up to the consumer of the message to figure out
the length of the longest matches for example.
For the test, this test adjusts an existing one,
memprof-dump-matched-alloc-site.ll. Specifically, this patch
"restores" the IR and corresponding profile for f2 and f1 so that the
compiler generates a "MemProf notcold" message for each of f1, f2, and
f3.
Commit: 2a19efe7fe8adcb5d89d3587ee23d9f954b11896
https://github.com/llvm/llvm-project/commit/2a19efe7fe8adcb5d89d3587ee23d9f954b11896
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/ModuleManager.cpp
Log Message:
-----------
[Serialization] Remove unused includes (NFC) (#142300)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: ccc416312ed72e92a885425d9cb9c01f9afa58eb
https://github.com/llvm/llvm-project/commit/ccc416312ed72e92a885425d9cb9c01f9afa58eb
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M lld/test/ELF/aarch64-feature-gcs.s
Log Message:
-----------
[ELF,test] Clean up aarch64-feature-gcs.s
* Make filenames shorter, aligning with other tests
* Prefer out.* for ld.lld output when using split-file
* Remove redundant RUN: ld.lld lines
Commit: 002c0abcd85c50d3f68a3d29d624ef21b0ec0c9a
https://github.com/llvm/llvm-project/commit/002c0abcd85c50d3f68a3d29d624ef21b0ec0c9a
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M mlir/unittests/IR/OperationSupportTest.cpp
Log Message:
-----------
Revert "Fixed wrong check OperationEquivalenceTest.HashWorksWithFlags" (#142318)
Reverts llvm/llvm-project#142210
This is not enough, see #141664
Commit: 60250c15e06d810b72fa87997156b4db5985e037
https://github.com/llvm/llvm-project/commit/60250c15e06d810b72fa87997156b4db5985e037
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
M mlir/lib/IR/OperationSupport.cpp
M mlir/unittests/IR/OperationSupportTest.cpp
Log Message:
-----------
Revert "[mlir]: Added properties/attributes ignore flags to OperationEquivalence" (#142319)
Reverts llvm/llvm-project#141664
See
https://github.com/llvm/llvm-project/pull/141664#issuecomment-2927867604
Commit: b68565b8c70fc590f8e59799996f450b1072b532
https://github.com/llvm/llvm-project/commit/b68565b8c70fc590f8e59799996f450b1072b532
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M flang/test/Driver/prefer-vector-width.f90
Log Message:
-----------
[NFC][tests] Relax matching for prefer-vector-width.f90
The attributes matching was too strict and caused failures:
https://lab.llvm.org/buildbot/#/builders/157/builds/29494/steps/6/logs/FAIL__Flang__prefer-vector-width_f90
Commit: 0ba63b2f22bfb00848ec2d71fbc11cf52b93a290
https://github.com/llvm/llvm-project/commit/0ba63b2f22bfb00848ec2d71fbc11cf52b93a290
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/no-dep-via-loop-guards.ll
A llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-operand-order.ll
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
A llvm/test/Transforms/IndVarSimplify/AArch64/loop-guards.ll
A llvm/test/Transforms/IndVarSimplify/loop-guard-order.ll
A llvm/test/Transforms/LoopVectorize/min-trip-count-known-via-scev.ll
Log Message:
-----------
[SCEV] Add additional test coverage for loop-guards reasoning.
Add additional tests showing missed opportunities when using loop guards
for reasoning in SCEV, depending on the order the guards appear in the
IR.
Commit: 9297af1c419e1a77681f9832c5404a124a6a4369
https://github.com/llvm/llvm-project/commit/9297af1c419e1a77681f9832c5404a124a6a4369
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M llvm/lib/MC/MCExpr.cpp
Log Message:
-----------
MCExpr: Simplify and optimize equated symbol evaluation
Sym.isInSection() calls findAssociatedFragment, which traverses the
expression tree. This can be replaced by calling evaluateAsRelocatableImpl
first and then inspecting the MCValue result.
Commit: 9ff30d4f1c2595f038c4c0cf873387a0c32c7c7b
https://github.com/llvm/llvm-project/commit/9ff30d4f1c2595f038c4c0cf873387a0c32c7c7b
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/test/MC/ELF/relocation-alias.s
Log Message:
-----------
MCParse: Disallow @ specifier in symbol equating
Relocation specifiers are attached to an instruction and cannot be used
in equating. GAS rejects `a = b at plt`. For now, handle just
MCSymbolRefExpr.
Commit: 38b12d4a7c219b46d1cb52580cbacbdb931262f2
https://github.com/llvm/llvm-project/commit/38b12d4a7c219b46d1cb52580cbacbdb931262f2
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCAssembler.h
M llvm/lib/MC/MCAssembler.cpp
Log Message:
-----------
MCAssembler: Postpone errors in layout iteration
.org and .fill errors reported in a layout iteration might go away in
the final layout. Related to #100283
Commit: 4425b513f3f6d1abb82635309d4eafd2aac6ded5
https://github.com/llvm/llvm-project/commit/4425b513f3f6d1abb82635309d4eafd2aac6ded5
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
X86AsmBackend: Remove some computeFragmentSize calls
The function was brittle as it performed only one iteration, which might
not converge. The reverted be5a845e4c29aadb513ae6e5e2879dccf37efdbb
mentioned that !NDEBUG and NDEBUG builds evaluated fragment offsets at
different times.
* X86AsmBackend::finishLayout performed only one iteration, which might
not converge. In addition, the removed `#ifndef NDEBUG` code (disabled
by default) in X86AsmBackend::finishLayout was problematic, as !NDEBUG
and NDEBUG builds evaluated fragment offsets at different times before
this patch.
Commit: 1e08febf0ac5c9c6669bfb5b041b42e535a53cc7
https://github.com/llvm/llvm-project/commit/1e08febf0ac5c9c6669bfb5b041b42e535a53cc7
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
Log Message:
-----------
[SimplifyCFG] Switch to use `paramHasNonNullAttr` (#125383)
Commit: 2a673078b237e77f49b7c49143fc1b928314ac85
https://github.com/llvm/llvm-project/commit/2a673078b237e77f49b7c49143fc1b928314ac85
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAssembler.cpp
Log Message:
-----------
MC: Clear some members in reset
Commit: 7786ac077acc4e81f987dd1db9cbd109f95ab37a
https://github.com/llvm/llvm-project/commit/7786ac077acc4e81f987dd1db9cbd109f95ab37a
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M llvm/lib/MC/MCContext.cpp
Log Message:
-----------
MCContext::reset: clear RelSecnames & MacroMap
When MCContext is used for the second compile of
llvm/test/MC/ELF/twice.ll, ensure that .rel.text and .rel.eh_frame
strings do not come from the previous compilation copies.
Commit: 32c7dc017b7fd59a43a23ba33a4ff796fb21bd1c
https://github.com/llvm/llvm-project/commit/32c7dc017b7fd59a43a23ba33a4ff796fb21bd1c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M llvm/include/llvm/ADT/bit.h
Log Message:
-----------
[ADT] Simplify countr_zero and countl_zero with constexpr if (NFC) (#141517)
The high-level idea in countr_zero and countl_zero is to use the
intrinsic if available and fall back otherwise, but the actual
implementation is unnecessarily complicated.
Specifically, without this patch, we are going through a long chain of
macros to check the availability of _BitScanForward64:
#if defined(__GNUC__) || defined(_MSC_VER)
#if !defined(_MSC_VER) || defined(_M_X64)
#if __has_builtin(__builtin_ctzll) || defined(__GNUC__)
...
#elif defined(_MSC_VER)
_BitScanForward64(...);
#endif
#endif
#endif
This basically says we can use _BitScanForward64 if:
defined(_MSC_VER) && defined(_M_X64)
This patch simplifies all this with "constexpr if" and consolidates
the implementation into the body of countr_zero and countl_zero.
Commit: faea938248ccb8fda37d8ac04fc11b25b8f31869
https://github.com/llvm/llvm-project/commit/faea938248ccb8fda37d8ac04fc11b25b8f31869
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M lldb/tools/lldb-dap/Handler/SetExceptionBreakpointsRequestHandler.cpp
Log Message:
-----------
[lldb] Avoid creating a temporary instance of std::string (NFC) (#142294)
GetExceptionBreakpoint takes StringRef to look for a matching
breakpoint, so we don't need to create a temporary instance of
std::string on our own.
Commit: c5cce4861cb011d10af7f6afba4176682f5f862f
https://github.com/llvm/llvm-project/commit/c5cce4861cb011d10af7f6afba4176682f5f862f
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
Revert "[clang-format] Handle token-pasted function decl names (#142251)"
This reverts commit 29f79ea3c59649f7686a09845665660c25ca3f9b which caused a regression.
See https://github.com/llvm/llvm-project/pull/142251#issuecomment-2928718530.
Commit: a49a9dd14f51d5b4b57ccd49d481b14c9b3a9fb9
https://github.com/llvm/llvm-project/commit/a49a9dd14f51d5b4b57ccd49d481b14c9b3a9fb9
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
A llvm/test/MC/ELF/layout-interdependency3.s
Log Message:
-----------
MC,test: Add a MCFillFragment stress test from #123402
This will be resolved by an upcoming change that changes the fragment
relaxation algorithm.
Commit: f6c2ec2fe1b02952c06b6129c89325dec80790bc
https://github.com/llvm/llvm-project/commit/f6c2ec2fe1b02952c06b6129c89325dec80790bc
Author: David Green <david.green at arm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-vqadd.ll
M llvm/test/CodeGen/AArch64/arm64-vqsub.ll
Log Message:
-----------
[AArch64] Add v1i64 test coverage and cleanup vqadd/vqsub tests. NFC
These were missing, as per #142323
Commit: e49738b3acf410f16b51753d71c88a29dd8fcf77
https://github.com/llvm/llvm-project/commit/e49738b3acf410f16b51753d71c88a29dd8fcf77
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-06-01 (Sun, 01 Jun 2025)
Changed paths:
A mlir/include/mlir/Tools/mlir-lsp-server/MlirLspRegistryFunction.h
M mlir/include/mlir/Tools/mlir-lsp-server/MlirLspServerMain.h
M mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp
M mlir/lib/Tools/mlir-lsp-server/MLIRServer.h
M mlir/lib/Tools/mlir-lsp-server/MlirLspServerMain.cpp
A mlir/test/mlir-lsp-server/uri-based-registration.test
M mlir/tools/mlir-lsp-server/mlir-lsp-server.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][lsp] Enable registering dialects based on URI. (#141331)
Previously the dialects registered were fixed per LSP binary. This works
as long as all the dialects of interest from the different projects
across which one uses the LSP, are disjoint. This expands this to
support cases where there are dialects that overlap in dialect name but
usage of these are separate wrt projects. The alternative is multiple
binaries and switching LSP used in editor per project (there is some
extra complexity in hosted instances).
This handles a simple (I believe common case) where one can determine
based on path and have single binary - the cost of dynamically doing so
based on path would be either keeping different registries to return or
repopulating dialect & extension maps.
Commit: 32973408bcb28acac897f4e43cb8f64a4b64529e
https://github.com/llvm/llvm-project/commit/32973408bcb28acac897f4e43cb8f64a4b64529e
Author: bernhardu <bernhardu at mailbox.org>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/tests/interception_win_test.cpp
Log Message:
-----------
[win/asan] GetInstructionSize: Support `48 bX` movabsq instructions. (#141625)
Created for Wine's memset by clang or mingw-gcc,
the latter places it quite at the start of the function:
```
0x00006ffffb67e210 <memset+0>: 0f b6 d2 movzbl %dl,%edx
0x00006ffffb67e213 <memset+3>: 48 b8 01 01 01 01 01 01 01 01 movabs $0x101010101010101,%rax
```
`3200 uint64_t v = 0x101010101010101ull * (unsigned char)c;`
https://gitlab.winehq.org/wine/wine/-/blob/290fd532ee7376442d272e3833528256bfe5e9dc/dlls/msvcrt/string.c#L3200
Commit: f2582c95febbbee1de31cb5ebfe863f36aedec58
https://github.com/llvm/llvm-project/commit/f2582c95febbbee1de31cb5ebfe863f36aedec58
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M bolt/test/link_fdata.py
Log Message:
-----------
[BOLT][NFC] Align fdata pattern ordering in link_fdata.py (#142102)
The mispred and execnt values were originally recorded in reverse order
and then consumed in the opposite order to compensate.
This patch records and uses them in the same order (FDATA) for clarity.
That order is:
```
<is symbol?> <closest ELF symbol or DSO name> <relative FROM address>
<is symbol?> <closest ELF symbol or DSO name> <relative TO address>
<number of mispredictions> <number of branches>
```
Commit: af2f8a8c14e3bf8c4af8f814c58913e2798b05ef
https://github.com/llvm/llvm-project/commit/af2f8a8c14e3bf8c4af8f814c58913e2798b05ef
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
A llvm/include/llvm/Analysis/HashRecognize.h
M llvm/lib/Analysis/CMakeLists.txt
A llvm/lib/Analysis/HashRecognize.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
A llvm/test/Analysis/HashRecognize/cyclic-redundancy-check.ll
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
M llvm/utils/update_analyze_test_checks.py
Log Message:
-----------
[HashRecognize] Introduce new analysis (#139120)
Introduce a fresh analysis for recognizing polynomial hashes, with the
rationale that several targets have specific instructions to optimize
things like CRC and GHASH (eg. X86 and RISC-V crypto extension). We
limit the scope to polynomial hashes computed in a Galois field of
characteristic 2, since this class of operations can also be optimized
in the absence of target-specific instructions to use a lookup table.
At the moment, we only recognize the CRC algorithm.
RFC:
https://discourse.llvm.org/t/rfc-new-analysis-for-polynomial-hash-recognition/86268
Commit: 742ecfc13e8aa34cfff2900e31838f657fcafe30
https://github.com/llvm/llvm-project/commit/742ecfc13e8aa34cfff2900e31838f657fcafe30
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCFragment.h
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/test/MC/AArch64/label-arithmetic-diags-elf.s
M llvm/test/MC/ELF/layout-interdependency3.s
Log Message:
-----------
[MC] Relax MCFillFragment and compute fragment offsets eagerly
This builds on top of commit 9d0754ada5dbbc0c009bcc2f7824488419cc5530
("[MC] Relax fragments eagerly") and relaxes fragments eagerly to
eliminate MCSection::HasLayout and `getFragmentOffset` overhead.
Relands 1a47f3f3db66589c11f8ddacfeaecc03fb80c510
Builds with many text sections (e.g. full LTO) shall observe a decrease
in compile time.
---
In addition, ensure `.fill` and `.space` directives with expressions are
re-evaluated during fragment relaxation, as their sizes may change.
Continue iteration to prevent stale, incorrect sizes.
This change has to be coupled with the fragment algorithm change
as otherwise the test test/MC/ELF/layout-interdependency.s would not
converge.
Fixes #123402 and resolves the root cause of #100283, building on error
postponing from commit 38b12d4a7c219b46d1cb52580cbacbdb931262f2.
For AArch64/label-arithmetic-diags-elf.s, the extra iteration
reports a .fill error early and suppresses the fixup/relocation errors.
Just split the tests.
Commit: 246d5da7fedb39ba1ad838032f2946535606631d
https://github.com/llvm/llvm-project/commit/246d5da7fedb39ba1ad838032f2946535606631d
Author: David Green <david.green at arm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/sadd_sat.ll
M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/ssub_sat.ll
M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
M llvm/test/CodeGen/AArch64/uadd_sat.ll
M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/usub_sat.ll
M llvm/test/CodeGen/AArch64/usub_sat_vec.ll
Log Message:
-----------
[AArch64] Extend test coverage for v1i64 add/sub.sat. NFC
This cleans up the existing tests, removing duplicate tests and adding coverage
for v1 types.
Commit: e9fad0e91c49ca0f2669989dbad95664cbc9cbf3
https://github.com/llvm/llvm-project/commit/e9fad0e91c49ca0f2669989dbad95664cbc9cbf3
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/lldb/ValueObject/ValueObjectConstResult.h
M lldb/include/lldb/ValueObject/ValueObjectConstResultChild.h
M lldb/include/lldb/ValueObject/ValueObjectConstResultImpl.h
M lldb/source/API/SBValue.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/DataFormatters/CXXFunctionPointer.cpp
M lldb/source/DataFormatters/FormattersHelpers.cpp
M lldb/source/DataFormatters/TypeFormat.cpp
M lldb/source/DataFormatters/ValueObjectPrinter.cpp
M lldb/source/Expression/Materializer.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/source/ValueObject/ValueObjectChild.cpp
M lldb/source/ValueObject/ValueObjectConstResult.cpp
M lldb/source/ValueObject/ValueObjectConstResultChild.cpp
M lldb/source/ValueObject/ValueObjectConstResultImpl.cpp
M lldb/source/ValueObject/ValueObjectVTable.cpp
M lldb/test/API/python_api/value/TestValueAPI.py
Log Message:
-----------
[lldb] Refactor away UB in SBValue::GetLoadAddress (#141799)
The problem was in calling GetLoadAddress on a value in the error state,
where `ValueObject::GetLoadAddress` could end up accessing the
uninitialized "address type" by-ref return value from `GetAddressOf`.
This probably happened because each function expected the other to
initialize it.
We can guarantee initialization by turning this into a proper return
value.
I've added a test, but it only (reliably) crashes if lldb is built with
ubsan.
Commit: 9801fdf669bf6e61e276732a95c2f885cb2a39d9
https://github.com/llvm/llvm-project/commit/9801fdf669bf6e61e276732a95c2f885cb2a39d9
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512fp16-mov.ll
Log Message:
-----------
[X86][FP16] Customize MLOAD/MSTORE(vXf16) if VLX is not enabled (#142331)
Fixes: https://godbolt.org/z/fa4z97xsY
Commit: e2b536431d85c49cdfad5106d116ced683a0667a
https://github.com/llvm/llvm-project/commit/e2b536431d85c49cdfad5106d116ced683a0667a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/MSP430.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
Log Message:
-----------
[CodeGen] Move CodeGenPGO behind unique_ptr (NFC) (#142155)
The InstrProf headers are very expensive. Avoid including them in all of
CodeGen/ by moving the CodeGenPGO member behind a unqiue_ptr.
This reduces clang build time by 0.8%.
Commit: f3f07a3f785d60a3afdc230641b91f044e4b2b99
https://github.com/llvm/llvm-project/commit/f3f07a3f785d60a3afdc230641b91f044e4b2b99
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/lib/Basic/DiagnosticIDs.cpp
Log Message:
-----------
[clang][Basic] Optimize getDiagnosticSeverity() (#141950)
Try not to call getDiagInfo() as often and only do it if we really have
to.
Commit: 58cc1675ec7b4aa5bc2dab56180cb7af1b23ade5
https://github.com/llvm/llvm-project/commit/58cc1675ec7b4aa5bc2dab56180cb7af1b23ade5
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/fmaximum-legalization.ll
A llvm/test/CodeGen/ARM/fp-maximum-legalization.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/math-intrins.ll
M llvm/test/CodeGen/PowerPC/fminimum-fmaximum-f128.ll
M llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
A llvm/test/CodeGen/X86/fminimum-fmaximum-i686.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
Log Message:
-----------
[SDAG] Fix fmaximum legalization errors (#142170)
FMAXIMUM is currently legalized via IS_FPCLASS for the signed zero
handling. This is problematic, because it assumes the equivalent integer
type is legal. Many targets have legal fp128, but illegal i128, so this
results in legalization failures.
Fix this by replacing IS_FPCLASS with checking the bitcast to integer
instead. In that case it is sufficient to use any legal integer type, as
we're just interested in the sign bit. This can be obtained via a stack
temporary cast. There is existing FloatSignAsInt functionality used for
legalization of FABS and similar we can use for this purpose.
Fixes https://github.com/llvm/llvm-project/issues/139380.
Fixes https://github.com/llvm/llvm-project/issues/139381.
Fixes https://github.com/llvm/llvm-project/issues/140445.
Commit: 1a7f5f58332d91f88a4305399d7f79aba046e19a
https://github.com/llvm/llvm-project/commit/1a7f5f58332d91f88a4305399d7f79aba046e19a
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/test/CodeGen/AMDGPU/amdpal.ll
A llvm/test/CodeGen/AMDGPU/promote-alloca-vector-gep-of-gep.ll
Log Message:
-----------
[AMDGPU] Promote nestedGEP allocas to vectors (#141199)
Supports the `nestedGEP`pattern that
appears when an alloca is first indexed as an array element and then
shifted with a byte‑offset GEP:
```llvm
%SortedFragments = alloca [10 x <2 x i32>], addrspace(5), align 8
%row = getelementptr [10 x <2 x i32>], ptr addrspace(5) %SortedFragments, i32 0, i32 %j
%elt1 = getelementptr i8, ptr addrspace(5) %row, i32 4
%val = load i32, ptr addrspace(5) %elt1
```
The pass folds the two levels of addressing into a single vector lane
index and keeps the whole object in a VGPR:
```llvm
%vec = freeze <20 x i32> poison ; alloca promote <20 x i32>
%idx0 = mul i32 %j, 2 ; j * 2
%idx = add i32 %idx0, 1 ; j * 2 + 1
%val = extractelement <20 x i32> %vec, i32 %idx
```
This eliminates the scratch read.
Commit: bd3c632e644f0f94947d0c103ff102ea248c6f1b
https://github.com/llvm/llvm-project/commit/bd3c632e644f0f94947d0c103ff102ea248c6f1b
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[ci] Use different emoji for Linux and Windows job titles on GitHub (#142101)
Buildkite has a bunch of custom emoji that include Linux and Windows
logos -
https://github.com/buildkite/emojis?tab=readme-ov-file#smileys--emotion.
GitHub doesn't have these so let's just use a penguin and a generic
window. :penguin: :window:
These are standard emoji so Buildkite does support them too, but there's
no motivation to change it there.
Plus, I think the metrics collection might be tied to Buildkite pipeline
name so keeping it the same saves hassle there.
Commit: 016d57804ad6ee8012a5fdf1700c938ef3b7baf0
https://github.com/llvm/llvm-project/commit/016d57804ad6ee8012a5fdf1700c938ef3b7baf0
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/lib/Tooling/Inclusions/Stdlib/StdSpecialSymbolMap.inc
Log Message:
-----------
[clang][Tooling] Add symbol mappings for unwrap_reference_t
Tool is missing them as cppreference lists these under a section without
associated headers (`Helper types`).
Commit: 50a4ab2bc3288cb7876d93c859eebdc3c851c527
https://github.com/llvm/llvm-project/commit/50a4ab2bc3288cb7876d93c859eebdc3c851c527
Author: Victor Campos <victor.campos at arm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
A llvm/test/Transforms/Coroutines/coro-noop-pacbti.ll
Log Message:
-----------
[Coroutines] Create C++ noop coroutine with default function attributes (#134878)
This change makes the C++ noop coroutine to be built with attributes
based on the module flags. Among other things, this adds function
attributes related to the Pointer Authentication and Branch Target
Enforcement module flags, which are set by command-line options.
Before this patch, C++ programs built with either PAC-RET or BTI that
had the noop coroutine emitted could have a runtime error because this
function wasn't compatible with the rest of the program.
Commit: 111effe05ec1deb2aaac23179aeeb8f1e98cb9a3
https://github.com/llvm/llvm-project/commit/111effe05ec1deb2aaac23179aeeb8f1e98cb9a3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
Log Message:
-----------
AMDGPUCodeGenPrepare.cpp - fix MSVC operator precedence warning. NFC.
Commit: e3a0cb8d3f53e6b2d801e2fe732057f94704e6b7
https://github.com/llvm/llvm-project/commit/e3a0cb8d3f53e6b2d801e2fe732057f94704e6b7
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/docs/Passes.rst
Log Message:
-----------
[docs] Update ir-normalizer to normalize (#141764)
While the class name is IRNormalizer the registered name is "normalize"
and the docs should match this.
Fixes #136347.
Commit: e04e140adb600add79b414f137a13af9d89c8c0d
https://github.com/llvm/llvm-project/commit/e04e140adb600add79b414f137a13af9d89c8c0d
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/Template.h
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg27xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
A clang/test/CodeGenCXX/ms-mangle-requires.cpp
M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx23-assume.cpp
M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
M clang/test/SemaCXX/lambda-unevaluated.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaTemplate/concepts-recursive-inst.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/test/SemaTemplate/cxx2a-constraint-exprs.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[Clang] Reapply CWG2369 "Ordering between constraints and substitution" (#122423)
The previous approach broke code generation for the MS ABI due to an
unintended code path during constraint substitution. This time we
address the issue by inspecting the evaluation contexts and thereby
avoiding that code path.
This reapplies 96eced624 (#102857).
Commit: 8f3ccd1674eb0d9debc298d6bf93a2263a798353
https://github.com/llvm/llvm-project/commit/8f3ccd1674eb0d9debc298d6bf93a2263a798353
Author: Romaric Jodin <rjodin at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
libclc: clspv: do not set generic_addrspace_val (#141912)
This is breaking clspv: https://github.com/google/clspv/issues/1493
Commit: 41d634397823d01c20db783cf18c9b0c2c41fbf4
https://github.com/llvm/llvm-project/commit/41d634397823d01c20db783cf18c9b0c2c41fbf4
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/include/clang/Frontend/ASTConsumers.h
M clang/lib/Frontend/ASTConsumers.cpp
Log Message:
-----------
[clang][Frontend] Add overload to ASTPrinter that doesn't own output stream (#142163)
We're planning on using the ASTPrinter in LLDB for AST dumping. But it
currently takes the output stream via `unique_ptr`. In LLDB we don't
have the output stream available in this form and instead it would be
convenient if we could just pass a reference to the stream.
This patch adds that overload.
Commit: 95a9cedb7112d188c462bc241d1f2ffd3b0bf395
https://github.com/llvm/llvm-project/commit/95a9cedb7112d188c462bc241d1f2ffd3b0bf395
Author: Saagar Jha <saagar at saagarjha.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M lldb/test/API/lang/objc/objc-po-hint/TestObjcPoHint.py
Log Message:
-----------
[lldb][test] Fix comment in TestObjcPoHint.py (#142306)
This seems to have been copied from above but not changed to match.
Commit: 30ce1aaa18cef762dae7a31411469421c84b384b
https://github.com/llvm/llvm-project/commit/30ce1aaa18cef762dae7a31411469421c84b384b
Author: SivanShani-Arm <sivan.shani at arm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/utils/demangle_tree.py
Log Message:
-----------
[utils] Fix utils/demangle_tree.py:parse_line to correctly check for closing parenthesis (#142153)
Previously, parse_line incorrectly repeated the check for open_paren
instead of verifying the presence of a closing parenthesis. This caused
inputs with an unmatched opening parenthesis to be parsed incorrectly.
For example:
print(parse_line('?foo (bar'))
→ before: ('?foo', 'ba') [incorrect]
→ after: (None, None) [correct]
Fixed the condition to properly check close_paren.
Commit: 4370833a7af91fbb6434ee2c31ff602be9afd9c5
https://github.com/llvm/llvm-project/commit/4370833a7af91fbb6434ee2c31ff602be9afd9c5
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/HashRecognize.h
Log Message:
-----------
[HashRecognize] Remove unused #include
It's also a layering violation.
Commit: b9fa1dfd38ee75640402fdd0ca3640a51b95a8a3
https://github.com/llvm/llvm-project/commit/b9fa1dfd38ee75640402fdd0ca3640a51b95a8a3
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking][NFC] Simplify binops in canCreateUndefOrPoison switch (#139906)
Already handled by default case.
Commit: 0f7cc4132b62e0ecdbd3193e954b745c5f492e90
https://github.com/llvm/llvm-project/commit/0f7cc4132b62e0ecdbd3193e954b745c5f492e90
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/switch.ll
Log Message:
-----------
[CVP] Keep `ReachableCaseCount` in sync with range of condition (#142302)
https://github.com/llvm/llvm-project/pull/79993 assumes that a reachable
case must be contained by `CR`. However, it doesn't hold for some edge
cases. This patch adds additional checks to ensure `ReachableCaseCount`
is correct.
Note: Similar optimization in SCCP isn't affected by this bug because it
uses `CR` to compute `ReachableCaseCount`.
Closes https://github.com/llvm/llvm-project/issues/142286.
Commit: 8f04a246d05cba448801616e3fded6e264a0a841
https://github.com/llvm/llvm-project/commit/8f04a246d05cba448801616e3fded6e264a0a841
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/unittests/Object/DXContainerTest.cpp
Log Message:
-----------
DXContainerTest.cpp - fix MSVC float truncation warning. NFC. (#142349)
Commit: adf9fedd47360589f2168802d87eeaf23197ea30
https://github.com/llvm/llvm-project/commit/adf9fedd47360589f2168802d87eeaf23197ea30
Author: TatWai Chong <tatwai.chong at arm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/error_if_check.mlir
Log Message:
-----------
[mlir][tosa] Add assembly format validation for COND_IF op (#142254)
COND_IF's simplified form - where redundant operand notations are
omitted - is not conformant to the specification. According to the
specification, all operands passed into an operation must be explicitly
declared at each operation's structure. Add optional check to verify if
the given form complies with the specification.
Commit: 3a45d55b39b32fe267065c57346eaa7855691ff5
https://github.com/llvm/llvm-project/commit/3a45d55b39b32fe267065c57346eaa7855691ff5
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/test/MC/Disassembler/AArch64/armv9.6a-rme-gpc3.txt
Log Message:
-----------
[AArch64] Fix `APAS` instructions to disassemble to self not to `SYS` alias (#142211)
`APAS` instructions currently incorrectly disassemble to `SYS` aliases.
Fix this so that they disassemble to the actual `APAS` instruction.
Commit: b5cf03033251a642b184b2e0ea6bdac171c17702
https://github.com/llvm/llvm-project/commit/b5cf03033251a642b184b2e0ea6bdac171c17702
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
A llvm/test/CodeGen/AArch64/framelayout-scavengingslot-stack-hazard.mir
M llvm/test/CodeGen/AArch64/stack-hazard.ll
Log Message:
-----------
[AArch64][SME] Fix accessing the emergency spill slot with hazard padding (#142190)
This patch fixes an issue where when hazard padding was enabled locals,
including the emergency spill slot, could not be directly addressed.
Generally, this is fine, we can materialize the constant offset in a
scratch register, but if there's no register free we need to spill, and
if we can't even reach the emergency spill slot then we fail to compile.
This patch fixes this by ensuring that if a function has variable-sized
objects and is likely to have hazard padding we enable the base pointer.
Then if we know a function has hazard padding, place the emergency spill
slot next to the BP/SP, to ensure it can be directly accessed without
stepping over any hazard padding.
Commit: 0f7e10b0272bb297568075e73cf76abbf10db4f8
https://github.com/llvm/llvm-project/commit/0f7e10b0272bb297568075e73cf76abbf10db4f8
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Symbol/SymbolFileOnDemand.cpp
A lldb/test/Shell/Commands/command-image-dump-ast.test
Log Message:
-----------
[lldb] Add filter option to AST dump command (#142164)
Depends on https://github.com/llvm/llvm-project/pull/142163
This patch makes the `-ast-dump-filter` Clang option available to the
`target modules dump ast` command. This allows us to selectively dump
parts of the AST by name.
The AST can quickly grow way too large to skim on the console. This will
aid in debugging AST related issues.
Example:
```
(lldb) target modules dump ast --filter func
Dumping clang ast for 48 modules.
Dumping func:
FunctionDecl 0xc4b785008 <<invalid sloc>> <invalid sloc> func 'void (int)' extern
|-ParmVarDecl 0xc4b7853d8 <<invalid sloc>> <invalid sloc> x 'int'
`-AsmLabelAttr 0xc4b785358 <<invalid sloc>> Implicit "_Z4funcIiEvT_"
Dumping func<int>:
FunctionDecl 0xc4b7850b8 <<invalid sloc>> <invalid sloc> func<int> 'void (int)' implicit_instantiation extern
|-TemplateArgument type 'int'
| `-BuiltinType 0xc4b85b110 'int'
`-ParmVarDecl 0xc4b7853d8 <<invalid sloc>> <invalid sloc> x 'int'
```
The majority of this patch is adjust the `Dump` API. The main change in
behaviour is in `TypeSystemClang::Dump`, where we now use the
`ASTPrinter` for dumping the `TranslationUnitDecl`. This is where the
`-ast-dump-filter` functionality lives in Clang.
Commit: fb86264f4049e866d4058ea151edb47381c85b77
https://github.com/llvm/llvm-project/commit/fb86264f4049e866d4058ea151edb47381c85b77
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M lldb/test/API/functionalities/breakpoint/consecutive_breakpoints/TestConsecutiveBreakpoints.py
Log Message:
-----------
[lldb] Disable TestConsecutiveBreakpoints.py for Windows x86_64 (#142192)
See #138083 for details.
Commit: 68fd6f4eb86121d107dd4d0b282b11b48e82183b
https://github.com/llvm/llvm-project/commit/68fd6f4eb86121d107dd4d0b282b11b48e82183b
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
Log Message:
-----------
[lldb] Disable TestReverseContinueBreakpoints.py and TestReverseContinueWatchpoints.py for Windows x86_64 (#142193)
See #138084 for details.
Commit: b3fd2ea88875e58c66dd67870ff822cedf2570cf
https://github.com/llvm/llvm-project/commit/b3fd2ea88875e58c66dd67870ff822cedf2570cf
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/AST/attr-target-version.c
M clang/test/CodeGen/AArch64/fmv-detection.c
A clang/test/CodeGen/AArch64/fmv-duplicate-mangled-name.c
M clang/test/CodeGen/AArch64/fmv-features.c
M clang/test/CodeGen/AArch64/fmv-resolver-emission.c
M clang/test/CodeGen/AArch64/mixed-target-attributes.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version-riscv.c
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-version-riscv.cpp
M clang/test/Sema/attr-target-clones-aarch64.c
Log Message:
-----------
[Clang][FMV] Stop emitting implicit default version using target_clones. (#141808)
With the current behavior the following example yields a linker error:
"multiple definition of `foo.default'"
// Translation Unit 1
__attribute__((target_clones("dotprod, sve"))) int foo(void) { return 1; }
// Translation Unit 2
int foo(void) { return 0; }
__attribute__((target_version("dotprod"))) int foo(void);
__attribute__((target_version("sve"))) int foo(void);
int bar(void) { return foo(); }
That is because foo.default is generated twice. As a user I don't find
this particularly intuitive. If I wanted the default to be generated in
TU1 I'd rather write target_clones("dotprod, sve", "default")
explicitly.
When changing the code I noticed that the RISC-V target defers the
resolver emission when encountering a target_version definition. This
seems accidental since it only makes sense for AArch64, where we only
emit a resolver once we've processed the entire TU, and only if the
default version is present. I've changed this so that RISC-V immediately
emmits the resolver. I adjusted the codegen tests since the functions
now appear in a different order.
Implements https://github.com/ARM-software/acle/pull/377
Commit: 1984c7539ebeb2697233f8163a051a2ce0d4fa50
https://github.com/llvm/llvm-project/commit/1984c7539ebeb2697233f8163a051a2ce0d4fa50
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/CodeGen/AArch64/arm64-fmax-safe.ll
M llvm/test/CodeGen/AMDGPU/select-flags-to-fmin-fmax.ll
M llvm/test/CodeGen/ARM/fp16-vminmaxnm-safe.ll
M llvm/test/CodeGen/ARM/fp16-vminmaxnm-vector.ll
M llvm/test/CodeGen/ARM/fp16-vminmaxnm.ll
M llvm/test/CodeGen/ARM/vminmaxnm-safe.ll
M llvm/test/CodeGen/ARM/vminmaxnm.ll
M llvm/test/CodeGen/PowerPC/vec-min-max.ll
M llvm/test/Transforms/InstCombine/unordered-fcmp-select.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[ValueTracking] Do not use FMF from fcmp (#142266)
This patch introduces an FMF parameter for
`matchDecomposedSelectPattern` to pass FMF flags from select, instead of
fcmp.
Closes https://github.com/llvm/llvm-project/issues/137998.
Closes https://github.com/llvm/llvm-project/issues/141017.
Commit: de38c4eaf52717f152b41f285403e6006783f39c
https://github.com/llvm/llvm-project/commit/de38c4eaf52717f152b41f285403e6006783f39c
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/lib/Driver/Driver.cpp
M clang/tools/driver/driver.cpp
M flang/docs/FlangDriver.md
A flang/test/Driver/Inputs/config-7.cfg
A flang/test/Driver/fcc_override.f90
M flang/tools/flang-driver/driver.cpp
Log Message:
-----------
[flang][driver] Introduce FCC_OVERRIDE_OPTIONS. (#140556)
This PR add functionality to change `flang` command line using
environment variable `FCC_OVERRIDE_OPTIONS`. It is quite similar to what
`CCC_OVERRIDE_OPTIONS` does for clang.
The `FCC_OVERRIDE_OPTIONS` seemed like the most obvious name to me but I
am open to other ideas. The `applyOverrideOptions` now takes an extra
argument that is the name of the environment variable. Previously
`CCC_OVERRIDE_OPTIONS` was hardcoded.
Commit: 67c67cd05370447c9b0eb9d4d99645d92e957578
https://github.com/llvm/llvm-project/commit/67c67cd05370447c9b0eb9d4d99645d92e957578
Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking][NFC]: Use injected condition to compute known FPClass (#139832)
Commit: c5a56f74fef788c1b5c947462440a4de2a241094
https://github.com/llvm/llvm-project/commit/c5a56f74fef788c1b5c947462440a4de2a241094
Author: Cameron McInally <cameron.mcinally at nyu.edu>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M flang/test/Driver/prefer-vector-width.f90
Log Message:
-----------
[flang] Fix ppc64le-flang-rhel-test buildbot failure (#142269)
PR#142073 introduced a new test that checks the
prefer-vector-width function attribute. This test was not accounting for
target triples that include default function attributes.
This patch updates prefer-vector-width.f90 to ignore extra function
attributes.
---------
Co-authored-by: Cameron McInally <cmcinally at nvidia.com>
Commit: 0ada5c7b1a52afb668bc42dd2d5573e5805433d1
https://github.com/llvm/llvm-project/commit/0ada5c7b1a52afb668bc42dd2d5573e5805433d1
Author: Yutong Zhu <115899167+YutongZhuu at users.noreply.github.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
A clang/test/Sema/implicit-int-conversion-on-int.c
Log Message:
-----------
[Clang] Separate implicit int conversion on negation sign to new diagnostic group (#139429)
This PR reverts a change made in #126846.
#126846 introduced an ``-Wimplicit-int-conversion`` diagnosis for
```c++
int8_t x = something;
x = -x; // warning here
```
This is technically correct since -x could have a width of 9, but this
pattern is common in codebases.
Reverting this change would also introduce the false positive I fixed in
#126846:
```c++
bool b(signed char c) {
return -c >= 128; // -c can be 128
}
```
This false positive is uncommon, so I think it makes sense to revert the
change.
Commit: af6e3c045b07ebc7ce09318c90048f407a15b391
https://github.com/llvm/llvm-project/commit/af6e3c045b07ebc7ce09318c90048f407a15b391
Author: Artem Gindinson <gindinson at roofline.ai>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
M mlir/test/Conversion/MathToLLVM/math-to-llvm.mlir
Log Message:
-----------
[mlir][math] Fix intrinsic conversions to LLVM for 0D-vector types (#141020)
`vector<t>` types are not compatible with the LLVM type system – with
the current approach employed within `LLVMTypeConverter`, they must be
explicitly converted into `vector<1xt>` when lowering. Employ this rule
within the conversion patterns for intrinsics that are handled directly
within `MathToLLVM`: `math.ctlz` `.cttz`, `.absi`, `.expm1`, `.log1p`,
`.rsqrt`, `.isnan`, `.isfinite`.
This change does not cover/test patterns that are based off
`VectorConvertToLLVMPattern` template from `LLVMCommon/VectorPattern.h`.
---------
Signed-off-by: Artem Gindinson <gindinson at roofline.ai>
Commit: 22d271be143eeb28965bfd6ff2714b20892219ee
https://github.com/llvm/llvm-project/commit/22d271be143eeb28965bfd6ff2714b20892219ee
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
[AMDGPU] Add UniformBinFrag to SALU fminimum/fmaximum patterns. NFCI. (#142169)
SALU patterns should have UniformBinFrag because they can only handle
uniform inputs. VALU patterns do not need DivergentBinFrag because they
work for both uniform and divergent inputs; instead we can use
AddedComplexity to ensure that SALU patterns are preferred.
Commit: cda5ca87928dd06444235ad3a0e20b14ef9cdc84
https://github.com/llvm/llvm-project/commit/cda5ca87928dd06444235ad3a0e20b14ef9cdc84
Author: Abhina Sreeskantharajan <Abhina.Sreeskantharajan at ibm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/lib/Basic/SourceManager.cpp
Log Message:
-----------
Add back AutoConvert.h header that is used for autoconversion on MVS
Commit: 500e39dbe144978fb97f6c6efa513ab983c182f6
https://github.com/llvm/llvm-project/commit/500e39dbe144978fb97f6c6efa513ab983c182f6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
Log Message:
-----------
[X86] combineTargetShuffle - attempt to fold VPERM2X128(ONEUSE(LOAD),UNDEF) -> VBROADCAST128 (#142366)
Matches what we do in lowerV2X128Shuffle, where we often fail the oneuse test as we might not have split other uses at that point.
Commit: c8c271a56ee15a057801811ae4420ef1672eef79
https://github.com/llvm/llvm-project/commit/c8c271a56ee15a057801811ae4420ef1672eef79
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/fminimum-fmaximum-i686.ll
Log Message:
-----------
[X86] Add additional fp min/max libcall tests (NFC)
Commit: 71093b84dcd28c8db6ced7d6615977a9d850abc9
https://github.com/llvm/llvm-project/commit/71093b84dcd28c8db6ced7d6615977a9d850abc9
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/fp128-libcalls.ll
Log Message:
-----------
[X86] Add modf test using fp128 (NFC)
Commit: b26baf1779cae380040051932e7134371e3058d3
https://github.com/llvm/llvm-project/commit/b26baf1779cae380040051932e7134371e3058d3
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/test/api/omp_device_memory.c
Log Message:
-----------
[Offload] Make AMDGPU plugin handle empty allocation properly (#142383)
Summary:
`malloc(0)` and `free(nullptr)` are both defined by the standard but we
current trigger erros and assertions on them. Fix that so this works
with empty arguments.
Commit: dec8f1314fbf77a2b557f12275b1a5e7c7a70f32
https://github.com/llvm/llvm-project/commit/dec8f1314fbf77a2b557f12275b1a5e7c7a70f32
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M llvm/lib/IR/DIBuilder.cpp
Log Message:
-----------
[llvm][DebugInfo][clang] Finalize all declaration subprograms in DIBuilder::finalize() (#139914)
DIBuilder began tracking definition subprograms and finalizing them in
`DIBuilder::finalize()` in eb1bb4e419.
Currently, `finalizeSubprogram()` attaches local variables, imported
entities, and labels to the `retainedNodes:` field of a corresponding
subprogram.
After 75819aedf, the definition and some declaration subprograms are
finalized in `DIBuilder::finalize()`:
`AllSubprograms` holds references to definition subprograms.
`AllRetainTypes` holds references to declaration subprograms.
For DISubprogram elements of both variables, `finalizeSubprogram()` was
called there.
However, `retainTypes()` is not necessarily called for every declaration
subprogram (as in 40a3fcb0).
DIBuilder clients may also want to attach DILocalVariables to
declaration subprograms, for example, in 58bdf8f9a8.
Thus, the `finalizeSubprogram()` function is called for all definition
subprograms in `DIBuilder::finalize()` because they are stored in the
`AllSubprograms` by the `CreateFunction(isDefinition: true)` call. But
for the declaration subprograms, it should be called manually.
With this commit, `AllSubprograms` is used for holding and finalizing all DISubprograms.
Commit: fd66fa56c428d5d403b3b887b89210f80b12f421
https://github.com/llvm/llvm-project/commit/fd66fa56c428d5d403b3b887b89210f80b12f421
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M flang/lib/Lower/ConvertType.cpp
A flang/test/Lower/do_concurrent_local_assoc_entity.f90
Log Message:
-----------
[flang] Retrieve shape from selector when generating assoc sym type (#137117)
This PR extends `genSymbolType` so that the type of an associating
symbol carries the shape of the selector expression, if any. This is a
fix for a bug that triggered when an associating symbol is used in a
locality specifier. For example, given the following input:
```fortran
associate(a => aa(4:))
do concurrent (i = 4:11) local(a)
a(i) = 0
end do
end associate
```
before the changes in the PR, flang would assert that we are casting
between incompatible types. The issue happened since for the associating
symbol (`a`), flang generated its type as `f32` rather than
`!fir.array<8xf32>` as it should be in this case.
Commit: 389e9d3a422f17356d1f90913b891d23011ae5b3
https://github.com/llvm/llvm-project/commit/389e9d3a422f17356d1f90913b891d23011ae5b3
Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/llvm.sincos.ll
A llvm/test/CodeGen/X86/llvm.sincos.vec.ll
Log Message:
-----------
[X86][NFC] Added/Updated SINCOS function testcases (#141283)
- Moved vector testcases test_sincos_v4f32 and test_sincos_v2f64
from llvm/test/CodeGen/X86/llvm.sincos.ll
to llvm/test/CodeGen/X86/llvm.sincos.vec.ll. And added nounwind too.
- Added sincos testcases for float, double and x86_fp80 types in
llvm/test/CodeGen/X86/llvm.sincos.ll
Commit: b8c4eea3d8b2a2df9442319de14ef38c2492428d
https://github.com/llvm/llvm-project/commit/b8c4eea3d8b2a2df9442319de14ef38c2492428d
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/X86/pr141968-instsimplifyfolder.ll
Log Message:
-----------
[VPlan] Simplify PredPHI LiveIn -> LiveIn (#142271)
5f39be5 ([VPlan] Use InstSimplifyFolder instead of TargetFolder) updated
simplifyRecipe to fold live-ins to Values that are not necessarily
Constant, but forgot to update the corresponding PredPHI folder, which
still folds PredPHI constant -> constant. Update it to fold PredPHI
LiveIn -> LiveIn.
Fixes #141968.
Commit: c5da47108ab77358f5fa5d43fd4d8344086c831f
https://github.com/llvm/llvm-project/commit/c5da47108ab77358f5fa5d43fd4d8344086c831f
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/bindings/python/tests/cindex/test_cdb.py
Log Message:
-----------
[libclang/python] Properly report errors when test fails (#142371)
test_cdb.py's test_create_fail captures stderr to suppress output but
did not release it in case the test fails.
Commit: 41e22aa31b1905aa3e9d83c0343a96ec0d5187ec
https://github.com/llvm/llvm-project/commit/41e22aa31b1905aa3e9d83c0343a96ec0d5187ec
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M offload/unittests/OffloadAPI/device_code/foo.c
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
Log Message:
-----------
[Offload] Set size correctly in olLaunchKernel cts test (#142398)
It was previously not scaled by `sizeof(uint32_t)`.
Commit: 5b8031a7f7e278af5ab9418a3dfa2cad66310278
https://github.com/llvm/llvm-project/commit/5b8031a7f7e278af5ab9418a3dfa2cad66310278
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
Log Message:
-----------
[Offload][AMDGPU] Correctly handle variable implicit argument sizes (#142199)
Summary:
The size of the implicit argument struct can vary depending on
optimizations, it is not always the size as listed by the full struct.
Additionally, the implicit arguments are always aligned on a pointer
boundary. This patch updates the handling to use the correctly aligned
offset and only initialize the members if they are contained in the
reported size.
Additionally, we modify the `alloc` and `free` routines to allow
`alloc(0)` and `free(nullptr)` as these are mandated by the C standard
and allow us to easily handle cases where the user calls a kernel with
no arguments.
Commit: a4b9e82fc4b27741b2fbb30697dd047d50fcdc83
https://github.com/llvm/llvm-project/commit/a4b9e82fc4b27741b2fbb30697dd047d50fcdc83
Author: Pawan Nirpal <pawan.anil.nirpal at intel.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.h
M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.cpp
M llvm/lib/Target/X86/X86InstrFragments.td
A llvm/lib/Target/X86/X86InstrGISel.td
M llvm/lib/Target/X86/X86InstrInfo.td
A llvm/test/CodeGen/X86/GlobalISel/isel-fp64-to-sint-x86.mir
A llvm/test/CodeGen/X86/GlobalISel/isel-sint-to-fp64-x86.mir
M llvm/test/CodeGen/X86/isel-fp-to-sint-x87.ll
M llvm/test/CodeGen/X86/isel-sint-to-fp-x87.ll
Log Message:
-----------
[X86][GlobalISel] - Legalize And Select G_FPTOSI/G_SITOFP in X87 mode (#137377)
Support legalization and selection of G_FPTOSI/G_SITOFP generic opcodes
in x87 mode.
Commit: 3b4c51bb3243a02526313c51207a674139b67a00
https://github.com/llvm/llvm-project/commit/3b4c51bb3243a02526313c51207a674139b67a00
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/test/Interpreter/lambda.cpp
Log Message:
-----------
[clang-repl] Fix error recovery while PTU cleanup (#127467)
Fixes #123300
What is seen
```
clang-repl> int x = 42;
clang-repl> auto capture = [&]() { return x * 2; };
In file included from <<< inputs >>>:1:
input_line_4:1:17: error: non-local lambda expression cannot have a capture-default
1 | auto capture = [&]() { return x * 2; };
| ^
zsh: segmentation fault clang-repl --Xcc="-v"
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x8)
* frame #0: 0x0000000107b4f8b8 libclang-cpp.19.1.dylib`clang::IncrementalParser::CleanUpPTU(clang::PartialTranslationUnit&) + 988
frame #1: 0x0000000107b4f1b4 libclang-cpp.19.1.dylib`clang::IncrementalParser::ParseOrWrapTopLevelDecl() + 416
frame #2: 0x0000000107b4fb94 libclang-cpp.19.1.dylib`clang::IncrementalParser::Parse(llvm::StringRef) + 612
frame #3: 0x0000000107b52fec libclang-cpp.19.1.dylib`clang::Interpreter::ParseAndExecute(llvm::StringRef, clang::Value*) + 180
frame #4: 0x0000000100003498 clang-repl`main + 3560
frame #5: 0x000000018d39a0e0 dyld`start + 2360
```
Though the error is justified, we shouldn't be interested in exiting
through a segfault in such cases.
The issue is that empty named decls weren't being taken care of
resulting into this assert
https://github.com/llvm/llvm-project/blob/c1a229252617ed58f943bf3f4698bd8204ee0f04/clang/include/clang/AST/DeclarationName.h#L503
Can also be seen when the example is attempted through xeus-cpp-lite.

Commit: 5c28af409978c19a35021855a29dcaa65e95da00
https://github.com/llvm/llvm-project/commit/5c28af409978c19a35021855a29dcaa65e95da00
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
[Matrix] Use FixedVectorType everywhere in LowerMatrixIntrinsics. NFC (#142316)
These matrix ops do not support scalable vectors, so we should be really
explicit about that and avoid casting mistakes.
Commit: 77e2e3f64158939316ca576c4178663bc9dfee1b
https://github.com/llvm/llvm-project/commit/77e2e3f64158939316ca576c4178663bc9dfee1b
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir
M mlir/test/Dialect/MemRef/ops.mlir
M mlir/test/Integration/GPU/CUDA/sm90/gemm_f32_f16_f16_128x128x128.mlir
M mlir/test/Integration/GPU/CUDA/sm90/gemm_pred_f32_f16_f16_128x128x128.mlir
Log Message:
-----------
[mlir][memref] Update tests to use memref.assume_alignment properly. (#142358)
With
https://github.com/llvm/llvm-project/commit/ffb9bbfd0745dc22e1fd6edd7b62f72b91f4f6de,
memref.assume_alignment op returns a result value. The revision updates
the tests to reflect the change:
- Update all the lit tests to use the result of memref.assume_alignment,
if it is present.
- Capture the result of the op in lit tests.
---------
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: c261bb76499e3b6f9cd1b589410531a44dd29834
https://github.com/llvm/llvm-project/commit/c261bb76499e3b6f9cd1b589410531a44dd29834
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/test/Transforms/PGOProfile/memprof.ll
Log Message:
-----------
[memprof] Deduplicate alloc site matches (#142334)
With:
commit 2425626d803002027cbf71c39df80cb7b56db0fb
Author: Kazu Hirata <kazu at google.com>
Date: Sun Jun 1 08:09:58 2025 -0700
we print out a lot of duplicate alloc site matches.
This patch partially reverts the patch above. The core idea of using
a map to deduplicate entries remains the same, but details are
different. Specifically:
- This PR uses the [FullStackID, MatchLength] as the key, where
MatchLength is the length of an alloc site match.
- AllocMatchInfo in this PR no longer has Matched because we always
report matches.
- AllocMatchInfo in this PR no longer has NumFramesMatched because it
has become part of the key.
This deduplication roughly halves the amount of messages printed out.
Commit: f50fe748b3de42051b5dbf22448bb55aefcbe39c
https://github.com/llvm/llvm-project/commit/f50fe748b3de42051b5dbf22448bb55aefcbe39c
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
A flang/test/Lower/volatile-openmp1.f90
Log Message:
-----------
[flang] Propagate volatile on openmp reduction vars (#142182)
In the openmp reduction clause lowering, reduction variables' reference
types were not propagating the volatility of the original variable's
type. Add a test and address cases of this in ReductionProcessor.
Commit: 01d4b16406f53b0ccb80fa80aa15218f59fb7d7c
https://github.com/llvm/llvm-project/commit/01d4b16406f53b0ccb80fa80aa15218f59fb7d7c
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M flang/include/flang/Semantics/symbol.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
A flang/test/Semantics/OpenMP/declare-simd-uniform.f90
Log Message:
-----------
[flang][OpenMP] Resolve names for declare simd uniform clause (#142160)
Add a visitor for OmpClause::Uniform to resolve its parameter names.
Add Symbol::Flag::OmpUniform to attach it to the resolved symbols.
Fixes issue #140741.
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: 847e403ed7197988d4c8b95800b7e9b178d058a7
https://github.com/llvm/llvm-project/commit/847e403ed7197988d4c8b95800b7e9b178d058a7
Author: David Green <david.green at arm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/objc-categories.cpp
Log Message:
-----------
[ASTWriter] Do not write ObjCCategories if empty. (#141841)
This is a fix for a completely unrelated patch, that started to cause
failures in the explicit-build.cpp test because the size of the b.pcm
and b-not-a.pcm files became the same. The alignment added by empty
ObjCCategory blobs being written to the file causes them to become the
same size, and the error 'module file has a different size than
expected' will not be emitted as the pcms only track module size, not
content, for whether they are valid.
This prevents that issue by not saving the ObjCCategories if it is
empty. The change in clang/lib/Serialization/ASTReaderDecl.cpp is just
formatting, but shows that the only use of ObjCCategoriesMap loaded from
the file will be OK with null (never loaded) data. It is a bit of a weird
fix, but should help decrease the size of the modules for objects that
are not used.
Commit: df5f65d22a697ec67725bac3660d4540769af8b2
https://github.com/llvm/llvm-project/commit/df5f65d22a697ec67725bac3660d4540769af8b2
Author: Nathan Gauër <brioche at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets/SPIR.cpp
M clang/test/Preprocessor/predefined-macros.c
Log Message:
-----------
[SPIR-V] Only emit __spirv__ when targeting HLSL (#142401)
OpenCL translator has a `__spirv` namespace, and defining the
`__spirv__` macro causes issues downstream on the OpenCL side. This
macro is needed to keep compatibility with HLSL/DXC, but can be avoided
for other targets/languages.
Commit: 3290d625d2b37d1bb559f836dd40e30f5fab5e6b
https://github.com/llvm/llvm-project/commit/3290d625d2b37d1bb559f836dd40e30f5fab5e6b
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Add TestingDemangle target for #137947 (#142419)
Added in f7e172da4caeab9d92f6e97501b1a2c561e616c1
Commit: 832a7bb460613690dc3627c16c26e07d0a18add7
https://github.com/llvm/llvm-project/commit/832a7bb460613690dc3627c16c26e07d0a18add7
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/include/clang/Basic/AArch64ACLETypes.def
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Sema/Sema.cpp
A clang/test/AST/ast-dump-aarch64-neon-types.c
A clang/test/CodeGen/AArch64/mixed-neon-types.c
Log Message:
-----------
[AArch64] Add missing Neon Types (#126945)
The AAPCS64 adds a number of vector types to the C unconditionally:
https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#11appendix-support-for-advanced-simd-extensions
The equivalent SVE types are already available in clang:
https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#12appendix-support-for-scalable-vectors
__mfp8 is defined in the ACLE
https://arm-software.github.io/acle/main/acle.html#data-types
---------
Co-authored-by: David Green <david.green at arm.com>
Commit: be6fc0092e44c7fa3981639cbfe692c78a5eb418
https://github.com/llvm/llvm-project/commit/be6fc0092e44c7fa3981639cbfe692c78a5eb418
Author: David Green <david.green at arm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/test/CodeGen/AArch64/mixed-neon-types.c
Log Message:
-----------
[AArch64] Add REQUIRES: aarch64-registered-target to mixed-neon-types.c
Update the new test added in #126945
Commit: 150d466994050c52db76b64ff2ce44cddddbcad4
https://github.com/llvm/llvm-project/commit/150d466994050c52db76b64ff2ce44cddddbcad4
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/include/llvm/FileCheck/FileCheck.h
M llvm/include/llvm/Frontend/Atomic/Atomic.h
M llvm/include/llvm/Frontend/Driver/CodeGenOptions.h
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
M llvm/include/llvm/Frontend/Offloading/OffloadWrapper.h
M llvm/include/llvm/Frontend/Offloading/Utility.h
M llvm/include/llvm/Frontend/OpenMP/OMP.h
M llvm/include/llvm/Frontend/OpenMP/OMPContext.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/FuzzMutate/FuzzerCLI.h
M llvm/include/llvm/FuzzMutate/IRMutator.h
M llvm/include/llvm/FuzzMutate/OpDescriptor.h
M llvm/include/llvm/FuzzMutate/Operations.h
M llvm/include/llvm/FuzzMutate/RandomIRBuilder.h
Log Message:
-----------
[llvm] annotate interfaces in FileCheck, FrontEnd, and FuzzMutate libraries for DLL export (#141864)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/FileCheck`,
`llvm/FrontEnd`, and `llvm/FuzzMutate libraries. These annotations
currently have no meaningful impact on the LLVM build; however, they are
a prerequisite to support an LLVM Windows DLL (shared library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS on
Linux:
- Add #include "llvm/Support/Compiler.h" where it was not auto-added by
IDS due to no pre-existing block of include statements.
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: 4ca4f81599bd3628c3d509c311ce25d240e2941e
https://github.com/llvm/llvm-project/commit/4ca4f81599bd3628c3d509c311ce25d240e2941e
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h
Log Message:
-----------
[llvm] clang-format llvm/IR/BasicBlock.h and llvmLTO/LTOGodeGenerator.h (#141849)
Reformat a couple of headers under llvm/include with `clang-format` in
preparation for a codemod.
This is just a formatting change; no functionality is impacted.
Commit: 11713e86b04fb06dbace56023d114754170f7272
https://github.com/llvm/llvm-project/commit/11713e86b04fb06dbace56023d114754170f7272
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/test/Transforms/LoopVectorize/AArch64/i1-reg-usage.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/LoongArch/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/X86/i1-reg-usage.ll
M llvm/test/Transforms/LoopVectorize/X86/reg-usage-debug.ll
M llvm/test/Transforms/LoopVectorize/X86/reg-usage.ll
Log Message:
-----------
[LV] Move VPlan-based calculateRegisterUsage to VPlanAnalysis (NFC). (#135673)
Move VPlan-based calculateRegisterUsage from LoopVectorize
to VPlanAnalysis.cpp. It is a VPlan-based analysis and this helps
to reduce the size of LoopVectorize.
PR: https://github.com/llvm/llvm-project/pull/135673
Commit: e83c80340f4257308f3164c386bf432c17938b61
https://github.com/llvm/llvm-project/commit/e83c80340f4257308f3164c386bf432c17938b61
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M offload/unittests/CMakeLists.txt
M offload/unittests/OffloadAPI/CMakeLists.txt
Log Message:
-----------
[Offload] Split offload unittests into multiple files (#142418)
Rather than a single `offload.unittests` file, this will produce
`device.unittests`, `event.unittests`, etc.. This should reduce time
spent building tests, and make it easier to manually run a subset of
the tests.
Note that `check-offload-unit` will still run all the tests.
Commit: 405c31fbd16e9c8594a760fea339d83937712812
https://github.com/llvm/llvm-project/commit/405c31fbd16e9c8594a760fea339d83937712812
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/imm.ll
M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
Log Message:
-----------
[RISCV][test] Add i64 materialization tests for BSETI
Commit: 34bb6426600f8d10f36f47d6f3eb243c4ced66eb
https://github.com/llvm/llvm-project/commit/34bb6426600f8d10f36f47d6f3eb243c4ced66eb
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/include/llvm/AsmParser/Parser.h
M llvm/include/llvm/BinaryFormat/AMDGPUMetadataVerifier.h
M llvm/include/llvm/BinaryFormat/COFF.h
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/BinaryFormat/MachO.h
M llvm/include/llvm/BinaryFormat/Magic.h
M llvm/include/llvm/BinaryFormat/MsgPackDocument.h
M llvm/include/llvm/BinaryFormat/MsgPackReader.h
M llvm/include/llvm/BinaryFormat/MsgPackWriter.h
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/BinaryFormat/XCOFF.h
M llvm/include/llvm/Bitcode/BitcodeAnalyzer.h
M llvm/include/llvm/Bitcode/BitcodeReader.h
M llvm/include/llvm/Bitcode/BitcodeWriter.h
M llvm/include/llvm/Bitcode/BitcodeWriterPass.h
M llvm/include/llvm/Bitstream/BitstreamReader.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
Log Message:
-----------
[llvm] annotate interfaces in AsmParser, BinaryFormat, Bitcode, and Bitstream libraries for DLL export (#141794)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/AsmParser`,
`llvm/BinaryFormat`, `llvm/Bitcode` and `llvm/Bitstream libraries. These
annotations currently have no meaningful impact on the LLVM build;
however, they are a prerequisite to support an LLVM Windows DLL (shared
library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS on
Linux:
- Add `LLVM_ABI_FRIEND` to friend member functions declared with
`LLVM_ABI`
- Add `LLVM_ABI` symbols that require export but are not declared in
headers
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: def17cd38f48147ec2ab29674fc5746782c62b47
https://github.com/llvm/llvm-project/commit/def17cd38f48147ec2ab29674fc5746782c62b47
Author: Hemang Gadhavi <hemang.gadhavi at ibm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
Log Message:
-----------
[lldb][AIX] Added support to load DW_ranges section (#142356)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
- [lldb] [AIX] Added support to load Dwarf Ranges(.dwranges) section.
Commit: 05f1ca7d17e46510a41992cedc6ff062940aa7b4
https://github.com/llvm/llvm-project/commit/05f1ca7d17e46510a41992cedc6ff062940aa7b4
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
M llvm/lib/Target/PowerPC/PPCInstrMMA.td
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
A llvm/test/CodeGen/PowerPC/dmr-spill.ll
Log Message:
-----------
[PowerPC] Spill and restore DMR register (#141530)
Add spilling and restoring of DMR registers.
Commit: 11c3e65e1d791f3de2d4b6fddf7f76eab3a8cd26
https://github.com/llvm/llvm-project/commit/11c3e65e1d791f3de2d4b6fddf7f76eab3a8cd26
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M libcxx/src/locale.cpp
Log Message:
-----------
[libc++] Remove unused include caused by wrong __has_include (#141328)
The parameter passed to __has_include has to be quoted by `<>` or `"`,
not both.
Commit: 705eedd47d1274bfc52df5b2143089c061f51f8e
https://github.com/llvm/llvm-project/commit/705eedd47d1274bfc52df5b2143089c061f51f8e
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M libcxx/include/__configuration/availability.h
M libcxx/include/__fwd/variant.h
M libcxx/include/any
M libcxx/include/optional
M libcxx/include/variant
M libcxx/src/any.cpp
M libcxx/src/optional.cpp
M libcxx/test/support/any_helpers.h
M libcxx/test/support/msvc_stdlib_force_include.h
Log Message:
-----------
[libc++] Remove availability annotations which can't fire anymore (#140049)
According to https://developer.apple.com/support/xcode/ the removed
annotations can't fire anymore, since the targets they would fire for
aren't supported anymore.
Commit: adba40e188c6bbcfd0523c51a7b3efb8a72ef80d
https://github.com/llvm/llvm-project/commit/adba40e188c6bbcfd0523c51a7b3efb8a72ef80d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
[Matrix] Assert that there's shapeinfo in Visit* (NFC). (#142416)
We should only call Visit* for instructions with shape info. Turn early
exit into assert.
PR: https://github.com/llvm/llvm-project/pull/142416
Commit: c84f2c79da9b0e37650058fe3105dc60b3cbc98d
https://github.com/llvm/llvm-project/commit/c84f2c79da9b0e37650058fe3105dc60b3cbc98d
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables-x.mir
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables.ll
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables.mir
M llvm/test/CodeGen/Generic/MIRDebugify/multifunction-module.mir
M llvm/test/DebugInfo/debugify-bogus-dbg-value.ll
M llvm/test/DebugInfo/debugify-each.ll
M llvm/test/DebugInfo/debugify-export.ll
M llvm/test/DebugInfo/debugify-ignore-phi.ll
M llvm/test/DebugInfo/debugify-original-no-dbg-info.ll
M llvm/test/DebugInfo/debugify-report-missing-locs-only.ll
M llvm/test/DebugInfo/debugify.ll
M llvm/test/DebugInfo/pr37964.ll
M llvm/test/DebugInfo/verify-di-preserve.ll
R llvm/test/Transforms/MergeFunc/debuginfo-iterators.ll
M llvm/test/tools/dxil-dis/debug-info.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Delete experimental-iterator test-flags from tests (#140045)
Over in 6a45fce, this flag (experimental-debuginfo-iterators) was
switched to do nothing, to flush out anything that depended on the
debug-intrinsics way of doing things. It's been a month and nothing's
super-broken, so we'll start to rip things out.
This commit deletes MergeFunc's debuginfo-iterators test: in d2942a86d7
it's documented that that test is specifically because of differences
between intrinsic/non-intrinsic data structures, and we're deleting the
possibility of that difference.
Commit: 31c022adf25c1e4012a2a36c42eb837bf3a77d3a
https://github.com/llvm/llvm-project/commit/31c022adf25c1e4012a2a36c42eb837bf3a77d3a
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrFutureMMA.td
M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
Log Message:
-----------
[PowerPC][NFC] Revert changes to dmrp register class name (#142434)
Commit: 0a68a9d6c5f37f63a821948a43315ba4dcd69acc
https://github.com/llvm/llvm-project/commit/0a68a9d6c5f37f63a821948a43315ba4dcd69acc
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
M clang/test/Driver/aix-print-runtime-dir.c
Log Message:
-----------
[clang][AIX] Fix -print-runtime-dir fallback on AIX (#141439)
If the runtime path is not found (by getTargetSubDirPath()), since per
target runtime directory is enabled on AIX, we should fall back to the
target subdirectory rather than the OS subdirectory.
Commit: cc400d4417e840fe67314ac4915eb4341535bbfa
https://github.com/llvm/llvm-project/commit/cc400d4417e840fe67314ac4915eb4341535bbfa
Author: Usama Hameed <u_hameed at apple.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Log Message:
-----------
[HWASan][bugfix] Fix kernel check in ShadowMapping::init (#142226)
The function currently checks for the command line argument only to
check if compiling for kernel. This is incorrect as the setting can also
be passed programatically.
Commit: 76423133efe61ba7946bf695703af156fa0c0fab
https://github.com/llvm/llvm-project/commit/76423133efe61ba7946bf695703af156fa0c0fab
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Add missing deps for #141864 (#142437)
Added in 150d466994050c52db76b64ff2ce44cddddbcad4.
```
external/llvm-project/llvm/include/llvm/Frontend/Driver/CodeGenOptions.h:16:10: error: module llvm-project//llvm:FrontendDriver does not depend on a module exporting 'llvm/Support/Compiler.h'
#include "llvm/Support/Compiler.h"
```
Commit: 8e8da88d46dcb1ba6ffe266779dd047fa772497e
https://github.com/llvm/llvm-project/commit/8e8da88d46dcb1ba6ffe266779dd047fa772497e
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M lldb/source/Plugins/Process/Linux/Procfs.cpp
M lldb/unittests/Process/Linux/ProcfsTests.cpp
Log Message:
-----------
[lldb] Fix SIGSEGV in `GetPtraceScope()` in `Procfs.cpp` (#142224)
# Symptom
We have seen SIGSEGV like this:
```
* thread #1, name = 'lldb-server', stop reason = SIGSEGV
frame #0: 0x00007f39e529c993 libc.so.6`__pthread_kill_internal(signo=11, threadid=<unavailable>) at pthread_kill.c:46:37
...
* frame #5: 0x000056027c94fe48 lldb-server`lldb_private::process_linux::GetPtraceScope() + 72
frame #6: 0x000056027c92f94f lldb-server`lldb_private::process_linux::NativeProcessLinux::Attach(int) + 1087
...
```
See [full stack trace](https://pastebin.com/X0d6QhYj).
This happens on Linux where LLDB doesn't have access to
`/proc/sys/kernel/yama/ptrace_scope`.
A similar error (an unchecked `Error`) can be reproduced by running the
newly added unit test without the fix. See the "Test" section below.
# Root cause
`GetPtraceScope()`
([code](https://github.com/llvm/llvm-project/blob/328f40f408c218f25695ea42c844e43bef38660b/lldb/source/Plugins/Process/Linux/Procfs.cpp#L77))
has the following `if` statement:
```
llvm::Expected<int> lldb_private::process_linux::GetPtraceScope() {
ErrorOr<std::unique_ptr<MemoryBuffer>> ptrace_scope_file =
getProcFile("sys/kernel/yama/ptrace_scope");
if (!*ptrace_scope_file)
return errorCodeToError(ptrace_scope_file.getError());
...
}
```
The intention of the `if` statement is to check whether the
`ptrace_scope_file` is an `Error` or not, and return the error if it is.
However, the `operator*` of `ErrorOr` returns the value that is stored
(which is a `std::unique_ptr<MemoryBuffer>`), so what the `if` condition
actually do is to check if the unique pointer is non-null.
Note that the method `ErrorOr::getStorage()` ([called
by](https://github.com/llvm/llvm-project/blob/328f40f408c218f25695ea42c844e43bef38660b/llvm/include/llvm/Support/ErrorOr.h#L162-L164)
`ErrorOr::operator *`) **does** assert on whether or not `HasError` has
been set (see
[ErrorOr.h](https://github.com/llvm/llvm-project/blob/328f40f408c218f25695ea42c844e43bef38660b/llvm/include/llvm/Support/ErrorOr.h#L235-L243)).
However, it seems this wasn't executed, probably because the LLDB was a
release build.
# Fix
The fix is simply remove the `*` in the said `if` statement.
Commit: 88c1403981dee9844042a99dc357d8034cf5d197
https://github.com/llvm/llvm-project/commit/88c1403981dee9844042a99dc357d8034cf5d197
Author: Vy Nguyen <vyng at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M lldb/include/lldb/Core/Telemetry.h
Log Message:
-----------
[LLDB][NFC] Add accessor for SessionId (#142444)
Commit: 3dffd7117486785ad919ed394fdb1f345634c242
https://github.com/llvm/llvm-project/commit/3dffd7117486785ad919ed394fdb1f345634c242
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/test/CIR/Lowering/func-simple.cpp
Log Message:
-----------
[CIR] [NFC] Update CHECK pattern to use regex for new def of RV (#142218)
Found this minor nit: it was using a previously defined RV.
Commit: 543446a35309d82919dc1b021125e978a7451b12
https://github.com/llvm/llvm-project/commit/543446a35309d82919dc1b021125e978a7451b12
Author: James Newling <james.newling at gmail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
A mlir/test/Dialect/Vector/canonicalize/vector-from-elements.mlir
Log Message:
-----------
[mli][vector] canonicalize vector.from_elements from ascending extracts (#139819)
Example:
```mlir
%0 = vector.extract %source[0, 0] : i8 from vector<1x2xi8>
%1 = vector.extract %source[0, 1] : i8 from vector<1x2xi8>
%2 = vector.from_elements %0, %1 : vector<2xi8>
```
becomes
```mlir
%2 = vector.shape_cast %source : vector<1x2xi8> to vector<2xi8>
```
It was decided that we should spill canonicalization tests into new
files (see
[discussion](https://github.com/llvm/llvm-project/pull/135096#pullrequestreview-2760245596))
In view of this I added the new tests to a new file specifically for
canonicalization of from_elements. To be consistent in the location of
the tests, I moved existing tests `extract_scalar_from_from_element`,
`extract_1d_from_from_elements`, `extract_2d_from_from_elements` and
`from_elements_to_splat` from `canonicalize.mlir` to
`canonicalze/vector-from-elements.mlir`. In addition to moving I changed
the LIT variables to all be upper-case for consistency.
Commit: 7365f029de77321d189bf138b73ff97502bbb77d
https://github.com/llvm/llvm-project/commit/7365f029de77321d189bf138b73ff97502bbb77d
Author: Alex Langford <alangford at apple.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb][NFC] Remove unused macro ENABLE_MEMORY_CACHING (#142231)
This macro does not do what is described. The only thing it actually
does control is whether or not the process's memory cache gets flushed
when writing to an address. It does not override the setting
`target.process.disable-memory-cache`.
Instead of making it work as intended, I chose to remove the macro. I
don't see much value in being able to override the setting with a
preprocessor macro.
Commit: e38375310ea921315bb384457d4ae3271913141a
https://github.com/llvm/llvm-project/commit/e38375310ea921315bb384457d4ae3271913141a
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wcscpy.cpp
A libc/src/wchar/wcscpy.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wcscpy_test.cpp
Log Message:
-----------
[libc] wcscpy implementation (#142228)
Implemented wcscpy as well as tests for the function.
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: e723e15db1184824eda53184e1fe7fbf54d42763
https://github.com/llvm/llvm-project/commit/e723e15db1184824eda53184e1fe7fbf54d42763
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/constbarrier-rv32.ll
M llvm/test/CodeGen/RISCV/GlobalISel/constbarrier-rv64.ll
M llvm/test/CodeGen/RISCV/GlobalISel/div-by-constant.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbb.ll
M llvm/test/CodeGen/RISCV/machine-copyprop-simplifyinstruction.mir
Log Message:
-----------
[MCP] Handle iterative simplification during forward copy prop (#140267)
This is the follow up I mentioned doing in the review of 52b345d. That
change introduced an API for performing instruction simplifications
following copy propagation (e.g. things like recognizing ORI a0, a1,
zero is just a move). As noted in that review, we should be able to
perform iterative simplification as we move forward through the block,
but weren't because of the code structure.
The majority of this code is just deleting the special casing for
constant source and destination tracking, and merging the copy handling
with the main path. By assumption, the properties of copies (in terms of
register reads and writes), must be a subset of general instructions.
Once we do that, the iterative bit basically falls out from having the
tracking performed for copies which are recognized *after* we forward
prior uses.
Commit: 9f7f4acbf0fc42357e7c804447cb7c2468ca4f4e
https://github.com/llvm/llvm-project/commit/9f7f4acbf0fc42357e7c804447cb7c2468ca4f4e
Author: David Green <david.green at arm.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/test/Modules/explicit-build.cpp
Log Message:
-----------
[Clang][Modules] Add a target to build-explicit.cpp test. NFC
This test relies on two modules being different sizes, which is not always true
with different architectures. Make the test x86 specific at the moment to
ensure it does not fail spuriously.
Commit: c4806dbda348556d58fa10fa06b1d9dd95bac4c8
https://github.com/llvm/llvm-project/commit/c4806dbda348556d58fa10fa06b1d9dd95bac4c8
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
M llvm/test/CodeGen/RISCV/imm.ll
M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
Log Message:
-----------
[RISCV] Fold LI 1 / SLLI into BSETI during i64 materialization (#142348)
My first approach was to avoid emitting LI 1 / SLLI in the first place.
Unfortunately, that favors BSETI C / ADDI -1 over LI -1 / SRLI 64-C
even though the latter has both instructions compressible.
This is because the code assumes in several places that
a two-instruction sequence (here: BSETI / ADDI) cannot be improved.
Another possible approach would be to keep LI 1 / SLLI if it is to be
later replaced with SRLI. This would be harder to grasp than eventually
patching LI 1 / SLLI with BSETI.
Commit: 18e51314c41ea3093f28659cd15095778dfe88f7
https://github.com/llvm/llvm-project/commit/18e51314c41ea3093f28659cd15095778dfe88f7
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
A bolt/test/X86/Inputs/pre-aggregated-basic.txt
M bolt/test/X86/pre-aggregated-perf.test
M bolt/test/link_fdata.py
Log Message:
-----------
[BOLT] Support pre-aggregated basic sample profile (#140196)
Define a pre-aggregated basic sample format:
```
E <event name>
S <location> <count>
```
`-nl` flag is required to use parsed basic samples.
Test Plan: update pre-aggregated-perf.test
Commit: 0210750d5a5b4cfc8d2b6a9e94ace24d31d65ddc
https://github.com/llvm/llvm-project/commit/0210750d5a5b4cfc8d2b6a9e94ace24d31d65ddc
Author: Chao Chen <chao.chen at intel.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
M mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
A mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/lib/Dialect/XeGPU/Utils/CMakeLists.txt
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
A mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
Log Message:
-----------
[MLIR][XeGPU] Add unroll patterns and blocking pass for XeGPU [2/N] (#140163)
This PR introduces the initial implementation of a blocking pass for
XeGPU programs. The pass leverages unroll patterns from both the XeGPU
and Vector dialects.
---------
Co-authored-by: Adam Siemieniuk <adam.siemieniuk at intel.com>
Commit: 890f8729a240f3e3ae5605b6d997624ad45f1ac6
https://github.com/llvm/llvm-project/commit/890f8729a240f3e3ae5605b6d997624ad45f1ac6
Author: Jesse Huang <jesse.huang at sifive.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
M llvm/test/CodeGen/RISCV/nest-register.ll
Log Message:
-----------
[RISCV] Use t3 for static chain register when branch CFI is enabled (#142344)
Use t3 for static chain register when branch CFI is enabled to align
with gcc.[1]
[1]
https://github.com/gcc-mirror/gcc/blob/master/gcc/config/riscv/riscv.h#L417
Commit: 4e9794fdbe266ce8e473c97f7ddc7b604780e5a0
https://github.com/llvm/llvm-project/commit/4e9794fdbe266ce8e473c97f7ddc7b604780e5a0
Author: Jesse Huang <jesse.huang at sifive.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rv64-trampoline.ll
Log Message:
-----------
[NFC][RISCV] Use -O0 in trampoline test for easier code observation (#142332)
A portion of the trampoline code is optimized into a load from the
constant pool, making the lit test unable to capture the value of it.
Disabling the optimization can keep them load from immediates and able
to observe any value changes.
Commit: c005df3c7e7f8bf788803a95e27d57b339c965fe
https://github.com/llvm/llvm-project/commit/c005df3c7e7f8bf788803a95e27d57b339c965fe
Author: Ian Wood <ianwood2024 at u.northwestern.edu>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
Log Message:
-----------
[mlir][linalg] Fix EraseIdentityLinalgOp on fill-like ops (#130000)
Adds a check to make sure that the linalg op is safe to erase by
ensuring that the `linalg.yield` is yielding one of the linalg op's
block args. This check already exists for linalg ops with pure tensor
semantics.
Closes https://github.com/llvm/llvm-project/issues/129414
---------
Signed-off-by: Ian Wood <ianwood2024 at u.northwestern.edu>
Commit: eb9ed93fce4ac3726af0449ac5cee7cb829d3931
https://github.com/llvm/llvm-project/commit/eb9ed93fce4ac3726af0449ac5cee7cb829d3931
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M offload/plugins-nextgen/common/src/Utils/ELF.cpp
Log Message:
-----------
[Offload] Optimistically accept SM architectures (#142399)
Summary:
We try to clamp these to ones known to work, but we should probably just
optimistically accept these. I'd prefer to update the flag check, but
since NVIDIA refuses to publish their ELF format it's too much effort to
reverse engineer.
Fixes: https://github.com/llvm/llvm-project/issues/138532
Commit: 06f13f868490adb075b4fbe2edd1432723ba7cdc
https://github.com/llvm/llvm-project/commit/06f13f868490adb075b4fbe2edd1432723ba7cdc
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/AArch64/patch-ignored.s
A bolt/test/X86/patch-ignored.s
Log Message:
-----------
[BOLT] Fix references in ignored functions in CFG state (#140678)
When we call setIgnored() on functions that already have CFG built,
these functions are not going to get emitted and we risk missing
external function references being updated.
To mitigate the potential issues, run scanExternalRefs() on such
functions to create patches/relocations.
Since scanExternalRefs() relies on function relocations, we have to
preserve relocations until the function is emitted. As a result, the
memory overhead without debug info update could reach up to 2%.
Commit: f99e76b004bd1e5eb4fe42b22e0740df22e8881c
https://github.com/llvm/llvm-project/commit/f99e76b004bd1e5eb4fe42b22e0740df22e8881c
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port 0210750d5a5b4cfc8d2b6a9e94ace24d31d65ddc
Commit: b88dfb0b23d0a1863414fb9450ee444766bfe7c9
https://github.com/llvm/llvm-project/commit/b88dfb0b23d0a1863414fb9450ee444766bfe7c9
Author: Chao Chen <chao.chen at intel.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
M mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
R mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/lib/Dialect/XeGPU/Utils/CMakeLists.txt
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
R mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
Log Message:
-----------
Revert "[MLIR][XeGPU] Add unroll patterns and blocking pass for XeGPU [2/N]" (#142459)
Reverts llvm/llvm-project#140163
Commit: a57ebc1a17b833b2fc435a07a5d3a49f4769ee94
https://github.com/llvm/llvm-project/commit/a57ebc1a17b833b2fc435a07a5d3a49f4769ee94
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/test/CIR/IR/invalid-vector.cir
Log Message:
-----------
[CIR][NFC] Upstream VectorType support in helper function (#142222)
This change upstream supports VectorType in the helper function and adds
a test for the Vector type of FP binary operations
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 5628bf5a1e99375065df2b9652069adc9afcd655
https://github.com/llvm/llvm-project/commit/5628bf5a1e99375065df2b9652069adc9afcd655
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
Log Message:
-----------
Reland "[HLSL][RootSignature] Add parsing of filter enum for StaticSampler" (#142441)
This relands https://github.com/llvm/llvm-project/pull/140294.
The initial naming of the enum class Filter and the Filter struct member
causes ambiguity when compiling with gcc.
This change addresses this my renaming `Filter` to `SamplerFilter`.
I have confirmed this builds locally using gcc.
Resolves https://github.com/llvm/llvm-project/issues/126574.
Commit: 7bf5862dbfda590282f50b14e6d7d5f990bf1900
https://github.com/llvm/llvm-project/commit/7bf5862dbfda590282f50b14e6d7d5f990bf1900
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Correctly annotate token-pasted function decl names (#142337)
Fix #142178
Commit: 08190e55ab13f8f5582b9be3c0f4d5a3ff8f9984
https://github.com/llvm/llvm-project/commit/08190e55ab13f8f5582b9be3c0f4d5a3ff8f9984
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
A clang/test/CIR/CodeGen/dso-local.c
M clang/test/CIR/CodeGen/namespace.cpp
M clang/test/CIR/CodeGen/string-literals.c
M clang/test/CIR/global-var-linkage.cpp
Log Message:
-----------
[CIR] Fix dso_local and comdat handling for global vars (#142214)
This change adds extra processing of global variable definitions to
correctly set the dso_local and comdat attributes.
Commit: 09cd3edc9a00e3bf438447fc96e11bd485200f4f
https://github.com/llvm/llvm-project/commit/09cd3edc9a00e3bf438447fc96e11bd485200f4f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Bump Github Actions Runner in CI Agent Containers
Github actions/runner v2.325.0 was released earlier today. Bump the container
images to use the latest version.
Commit: d313c09b288c31f93819408048b0b64ca5c5fc2b
https://github.com/llvm/llvm-project/commit/d313c09b288c31f93819408048b0b64ca5c5fc2b
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/lib/Basic/NoSanitizeList.cpp
A clang/test/CodeGen/ubsan-function-ignorelist.test
Log Message:
-----------
[UBSan][Ignorelist] Expanding =sanitize to fun. (#142074)
See https://github.com/llvm/llvm-project/issues/139128
If multiple entries match the source, than the latest entry takes the
precedence.
---------
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Commit: 3d2650bdeb8409563d917d8eef70b906323524ef
https://github.com/llvm/llvm-project/commit/3d2650bdeb8409563d917d8eef70b906323524ef
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/alu-roundtrip.ll
M llvm/test/CodeGen/RISCV/GlobalISel/bitmanip.ll
M llvm/test/CodeGen/RISCV/GlobalISel/div-by-constant.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-intrinsics.ll
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/constant64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/fp-constant-f16.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/fp-constant.mir
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/vararg.ll
M llvm/test/CodeGen/RISCV/abdu-neg.ll
M llvm/test/CodeGen/RISCV/abdu.ll
M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
M llvm/test/CodeGen/RISCV/alu16.ll
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
M llvm/test/CodeGen/RISCV/atomicrmw-cond-sub-clamp.ll
M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/RISCV/avgceilu.ll
M llvm/test/CodeGen/RISCV/avgflooru.ll
M llvm/test/CodeGen/RISCV/bittest.ll
M llvm/test/CodeGen/RISCV/branch-relaxation-rv64.ll
M llvm/test/CodeGen/RISCV/bswap-bitreverse.ll
M llvm/test/CodeGen/RISCV/calling-conv-half.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/codemodel-lowering.ll
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/ctz_zero_return_test.ll
M llvm/test/CodeGen/RISCV/div-by-constant.ll
M llvm/test/CodeGen/RISCV/div.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/float-imm.ll
M llvm/test/CodeGen/RISCV/float-intrinsics.ll
M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
M llvm/test/CodeGen/RISCV/fold-mem-offset.ll
M llvm/test/CodeGen/RISCV/fpclamptosat.ll
M llvm/test/CodeGen/RISCV/fpenv.ll
M llvm/test/CodeGen/RISCV/half-arith.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/half-imm.ll
M llvm/test/CodeGen/RISCV/half-intrinsics.ll
M llvm/test/CodeGen/RISCV/i64-icmp.ll
M llvm/test/CodeGen/RISCV/imm.ll
M llvm/test/CodeGen/RISCV/inline-asm-mem-constraint.ll
M llvm/test/CodeGen/RISCV/lack-of-signed-truncation-check.ll
M llvm/test/CodeGen/RISCV/local-stack-slot-allocation.ll
M llvm/test/CodeGen/RISCV/loop-strength-reduce-add-cheaper-than-mul.ll
M llvm/test/CodeGen/RISCV/macro-fusion-lui-addi.ll
M llvm/test/CodeGen/RISCV/memset-inline.ll
M llvm/test/CodeGen/RISCV/narrow-shl-cst.ll
M llvm/test/CodeGen/RISCV/opt-w-instrs.mir
M llvm/test/CodeGen/RISCV/out-of-reach-emergency-slot.mir
M llvm/test/CodeGen/RISCV/overflow-intrinsics.ll
M llvm/test/CodeGen/RISCV/pr135206.ll
M llvm/test/CodeGen/RISCV/pr56457.ll
M llvm/test/CodeGen/RISCV/pr58286.ll
M llvm/test/CodeGen/RISCV/pr58511.ll
M llvm/test/CodeGen/RISCV/pr68855.ll
M llvm/test/CodeGen/RISCV/pr69586.ll
M llvm/test/CodeGen/RISCV/pr90730.ll
M llvm/test/CodeGen/RISCV/pr95271.ll
M llvm/test/CodeGen/RISCV/prefer-w-inst.ll
M llvm/test/CodeGen/RISCV/prefetch.ll
M llvm/test/CodeGen/RISCV/prolog-epilogue.ll
M llvm/test/CodeGen/RISCV/rem.ll
M llvm/test/CodeGen/RISCV/rv32i-rv64i-half.ll
M llvm/test/CodeGen/RISCV/rv64-float-convert.ll
M llvm/test/CodeGen/RISCV/rv64-half-convert.ll
M llvm/test/CodeGen/RISCV/rv64-patchpoint.ll
M llvm/test/CodeGen/RISCV/rv64-trampoline.ll
M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
M llvm/test/CodeGen/RISCV/rv64xtheadbb.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
M llvm/test/CodeGen/RISCV/rv64zbb-intrinsic.ll
M llvm/test/CodeGen/RISCV/rv64zbb.ll
M llvm/test/CodeGen/RISCV/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/rv64zbs.ll
M llvm/test/CodeGen/RISCV/rvv/bitreverse-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/bswap-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ctpop-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-sat-clip.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zvqdotq.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/frm-insert.ll
M llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
M llvm/test/CodeGen/RISCV/rvv/pr88799.ll
M llvm/test/CodeGen/RISCV/rvv/stack-probing-dynamic.ll
M llvm/test/CodeGen/RISCV/rvv/stack-probing-rvv.ll
M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
M llvm/test/CodeGen/RISCV/rvv/trunc-sat-clip-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvl-cross-inline-asm.ll
M llvm/test/CodeGen/RISCV/rvv/vsplats-i64.ll
M llvm/test/CodeGen/RISCV/rvv/zvqdotq-sdnode.ll
M llvm/test/CodeGen/RISCV/sadd_sat.ll
M llvm/test/CodeGen/RISCV/sadd_sat_plus.ll
M llvm/test/CodeGen/RISCV/select-cc.ll
M llvm/test/CodeGen/RISCV/select-const.ll
M llvm/test/CodeGen/RISCV/select.ll
M llvm/test/CodeGen/RISCV/sextw-removal.ll
M llvm/test/CodeGen/RISCV/shl-cttz.ll
M llvm/test/CodeGen/RISCV/shlimm-addimm.ll
M llvm/test/CodeGen/RISCV/signed-truncation-check.ll
M llvm/test/CodeGen/RISCV/split-offsets.ll
M llvm/test/CodeGen/RISCV/split-udiv-by-constant.ll
M llvm/test/CodeGen/RISCV/split-urem-by-constant.ll
M llvm/test/CodeGen/RISCV/srem-lkk.ll
M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
M llvm/test/CodeGen/RISCV/ssub_sat.ll
M llvm/test/CodeGen/RISCV/ssub_sat_plus.ll
M llvm/test/CodeGen/RISCV/stack-clash-prologue-nounwind.ll
M llvm/test/CodeGen/RISCV/stack-clash-prologue.ll
M llvm/test/CodeGen/RISCV/stack-inst-compress.mir
M llvm/test/CodeGen/RISCV/stack-offset.ll
M llvm/test/CodeGen/RISCV/stack-realignment.ll
M llvm/test/CodeGen/RISCV/switch-width.ll
M llvm/test/CodeGen/RISCV/trunc-nsw-nuw.ll
M llvm/test/CodeGen/RISCV/uadd_sat.ll
M llvm/test/CodeGen/RISCV/uadd_sat_plus.ll
M llvm/test/CodeGen/RISCV/urem-seteq-illegal-types.ll
M llvm/test/CodeGen/RISCV/urem-vector-lkk.ll
M llvm/test/CodeGen/RISCV/usub_sat_plus.ll
M llvm/test/CodeGen/RISCV/vararg.ll
M llvm/test/CodeGen/RISCV/varargs-with-fp-and-second-adj.ll
M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
M llvm/test/MC/RISCV/rv64c-aliases-valid.s
M llvm/test/MC/RISCV/rv64i-aliases-valid.s
M llvm/test/MC/RISCV/rv64zba-aliases-valid.s
M llvm/test/MC/RISCV/rv64zbs-aliases-valid.s
Log Message:
-----------
[RISCV] Use addi rather than addiw for immediates materialised by lui+addi(w) pairs when possible (#141663)
The logic in RISCVMatInt would previously produce lui+addiw on RV64
whenever a 32-bit integer must be materialised and the Hi20 and Lo12
parts are non-zero. However, sometimes addi can be used equivalently
(whenever the sign extension behaviour of addiw would be a no-op). This
patch moves to using addiw only when necessary. Although there is
absolutely no advantage in terms of compressibility or performance, this
has the following advantages:
* It's more consistent with logic used elsewhere in the backend. For
instance, RISCVOptWInstrs will try to convert addiw to addi on the basis
it reduces test diffs vs RV32.
* This matches the lowering GCC does in its codegen path. Unlike LLVM,
GCC seems to have different expansion logic for the assembler vs
codegen. For codegen it will use lui+addi if possible, but expanding
`li` in the assembler will always produces lui+addiw as LLVM did prior
to this commit. As someone who has been looking at a lot of gcc vs clang
diffs lately, reducing unnecessary divergence is of at least some value.
* As the diff for fold-mem-offset.ll shows, we can fold memory offsets
in more cases when addi is used. Memory offset folding could be taught
to recognise when the addiw could be replaced with an addi, but that
seems unnecessary when we can simply change the logic in RISCVMatInt.
As pointed out by @topperc during review, making this change without
modifying RISCVOptWInstrs risks introducing some cases where we fail to
remove a sext.w that we removed before. I've incorporated a patch based
on a suggestion from Craig that avoids it, and also adds appropriate
RISCVOptWInstrs test cases.
The initial patch description noted that the main motivation was to
avoid unnecessary differences both for RV32/RV64 and when comparing GCC,
but noted that very occasionally we see a benefit from memory offset
folding kicking in when it didn't before. Looking at the dynamic
instruction count difference for SPEC benchmarks targeting rva22u64 and
it shows we actually get a meaningful
~4.3% reduction in dynamic icount for 519.lbm_r. Looking at the data
more closely, the codegen difference is in `LBM_performStreamCollideTRT`
which as a function accounts for ~98% for dynamically executed
instructions and the codegen diffs appear to be a knock-on effect of the
address merging reducing register pressure right from function entry
(for instance, we get a big reduction in dynamically executed loads in
that function).
Below is the icount data (rva22u64 -O3, no LTO):
```
Benchmark Baseline This PR Diff (%)
============================================================
500.perlbench_r 174116601991 174115795810 -0.00%
502.gcc_r 218903280858 218903215788 -0.00%
505.mcf_r 131208029185 131207692803 -0.00%
508.namd_r 217497594322 217497594297 -0.00%
510.parest_r 289314486153 289313577652 -0.00%
511.povray_r 30640531048 30640765701 0.00%
519.lbm_r 95897914862 91712688050 -4.36%
520.omnetpp_r 134641549722 134867015683 0.17%
523.xalancbmk_r 281462762992 281432092673 -0.01%
525.x264_r 379776121941 379535558210 -0.06%
526.blender_r 659736022025 659738387343 0.00%
531.deepsjeng_r 349122867552 349122867481 -0.00%
538.imagick_r 238558760552 238558753269 -0.00%
541.leela_r 406578560612 406385135260 -0.05%
544.nab_r 400997131674 400996765827 -0.00%
557.xz_r 130079522194 129945515709 -0.10%
```
The instcounting setup I use doesn't have good support for drilling down
into functions from outside the linked executable (e.g. libc). The
difference in omnetpp all seems to come from there, and does not reflect
any degradation in codegen quality.
I can confirm with the current version of the PR there is no change in
the number of static sext.w across all the SPEC 2017 benchmarks
(rva22u64 O3)
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: dd5204de86b8b00b33029e9763b29e547811495a
https://github.com/llvm/llvm-project/commit/dd5204de86b8b00b33029e9763b29e547811495a
Author: Tulio Magno Quites Machado Filho <tuliom at redhat.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
R llvm/test/tools/llvm-exegesis/AArch64/skip_unsupported_instructions.s
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
Log Message:
-----------
Revert "[llvm-exegesis][AArch64] Disable pauth and ldgm as unsupported instructions fixed (#136868)" (#142382)
This reverts commit 475531b884a1a203af6367df35f1722fe2383e06. But it
does not revert the changes from commits
36850a028d149467cafd2702bc0c2587f6b71cce and
5dc3cd0ee40c00d9fb542488fa5a54ff70273112.
Commit: 9d356c39b7a594a1ce3a27c2487febc382f5a5a7
https://github.com/llvm/llvm-project/commit/9d356c39b7a594a1ce3a27c2487febc382f5a5a7
Author: award999 <award999 at apple.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
Log Message:
-----------
Have lldb-dap extension support multi-root workspace (#142470)
- Allow running when no workspace folder is present, and do not override
the `cwd` set in the launch configuration
- Support getting configuration from workspace file
Fixes #142469
Commit: b9a528553a8d0fadaa167ea2b5c0f860cc0b33dc
https://github.com/llvm/llvm-project/commit/b9a528553a8d0fadaa167ea2b5c0f860cc0b33dc
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Bump the version to 0.2.15
Commit: 43c223424957a43a3cb778980b595a1cfd3ae1a6
https://github.com/llvm/llvm-project/commit/43c223424957a43a3cb778980b595a1cfd3ae1a6
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/lib/Basic/NoSanitizeList.cpp
A clang/test/CodeGen/asan-global-ignorelist.test
Log Message:
-----------
[Sanitizer][Ignorelist] Expanding =sanitize to global. (#142456)
See https://github.com/llvm/llvm-project/issues/139128
If multiple entries match the source, than the latest entry takes the
precedence.`
Commit: 43bb68b45521c5db0a18ec63b9171314bebd7ee5
https://github.com/llvm/llvm-project/commit/43bb68b45521c5db0a18ec63b9171314bebd7ee5
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/lib/Basic/NoSanitizeList.cpp
M clang/test/CodeGen/sanitize-ignorelist-mainfile.c
Log Message:
-----------
[Sanitizer][Ignorelist] Expanding =sanitize to mainfile. (#142472)
See https://github.com/llvm/llvm-project/issues/139128
If multiple entries match the source, than the latest entry takes the
precedence.
Commit: c80c4525251eed6c833fb56bc0c956bfe590570f
https://github.com/llvm/llvm-project/commit/c80c4525251eed6c833fb56bc0c956bfe590570f
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wmempcpy.cpp
A libc/src/wchar/wmempcpy.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wmempcpy_test.cpp
Log Message:
-----------
[libc] Implemented wmempcpy (#142067)
Implemented wmempcpy and added tests
Commit: 741136a8ac924462da0e786a209e1bd4b9b247c6
https://github.com/llvm/llvm-project/commit/741136a8ac924462da0e786a209e1bd4b9b247c6
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/docs/MLGO.rst
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/unittests/Analysis/IR2VecTest.cpp
Log Message:
-----------
[NFC][IR2Vec] Removing Dimension from `Embedder::Create` (#142486)
This PR removes the necessity to know the dimension of the embeddings while invoking `Embedder::Create`. Having the `Dimension` parameter introduces complexities in downstream consumers.
(Tracking issue - #141817)
Commit: 14c2fa27aef3db4fc657241bde18995a111a4858
https://github.com/llvm/llvm-project/commit/14c2fa27aef3db4fc657241bde18995a111a4858
Author: Nikita <69168929+nikitalita at users.noreply.github.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
A llvm/test/tools/llvm-pdbutil/Inputs/register-records.yaml
A llvm/test/tools/llvm-pdbutil/register-records.test
M llvm/tools/llvm-pdbutil/PdbYaml.cpp
M llvm/tools/llvm-pdbutil/PdbYaml.h
M llvm/tools/llvm-pdbutil/YAMLOutputStyle.cpp
Log Message:
-----------
[llvm-pdbutil] Fix register enum field dumping/parsing (#82299)
This fixes a bug where parsing PDBs with usages of register enums were
asserting.
The main problem is that printing out the code view register enums are
taken care of here:
https://github.com/nikitalita/llvm-project/blob/e4888a92402f53000a3a5e79d3792c034fc2f343/llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp#L152
Which requires a COFF::header in the IO context for the machine type,
which we didn't have when dumping a pdb or parsing a yaml file. So, we
make a fake one with the machine type.
Commit: 62af2a5ae20b47558e5e2c205217682e7d471914
https://github.com/llvm/llvm-project/commit/62af2a5ae20b47558e5e2c205217682e7d471914
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wcscmp.cpp
A libc/src/wchar/wcscmp.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wcscmp_test.cpp
Log Message:
-----------
[libc] Implemented wcscmp (#142423)
Implemented wcscmp and added tests
Commit: dabe983e7eed17dca0ace7625420c5c66ab32d35
https://github.com/llvm/llvm-project/commit/dabe983e7eed17dca0ace7625420c5c66ab32d35
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wcsrchr.cpp
A libc/src/wchar/wcsrchr.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wcsrchr_test.cpp
Log Message:
-----------
[libc] Implemented wcsrchr (#142436)
fixes #124347
Implemented wcsrchr and added tests
Commit: 9422abf9ebdbabf7a05fb7473c9eac2cbe1a5966
https://github.com/llvm/llvm-project/commit/9422abf9ebdbabf7a05fb7473c9eac2cbe1a5966
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wcsncat.cpp
A libc/src/wchar/wcsncat.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wcsncat_test.cpp
Log Message:
-----------
[libc] wcsncat implementation (#142431)
Implemented wcsncat and tests.
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 45c297428acbf74c088c3bf6977c83369dbc42f2
https://github.com/llvm/llvm-project/commit/45c297428acbf74c088c3bf6977c83369dbc42f2
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M libc/src/wchar/CMakeLists.txt
M libc/src/wchar/wcspbrk.cpp
M libc/test/src/wchar/wcspbrk_test.cpp
Log Message:
-----------
[libc] added nullptr checks for wcspbrk (#142216)
Added CRASH_ON_NULLPTR macro to wcspbrk function and related test
Commit: 071e55baf1ab16264021c9c52ecd4f88c325e988
https://github.com/llvm/llvm-project/commit/071e55baf1ab16264021c9c52ecd4f88c325e988
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR][NFS] Remove unnecessary constraints asserts in VecCmpOp (#142473)
We already have constraints in CIROps to make sure that the operands and
result type are vectors
[VecCmpOp](https://github.com/llvm/llvm-project/blob/b88dfb0b23d0a1863414fb9450ee444766bfe7c9/clang/include/clang/CIR/Dialect/IR/CIROps.td#L2149-L2151)
Commit: 1a0f284dea009889af930c4a6db7b0a92c941c8a
https://github.com/llvm/llvm-project/commit/1a0f284dea009889af930c4a6db7b0a92c941c8a
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
A llvm/include/llvm/DebugInfo/DWARF/DWARFCFIProgram.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
M llvm/lib/DebugInfo/DWARF/CMakeLists.txt
A llvm/lib/DebugInfo/DWARF/DWARFCFIProgram.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
Log Message:
-----------
[NFC] Extract DWARFCFIProgram into separate files (#139326)
CFIPrograms' most common uses are within debug frames, but it is not
their only use. For example, some assembly writers encode them by hand
into .cfi_escape directives. This PR extracts code for them into its own
files, setting them up to be evaluated from outside debug frames
themselves.
One in a series of NFC DebugInfo/DWARF refactoring changes to layer it
more cleanly, so that binary CFI parsing can be used from low-level
code, (such as byte strings created via .cfi_escape) without circular
dependencies. The final goal is to make a more limited dwarf library
usable from lower-level code.
Commit: 46adbffcd581c4eb255b0c183331b0132ab12dd1
https://github.com/llvm/llvm-project/commit/46adbffcd581c4eb255b0c183331b0132ab12dd1
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/DWARF/BUILD.gn
Log Message:
-----------
[gn build] Port 1a0f284dea00
Commit: 7dc5dc986ae1ae1ebbdec6c53e7a2ebf9155613a
https://github.com/llvm/llvm-project/commit/7dc5dc986ae1ae1ebbdec6c53e7a2ebf9155613a
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/AbstractCallSite.h
M llvm/include/llvm/IR/Analysis.h
M llvm/include/llvm/IR/Argument.h
M llvm/include/llvm/IR/AssemblyAnnotationWriter.h
M llvm/include/llvm/IR/Assumptions.h
M llvm/include/llvm/IR/Attributes.h
M llvm/include/llvm/IR/AutoUpgrade.h
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/BuiltinGCs.h
M llvm/include/llvm/IR/CmpPredicate.h
M llvm/include/llvm/IR/Comdat.h
M llvm/include/llvm/IR/Constant.h
M llvm/include/llvm/IR/ConstantFPRange.h
M llvm/include/llvm/IR/ConstantFold.h
M llvm/include/llvm/IR/ConstantFolder.h
M llvm/include/llvm/IR/ConstantRange.h
M llvm/include/llvm/IR/ConstantRangeList.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DataLayout.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DebugLoc.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/DiagnosticHandler.h
M llvm/include/llvm/IR/DiagnosticInfo.h
M llvm/include/llvm/IR/DiagnosticPrinter.h
M llvm/include/llvm/IR/Dominators.h
M llvm/include/llvm/IR/DroppedVariableStats.h
M llvm/include/llvm/IR/DroppedVariableStatsIR.h
M llvm/include/llvm/IR/EHPersonalities.h
M llvm/include/llvm/IR/FMF.h
M llvm/include/llvm/IR/FPEnv.h
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/GenericFloatingPointPredicateUtils.h
M llvm/include/llvm/IR/GlobalAlias.h
M llvm/include/llvm/IR/GlobalIFunc.h
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/IR/GlobalVariable.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/IRBuilderFolder.h
M llvm/include/llvm/IR/IRPrintingPasses.h
M llvm/include/llvm/IR/InlineAsm.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/LLVMContext.h
M llvm/include/llvm/IR/LLVMRemarkStreamer.h
M llvm/include/llvm/IR/LegacyPassManager.h
M llvm/include/llvm/IR/LegacyPassManagers.h
M llvm/include/llvm/IR/LegacyPassNameParser.h
M llvm/include/llvm/IR/MDBuilder.h
M llvm/include/llvm/IR/Mangler.h
M llvm/include/llvm/IR/MemoryModelRelaxationAnnotations.h
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/IR/ModuleSlotTracker.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/NoFolder.h
M llvm/include/llvm/IR/Operator.h
M llvm/include/llvm/IR/OptBisect.h
M llvm/include/llvm/IR/PassInstrumentation.h
M llvm/include/llvm/IR/PassManager.h
M llvm/include/llvm/IR/PassManagerImpl.h
M llvm/include/llvm/IR/PassTimingInfo.h
M llvm/include/llvm/IR/ProfDataUtils.h
M llvm/include/llvm/IR/ProfileSummary.h
M llvm/include/llvm/IR/PseudoProbe.h
M llvm/include/llvm/IR/ReplaceConstant.h
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/IR/StructuralHash.h
M llvm/include/llvm/IR/SymbolTableListTraits.h
M llvm/include/llvm/IR/Type.h
M llvm/include/llvm/IR/TypedPointerType.h
M llvm/include/llvm/IR/Use.h
M llvm/include/llvm/IR/User.h
M llvm/include/llvm/IR/VFABIDemangler.h
M llvm/include/llvm/IR/Value.h
M llvm/include/llvm/IR/ValueHandle.h
M llvm/include/llvm/IR/ValueSymbolTable.h
M llvm/include/llvm/IR/VectorBuilder.h
M llvm/include/llvm/IR/VectorTypeUtils.h
M llvm/include/llvm/IR/Verifier.h
M llvm/include/llvm/IRPrinter/IRPrintingPasses.h
M llvm/include/llvm/IRReader/IRReader.h
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Dominators.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/IRPrintingPasses.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/IR/PassManager.cpp
M llvm/lib/IRPrinter/IRPrintingPasses.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/IR/MetadataTest.cpp
M llvm/unittests/IR/ValueTest.cpp
Log Message:
-----------
[llvm] annotate interfaces in llvm/IR for DLL export (#141650)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/IR`,
`llvm/IRPrinter`, and `llvm/IRReader` libraries. These annotations
currently have no meaningful impact on the LLVM build; however, they are
a prerequisite to support an LLVM Windows DLL (shared library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS on
Linux:
- Add `#include "llvm/Support/Compiler.h"` to files where it was not
auto-added by IDS due to no pre-existing block of include statements.
- Add `LLVM_ABI_FRIEND` to friend member functions declared with
`LLVM_ABI`
- Add `LLVM_TEMPLATE_ABI` and `LLVM_EXPORT_TEMPLATE` to exported
instantiated templates
- Add `LLVM_ABI` to a subset of private class methods and fields that
require export
- Add `LLVM_ABI` to a small number of symbols that require export but
are not declared in headers
- Reorder `LLVM_ABI` with `[[deprecated]]` and `[[nodiscard]]`
attributes.
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: 883130e33325282cfd31b68f5db52891442c20b7
https://github.com/llvm/llvm-project/commit/883130e33325282cfd31b68f5db52891442c20b7
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/lib/Serialization/ASTReader.cpp
M clang/test/Modules/module-file-modified.c
M clang/test/Modules/validate-file-content.m
M clang/test/PCH/modified-module-dependency.m
M clang/test/PCH/validate-file-content.m
Log Message:
-----------
[clang] Rename diag notes that assumed precompiled dependencies are pch's, NFCI (#142161)
Commit: e3d1a33b7ef6c0f0a27ae7cc5a0b4a2572a392c4
https://github.com/llvm/llvm-project/commit/e3d1a33b7ef6c0f0a27ae7cc5a0b4a2572a392c4
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wcsstr.cpp
A libc/src/wchar/wcsstr.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wcsstr_test.cpp
Log Message:
-----------
[libc] wcsstr implementation (#142440)
Implemented wcsstr and tests.
fixes #124348
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: c8741851d1a28da9072febae5be42d9f7c113a4e
https://github.com/llvm/llvm-project/commit/c8741851d1a28da9072febae5be42d9f7c113a4e
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wcsncmp.cpp
A libc/src/wchar/wcsncmp.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wcsncmp_test.cpp
Log Message:
-----------
[libc] Implemented wcsncmp (#142429)
Implemented wcsncmp and added tests
Commit: cc68367bb9871e70cafddd6b6da6d4dc57d945f0
https://github.com/llvm/llvm-project/commit/cc68367bb9871e70cafddd6b6da6d4dc57d945f0
Author: Michael Jones <michaelrj at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M libc/include/wchar.yaml
Log Message:
-----------
[libc][obvious] fix wchar yaml formatting (#142506)
The yaml ended up with a typo, possibly due to merge issues. This patch
fixes it.
Commit: 19dcec979cd5b19bc522d78eb0e32e49ec0fdc64
https://github.com/llvm/llvm-project/commit/19dcec979cd5b19bc522d78eb0e32e49ec0fdc64
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/include/clang/CIR/CIRGenerator.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
A clang/test/CIR/CodeGen/inline-cxx-func.cpp
M clang/test/CIR/CodeGen/member-functions.cpp
Log Message:
-----------
[CIR] Support inline C++ member function definitions (#142484)
This change upstreams the code to support emitting inline C++ function
definitions, including the ASTConsumer handler for inline definitions
and the code to load the 'this' pointer.
This necessitates introducing the Itanium CXXABI class. No other CXXABI
subclasses are supported at this time. The Itanium CXXABI is used for
AppleARM64, which will require its own handler for a few special cases
(such as array cookies) later.
Commit: 24f432d33eb05175bd7237f9cac304afaba738a3
https://github.com/llvm/llvm-project/commit/24f432d33eb05175bd7237f9cac304afaba738a3
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/utils/lit/tests/timeout-hang.py
Log Message:
-----------
[utils][tests] Adjust timeout-hang.py tolerances (#142089)
The subject test sporadically fails on the AIX builder:
https://lab.llvm.org/buildbot/#/builders/64/builds/3921/steps/6/logs/FAIL__lit___timeout-hang_py
This appears to be an environment issue potentially connected to high
load because the problem is not observed on other AIX machines.
This patch separates the "hard" timeout value from the value used to
signal a hang. This allows for a more generous "hard" timeout value,
which allows observation of cases that take longer to finish despite not
hanging.
Commit: b6f9800eae9326f4873f4103257e5a63b932de66
https://github.com/llvm/llvm-project/commit/b6f9800eae9326f4873f4103257e5a63b932de66
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/include/llvm/Object/COFF.h
A llvm/test/tools/llvm-readobj/COFF/string-table.test
M llvm/tools/llvm-readobj/COFFDumper.cpp
M llvm/tools/llvm-readobj/ObjDumper.h
M llvm/tools/llvm-readobj/Opts.td
Log Message:
-----------
[llvm-readobj] Support --string-table for COFF (#141552)
Commit: 6f64a600649a95141526043b170aa4244d54c94b
https://github.com/llvm/llvm-project/commit/6f64a600649a95141526043b170aa4244d54c94b
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64CallingConvention.td
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
A llvm/test/CodeGen/AArch64/framelayout-sve-win.mir
A llvm/test/CodeGen/AArch64/sve-stack-frame-layout-win.ll
A llvm/test/CodeGen/AArch64/win-sve.ll
Log Message:
-----------
[AArch64] Initial compiler support for SVE unwind on Windows. (#138609)
Most bits of this are straightforward: when we emit SVE instructions in
the prologue/epilogue, emit corresponding opcodes.
The unfortunately nasty bit is the handling of the frame pointer in
functions that use the SVE calling convention. If we have SVE callee
saves, and need to restore the stack pointer from the frame pointer,
it's impossible to encode callee saves that happen after the frame
pointer. So this patch rearranges the stack to put SVE callee saves
first. This isn't really that complicated on its own, but it leads to a
lot of tricky conditionals (see FPAfterSVECalleeSaves).
Commit: 437ad06f762ab07d89badecdd20627db200b98d3
https://github.com/llvm/llvm-project/commit/437ad06f762ab07d89badecdd20627db200b98d3
Author: A. Jiang <de34 at live.cn>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M libcxx/include/__type_traits/reference_constructs_from_temporary.h
M libcxx/include/tuple
M libcxx/test/libcxx/utilities/tuple/tuple.tuple/tuple.cnstr/PR20855_tuple_ref_binding_diagnostics.verify.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/PR20855_tuple_ref_binding_diagnostics.pass.cpp
Log Message:
-----------
[libc++] Use `__reference_constructs_from_temporary` if eligible (#141916)
Currently, libc++'s `<tuple>` is using the deprecated
`__reference_binds_to_temporary` intrinsic. This PR starts to use
`__reference_constructs_from_temporary` if possible.
It seems that `__reference_constructs_from_temporary` should be used via
an internal type traits provided in
`<__type_traits/reference_constructs_from_temporary.h>`. But given the
old intrinsic was directly used, this PR doesn't switch to the current
convention yet.
P2255R2 is related. Although the paper indicated that constructors of
`tuple` should be deleted in such a case.
---------
Co-authored-by: Nikolas Klauser <nikolasklauser at berlin.de>
Commit: 9e2684e4cfb0a7e30d5e49f812127d07cdda600d
https://github.com/llvm/llvm-project/commit/9e2684e4cfb0a7e30d5e49f812127d07cdda600d
Author: Chao Chen <chao.chen at intel.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
M mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
A mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/lib/Dialect/XeGPU/Utils/CMakeLists.txt
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
A mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
Log Message:
-----------
[MLIR][XeGPU] Add unroll patterns and blocking pass for XeGPU [2/N] (#142477)
Bring back https://github.com/llvm/llvm-project/pull/140163 with fixes
Commit: 54d836a0807c8b1fe11024e3886141dfcbab3880
https://github.com/llvm/llvm-project/commit/54d836a0807c8b1fe11024e3886141dfcbab3880
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/LexicalScopes.cpp
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp
Log Message:
-----------
[llvm] Use *Set::insert_range (NFC) (#138237)
Commit: 208e3b09564ea7ab2b10004742e553938a2dc60f
https://github.com/llvm/llvm-project/commit/208e3b09564ea7ab2b10004742e553938a2dc60f
Author: A. Jiang <de34 at live.cn>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/SemaCXX/deprecated-builtins.cpp
Log Message:
-----------
[Clang] Properly deprecate `__reference_binds_to_temporary` (#141909)
At the time `__reference_constructs_from_temporary` got implemented,
`__reference_binds_to_temporary` was mentioned as deprecated in
`LanguageExtensions.rst`, but no deprecation warning was emitted. This
PR adds the previously missing warning.
Commit: 94011efe30c18505c09f7b588854e51b98cb2a71
https://github.com/llvm/llvm-project/commit/94011efe30c18505c09f7b588854e51b98cb2a71
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
A clang/test/Preprocessor/riscv-target-features-andes.c
Log Message:
-----------
[RISCV] Add pre-defined macro tests for Andes vendor extension. NFC. (#141172)
Commit: f393986b53b108457529213c1559346fdb8120ae
https://github.com/llvm/llvm-project/commit/f393986b53b108457529213c1559346fdb8120ae
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
M llvm/lib/Target/X86/X86TargetMachine.cpp
Log Message:
-----------
[MISched] Add templates for creating custom schedulers (#141935)
We rename `createGenericSchedLive` and `createGenericSchedPostRA`
to `createSchedLive` and `createSchedPostRA`, and add a template
parameter `Strategy` which is the generic implementation by default.
This can simplify some code for targets that have custom scheduler
strategy.
Commit: 58ea53863b2142af8ec7f3725ff14d2034860644
https://github.com/llvm/llvm-project/commit/58ea53863b2142af8ec7f3725ff14d2034860644
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/canonicalize.mlir
Log Message:
-----------
[mlir][memref] Add a folder for chained AssumeAlignmentOp ops. (#142425)
The chained ops can be folded away when they have the same alignment.
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: 458307694ebd0c9d58f17f18d7bf09de88608efe
https://github.com/llvm/llvm-project/commit/458307694ebd0c9d58f17f18d7bf09de88608efe
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M compiler-rt/lib/builtins/riscv/restore.S
M compiler-rt/lib/builtins/riscv/save.S
Log Message:
-----------
[compiler-rt][RISC-V] ILP32E/LP64E Save/Restore Grouping (#95398)
This changes the save/restore procedures to save/restore registers one
by one - to match the stack alignment for the ILP32E/LP64E ABIs, rather
than the larger batches of the conventional ABIs. The implementations of
the save routines are not tail-shared, to reduce the number of
instructions. I think this also helps code size but I need to check this
again.
I would expect (but haven't measured) that the majority of functions
compiled for the ILP32E/LP64E ABIs will in fact use both callee-saved
registers, and therefore there are still savings to be had, but I think
those can come later, with more data (especially if those changes are
just to the instruction sequences we use to save the registers, rather
than the number and alignment of how this is done).
This is a potential break for all of the ILP32E/LP64E ABI - we may
instead have to teach the compiler to emit the CFI information correctly
for the grouping we already have implemented (because that grouping
matches GCC). It depends on how intentional we think the grouping is in
the original ILP32E/LP64E save/restore implementation was, and whether
we think we can fix that now.
Commit: 2622e6bfa076c60d4556c066245895e2766a7285
https://github.com/llvm/llvm-project/commit/2622e6bfa076c60d4556c066245895e2766a7285
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.h
A clang/lib/CodeGen/SanitizerHandler.h
Log Message:
-----------
[NFC][CodeGen] Extract SanitizerHandler into own header (#142527)
Commit: 8808a543afd73e7c89d845d24161cec8aca46471
https://github.com/llvm/llvm-project/commit/8808a543afd73e7c89d845d24161cec8aca46471
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
Log Message:
-----------
[NFC][clang] Move argument handling: Driver::BuildActions -> handleArguments (#142455)
This simply moves code for diagnosing misuse of arguments `/Fo`, `/Fa`,
and `/o` from `Driver::BuildActions` into `Driver::handleArguments`,
following the intention of 740f69b.
This change better aligns with the roles of `BuildActions` and
`handleArguments`.
Commit: f90cfb1350053418c004774968bad0b76c549e48
https://github.com/llvm/llvm-project/commit/f90cfb1350053418c004774968bad0b76c549e48
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/rv32xandesperf.ll
M llvm/test/CodeGen/RISCV/rv64xandesperf.ll
Log Message:
-----------
[RISCV] Select signed bitfield extracts for XAndesPerf (#142303)
The XAndesPerf extension includes signed bitfield extraction
instruction `NDS.BFOS`, which can extract the bits from LSB to MSB,
places them starting at bit 0, and sign-extends the result.
The testcase includes the two patterns that can be selected as
signed bitfield extracts: `ashr+shl` and `ashr+sext_inreg`
Commit: 559a9db5f5d06a6ebd62ef5bc66aa92b66840f2b
https://github.com/llvm/llvm-project/commit/559a9db5f5d06a6ebd62ef5bc66aa92b66840f2b
Author: Ami-zhang <zhanglimin at loongson.cn>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
A llvm/test/CodeGen/LoongArch/calling-conv-half.ll
M llvm/test/CodeGen/LoongArch/fp16-promote.ll
A llvm/test/CodeGen/LoongArch/issue97975.ll
A llvm/test/CodeGen/LoongArch/issue97981.ll
Log Message:
-----------
[LoongArch] Custom lower FP_TO_FP16 and FP16_TO_FP to correct ABI of libcall (#141702)
This change passes 'half' in the lower 16 bits of an f32 value with F/D
ABI. LoongArch currently lacks a hardware extension for the fp16 data
type, and the ABI manual now documents the half-precision floating-point
type following FP calling conventions.
Previously, we maintained the 'half' type in its 16-bit format between
operations. Regardless of whether the F extension is enabled, the value
would be passed in the lower 16 bits of a GPR in its 'half' format.
With this patch, depending on the ABI in use, the value will be passed
either in an FPR or a GPR in 'half' format. This ensures consistency
with the bits location when the fp16 hardware extension is enabled.
Co-authored-by: WANG Rui <wangrui at loongson.cn>
Commit: 8c65f68330c77c27aae2ff58e883802760891cbb
https://github.com/llvm/llvm-project/commit/8c65f68330c77c27aae2ff58e883802760891cbb
Author: Ami-zhang <zhanglimin at loongson.cn>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/CodeGen/Targets/LoongArch.cpp
A clang/test/CodeGen/LoongArch/__fp16-convert.c
M clang/test/CodeGen/LoongArch/abi-lp64d.c
Log Message:
-----------
[clang][LoongArch] Add support for the _Float16 type (#141703)
Enable _Float16 for LoongArch target. Additionally, this change fixes
incorrect ABI lowering of _Float16 in the case of structs containing
fp16 that are eligible for passing via GPR+FPR or FPR+FPR. Finally, it
also fixes int16 -> __fp16 conversion code gen, which uses generic LLVM
IR rather than llvm.convert.to.fp16 intrinsics.
Commit: d77c995f14634b98de4767afc296dc941b1a8cd0
https://github.com/llvm/llvm-project/commit/d77c995f14634b98de4767afc296dc941b1a8cd0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
Log Message:
-----------
[DebugInfo] Avoid creating a temporary instance of std::string (NFC) (#142523)
lookupTarget accepts StringRef. We don't need to create a temporary
instance of std::string only to be converted back to StringRef.
Commit: 18f1b73b7257a8e3f649384a0701d855c4e79f8a
https://github.com/llvm/llvm-project/commit/18f1b73b7257a8e3f649384a0701d855c4e79f8a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp
Log Message:
-----------
[llvm-cfi-verify] Avoid creating temporary instances of std::string (NFC) (#142524)
symbolizeInlinedCode and symbolizeCode take StringRef as the first
parameter. We don't need to create temporary instances of std::string
only to be converted back to StringRef.
Commit: 106c8978bd232fc044e764507e11e57b7a791126
https://github.com/llvm/llvm-project/commit/106c8978bd232fc044e764507e11e57b7a791126
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M clang/lib/Index/CommentToXML.cpp
M clang/lib/Index/FileIndexRecord.cpp
M clang/lib/Index/IndexingAction.cpp
M clang/lib/Index/USRGeneration.cpp
Log Message:
-----------
[Index] Remove unused includes (NFC) (#142525)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: 972ecc31f72e16ae4a9337ce6bc85059404eaf4f
https://github.com/llvm/llvm-project/commit/972ecc31f72e16ae4a9337ce6bc85059404eaf4f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
Log Message:
-----------
[LoongArch] Fix a warning
This patch fixes:
llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp:5354:7: error:
unused variable 'VT' [-Werror,-Wunused-variable]
Commit: c6c2b81e90e43d125d36c1d3ebddb5a713a11df7
https://github.com/llvm/llvm-project/commit/c6c2b81e90e43d125d36c1d3ebddb5a713a11df7
Author: Dudeldu <mustermann.informatik at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
A llvm/test/CodeGen/AArch64/fuse-addr-mode.mir
Log Message:
-----------
[AArch64] Fix invalid address-mode folding (#142167)
In some cases, we are too aggressive when folding an add-lsl into an
ldr/str due to an accidental truncation of the 64-bit scale to 32-bit.
In cases where we shift by more than 31 bits (which is valid for 64-bit
registers) we just drop the shift...
Commit: 09967917e72a3c8f02138cc0906644c0db719fbc
https://github.com/llvm/llvm-project/commit/09967917e72a3c8f02138cc0906644c0db719fbc
Author: mikael-nilsson-arm <33650793+mikael-nilsson-arm at users.noreply.github.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
Log Message:
-----------
[CodeGenPrepare] Fix signed overflow (#141487)
The signed addition could overflow which is undefined behavior, now the
code checks for it.
Commit: 56acb06bc6a1bbde6b1f1a3aa3633d049f1821dc
https://github.com/llvm/llvm-project/commit/56acb06bc6a1bbde6b1f1a3aa3633d049f1821dc
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/BasicBlockPathCloning.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/AArch64/AArch64BranchTargets.cpp
M llvm/lib/Target/ARM/ARMBranchTargets.cpp
A llvm/test/CodeGen/AArch64/callbr-asm-label-bti.ll
M llvm/test/CodeGen/AArch64/callbr-asm-label.ll
M llvm/test/CodeGen/AArch64/callbr-asm-outputs-indirect-isel.ll
M llvm/test/CodeGen/PowerPC/callbr-asm-outputs-indirect-isel.ll
M llvm/test/CodeGen/PowerPC/ppc64-inlineasm-clobber.ll
M llvm/test/CodeGen/RISCV/inline-asm-mem-constraint.ll
M llvm/test/CodeGen/X86/basic-block-sections-cloning-invalid.ll
M llvm/test/CodeGen/X86/callbr-asm-blockplacement.ll
M llvm/test/CodeGen/X86/callbr-asm-branch-folding.ll
M llvm/test/CodeGen/X86/callbr-asm-destinations.ll
M llvm/test/CodeGen/X86/callbr-asm-label-addr.ll
M llvm/test/CodeGen/X86/callbr-asm-outputs-indirect-isel-m32.ll
M llvm/test/CodeGen/X86/callbr-asm-outputs-indirect-isel.ll
M llvm/test/CodeGen/X86/callbr-asm-outputs-pred-succ.ll
M llvm/test/CodeGen/X86/callbr-asm-outputs.ll
M llvm/test/CodeGen/X86/callbr-asm-phi-placement.ll
M llvm/test/CodeGen/X86/callbr-asm-sink.ll
M llvm/test/CodeGen/X86/callbr-asm.ll
M llvm/test/CodeGen/X86/shrinkwrap-callbr.ll
M llvm/test/CodeGen/X86/tail-dup-asm-goto.ll
Log Message:
-----------
[ARM,AArch64] Don't put BTI at asm goto branch targets (#141562)
In 'asm goto' statements ('callbr' in LLVM IR), you can specify one or
more labels / basic blocks in the containing function which the assembly
code might jump to. If you're also compiling with branch target
enforcement via BTI, then previously listing a basic block as a possible
jump destination of an asm goto would cause a BTI instruction to be
placed at the start of the block, in case the assembly code used an
_indirect_ branch instruction (i.e. to a destination address read from a
register) to jump to that location. Now it doesn't do that any more:
branches to destination labels from the assembly code are assumed to be
direct branches (to a relative offset encoded in the instruction), which
don't require a BTI at their destination.
This change was proposed in https://discourse.llvm.org/t/85845 and there
seemed to be no disagreement. The rationale is:
1. it brings clang's handling of asm goto in Arm and AArch64 in line
with gcc's, which didn't generate BTIs at the target labels in the first
place.
2. it improves performance in the Linux kernel, which uses a lot of 'asm
goto' in which the assembly language just contains a NOP, and the
label's address is saved elsewhere to let the kernel self-modify at run
time to swap between the original NOP and a direct branch to the label.
This allows hot code paths to be instrumented for debugging, at only the
cost of a NOP when the instrumentation is turned off, instead of the
larger cost of an indirect branch. In this situation a BTI is
unnecessary (if the branch happens it's direct), and since the code
paths are hot, also a noticeable performance hit.
Implementation:
`SelectionDAGBuilder::visitCallBr` is the place where 'asm goto' target
labels are handled. It calls `setIsInlineAsmBrIndirectTarget()` on each
target `MachineBasicBlock`. Previously it also called
`setMachineBlockAddressTaken()`, which made `hasAddressTaken()` return
true, which caused a BTI to be added in the Arm backends.
Now `visitCallBr` doesn't call `setMachineBlockAddressTaken()` any more
on asm goto targets, but `hasAddressTaken()` also checks the flag set by
`setIsInlineAsmBrIndirectTarget()`. So call sites that were using
`hasAddressTaken()` don't need to be modified. But the Arm backends
don't call `hasAddressTaken()` any more: instead they test two more
specific query functions that cover all the reasons `hasAddressTaken()`
might have returned true _except_ being an asm goto target.
Testing:
The new test `AArch64/callbr-asm-label-bti.ll` is testing the actual
change, where it expects not to see a `bti` instruction after
`[[LABEL]]`. The rest of the test changes are all churn, due to the
flags on basic blocks changing. Actual output code hasn't changed in any
of the existing tests, only comments and diagnostics.
Further work:
`RISCVIndirectBranchTracking.cpp` and `X86IndirectBranchTracking.cpp`
also call `hasAddressTaken()` in a way that might benefit from using the
same more specific check I've put in `ARMBranchTargets.cpp` and
`AArch64BranchTargets.cpp`. But I'm not sure of that, so in this commit
I've only changed the Arm backends, and left those alone.
Commit: 06f779b69d8294b296ee9dd14b82f0e2fe59899f
https://github.com/llvm/llvm-project/commit/06f779b69d8294b296ee9dd14b82f0e2fe59899f
Author: Ami-zhang <zhanglimin at loongson.cn>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Sema/SemaDeclAttr.cpp
A clang/test/CodeGen/LoongArch/targetattr.c
A clang/test/Sema/attr-target-loongarch.c
M llvm/include/llvm/TargetParser/LoongArchTargetParser.h
M llvm/lib/TargetParser/LoongArchTargetParser.cpp
Log Message:
-----------
Reland "[Clang][LoongArch] Support target attribute for function" (#142546)
This relands #140700. I have updated the test case('targetattr.c') to
resolve the test failure.
Original PR resulted in test fail:
https://lab.llvm.org/buildbot/#/builders/11/builds/16173
https://lab.llvm.org/buildbot/#/builders/202/builds/1531
Original description:
Followup to #140700.
Commit: 6206d7d3e1979e7f3e66538614f9f44413a16905
https://github.com/llvm/llvm-project/commit/6206d7d3e1979e7f3e66538614f9f44413a16905
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineConstantPoolLoads - correctly merge constant pool loads by pointer and chain (#139575)
We were merging with a larger constant pool load if it didn't have any
chain dependencies (and implicitly assuming all uses were on the vector
value), instead we should flip this, explicitly check for uses of the
vector value and merge the memory chain dependencies with
makeEquivalentMemoryOrdering.
As these are constant pool loads we shouldn't expect any changes here,
but we should be consistent with how we merge/reuse loads - an upcoming
patch for other loads will do the same as we will see changes there.
Commit: 347273db2f33938e8f35de7b6c384d042b890052
https://github.com/llvm/llvm-project/commit/347273db2f33938e8f35de7b6c384d042b890052
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
A clang/test/DebugInfo/KeyInstructions/coerced-packed.c
A clang/test/DebugInfo/KeyInstructions/coerced-ptr.c
A clang/test/DebugInfo/KeyInstructions/coerced-through-memory.c
A clang/test/DebugInfo/KeyInstructions/coerced.c
Log Message:
-----------
[KeyInstr][Clang] Coerced store atoms (#134653)
[KeyInstr][Clang] Coerced store atoms
This patch is part of a stack that teaches Clang to generate Key Instructions
metadata for C and C++.
RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
The feature is only functional in LLVM if LLVM is built with CMake flag
LLVM_EXPERIMENTAL_KEY_INSTRUCTIONs. Eventually that flag will be removed.
Commit: b4ded99a4a34d736537a98be6a1873944b8ffe82
https://github.com/llvm/llvm-project/commit/b4ded99a4a34d736537a98be6a1873944b8ffe82
Author: Michele Scuttari <michele.scuttari at outlook.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M mlir/include/mlir/IR/SymbolTable.h
Log Message:
-----------
[MLIR] Make SymbolTableCollection methods virtual (#141760)
The `LockedSymbolTable` class not only encapsulate a `SymbolTableCollection`, but also extends it. However, the methods of `SymbolTableCollection` are not marked as `virtual`, and therefore methods receiving a `SymbolTableCollection` would always call the base methods even if the object was a subclass. The proposed changes consist in marking the base methods as `virtual`.
Commit: b107dbb46769ace9ee6b2bf116e8168fc4fb56eb
https://github.com/llvm/llvm-project/commit/b107dbb46769ace9ee6b2bf116e8168fc4fb56eb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/oddshuffles.ll
M llvm/test/CodeGen/X86/vector-interleave.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] Reuse X86ISD::SUBV_BROADCAST_LOAD for subvector loads across chains (#142381)
Improve handling of folding a (small) vector load that is also loaded as a X86ISD::SUBV_BROADCAST_LOAD node to just (freely) extract the bottom subvector - similar to #139575 we should be checking the SUBV_BROADCAST_LOAD has uses of the loaded value, and not that the out chain isn't empty to ensure its actually used, we must also call makeEquivalentMemoryOrdering to ensure the out chains are correctly merged to handle any aliasing with later load/stores.
This PR is a little messy as it has 2 other inter-dependent changes to avoid regressions - now that we're properly merging subvector loads, we can drop the oneuse limit on the "vperm2x128(load(p),undef) -> broadcast128(p+offset)" and "insert_subvector(load256(p),load128(p),0) -> broadcast128(p)" folds.
Commit: 9a15e3e3e25df03720990ca7acb4edca6e299afd
https://github.com/llvm/llvm-project/commit/9a15e3e3e25df03720990ca7acb4edca6e299afd
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/utils/release/bump-version.py
Log Message:
-----------
[llvm][utils] Correct misleading comment in bump-version.py
It's using packaging not distutils.
Relates to https://github.com/llvm/llvm-project/issues/54337#issuecomment-2932029662
Commit: 2eab83f6187c82c56535a77a44f1fc1cac860686
https://github.com/llvm/llvm-project/commit/2eab83f6187c82c56535a77a44f1fc1cac860686
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Remove CanonicalIV when dissolving loop regions (NFC). (#142372)
Directly replace the canonical IV when we dissolve the containing
region. That ensures that it won't get removed before the region gets
removed, which would result in an invalid region.
This removes the current ordering constraint between
convertToConcreteRecipes and dissolving regions.
PR: https://github.com/llvm/llvm-project/pull/142372
Commit: d4df0745203ea78a2c863095995213e63cbc5e01
https://github.com/llvm/llvm-project/commit/d4df0745203ea78a2c863095995213e63cbc5e01
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
Log Message:
-----------
[AArch64][SME] Store SME attributes in AArch64FunctionInfo (NFC) (#142362)
The SMEAttrs class is tiny (simply a wrapper around a bitmask).
Constructing SMEAttrs from a llvm::Function is relatively expensive (as
we have to redo the checks for every SME attribute). So let's just
construct the SMEAttrs as part of the AArch64FunctionInfo and reuse the
parsed attributes where possible.
Commit: e1276ece7080e284dba6acf45d0702f614fa72f5
https://github.com/llvm/llvm-project/commit/e1276ece7080e284dba6acf45d0702f614fa72f5
Author: David Green <david.green at arm.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
Log Message:
-----------
[AArch64][GlobalISel] Add test coverage for arm64-neon-v8.1a.ll. NFC
Commit: 130080fab11cde5efcb338b77f5c3b31097df6e6
https://github.com/llvm/llvm-project/commit/130080fab11cde5efcb338b77f5c3b31097df6e6
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-no-agprs-violations.ll
M llvm/test/CodeGen/AMDGPU/amdhsa-kernarg-preload-num-sgprs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
M llvm/test/CodeGen/AMDGPU/amdpal-elf.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage-agpr.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage0.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage1.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage2.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage3.ll
M llvm/test/CodeGen/AMDGPU/call-graph-register-usage.ll
M llvm/test/CodeGen/AMDGPU/coalescer_remat.ll
M llvm/test/CodeGen/AMDGPU/code-object-v3.ll
M llvm/test/CodeGen/AMDGPU/elf-notes.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-reg.ll
M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-kernel-code-props.ll
M llvm/test/CodeGen/AMDGPU/hsa.ll
A llvm/test/CodeGen/AMDGPU/init-whole-wave-vgpr-count-large.ll
A llvm/test/CodeGen/AMDGPU/init-whole-wave-vgpr-count-leaf.ll
A llvm/test/CodeGen/AMDGPU/init-whole-wave-vgpr-count-use-inactive.ll
A llvm/test/CodeGen/AMDGPU/init-whole-wave-vgpr-count.ll
M llvm/test/CodeGen/AMDGPU/ipra.ll
M llvm/test/CodeGen/AMDGPU/mcexpr-knownbits-assign-crash-gh-issue-110930.ll
M llvm/test/CodeGen/AMDGPU/multi-call-resource-usage-mcexpr.ll
M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0-callable.ll
M llvm/test/CodeGen/AMDGPU/ps-shader-arg-count.ll
M llvm/test/CodeGen/AMDGPU/register-count-comments.ll
M llvm/test/CodeGen/AMDGPU/resource-optimization-remarks.ll
M llvm/test/CodeGen/AMDGPU/schedule-amdgpu-tracker-physreg.ll
M llvm/test/CodeGen/AMDGPU/schedule-amdgpu-trackers.ll
M llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit2.ll
M llvm/test/CodeGen/AMDGPU/stack-realign-kernel.ll
M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-any.ll
M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-off.ll
M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-on.ll
M llvm/test/CodeGen/AMDGPU/unnamed-function-resource-info.ll
M llvm/test/CodeGen/AMDGPU/vgpr-agpr-limit-gfx90a.ll
A llvm/test/CodeGen/AMDGPU/vgpr-count-compute.ll
A llvm/test/CodeGen/AMDGPU/vgpr-count-graphics.ll
Log Message:
-----------
[AMDGPU] Skip register uses in AMDGPUResourceUsageAnalysis (#133242)
Don't count register uses when determining the maximum number of
registers used by a function. Count only the defs. This is really an
underestimate of the true register usage, but in practice that's not
a problem because if a function uses a register, then it has either
defined it earlier, or some other function that executed before has
defined it.
In particular, the register counts are used:
1. When launching an entry function - in which case we're safe because
the register counts of the entry function will include the register
counts of all callees.
2. At function boundaries in dynamic VGPR mode. In this case it's safe
because whenever we set the new VGPR allocation we take into account
the outgoing_vgpr_count set by the middle-end.
The main advantage of doing this is that the artificial VGPR arguments
used only for preserving the inactive lanes when using the
llvm.amdgcn.init.whole.wave intrinsic are no longer counted. This
enables us to allocate only the registers we need in dynamic VGPR mode.
---------
Co-authored-by: Thomas Symalla <5754458+tsymalla at users.noreply.github.com>
Commit: be9334a68eaa2605e127ffa0d3b2dc13ff1d7af4
https://github.com/llvm/llvm-project/commit/be9334a68eaa2605e127ffa0d3b2dc13ff1d7af4
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/ArmNeon/CMakeLists.txt
A mlir/include/mlir/Dialect/ArmNeon/TransformOps/ArmNeonVectorTransformOps.h
A mlir/include/mlir/Dialect/ArmNeon/TransformOps/ArmNeonVectorTransformOps.td
A mlir/include/mlir/Dialect/ArmNeon/TransformOps/CMakeLists.txt
M mlir/include/mlir/InitAllExtensions.h
M mlir/lib/Dialect/ArmNeon/CMakeLists.txt
A mlir/lib/Dialect/ArmNeon/TransformOps/ArmNeonVectorTransformOps.cpp
A mlir/lib/Dialect/ArmNeon/TransformOps/CMakeLists.txt
M mlir/test/Dialect/ArmNeon/lower-to-arm-neon.mlir
R mlir/test/lib/Dialect/ArmNeon/CMakeLists.txt
R mlir/test/lib/Dialect/ArmNeon/TestLowerToArmNeon.cpp
M mlir/test/lib/Dialect/CMakeLists.txt
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[MLIR] Add `apply_patterns.arm_neon.vector_contract_to_i8mm` TD Op (#140251)
This patch wraps `populateLowerContractionToSMMLAPatternPatterns` into a
new TD Op `apply_patterns.arm_neon.vector_contract_to_i8mm` .
It also removes the "test-lower-to-arm-neon" pass.
Commit: 3374263a08d17263195df4e39d513d624fc06e5e
https://github.com/llvm/llvm-project/commit/3374263a08d17263195df4e39d513d624fc06e5e
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M flang/test/Lower/namelist.f90
Log Message:
-----------
[flang] Harden testcase by changing variable name. (#142363)
I noticed that this testcase was failing in a CI build because it has a
`CHECK-NOT: bbb` while `bbb` could appear in the hashed global variable
name. Improved the test by changing this name to `ggg` which can't
appear in a hex string.
Commit: 9289604cf6690faa31527055ea6238c0bbf9453a
https://github.com/llvm/llvm-project/commit/9289604cf6690faa31527055ea6238c0bbf9453a
Author: Michele Scuttari <michele.scuttari at outlook.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
Log Message:
-----------
[MLIR] Use cached symbol tables in `getFuncOpsOrderedByCalls` (#141967)
Address TODO regarding the recomputation of symbol tables. The signature of the `getFuncOpsOrderedByCalls` function is modified to receive the collection of cached symbol tables.
Commit: 75ec944e38eedfc9357171697bceabe98dd9fadb
https://github.com/llvm/llvm-project/commit/75ec944e38eedfc9357171697bceabe98dd9fadb
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M lldb/test/Shell/Commands/command-image-dump-ast.test
Log Message:
-----------
[lldb][test] Disable image dump ast test on Windows
Again I think this requires DWARF. In theory we could use the PDB
file but I suspect that PDB file is in fact empty, because we
tell clang to produce DWARF.
So on Windows, first thing is we cannot run the expressions:
(lldb) expr A(); A1(); BA1(); AB();
error: <user expression 1>:1:1: 'A' has unknown return type; cast the call to its declared return type
1 | A(); A1(); BA1(); AB();
| ^~~
...and so on...
And then the AST is all unknown functions:
(lldb) image dump ast
Dumping clang ast for 4 modules.
TranslationUnitDecl 0x2b3bb591870 <<invalid sloc>> <invalid sloc> <undeserialized declarations>
|-FunctionDecl 0x2b3bb592970 <<invalid sloc>> <invalid sloc> mainCRTStartup 'unsigned long (void *)'
| `-ParmVarDecl 0x2b3bb592a20 <<invalid sloc>> <invalid sloc> 'void *'
`-FunctionDecl 0x2b3bb592ad8 <<invalid sloc>> <invalid sloc> __scrt_common_main_seh 'int ()' static
So I'm just going to disable this test on Windows, it's pretty
clear why it doesn't work and we have no plans to make it work.
Commit: 95ea4366dbaceed6b593dd0093fef8a8376d8755
https://github.com/llvm/llvm-project/commit/95ea4366dbaceed6b593dd0093fef8a8376d8755
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/docs/UsersManual.rst
Log Message:
-----------
[clang][docs] Add docs for CCC_OVERRIDE_OPTIONS. (#142396)
As was noted in
https://github.com/llvm/llvm-project/pull/140556#discussion_r2118160690,
there is no documentation for `CCC_OVERRIDE_OPTIONS`. This adds the
missing documentation. The information is duplicate of what we have for
`FCC_OVERRIDE_OPTIONS` in flang. Once this goes in and available at
https://clang.llvm.org/docs/UsersManual.html then the flang
documentation can be changed to refer to it.
Commit: 3108cbdfe94ab9ad38c745f1e78aea56fdf9d291
https://github.com/llvm/llvm-project/commit/3108cbdfe94ab9ad38c745f1e78aea56fdf9d291
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
Log Message:
-----------
[RISCV][NFC] Simplify the creation of Scheduler (#142553)
If `createMachineScheduler`/`createPostMachineScheduler` return a
`nullptr`, then we will call `createSchedLive`/`createSchedPostRA`
anyway.
We can always create the Scheduler first and simplify the following
conditions.
Commit: 75c3ff8c0b29f374d31ba99e51852f7f6851a6c8
https://github.com/llvm/llvm-project/commit/75c3ff8c0b29f374d31ba99e51852f7f6851a6c8
Author: Victor Campos <victor.campos at arm.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
R compiler-rt/lib/builtins/aarch64/sme-libc-mem-routines.S
A compiler-rt/lib/builtins/aarch64/sme-libc-memcpy-memmove.c
A compiler-rt/lib/builtins/aarch64/sme-libc-memset-memchr.c
A compiler-rt/lib/builtins/aarch64/sme-libc-opt-memcpy-memmove.S
A compiler-rt/lib/builtins/aarch64/sme-libc-opt-memset-memchr.S
R compiler-rt/lib/builtins/aarch64/sme-libc-routines.c
Log Message:
-----------
[compiler-rt][AArch64] Provide basic implementations of SME memcpy/memmove in case of strictly aligned memory access (#138250)
The existing implementations, written in assembly, make use of unaligned
accesses for performance reasons. They are not compatible with strict
aligned configurations, i.e. with `-mno-unaligned-access`.
If the functions are used in this scenario, an exception is raised due
to unaligned memory accesses.
This patch reintroduces vanilla implementations for these functions to
be used in strictly aligned configurations. The actual code is largely
based on the code from https://github.com/llvm/llvm-project/pull/77496
Commit: 0838bd60b4c2fedc31b9cba218847781cd4dca50
https://github.com/llvm/llvm-project/commit/0838bd60b4c2fedc31b9cba218847781cd4dca50
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
Log Message:
-----------
[DenseMap] Fix MSVC buildbot failure in lookup_or (#142268)
4bf67cd ([DenseMap] Fix constness issues with lookup_or) introduced a
buildbot failure:
https://lab.llvm.org/buildbot/#/builders/63/builds/6559
The patch deviates from the spec and MSVC complains, where it doesn't
bind an lvalue to an rvalue reference. Fix it by qualifying the argument
of lookup_or with remove_cv_t.
Proof: https://godbolt.org/z/sjTvGMbce
Commit: ba57ff66a38fee139e762f7dd2d3e3b17eebf022
https://github.com/llvm/llvm-project/commit/ba57ff66a38fee139e762f7dd2d3e3b17eebf022
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Improve code in findForkedSCEVs (NFC) (#140384)
Commit: 742e84dc5de1c084a51a15f42bdc149302166a84
https://github.com/llvm/llvm-project/commit/742e84dc5de1c084a51a15f42bdc149302166a84
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
SelectionDAG: Use unique_ptr for SwiftErrorValueTracking (#142532)
Commit: 6565e07a17785044797f446258c256b3cec7abff
https://github.com/llvm/llvm-project/commit/6565e07a17785044797f446258c256b3cec7abff
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] Port ArmNeon after #140251 (#142569)
Commit be9334a68eaa2605e127ffa0d3b2dc13ff1d7af4
Commit: fa36822bfb14d0bc982d41e634af829d15b13764
https://github.com/llvm/llvm-project/commit/fa36822bfb14d0bc982d41e634af829d15b13764
Author: MarcoFalke <*~=`'#}+{/-|&$^_ at 721217.xyz>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/modernize/deprecated-headers.rst
Log Message:
-----------
NFC: fix typo in tidy modernize-deprecated-headers docs
Commit: 16c13e5f7c8d574d796b3196548edc58b942b52b
https://github.com/llvm/llvm-project/commit/16c13e5f7c8d574d796b3196548edc58b942b52b
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Lex/PPExpressions.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaCXX/libstdcxx_common_type_hack.cpp
M clang/test/SemaCXX/libstdcxx_explicit_init_list_hack.cpp
M clang/test/SemaCXX/libstdcxx_pair_swap_hack.cpp
Log Message:
-----------
Revert "[Clang] Improve infrastructure for libstdc++ workarounds" (#142432)
Reverts llvm/llvm-project#141977
This causes CI failure that I am unable to reproduce.
https://lab.llvm.org/buildbot/#/builders/168/builds/12688
Commit: 7547ff5cad3d4eb14a13abf36d7230fea7b775a6
https://github.com/llvm/llvm-project/commit/7547ff5cad3d4eb14a13abf36d7230fea7b775a6
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/test/CodeGen/X86/fminimum-fmaximum-i686.ll
M llvm/test/CodeGen/X86/fp128-libcalls-strict.ll
M llvm/test/CodeGen/X86/fp128-libcalls.ll
Log Message:
-----------
[X86] Consistently use f128 libcalls (#142386)
On x86, the `*l` libcalls are for 80-bit extended precision. `fp128`
needs to use the `*f128` libcalls instead.
Add a few missing ones, esp. for FP min/max.
Also use the `f128` libcalls on x86-32. I believe the situation there is
the same as on x86-64.
Commit: 020ab696bd3938a508f4e704f3616e4438638086
https://github.com/llvm/llvm-project/commit/020ab696bd3938a508f4e704f3616e4438638086
Author: Pawan Nirpal <pawan.anil.nirpal at intel.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86InstrFragments.td
Log Message:
-----------
[X86][NFC] Remove fild/fist c++ predicates from PatFrag (#142562)
Drop the c++ predicates and use MemoryVT for memory size check for FILD
and FIST.
Commit: 038dc2c63b2db744be6afeea74b18be4938149e9
https://github.com/llvm/llvm-project/commit/038dc2c63b2db744be6afeea74b18be4938149e9
Author: Weibo He <NewSigma at 163.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
Log Message:
-----------
[CoroSplit] Always erase lifetime intrinsics for spilled allocas (#142551)
If the control flow between `lifetime.start` and `lifetime.end` is too
complex, it is acceptable to give up the optimization opportunity and
collect the alloca to the frame. However, storing to the frame will
lengthen the lifetime of the alloca, and the sanitizer will complain. I
propose we always erase lifetime intrinsics of spilled allocas.
Fix #124612
---------
Co-authored-by: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Commit: ddfeecf4c588d525bad3a7e19601d714fd708363
https://github.com/llvm/llvm-project/commit/ddfeecf4c588d525bad3a7e19601d714fd708363
Author: Luke Lau <luke at igalia.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Convert to concrete recipes before dissolving loop regions. NFCI (#141999)
After updating #118638 on tip of tree, expanding
VPWidenIntOrFpInductionRecipes fails because it needs the loop region to
get the latch to insert the increment into:
VPBasicBlock *ExitingBB =
Plan->getVectorLoopRegion()->getExitingBasicBlock();
Builder.setInsertPoint(ExitingBB,
ExitingBB->getTerminator()->getIterator());
auto *Next = Builder.createNaryOp(AddOp, {Prev, Inc}, Flags,
WidenIVR->getDebugLoc(), "vec.ind.next");
However after #117506, the region is dissolved so it doesn't work.
This shuffles the dissolveLoopRegions steps to be after
convertToConcreteRecipes so we can use the region when expanding
VPWidenIntOrFpInductionRecipes
Commit: 9a2d4d176ad290eb556f27a990880acad99cc163
https://github.com/llvm/llvm-project/commit/9a2d4d176ad290eb556f27a990880acad99cc163
Author: Luke Lau <luke at igalia.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-vector-deinterleave.ll
M llvm/test/CodeGen/AArch64/sve-vector-interleave.ll
Log Message:
-----------
[SelectionDAG][AArch64] Legalize power of 2 vector.[de]interleaveN (#141513)
After https://github.com/llvm/llvm-project/pull/139893, we now have
[de]interleave intrinsics for factors 2-8 inclusive, with the plan to
eventually get the loop vectorizer to emit a single intrinsic for these
factors instead of recursively deinterleaving (to support scalable
non-power-of-2 factors and to remove the complexity in the interleaved
access pass).
AArch64 currently supports scalable interleaved groups of factors 2 and
4 from the loop vectorizer. For factor 4 this is currently emitted as a
series of recursive [de]interleaves, and normally converted to a target
intrinsic in the interleaved access pass.
However if for some reason the interleaved access pass doesn't catch it,
the [de]interleave4 intrinsic will need to be lowered by the backend.
This patch legalizes the node and any other power-of-2 factor to smaller
factors, so if a target can lower [de]interleave2 it should be able to
handle this without crashing.
Factor 3 will probably be more complicated to lower so I've left it out
for now. We can disable it in the AArch64 cost model when implementing
the loop vectorizer changes.
Commit: 9c52b177ea27778e904908c974e8113ed637dd69
https://github.com/llvm/llvm-project/commit/9c52b177ea27778e904908c974e8113ed637dd69
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
A lldb/test/Shell/Expr/TestClangModulesDeclLookup.test
Log Message:
-----------
[lldb][test] Add test for looking up decls in Clang modules for C++
Adds coverage for the code-path where
`ClangExpressionDeclMap::FindExternalVisibleDecls` finds a decl inside
of a Clang module (without explicitly having to import the module on the
LLDB CLI). AFAICT, we had not tests for this.
`LookupFunction` will try to find a `FunctionDecl` in debug-info. But if
no debug-info exists, it will ask the `ClangModulesDeclVendor` to search
for the function with the specified name in any of the Clang modules
that got added to it in `SetupDeclVendor`.
Commit: 878badc44d2e16d0439e435b1e00bf3a3d51d683
https://github.com/llvm/llvm-project/commit/878badc44d2e16d0439e435b1e00bf3a3d51d683
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M mlir/test/Dialect/ArmNeon/lower-to-arm-neon.mlir
Log Message:
-----------
[MLIR][AArch64] Add an extra test for Neon I8MM (NFC) (#135777)
Commit: 4949a791da64a1fb07445d65f59b146e34a1bd14
https://github.com/llvm/llvm-project/commit/4949a791da64a1fb07445d65f59b146e34a1bd14
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
X86: Start moving setLibcallName calls out of TargetLowering (#142539)
Commit: c48c91a92e50e7e01ab9befa1ff7f3bc9662ecac
https://github.com/llvm/llvm-project/commit/c48c91a92e50e7e01ab9befa1ff7f3bc9662ecac
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M lldb/test/API/functionalities/thread/jump/TestThreadJump.py
Log Message:
-----------
[lldb][test] XFAIL TestThreadJump.py on older Clang versions
Failing on the macOS matrix bot for Clang-15 with the following error:
```
07:16:08 FAIL: LLDB (/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/clang_1501_build/bin/clang-arm64) :: test_jump_offset_dwarf (TestThreadJump.ThreadJumpTestCase)
07:16:08 UNSUPPORTED: LLDB (/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/clang_1501_build/bin/clang-arm64) :: test_jump_offset_dwo (TestThreadJump.ThreadJumpTestCase) (test case does not fall in any category of interest for this run)
07:16:08 Restore dir to: /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/lldb-build/tools/lldb/test
07:16:08 ======================================================================
07:16:08 FAIL: test_jump_offset_dsym (TestThreadJump.ThreadJumpTestCase)
07:16:08 Test Thread Jump by negative or positive offset
07:16:08 ----------------------------------------------------------------------
07:16:08 Traceback (most recent call last):
07:16:08 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 1804, in test_method
07:16:08 return attrvalue(self)
07:16:08 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/functionalities/thread/jump/TestThreadJump.py", line 112, in test_jump_offset
07:16:08 self.expect(f"print {var_2}", substrs=[var_2_value])
07:16:08 File "/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2512, in expect
07:16:08 self.fail(log_msg)
07:16:08 AssertionError: Ran command:
07:16:08 "print var_2"
07:16:08
07:16:08 Got output:
07:16:08 (int) 20
07:16:08
07:16:08 Expecting sub string: "40" (was not found)
```
Commit: 05547fc3ec803b779beefeb52d21ef76cf00413f
https://github.com/llvm/llvm-project/commit/05547fc3ec803b779beefeb52d21ef76cf00413f
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M lldb/test/Shell/Expr/TestClangModulesDeclLookup.test
Log Message:
-----------
[lldb][test] XFAIL TestClangModulesDeclLookup on Linux
Failing on the Linux bots with:
```
+ /home/worker/2.0.1/lldb-x86_64-debian/build/bin/FileCheck /home/worker/2.0.1/lldb-x86_64-debian/llvm-project/lldb/test/Shell/Expr/TestClangModulesDeclLookup.test
/home/worker/2.0.1/lldb-x86_64-debian/llvm-project/lldb/test/Shell/Expr/TestClangModulesDeclLookup.test:56:15: error: CHECK-NEXT: expected string not found in input
^
<stdin>:38:26: note: scanning from here
(lldb) expression foo(50)
^
<stdin>:41:34: note: possible intended match here
(lldb) target modules dump ast --filter foo
^
```
Commit: 0107c9333cee3fb7af0dbffdce07422fe6b82bfa
https://github.com/llvm/llvm-project/commit/0107c9333cee3fb7af0dbffdce07422fe6b82bfa
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
A llvm/test/CodeGen/AMDGPU/freeze-binary.ll
Log Message:
-----------
[DAG] canCreateUndefOrPoison – mark fneg/fadd/fsub/fmul/fdiv/frem as not poison generating (#142345)
After revisiting the LLVM Language Reference Manual, it is confirmed
that
plain floating-point operations (`fneg`, `fadd`, `fsub`, `fmul`, `fdiv`,
and `frem`)
propagate poison but do not inherently create new poison values. Thus,
`SelectionDAG::canCreateUndefOrPoison` should return `false` for these
operations by default.
Poison generation in FP instructions occurs only when specific fast-math
flags (`nnan`, `ninf`, or the collective fast) are present, as these
flags
explicitly convert NaN or Inf results into poison.
References:
- [`fneg` instruction
documentation](https://llvm.org/docs/LangRef.html#fneg-instruction)
- [`fadd` instruction
documentation](https://llvm.org/docs/LangRef.html#fadd-instruction)
- [`fsub` instruction
documentation](https://llvm.org/docs/LangRef.html#fsub-instruction)
- [`fmul` instruction
documentation](https://llvm.org/docs/LangRef.html#fmul-instruction)
- [`fdiv` instruction
documentation](https://llvm.org/docs/LangRef.html#fdiv-instruction)
- [`frem` instruction
documentation](https://llvm.org/docs/LangRef.html#frem-instruction)
- [Fast-Math Flags
documentation](https://llvm.org/docs/LangRef.html#fast-math-flags)
Commit: 4b2cb118bc5825c309724d536053c6f9817e2eb9
https://github.com/llvm/llvm-project/commit/4b2cb118bc5825c309724d536053c6f9817e2eb9
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
A clang/test/CIR/CodeGen/binop.c
M clang/test/CIR/CodeGen/binop.cpp
A clang/test/CIR/CodeGen/ternary.cpp
Log Message:
-----------
[CIR] Upstream lowering of conditional operators to TernaryOp (#138156)
This patch adds visitors for BinLAnd, BinLOr and
AbstractConditionalOperator. Note that this patch still lacks visitation
of OpaqueValueExpr which is needed for the GNU ?: operator.
---------
Co-authored-by: Erich Keane <ekeane at nvidia.com>
Commit: d9a5f7b118bfc9ab4b7325fae25073729d8e08be
https://github.com/llvm/llvm-project/commit/d9a5f7b118bfc9ab4b7325fae25073729d8e08be
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/IR/ConstantFold.cpp
M llvm/test/Transforms/InstSimplify/compare.ll
Log Message:
-----------
[ConstantFold] Constant fold icmp of boolean scalable vectors (#142528)
Closes https://github.com/llvm/llvm-project/issues/142447.
Commit: 6fe62e906c939797e128eeb4529cabbcbbe974b5
https://github.com/llvm/llvm-project/commit/6fe62e906c939797e128eeb4529cabbcbbe974b5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Use SelectionDAG::getExtractSubvector/getInsertSubvector in X86 extractSubVector/insertSubVector helpers. NFC.
Commit: 3ddc1e1cf397bd495f5aa42b04630561a9e6bf47
https://github.com/llvm/llvm-project/commit/3ddc1e1cf397bd495f5aa42b04630561a9e6bf47
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M lldb/test/Shell/Expr/TestClangModulesDeclLookup.test
Log Message:
-----------
[lldb][test] XFAIL TestClangModulesDeclLookup.test on win-remote-linux
Failing on the `lldb-remote-linux-win` buildbot with:
```
| (lldb) expression foo(50)
| ^
| <stdin>:54:34: note: possible intended match here
| (lldb) target modules dump ast --filter foo
| ^
|
| Input file: <stdin>
| Check file: C:\buildbot\as-builder-10\lldb-x-aarch64\llvm-project\lldb\test\Shell\Expr\TestClangModulesDeclLookup.test
|
| -dump-input=help explains the following input dump.
|
| Input was:
| <<<<<<
| .
| .
| .
| 46: 5 foo(10);
| 47: -> 6 return 0;
| 48: ^
| 49: 7 }
| 50: 8
| 51: (lldb) expression foo(50)
| next:57'0 X error: no match found
| 52: ^~~~~~
| next:57'0 ~~~~~~~~
| 53: error: 'foo' has unknown return type; cast the call to its declared return type
| next:57'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 54: (lldb) target modules dump ast --filter foo
| next:57'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| next:57'1 ? possible intended match
| 55: Dumping clang ast for 4 modules.
| next:57'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| >>>>>>
`-----------------------------
error: command failed with exit status: 1
```
Fixes https://github.com/llvm/llvm-project/issues/142590
Commit: ec96c0c072ef3f78813c378949c00e1c07aa44e5
https://github.com/llvm/llvm-project/commit/ec96c0c072ef3f78813c378949c00e1c07aa44e5
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
Log Message:
-----------
[analyzer] Fix tagging of PostAllocatorCall (#142132)
By design the `Location` data member of a `CheckerContext` is always a
`ProgramPoint` which is tagged with the currently active checker (note
that all checker classes are subclasses of `ProgramPointTag`). This
ensures that exploded nodes created by the checker are by default tagged
by the checker object unless the checker specifies some other tag (e.g.
a note tag) when it calls the `addTransition`-like method that creates
the node.
This was followed by all the `CheckerManager::runCheckersForXXX`
methods, except for `runCheckerForNewAllocator`, where the
implementation constructed the `PostAllocatorCall` program point which
was used to create the `CheckerContext` without passing
`checkFn.Checker` as the tag of the program point.
This commit elimintates this inconsistency and adds an assertion to the
constructor of `CheckerContext` to ensure that this invariant will be
upheld even if we e.g. add a new program point kind.
I strongly suspect that this is a non-functional change because program
point tags are a vestigial feature in the codebase that barely affect
anything -- but e.g. their presence affects the infamous node
reclamation process, so I'm not marking this as NFC.
Commit: c9968f4a04e055353f0667a16bcf34f1b3d855a5
https://github.com/llvm/llvm-project/commit/c9968f4a04e055353f0667a16bcf34f1b3d855a5
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Lex/PPExpressions.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaCXX/libstdcxx_common_type_hack.cpp
M clang/test/SemaCXX/libstdcxx_explicit_init_list_hack.cpp
M clang/test/SemaCXX/libstdcxx_pair_swap_hack.cpp
Log Message:
-----------
[Clang] Improve infrastructure for libstdc++ workarounds (Reland) (#142592)
Reland with debug traces to try to understand a bug that only happens on
one CI configuration
===
This introduces a way detect the libstdc++ version,
use that to enable workarounds.
The version is cached.
This should make it easier in the future to find and remove
these hacks.
I did not find the need for enabling a hack between or after
specific versions, so it's left as a future exercise.
We can extend this fature to other libraries as the need arise.
===
Commit: d36c6f91a9daf5746ddc5127ac65b9c6ff198135
https://github.com/llvm/llvm-project/commit/d36c6f91a9daf5746ddc5127ac65b9c6ff198135
Author: Javier Lopez-Gomez <javier.lopez.gomez at proton.me>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/CodeView/CodeView.h
A llvm/include/llvm/DebugInfo/CodeView/CodeViewLanguages.def
Log Message:
-----------
[DebugInfo][CodeView] Move codeview::SourceLanguage enumerators to CodeViewLanguages.def (NFC) (#141750)
This PR proposes moving out enumerators for `codeview::SourceLanguage`
to a separate CodeViewLanguages.def file, following the same guideline
that in other parts of LLVM, and in particular the `TypeRecordKind`
(enumerators in CodeViewTypes.def) or `SymbolRecordKind` (enumerators in
CodeViewSymbols.def).
This is a non-functional change, and has been labeled as such. This
change helps for https://github.com/llvm/llvm-project/pull/137223, and
possibly other future changes.
Commit: e97f42e931208878e3ec30052fb65b6a3cef7b4e
https://github.com/llvm/llvm-project/commit/e97f42e931208878e3ec30052fb65b6a3cef7b4e
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M offload/test/sanitizer/ptr_outside_alloc_1.c
M offload/test/sanitizer/ptr_outside_alloc_2.c
M offload/test/sanitizer/use_after_free_1.c
M offload/test/sanitizer/use_after_free_2.c
Log Message:
-----------
[OpenMP][Offload] Fix typo in error message (#142589)
It appears that the spelling was incorrect in those test cases. At least
on machines with ROCm version > 6.3.
I had no chance to test with ROCm version version < 6.2 and would be
interested in the result if someone has the chance.
Commit: c75acb6f8bce3cb41bf21ef9e491ff16ae18dde7
https://github.com/llvm/llvm-project/commit/c75acb6f8bce3cb41bf21ef9e491ff16ae18dde7
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/Boolean.h
M clang/lib/AST/ByteCode/Floating.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Source.h
M clang/test/AST/ByteCode/fixed-point.cpp
Log Message:
-----------
[clang][bytecode] Remove some unused code (#142580)
Remove unused functions and add tests for fixed-point to bool casts,
which work.
Commit: 0555594195c8a39ea3469fb4ded211960fde385b
https://github.com/llvm/llvm-project/commit/0555594195c8a39ea3469fb4ded211960fde385b
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
A clang/test/DebugInfo/KeyInstructions/for.c
Log Message:
-----------
[KeyInstr][Clang] For stmt atom (#134646)
This patch is part of a stack that teaches Clang to generate Key Instructions
metadata for C and C++.
RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
The feature is only functional in LLVM if LLVM is built with CMake flag
LLVM_EXPERIMENTAL_KEY_INSTRUCTIONs. Eventually that flag will be removed.
Commit: dedef408d759b50360ae8a7ef2ba13ba6931b4d8
https://github.com/llvm/llvm-project/commit/dedef408d759b50360ae8a7ef2ba13ba6931b4d8
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/amdgpu-toolchain-opencl.cl
M clang/test/Driver/amdgpu-toolchain.c
Log Message:
-----------
Reapply "[AMDGPU] Use the AMDGPUToolChain when targeting C/C++ directly" (#125744)
Summary:
This reverts commit 740e6aeccdb2f8eeee549ba80b15ff3d5dd3392e.
After discussions it was determined that the behavior for IR inputs
needs to be maintained at least for now. In the future we should put a
deprecation notice on this behavior. This patch keeps the old behavior
for OpenCL and IR inputs, while others will be standalone. This is good
enough for standard compile flows.
Commit: 41a4b04a5d1fd9f82553d56ce5d5937e1c16d679
https://github.com/llvm/llvm-project/commit/41a4b04a5d1fd9f82553d56ce5d5937e1c16d679
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
A clang/test/DebugInfo/KeyInstructions/cast.c
A clang/test/DebugInfo/KeyInstructions/new.cpp
Log Message:
-----------
[NFC][KeyInstr][Clang] Add some additional tests (#134654)
[KeyInstr][Clang] For stmt atom (#134646)
This patch is part of a stack that teaches Clang to generate Key Instructions
metadata for C and C++.
RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
The feature is only functional in LLVM if LLVM is built with CMake flag
LLVM_EXPERIMENTAL_KEY_INSTRUCTIONs. Eventually that flag will be removed.
Commit: 8e50e882a847a8fd51ee8ec22fea5df192b14c06
https://github.com/llvm/llvm-project/commit/8e50e882a847a8fd51ee8ec22fea5df192b14c06
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/test/DebugInfo/KeyInstructions/for.c
M clang/test/DebugInfo/KeyInstructions/switch.c
Log Message:
-----------
[KeyInstr][Clang] Break and Continue stmt atoms
[KeyInstr][Clang] For stmt atom (#134646)
This patch is part of a stack that teaches Clang to generate Key Instructions
metadata for C and C++.
RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
The feature is only functional in LLVM if LLVM is built with CMake flag
LLVM_EXPERIMENTAL_KEY_INSTRUCTIONs. Eventually that flag will be removed.
Commit: 3a8b48862ad69cb07b53b6f386442b3bef4dae40
https://github.com/llvm/llvm-project/commit/3a8b48862ad69cb07b53b6f386442b3bef4dae40
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
A llvm/test/Transforms/LoopUnroll/peel-last-iteration-with-guards.ll
M llvm/test/Transforms/LoopUnroll/peel-last-iteration-with-variable-trip-count.ll
Log Message:
-----------
[LoopPeel] Add tests for peeling last iteration with loop guards.
Add additional test coverage for peeling the last iteration where
information from loop guards is needed.
Commit: 5520ab3d501284209dfaafaf6a3b381c3b0dcea9
https://github.com/llvm/llvm-project/commit/5520ab3d501284209dfaafaf6a3b381c3b0dcea9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
Log Message:
-----------
[VPlan] Add ComputeAnyOfResult VPInstruction (NFC) (#141932)
Add a dedicated opcode for any-of reduction, similar to
https://github.com/llvm/llvm-project/pull/132689 and
https://github.com/llvm/llvm-project/pull/132690.
The patch also explictly adds the start value to not require
RecurrenceDescriptor during execute. It also allows freezing the start
value to make it poison-safe.
PR: https://github.com/llvm/llvm-project/pull/141932
Commit: 6716d4eaa8526f8c0bc04efebd7e98649b35ef98
https://github.com/llvm/llvm-project/commit/6716d4eaa8526f8c0bc04efebd7e98649b35ef98
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Prefer DenseMap::lookup over find (NFC) (#141809)
Apart from the stylistic improvement, lookup has the nice property of
returning a default-constructed object on failure-to-find, while find
returns the end iterator, which cannot be dereferenced.
Commit: b1703ad38d5bbdb5ede49fb06dc7d63582359b30
https://github.com/llvm/llvm-project/commit/b1703ad38d5bbdb5ede49fb06dc7d63582359b30
Author: Marcos Maronas <marcos.maronas at intel.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetTransformInfo.h
M llvm/test/CodeGen/SPIRV/OpVariable_order.ll
M llvm/test/CodeGen/SPIRV/empty-logical.ll
M llvm/test/CodeGen/SPIRV/empty-module.ll
M llvm/test/CodeGen/SPIRV/global-var-name-align.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/AddUint64.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/abs.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/acos.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/all.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/any.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/asin.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/atan.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/atan2.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ceil.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/clamp.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cos.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cosh.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/countbits.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cross.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/degrees.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/discard.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/distance.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/dot4add_i8packed.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/dot4add_u8packed.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/exp.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/exp2.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/faceforward.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/firstbithigh.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/firstbitlow.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/floor.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmad.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmax.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmin.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/frac.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/group_memory_barrier_with_group_sync.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/length.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/lerp.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log10.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log2.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/normalize.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/pow.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/radians.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reflect.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reversebits.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/round.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/rsqrt.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/saturate.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sin.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sinh.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smax.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smin.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sqrt.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/step.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/tan.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/tanh.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/trunc.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/umax.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/umin.ll
M llvm/test/CodeGen/SPIRV/inline/type.coop-matrix.ll
M llvm/test/CodeGen/SPIRV/inline/type.ll
M llvm/test/CodeGen/SPIRV/inline/type.undef.ll
M llvm/test/CodeGen/SPIRV/structurizer/HLSLControlFlowHint.ll
Log Message:
-----------
[SPIRV] Change how to detect OpenCL/Vulkan Env and update tests accordingly. (#129689)
A new test added for spirv-friendly builtins for
SPV_KHR_bit_instructions unveiled that current mechanism to detect
whether SPIRV Backend is in OpenCL environment or Vulkan environment was
not good enough. This PR updates how to detect the environment and all
the tests accordingly.
*UPDATE*: the new approach is having a new member in `SPIRVSubtarget` to
represent the environment. It can be either OpenCL, Kernel or Unknown.
If the triple is explicit, we can directly set it at the creation of the
`SPIRVSubtarget`, otherwise we just leave it unknown until we find other
information that can help us set the environment. For now, the only
other information we use to set the environment is `hlsl.shader`
attribute at `SPIRV::ExecutionModel::ExecutionModel
getExecutionModel(const SPIRVSubtarget &STI, const Function &F)`. Going
forward we should consider also specific instructions that are
Kernel-exclusive or Shader-exclusive.
---------
Co-authored-by: marcos.maronas <mmaronas at smtp.igk.intel.com>
Commit: aac1f85393e74b643d08c948c3c2da156a231073
https://github.com/llvm/llvm-project/commit/aac1f85393e74b643d08c948c3c2da156a231073
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
A flang/include/flang/Semantics/openmp-dsa.h
M flang/include/flang/Semantics/symbol.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Semantics/CMakeLists.txt
A flang/lib/Semantics/openmp-dsa.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/common-block.f90
M flang/test/Semantics/OpenMP/copyprivate03.f90
M flang/test/Semantics/OpenMP/default-clause.f90
M flang/test/Semantics/OpenMP/do05-positivecase.f90
M flang/test/Semantics/OpenMP/do20.f90
M flang/test/Semantics/OpenMP/forall.f90
M flang/test/Semantics/OpenMP/implicit-dsa.f90
M flang/test/Semantics/OpenMP/reduction08.f90
M flang/test/Semantics/OpenMP/reduction09.f90
M flang/test/Semantics/OpenMP/reduction11.f90
M flang/test/Semantics/OpenMP/scan2.f90
M flang/test/Semantics/OpenMP/symbol01.f90
M flang/test/Semantics/OpenMP/symbol02.f90
M flang/test/Semantics/OpenMP/symbol03.f90
M flang/test/Semantics/OpenMP/symbol04.f90
M flang/test/Semantics/OpenMP/symbol05.f90
M flang/test/Semantics/OpenMP/symbol06.f90
M flang/test/Semantics/OpenMP/symbol07.f90
M flang/test/Semantics/OpenMP/symbol08.f90
M flang/test/Semantics/OpenMP/symbol09.f90
Log Message:
-----------
[flang][OpenMP] Explicitly set Shared DSA in symbols (#142154)
Before this change, OmpShared was not always set in shared symbols.
Instead, absence of private flags was interpreted as shared DSA.
The problem was that symbols with no flags, with only a host
association, could also mean "has same DSA as in the enclosing
context". Now shared symbols behave the same as private and can be
treated the same way.
Because of the host association symbols with no flags mentioned
above, it was also incorrect to simply test the flags of a given
symbol to find out if it was private or shared. The function
GetSymbolDSA() was added to fix this. It would be better to avoid
the need of these special symbols, but this would require changes
to how symbols are collected in lowering.
Besides that, some semantic checks need to know if a DSA clause
was used or not. To avoid confusing implicit symbols with DSA
clauses a new flag was added: OmpExplicit. It is now set for all
symbols with explicitly determined data-sharing attributes.
With the changes above, AddToContextObjectWithDSA() and the symbol
to DSA map could probably be removed and the DSA could be obtained
directly from the symbol, but this was not attempted.
Some debug messages were also added, with the "omp" DEBUG_TYPE, to
make it easier to debug the creation of implicit symbols and to
visualize all associations of a given symbol.
Fixes #130533
Fixes #140882
Commit: bb75f655b08d0758bd91650ec2fe1004673da462
https://github.com/llvm/llvm-project/commit/bb75f655b08d0758bd91650ec2fe1004673da462
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Linker/IRMover.cpp
M llvm/test/Linker/opaque.ll
M llvm/test/Linker/pr22807.ll
M llvm/test/Linker/type-unique-dst-types.ll
Log Message:
-----------
[IRMover] Don't consider opaque types isomorphic to other types (#138241)
The type mapping in IRMover currently has a decent amount of complexity
related to establishing isomorphism between opaque struct types and
non-opaque struct types. I believe that this is both largely useless at
this point (after some recent clarifications, essentially the only place
where opaque types can still appear are external gobals) and has never
been entirely correct in the first place (because it does this in part
purely based on name rather than use, which means that we effectively
end up assigning semantics to the type name, which is illegal).
As such, I'd like to remove this functionality entirely.
Commit: e29eb6637d6b8ee54f746a9c914304f83309c4ee
https://github.com/llvm/llvm-project/commit/e29eb6637d6b8ee54f746a9c914304f83309c4ee
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Lex/PPExpressions.cpp
M clang/test/SemaCXX/libstdcxx_pair_swap_hack.cpp
Log Message:
-----------
[Clang] Slightly tweak the code to try to fix a potential codegen issue in #142592
Commit: d9df71045441e02d33cd01fad203862c7efd637e
https://github.com/llvm/llvm-project/commit/d9df71045441e02d33cd01fad203862c7efd637e
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParsePragma.cpp
A clang/test/Sema/Inputs/builtin-system-header.h
A clang/test/Sema/builtin-pragma-intrinsic-namespace.cpp
A clang/test/Sema/builtin-pragma-intrinsic.c
Log Message:
-----------
[clang][Sema] Fix and reapply 'Declare builtins used in #pragma intrinsic #138205' (#142019)
I had to revert https://github.com/llvm/llvm-project/pull/138205 in
https://github.com/llvm/llvm-project/pull/141994 because it broke the
Chrome build.
The problem came down to the following:
```c++
unsigned __int64 _umul128(unsigned __int64, unsigned __int64,
unsigned __int64 *);
namespace {}
#pragma intrinsic(_umul128)
void foo() {
unsigned __int64 carry;
unsigned __int64 low = _umul128(0, 0, &carry);
}
```
When processing the `#pragma intrinsic` line, we do a name lookup to see
if the builtin was previously declared. In this case the lookup fails
because the current namespace of the parser and sema is the above
namespace scope. The processing of the pragma happens as part of the
namespace close parsing. This is usually fine because most pragmas don't
care about scopes. However, that's not true for this and other MS
pragmas.
To fix this, we change the `#pragma intrinsic` processing to be the same
as other MS pragmas such as "optimize". Those are processed like a
declaration, and because of that we have the correct current scope, so
the lookup succeeds.
I added a test case that locks down the Chrome fix, as well as manually
tested the Chrome build and confirmed it passed.
Commit: 2e70da3fba14f9ff0b29f65fed174f075d94d9a4
https://github.com/llvm/llvm-project/commit/2e70da3fba14f9ff0b29f65fed174f075d94d9a4
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/cxx20.cpp
Log Message:
-----------
[clang][bytecode] Partially address string literal uniqueness (#142555)
This still leaves the case of the
constexpr auto b3 = name1() == name1();
test from cxx20.cpp broken.
Commit: aab79c41b2cc16d542072a5a2fad4ac8855ba9ff
https://github.com/llvm/llvm-project/commit/aab79c41b2cc16d542072a5a2fad4ac8855ba9ff
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCDwarf.h
M llvm/lib/MC/MCDwarf.cpp
A llvm/test/DebugInfo/X86/DW_AT_LLVM_stmt_seq_sec_offset_empty_func.ll
Log Message:
-----------
[DebugInfo] Fix issue with debug line table offsets for empty functions (#142253)
This patch addresses an issue where an anonymous DWARF line table symbol
could be inadvertently defined multiple times, leading to an "symbol ''
is already defined" error during assembly or object file emission. This
issue happens for empty functions when
`-emit-func-debug-line-table-offsets` is enabled.
The root cause is the creation of the "end sequence" entry for a DWARF
line table. This entry was sometimes created by copying the last
existing line table entry. If this last entry was a special one (created
for the purpose of marking the position in the line table stream and
having an anonymous symbol attached), the copied end-sequence entry
would also incorrectly reference this same anonymous symbol.
Consequently, when the line table was finally emitted, the DWARF
emission logic would attempt to emit a label for this anonymous symbol
twice, triggering the redefinition error.
The fix ensures that when an end-sequence line table entry is created,
it does not inherit any special stream label from the entry it might
have been based on, thereby preventing the duplicate label emission.
Commit: dc297cbc9ad2a0a18b530708c39b13bd431bf237
https://github.com/llvm/llvm-project/commit/dc297cbc9ad2a0a18b530708c39b13bd431bf237
Author: Md Abdullah Shahneous Bari <98356296+mshahneo at users.noreply.github.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
M mlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
Log Message:
-----------
[mlir][memref][spirv] Add conversion for memref.extract_aligned_pointer_as_index to SPIR-V (#86750)
Converts memref.extract_aligned_pointer_as_index to spirv.ConvertPtrToU.
Index conversion is done based on 'use-64bit-index' option.
Commit: 7797824297e17d4c02fbb1cb904c7919f21af47e
https://github.com/llvm/llvm-project/commit/7797824297e17d4c02fbb1cb904c7919f21af47e
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M mlir/include/mlir/Target/SPIRV/Deserialization.h
M mlir/lib/Target/SPIRV/Deserialization/Deserialization.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.h
M mlir/lib/Target/SPIRV/TranslateRegistration.cpp
Log Message:
-----------
[mlir][spirv] Allow disabling control flow structurization (#140561)
Currently some control flow patterns cannot be structurized into
existing SPIR-V MLIR constructs, e.g., conditional early exits (break).
Since the support for early exit cannot be currently added
(https://github.com/llvm/llvm-project/pull/138688#pullrequestreview-2830791677)
this patch enables structurizer to be disabled to keep
the control flow unstructurized. By default, the control flow is
structurized.
Commit: 10024363dd04b08279c24e7948a2e0e8e2a57b6f
https://github.com/llvm/llvm-project/commit/10024363dd04b08279c24e7948a2e0e8e2a57b6f
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
A clang/test/DebugInfo/KeyInstructions/for-range.cpp
Log Message:
-----------
[KeyInstr][Clang] For range stmt atoms (#134647)
This patch is part of a stack that teaches Clang to generate Key Instructions
metadata for C and C++.
RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
The feature is only functional in LLVM if LLVM is built with CMake flag
LLVM_EXPERIMENTAL_KEY_INSTRUCTIONs. Eventually that flag will be removed.
Commit: 038b1620467d48df7abd99b38165133c4f13dce6
https://github.com/llvm/llvm-project/commit/038b1620467d48df7abd99b38165133c4f13dce6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsBase.td
Log Message:
-----------
clang: Fix wrong C++ marker in tablegen file (#142534)
Commit: 407a3389900b3971d836c84abdb6c9ff8728aee8
https://github.com/llvm/llvm-project/commit/407a3389900b3971d836c84abdb6c9ff8728aee8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
github: Add lib/CodeGen to PR autolabeler (#138131)
Try to exclude SelectionDAG and GlobalISel since those have
their own labels
Commit: 986254ee0702cee4effccc2e818ea32455aae9a0
https://github.com/llvm/llvm-project/commit/986254ee0702cee4effccc2e818ea32455aae9a0
Author: A. Jiang <de34 at live.cn>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[Clang] Implement LWG3819 for `__reference_meows_from_temporary` (#142554)
Also fix use cases for function reference binding
(`__reference_binds_to_temporary` is also affected despite being
deprecated).
Commit: 52cf598c78ce2652146a806717cb4eb7898f0214
https://github.com/llvm/llvm-project/commit/52cf598c78ce2652146a806717cb4eb7898f0214
Author: Tony Varghese <tonypalampalliyil at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
A llvm/test/CodeGen/PowerPC/xxeval-vselect-x-and.ll
A llvm/test/CodeGen/PowerPC/xxeval-vselect-x-b.ll
A llvm/test/CodeGen/PowerPC/xxeval-vselect-x-c.ll
A llvm/test/CodeGen/PowerPC/xxeval-vselect-x-xor.ll
Log Message:
-----------
[NFC][PowerPC] Add testcases for locking down the xxeval instruction support for ternary operators (#141601)
NFC patch to add testcases for locking down the support of ternary
operators using the `xxsel` instructions. Currently ternary operators
are supoprted by emitting `xxsel` instructions instead of `xxeval`.
Co-authored-by: Tony Varghese <tony.varghese at ibm.com>
Commit: e6529dcedb3955706a8af5710591f1ac1bac26a3
https://github.com/llvm/llvm-project/commit/e6529dcedb3955706a8af5710591f1ac1bac26a3
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
R clang/test/DebugInfo/KeyInstructions/for-range.cpp
Log Message:
-----------
Revert "[KeyInstr][Clang] For range stmt atoms" (#142630)
Reverts llvm/llvm-project#134647
Bot failure:
https://lab.llvm.org/buildbot/#/builders/144/builds/26730/steps/6/logs/FAIL__Clang__terminate-statements_cpp
Commit: b78bc35d1629e9a07e0c6c677c5a1f477934b659
https://github.com/llvm/llvm-project/commit/b78bc35d1629e9a07e0c6c677c5a1f477934b659
Author: Callum Fare <callum at codeplay.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M offload/CMakeLists.txt
R offload/include/Shared/OffloadErrcodes.inc
R offload/include/Shared/OffloadError.h
M offload/liboffload/API/CMakeLists.txt
M offload/liboffload/CMakeLists.txt
R offload/liboffload/include/generated/OffloadAPI.h
R offload/liboffload/include/generated/OffloadEntryPoints.inc
R offload/liboffload/include/generated/OffloadFuncs.inc
R offload/liboffload/include/generated/OffloadImplFuncDecls.inc
R offload/liboffload/include/generated/OffloadPrint.hpp
M offload/liboffload/src/Helpers.hpp
M offload/plugins-nextgen/CMakeLists.txt
M offload/plugins-nextgen/common/CMakeLists.txt
A offload/plugins-nextgen/common/include/OffloadError.h
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/OffloadError.cpp
Log Message:
-----------
[Offload] Don't check in generated files (#141982)
Previously we decided to check in files that we generate with tablegen.
The justification at the time was that it helped reviewers unfamiliar
with `offload-tblgen` see the actual changes to the headers in PRs.
After trying it for a while, it's ended up causing some headaches and is
also not how tablegen is used elsewhere in LLVM.
This changes our use of tablegen to be more conventional. Where
possible, files are still clang-formatted, but this is no longer a hard
requirement. Because `OffloadErrcodes.inc` is shared with libomptarget
it now gets generated in a more appropriate place.
Commit: 6ca59aae8e13168467f743c749a36bd9c5074b41
https://github.com/llvm/llvm-project/commit/6ca59aae8e13168467f743c749a36bd9c5074b41
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/Headers/crash-instantiated-in-scope-cxx-modules6.cpp
Log Message:
-----------
[clang][modules] Fix lambda and its enclosing function are not loaded from same module. (#142467)
This is a follow-up fix to
https://github.com/llvm/llvm-project/pull/109167.
Previously, we stored a mapping between the enclosing function and the
lambda class declaration. When loading the enclosing function, we also
loaded the corresponding lambda class declaration. However, loading the
lambda class declaration does not guarantee that its call operator (a
`CXXMethodDecl`) is loaded as well.
As a result, if the lambda call operator is later loaded from a
different module, we can end up with a `DeclRefExpr` that refers to a
`VarDecl` from a different module — leading to inconsistencies.
To fix this, we should ensure the lambda call operator itself is loaded.
Fixes #141582
Commit: 769c42f4a552a75c8c38870ddc1b50d2ea874e4e
https://github.com/llvm/llvm-project/commit/769c42f4a552a75c8c38870ddc1b50d2ea874e4e
Author: A. Jiang <de34 at live.cn>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M libcxx/include/__memory/compressed_pair.h
M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/pointer_deleter.pass.cpp
Log Message:
-----------
[libc++] Fix padding calculation for function reference types (#142125)
#109028 caused `sizeof` to be sometimes applied to function reference
types, which makes a program ill-formed. This PR handles reference types
by specializations to prevent such bogus `sizeof` expression to be
instantiated.
Fixes #142118.
Commit: d0fb83531b07f608da064ed98e6213f32a5544e9
https://github.com/llvm/llvm-project/commit/d0fb83531b07f608da064ed98e6213f32a5544e9
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M libcxx/test/std/input.output/iostream.forward/iosfwd.pass.cpp
Log Message:
-----------
[libc++] Remove invalid char_traits instantiations from a test (#142016)
We had a test which created invalid char_traits instantiations for
non-character types. This patch removes them.
Commit: cb4a407e5c2a8a5972781d2a3be362f437602fae
https://github.com/llvm/llvm-project/commit/cb4a407e5c2a8a5972781d2a3be362f437602fae
Author: Artem Gindinson <gindinson at roofline.ai>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
M mlir/test/Dialect/Linalg/simplify-pack-unpack.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/unittests/Dialect/Utils/CMakeLists.txt
A mlir/unittests/Dialect/Utils/ReshapeOpsUtilsTest.cpp
Log Message:
-----------
[mlir][tensor] Loosen restrictions on folding dynamic reshapes (#137963)
The main idea behind the change is to allow expand-of-collapse folds for
reshapes like `?x?xk` -> `?` (k>1). The rationale here is that the
expand op must have a coherent index/affine expression specified in its
`output_shape` argument (see example below), and if it doesn't, the IR
has already been invalidated at an earlier stage:
```
%c32 = arith.constant 32 : index
%div = arith.divsi %<some_index>, %c32 : index
%collapsed = tensor.collapse_shape %41#1 [[0], [1, 2], [3, 4]]
: tensor<9x?x32x?x32xf32> into tensor<9x?x?xf32>
%affine = affine.apply affine_map<()[s0] -> (s0 * 32)> ()[%div]
%expanded = tensor.expand_shape %collapsed [[0], [1, 2], [3]] output_shape [9, %div, 32, %affine]
: tensor<9x?x?xf32> into tensor<9x?x32x?xf32>
```
On the above assumption, adjust the routine in
`getReassociationIndicesForCollapse()` to allow dynamic reshapes beyond
just `?x..?x1x1x..x1` -> `?`. Dynamic subshapes introduce two kinds of
issues:
1. n>2 consecutive dynamic dimensions in the source shape cannot be
collapsed together into 1<k<n neighboring dynamic dimensions in the
target shape, since there'd be more than one suitable reassociation
(example: `?x?x10x? into ?x?`)
2. When figuring out static subshape reassociations based on products,
there are cases where a static dimension is collapsed with a dynamic
one, and should therefore be skipped when comparing products of source &
target dimensions (e.g. `?x2x3x4 into ?x12`)
To address 1, we should detect such sequences in the target shape before
assigning multiple dynamic dimensions into the same index set. For 2, we
take note that a static target dimension was preceded by a dynamic one
and allow an "offset" subshape of source static dimensions, as long as
there's an exact sequence for the target size later in the source shape.
This PR aims to address all reshapes that can be determined based purely
on shapes (and original reassociation
maps, as done in
`ComposeExpandOfCollapseOp::findCollapsingReassociation)`. It doesn't
seem possible to fold all qualifying dynamic shape patterns in a
deterministic way without looking into affine expressions
simultaneously. That would be difficult to maintain in a single general
utility, so a path forward would be to provide dialect-specific
implementations for Linalg/Tensor.
Signed-off-by: Artem Gindinson <gindinson at roofline.ai>
---------
Signed-off-by: Artem Gindinson <gindinson at roofline.ai>
Co-authored-by: Ian Wood <ianwood2024 at u.northwestern.edu>
Commit: b40e4ceaa61c5f14ca261e2952e7f85a066403e2
https://github.com/llvm/llvm-project/commit/b40e4ceaa61c5f14ca261e2952e7f85a066403e2
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/Analysis/WithCache.h
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/DemandedBits.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/X86/X86PartialReduction.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/InferAlignment.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LowerSwitch.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[ValueTracking] Make Depth last default arg (NFC) (#142384)
Having a finite Depth (or recursion limit) for computeKnownBits is very
limiting, but is currently a load-bearing necessity, as all KnownBits
are recomputed on each call and there is no caching. As a prerequisite
for an effort to remove the recursion limit altogether, either using a
clever caching technique, or writing a easily-invalidable KnownBits
analysis, make the Depth argument in APIs in ValueTracking uniformly the
last argument with a default value. This would aid in removing the
argument when the time comes, as many callers that currently pass 0
explicitly are now updated to omit the argument altogether.
Commit: b9dec5aa793fbdb3b5db6b240f28bd18f13dbc9e
https://github.com/llvm/llvm-project/commit/b9dec5aa793fbdb3b5db6b240f28bd18f13dbc9e
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
Log Message:
-----------
[NFC] Remove goto in PromoteMem2Reg::RenamePass (#142454)
'goto' is essentially a shortcut for push/pop for worklist.
It can be expensive if we copy vectors, but if we move them, it
should not be an issue.
Without 'goto' it's easier to reason about the
code, when `PromoteMem2Reg::RenamePass` processes
exactly one edge at a time.
There is out of order processing of the first
successor, I keep it just to make this patch pure NFC. I'll
remove this in follow up patches.
For #142461
Commit: 34d8275e4fcd619226e2872ea0ee07f8a1634ff7
https://github.com/llvm/llvm-project/commit/34d8275e4fcd619226e2872ea0ee07f8a1634ff7
Author: asraa <asraa at google.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/IR/Tensor.h
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
A mlir/test/Dialect/Tensor/extract-from-collapse-shape.mlir
M mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
Log Message:
-----------
[mlir][tensor] add tensor insert/extract op folders (#142458)
Adds a few canonicalizers, folders, and rewrite patterns to tensor ops:
* tensor.insert folder: insert into a constant is replaced with a new
constant
* tensor.extract folder: extract from a parent tensor that was inserted
at the same indices is folded into the inserted value
* rewrite pattern added that replaces an extract of a collapse shape
with an extract of the source tensor (requires static source dimensions)
Signed-off-by: Asra Ali <asraa at google.com>
Commit: a90145e0282fb9eef0ad9ff61f505aff4e30c01d
https://github.com/llvm/llvm-project/commit/a90145e0282fb9eef0ad9ff61f505aff4e30c01d
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py
Log Message:
-----------
[lldb] Disable TestTargetWatchAddress.py on Windows x86_64 (#142573)
See #142196 and https://github.com/llvm/llvm-zorg/pull/452 for details.
Commit: a9032712c453bda70449dedcaf00bead0fea6e88
https://github.com/llvm/llvm-project/commit/a9032712c453bda70449dedcaf00bead0fea6e88
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
A lldb/test/Shell/Driver/TestWaitFor.test
M lldb/tools/driver/Driver.cpp
M lldb/tools/driver/Options.td
Log Message:
-----------
[lldb] Emit an error when using --wait-for without a name or pid (#142424)
Emit an error when using --wait-for without a name and correct the help
output to specify a name must be provided, rather than a name or PID.
Motivated by
https://discourse.llvm.org/t/why-is-wait-for-not-attaching/86636
Commit: 148c69dbae4c9993cad5f7e47f37a616b23f8537
https://github.com/llvm/llvm-project/commit/148c69dbae4c9993cad5f7e47f37a616b23f8537
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
M llvm/include/llvm/ExecutionEngine/Interpreter.h
M llvm/include/llvm/ExecutionEngine/JITEventListener.h
M llvm/include/llvm/ExecutionEngine/JITLink/EHFrameSupport.h
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h
M llvm/include/llvm/ExecutionEngine/JITLink/MachO.h
M llvm/include/llvm/ExecutionEngine/JITLink/MachO_arm64.h
M llvm/include/llvm/ExecutionEngine/JITLink/MachO_x86_64.h
M llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
M llvm/include/llvm/ExecutionEngine/JITLink/ppc64.h
M llvm/include/llvm/ExecutionEngine/JITLink/riscv.h
M llvm/include/llvm/ExecutionEngine/JITLink/x86.h
M llvm/include/llvm/ExecutionEngine/JITLink/x86_64.h
M llvm/include/llvm/ExecutionEngine/JITSymbol.h
M llvm/include/llvm/ExecutionEngine/MCJIT.h
M llvm/include/llvm/ExecutionEngine/ObjectCache.h
M llvm/include/llvm/ExecutionEngine/Orc/AbsoluteSymbols.h
M llvm/include/llvm/ExecutionEngine/Orc/COFFPlatform.h
M llvm/include/llvm/ExecutionEngine/Orc/COFFVCRuntimeSupport.h
M llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/CompileUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/DebugObjectManagerPlugin.h
M llvm/include/llvm/ExecutionEngine/Orc/DebugUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/Debugging/DebugInfoSupport.h
M llvm/include/llvm/ExecutionEngine/Orc/Debugging/DebuggerSupport.h
M llvm/include/llvm/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.h
M llvm/include/llvm/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.h
M llvm/include/llvm/ExecutionEngine/Orc/Debugging/VTuneSupportPlugin.h
M llvm/include/llvm/ExecutionEngine/Orc/DylibManager.h
M llvm/include/llvm/ExecutionEngine/Orc/EHFrameRegistrationPlugin.h
M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCDebugObjectRegistrar.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
M llvm/include/llvm/ExecutionEngine/Orc/GetDylibInterface.h
M llvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/IRPartitionLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
M llvm/include/llvm/ExecutionEngine/Orc/JITLinkReentryTrampolines.h
M llvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
M llvm/include/llvm/ExecutionEngine/Orc/Layer.h
M llvm/include/llvm/ExecutionEngine/Orc/LazyObjectLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
M llvm/include/llvm/ExecutionEngine/Orc/LinkGraphLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/LinkGraphLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/LoadLinkableFile.h
M llvm/include/llvm/ExecutionEngine/Orc/LookupAndRecordAddrs.h
M llvm/include/llvm/ExecutionEngine/Orc/MachO.h
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
M llvm/include/llvm/ExecutionEngine/Orc/Mangling.h
M llvm/include/llvm/ExecutionEngine/Orc/MapperJITLinkMemoryManager.h
M llvm/include/llvm/ExecutionEngine/Orc/MaterializationUnit.h
M llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h
M llvm/include/llvm/ExecutionEngine/Orc/ObjectFileInterface.h
M llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h
M llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/ReOptimizeLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h
M llvm/include/llvm/ExecutionEngine/Orc/SectCreate.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/AllocationActions.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/MachOObjectFormat.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ObjectFormats.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcError.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SimpleRemoteEPCUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/SimpleRemoteEPC.h
M llvm/include/llvm/ExecutionEngine/Orc/Speculation.h
M llvm/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/DefaultHostBootstrapValues.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/ExecutorBootstrapService.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/ExecutorSharedMemoryMapperService.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleExecutorMemoryManager.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleRemoteEPCServer.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/TargetExecutionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.h
M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
M llvm/include/llvm/ExecutionEngine/Orc/ThreadSafeModule.h
M llvm/include/llvm/ExecutionEngine/Orc/UnwindInfoRegistrationPlugin.h
M llvm/include/llvm/ExecutionEngine/RTDyldMemoryManager.h
M llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
M llvm/include/llvm/ExecutionEngine/RuntimeDyldChecker.h
M llvm/include/llvm/ExecutionEngine/SectionMemoryManager.h
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch32.cpp
M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.cpp
M llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
Log Message:
-----------
[llvm] annotate interfaces in llvm/ExecutionEngine for DLL export (#140809)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/ExecutionEngine`
library. These annotations currently have no meaningful impact on the
LLVM build; however, they are a prerequisite to support an LLVM Windows
DLL (shared library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS on
Linux:
- Add `LLVM_ABI_FRIEND` to friend member functions declared with
`LLVM_ABI`
- Add `LLVM_ABI` to a subset of private class methods and fields that
require export
- Add `LLVM_ABI` to a small number of symbols that require export but
are not declared in headers
- Add `LLVM_ABI` to a number of `extern "C"` methods that IDS missed
because they're implicitly exported
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: b76b3f3b399d422bb7c07c86b8598652f1fb5668
https://github.com/llvm/llvm-project/commit/b76b3f3b399d422bb7c07c86b8598652f1fb5668
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
A clang-tools-extra/test/clang-doc/DR-141990.cpp
Log Message:
-----------
[clang-doc] Add test case for #141990 (#142209)
When we landed the fix for the assertion in #141990, we hadn't yet
reduced the test case sufficiently for a regression test.
Commit: 20ca8958604dc26d5b480cf9109b861d05341ac8
https://github.com/llvm/llvm-project/commit/20ca8958604dc26d5b480cf9109b861d05341ac8
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M lldb/bindings/interface/SBBreakpointExtensions.i
M lldb/bindings/interface/SBBreakpointLocationExtensions.i
M lldb/bindings/interface/SBBreakpointNameExtensions.i
M lldb/test/API/functionalities/breakpoint/breakpoint_ignore_count/TestBreakpointIgnoreCount.py
M lldb/test/API/functionalities/breakpoint/breakpoint_names/TestBreakpointNames.py
M lldb/test/API/functionalities/stop-on-sharedlibrary-load/TestStopOnSharedlibraryEvents.py
Log Message:
-----------
[lldb] Add Python properties to SBBreakpoint and similar (#142215)
Update `SBBreakpoint`, `SBBreakpointLocation`, and `SBBreakpointName` to
add Python properties for many of their getters/setters.
Commit: 4d42c8e1843e07b88e6bbb79438aa515fbb535de
https://github.com/llvm/llvm-project/commit/4d42c8e1843e07b88e6bbb79438aa515fbb535de
Author: John Harrison <harjohn at google.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/server/TestDAP_server.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Handler/DisconnectRequestHandler.cpp
Log Message:
-----------
[lldb-dap] Correct the disconnect helper on server shutdown. (#142508)
Previously, we incorrectly handled the disconnect operation if we signal
lldb-dap running in server mode.
Updated to correctly disconnect the attach vs launch behavior on server
shutdown.
Commit: 04b63ac1ab23d875b2ff4dc3da72d20a48d9d29d
https://github.com/llvm/llvm-project/commit/04b63ac1ab23d875b2ff4dc3da72d20a48d9d29d
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaUtilOps.td
M mlir/lib/Conversion/TosaToMLProgram/TosaToMLProgram.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Conversion/TosaToMLProgram/tosa-to-mlprogram.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/variables.mlir
Log Message:
-----------
[tosa] Change VariableOp to align with spec (#142240)
This fixes Tosa VariableOp to align with spec 1.0
- add var_shape attribute to store shape of variable type
- change type attribute to store element type of variable type
- add a builder so previous construction calls still work
- fix up level check of rank to be on variable type instead of initial
value which is optional
- add level check of size for variable type
- add lit tests for variable op's without initial values
- add lit test for variable op with fixed rank but unknown dimension
- add invalid lit test for variable op with unranked type
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: 67fa6ea7d494d31e08fc7e32ddcb383184df8db8
https://github.com/llvm/llvm-project/commit/67fa6ea7d494d31e08fc7e32ddcb383184df8db8
Author: Martin Storsjö <martin at martin.st>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang-tools-extra/test/clang-doc/invalid-options.cpp
Log Message:
-----------
[clang-doc] [test] Generalize error message patterns (#142373)
On Windows, we hit the "no such file or directory" case, not the "Not a
directory" one.
MS STL produces the "no such file or directory" message for
`std::error_code(ENOENT, std::generic_category()).message()`, while
libc++ and libstdc++ produce a similar message with a capital N.
Adjust the error message regex to match for either of them.
That said, this kind of test is very brittle with respect to
portability.
Commit: 97885213bd4507b204b050c3cd570e365d21cc7d
https://github.com/llvm/llvm-project/commit/97885213bd4507b204b050c3cd570e365d21cc7d
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
Log Message:
-----------
[clang] Don't evaluate the initializer of constexpr-unknown parameters. (#142498)
If we see a parameter of reference type that isn't part of the frame,
don't try to evaluate its default argument. Just treat it as a
constexpr-unknown value.
Fixes #141114. Fixes #141858.
Commit: 1a435522c0e1a5ec64d3580839350cc81ac4c0ac
https://github.com/llvm/llvm-project/commit/1a435522c0e1a5ec64d3580839350cc81ac4c0ac
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/include/llvm/InterfaceStub/ELFObjHandler.h
M llvm/include/llvm/InterfaceStub/IFSHandler.h
M llvm/include/llvm/InterfaceStub/IFSStub.h
M llvm/include/llvm/LTO/Config.h
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/LTO/LTOBackend.h
M llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h
M llvm/include/llvm/LTO/legacy/LTOModule.h
M llvm/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h
M llvm/include/llvm/LineEditor/LineEditor.h
M llvm/include/llvm/Linker/IRMover.h
M llvm/include/llvm/Linker/Linker.h
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
[llvm] annotate interfaces in llvm/LTO for DLL export (#142499)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/LTO` library. These
annotations currently have no meaningful impact on the LLVM build;
however, they are a prerequisite to support an LLVM Windows DLL (shared
library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS on
Linux:
- Add `LLVM_ABI` to a small number of symbols that require export but
are not declared in headers
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: a56861777a7a584842c27cbc82e2355ded744c0e
https://github.com/llvm/llvm-project/commit/a56861777a7a584842c27cbc82e2355ded744c0e
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
Log Message:
-----------
[clang-doc] Reenable time trace support (#141139)
This patch re-enables -ftime-trace support in clang-doc. Initial support
in #97644 was reverted, and never relanded. This patch adds back the
command line option, and leverages the RAII tracing infrastructure more
thoroughly.
Commit: 3887c23059099e90e0a33a8be870381b4035b71a
https://github.com/llvm/llvm-project/commit/3887c23059099e90e0a33a8be870381b4035b71a
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wcscat.cpp
A libc/src/wchar/wcscat.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wcscat_test.cpp
Log Message:
-----------
[libc] wcscat implementation (#142243)
Implemented wcscat and tests.
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 9ec5afea773783b73b575d397dfdc8fba1fd596b
https://github.com/llvm/llvm-project/commit/9ec5afea773783b73b575d397dfdc8fba1fd596b
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
A llvm/include/llvm/Frontend/HLSL/HLSLRootSignatureUtils.h
M llvm/lib/Frontend/HLSL/CMakeLists.txt
R llvm/lib/Frontend/HLSL/HLSLRootSignature.cpp
A llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp
M llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp
Log Message:
-----------
[NFC][RootSignature] Move RootSignature util functions (#142491)
`HLSLRootSignature.h` was originally created to hold the struct
definitions of an `llvm::hlsl::rootsig::RootElement` and some helper
functions for it.
However, there many users of the structs that don't require any of the
helper methods. This requires us to link the `FrontendHLSL` library,
where we otherwise wouldn't need to.
For instance:
- This [revert](https://github.com/llvm/llvm-project/pull/142005) was
required as it requires linking to the unrequired `FrontendHLSL` library
- As part of the change required here:
https://github.com/llvm/llvm-project/issues/126557. We will want to add
an `HLSLRootSignatureVersion` enum. Ideally this could live with the
root signature struct defs, but we don't want to link the helper objects
into `clang/Basic/TargetOptions.h`
This change allows the struct definitions to be kept in a single header
file and to then have the `FrontendHLSL` library only be linked when
required.
Commit: 95ce58bc4a37cc5be4dbe374452f805092a44aaf
https://github.com/llvm/llvm-project/commit/95ce58bc4a37cc5be4dbe374452f805092a44aaf
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Dialect/Tensor/IR/TensorOps.cpp:1680:37: error: comparison
of integers of different signs: 'int' and 'uint64_t' (aka 'unsigned
long') [-Werror,-Wsign-compare]
Commit: 79cc728b77018bb1d87f0c327f3013aac85ba9fa
https://github.com/llvm/llvm-project/commit/79cc728b77018bb1d87f0c327f3013aac85ba9fa
Author: SharonXSharon <xiaoranxu.nju at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M lld/Common/CMakeLists.txt
A lld/Common/Utils.cpp
M lld/ELF/BPSectionOrderer.cpp
M lld/MachO/BPSectionOrderer.cpp
M lld/MachO/SectionPriorities.cpp
M lld/include/lld/Common/BPSectionOrdererBase.inc
A lld/include/lld/Common/Utils.h
A lld/test/MachO/order-file-strip-hashes.s
Log Message:
-----------
[lld][macho] Strip .__uniq. and .llvm. hashes in -order_file (#140670)
```
/// Symbols can be appended with "(.__uniq.xxxx)?.llvm.yyyy" where "xxxx" and
/// "yyyy" are numbers that could change between builds. We need to use the root
/// symbol name before this suffix so these symbols can be matched with profiles
/// which may have different suffixes.
```
Just like what we are doing in BP,
https://github.com/llvm/llvm-project/blob/main/lld/MachO/BPSectionOrderer.cpp#L127
the patch removes the suffixes when parsing the order file and getting
the symbol priority to have a better symbol match.
---------
Co-authored-by: Sharon Xu <sharonxu at fb.com>
Co-authored-by: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Commit: 86f18d394ec6ac6e3d884d93341c97739815f498
https://github.com/llvm/llvm-project/commit/86f18d394ec6ac6e3d884d93341c97739815f498
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
A llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
Log Message:
-----------
[LV] Re-org tests; introduce iv-select-cmp-decreasing.ll (#141769)
Having FindFirstIV tests in if-reduction.ll is misleading, and
iv-select-cmp.ll is already too large.
Commit: 27143f2929629d0919f8768b2460972e4f4c2d41
https://github.com/llvm/llvm-project/commit/27143f2929629d0919f8768b2460972e4f4c2d41
Author: jtstogel <jtstogel at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M utils/bazel/WORKSPACE
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
A utils/bazel/third_party_build/pyyaml.BUILD
Log Message:
-----------
[libc][bazel] Support generating public libc headers in Bazel builds. (#141256)
This requires adding a new dependency on PyYAML so that Bazel is able to
run the `hdrgen` tool hermetically. This PR uses PyYAML version 5.1 due
to keep in line with the docs:
https://github.com/llvm/llvm-project/blob/b878e0d11874a898bbaa1daf58007dfd232005f2/libc/docs/dev/header_generation.rst?plain=1#L22
See https://github.com/llvm/llvm-project/issues/134780.
Commit: 7ced3281ee5923da436f91191d79d1fd3ab62f45
https://github.com/llvm/llvm-project/commit/7ced3281ee5923da436f91191d79d1fd3ab62f45
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
Log Message:
-----------
[RISCV] Use ri.vunzip2{a,b} for e64 fixed length deinterleave(2) shuffles (#137217)
If we have xrivosvizip, we can use the vunzip2{a,b} instructions for
these cases *provided* that we can prove the layout in the two registers
matches the fixed length semantics.
The majority of this patch is a straight-forward port of the existing
vnsrl logic which has the same requirement (though for slightly
different reasoning).
The one complicated bit is the addition of the scalable splitting logic
inside lowerVZIP to exploit the independent register operands, and allow
the use of lower LMUL. This bit is annoyingly complicated, and really
"should" be a DAG combine - except that the VL and mask reduction
becomes hard when it's not known to be a constant.
Commit: 36736c88a0660237a8a72d16ca250a8f682ba206
https://github.com/llvm/llvm-project/commit/36736c88a0660237a8a72d16ca250a8f682ba206
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/lld/Common/BUILD.gn
Log Message:
-----------
[gn build] Port 79cc728b7701
Commit: cbd2768b0de424e21eaa657fb8c620585044812a
https://github.com/llvm/llvm-project/commit/cbd2768b0de424e21eaa657fb8c620585044812a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Frontend/HLSL/BUILD.gn
Log Message:
-----------
[gn build] Port 9ec5afea7737
Commit: 3cb967a2cd9784d3846072121990bdfaa89b0d15
https://github.com/llvm/llvm-project/commit/3cb967a2cd9784d3846072121990bdfaa89b0d15
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/test/Transforms/InstCombine/2009-02-20-InstCombine-SROA.ll
M llvm/test/Transforms/SimplifyCFG/Hexagon/switch-to-lookup-table.ll
Log Message:
-----------
[NFCI][PromoteMem2Reg] Don't handle the first successor out of order (#142464)
Just for consistency, to avoid confusing conditions.
`reverse` helps to avoid tests updates as nothing is
changing for for successors count <=2.
For #142461
Commit: ee46630dd06dd1e4f564f9fa9bb0daf3e9e29c98
https://github.com/llvm/llvm-project/commit/ee46630dd06dd1e4f564f9fa9bb0daf3e9e29c98
Author: Sharjeel Khan <sharjeelkhan at google.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Sema/warn-fortify-source.c
Log Message:
-----------
[Clang][Sema] Add fortify warnings for stpcpy (#141646)
As mentioned in https://github.com/llvm/llvm-project/issues/142230, I am
adding fortify warnings for functions missing in Clang and I am starting
with stpcpy.
Commit: 5d2e1c0432afa57f910f448765a7819cecbebdf2
https://github.com/llvm/llvm-project/commit/5d2e1c0432afa57f910f448765a7819cecbebdf2
Author: SharonXSharon <xiaoranxu.nju at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M lld/test/MachO/order-file-strip-hashes.s
Log Message:
-----------
[lld][macho] fix test failure by adding # REQUIRES: aarch64 (#142649)
fix the test failures caused by
https://github.com/llvm/llvm-project/pull/140670
https://lab.llvm.org/buildbot/#/builders/144/builds/26745
```
FAIL: lld::order-file-strip-hashes.s
[view all 14 lines](https://lab.llvm.org/buildbot/#/builders/144/builds/26745/steps/6/logs/FAIL__lld__order-file-strip-hashes_s)
******************** TEST 'lld :: MachO/order-file-strip-hashes.s' FAILED ********************
Exit Code: 1
Command Output (stderr):
--
rm -rf /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/tools/lld/test/MachO/Output/order-file-strip-hashes.s.tmp && split-file /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/lld/test/MachO/order-file-strip-hashes.s /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/tools/lld/test/MachO/Output/order-file-strip-hashes.s.tmp # RUN: at line 1
+ rm -rf /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/tools/lld/test/MachO/Output/order-file-strip-hashes.s.tmp
+ split-file /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/lld/test/MachO/order-file-strip-hashes.s /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/tools/lld/test/MachO/Output/order-file-strip-hashes.s.tmp
/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/bin/llvm-mc -filetype=obj -triple=arm64-apple-darwin /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/tools/lld/test/MachO/Output/order-file-strip-hashes.s.tmp/a.s -o /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/tools/lld/test/MachO/Output/order-file-strip-hashes.s.tmp/a.o # RUN: at line 2
+ /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/bin/llvm-mc -filetype=obj -triple=arm64-apple-darwin /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/tools/lld/test/MachO/Output/order-file-strip-hashes.s.tmp/a.s -o /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/tools/lld/test/MachO/Output/order-file-strip-hashes.s.tmp/a.o
/home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/bin/llvm-mc: error: unable to get target for 'arm64-apple-darwin', see --version and --triple.
```
Co-authored-by: Sharon Xu <sharonxu at fb.com>
Commit: b994299e59c9aac01ca0a494b2b861ebd5acc190
https://github.com/llvm/llvm-project/commit/b994299e59c9aac01ca0a494b2b861ebd5acc190
Author: lntue <lntue at google.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M libc/hdr/stdlib_overlay.h
Log Message:
-----------
[libc] Also remove _FORTIFY_SOURCE before including <stdlib.h> in overlay mode. (#142647)
Commit: 8d869637e846faacf8189742ce29e406e6424413
https://github.com/llvm/llvm-project/commit/8d869637e846faacf8189742ce29e406e6424413
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M bolt/lib/Passes/ADRRelaxationPass.cpp
A bolt/test/AArch64/adr-relaxation-fail.s
M bolt/test/AArch64/adr-relaxation.s
M bolt/test/AArch64/r_aarch64_prelxx.s
M bolt/test/AArch64/test-indirect-branch.s
R bolt/test/runtime/AArch64/adrrelaxationpass.s
Log Message:
-----------
[BOLT][AArch64] Fix error message for failed ADR relaxation (#142533)
Do not recommend the strict mode to the user when ADR relaxation fails
on a non-simple function, i.e. a function with unknown CFG.
We cannot rely on relocations to reconstruct compiler-generated jump
tables for AArch64, hence strict mode does not work as intended.
Commit: 50f9b8acafdca48e87e6b8e393c1f116a2d193ee
https://github.com/llvm/llvm-project/commit/50f9b8acafdca48e87e6b8e393c1f116a2d193ee
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/docs/SanitizerSpecialCaseList.rst
Log Message:
-----------
[Doc][NFC] Fix a typo in SanitizerSpecialCaseList.rst (#142494)
Commit: 0d02150c3d7e8960ad0fe247baecfa76c7ce1129
https://github.com/llvm/llvm-project/commit/0d02150c3d7e8960ad0fe247baecfa76c7ce1129
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtCXX.h
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
Log Message:
-----------
[clang][AST] Reduce some AST node size. (#142585)
This patch reduces the size of several AST nodes by moving some fields
into the free bitfield space in the base `Stmt` class:
* `CXXForRangeStmt`: 96 → 88 bytes
* `ChooseExpr`: 56 → 48 bytes
* `ArrayTypeTraitExpr`: 56 → 48 bytes
* `ExpressionTraitExpr`: 40 → 32 bytes
* `CXXFoldExpr`: 64 → 56 bytes
* `ShuffleExpr`: 40 → 32 bytes
* `PackIndexingExpr`: 48 → 40 bytes
There are no noticeable memory savings (`Expr/Stmt` memory usage
125,824,496 vs 125,826,336 bytes for `SemaExpr.cpp`) in my testing,
likely because these node types are not among the most common in typical
ASTs.
Commit: 2863c640fa0d8ab183b0180becf948de7becb639
https://github.com/llvm/llvm-project/commit/2863c640fa0d8ab183b0180becf948de7becb639
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV][NFC] Simplify ISD::SELECT Legality (#142650)
ISD::SELECT is legal by default, so this change to the conditional makes
it clearer that XTHeadCondMov and XMipsCMove both leave this operation
legal rather than custom expanding it.
Commit: a144f58a7932a66139f6c570d353c0248d9073d4
https://github.com/llvm/llvm-project/commit/a144f58a7932a66139f6c570d353c0248d9073d4
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
Log Message:
-----------
[RISCV] Expand test coverage for ri.vunzip2{a,b}
Cover cases that upcoming optimization changes will improve.
Commit: 96336b233068a04b84915334af01eda3d571e301
https://github.com/llvm/llvm-project/commit/96336b233068a04b84915334af01eda3d571e301
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/test/Transforms/AggressiveInstCombine/popcount.ll
Log Message:
-----------
[AggressiveInstCombine] Improve popcount matching if the input has known zero bits (#142501)
If the input has known zero bits, InstCombine may have simplied one
of the expected And masks. Teach AggressiveInstCombine to use
MaskedValueIsZero to recover these missing bits.
Fixes #142042.
Commit: d204aa9deb72b8dcaf5e5b5550871d0ebe982825
https://github.com/llvm/llvm-project/commit/d204aa9deb72b8dcaf5e5b5550871d0ebe982825
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M lldb/scripts/framework-header-fix.sh
A lldb/scripts/version-header-fix.py
M lldb/source/API/CMakeLists.txt
A lldb/test/Shell/Scripts/Inputs/lldb-defines.h
A lldb/test/Shell/Scripts/TestVersionFixScript.test
Log Message:
-----------
[lldb][headers] Create script to fix up versioning (#141116)
This commit creates a Python script that fixes up the versioning
information in lldb-defines.h. It also moves the build logic for fixing
up the lldb headers from being in the framework only to being in the
same location that we create the liblldb target.
Commit: 3a51896ce80a58fe7fce869196317a497a29615a
https://github.com/llvm/llvm-project/commit/3a51896ce80a58fe7fce869196317a497a29615a
Author: David Green <david.green at arm.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-vqadd.ll
M llvm/test/CodeGen/AArch64/arm64-vqsub.ll
M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/usub_sat_vec.ll
Log Message:
-----------
[AArch64] Add v1i64 addsat/subsat (#142342)
Add basic handling for v1i64 saddsat, ssubsat, uaddsat and usubsat. We
missed that these were not upgrading in #140454 due to a lack of test
coverage, and for some reason the generic v1i64 nodes were not being
treated as legal like they should.
Fixes #142323
Commit: f4ca6d9f7115d3bcecdf25f73afc5516c97f9f58
https://github.com/llvm/llvm-project/commit/f4ca6d9f7115d3bcecdf25f73afc5516c97f9f58
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
A llvm/test/CodeGen/AArch64/peephole-opt-analyzeCompare-subreg-use.mir
Log Message:
-----------
AArch64: Skip analyzeCompare for subregister uses (#141654)
The API is broken and doesn't provide a way to report the used
subregister, so it's unsafe to use. This will produce illegal
folds if the subregister is silently dropped.
Commit: 4bdcf5b51f9ea0fa30cfa2279d0943faf5446ecf
https://github.com/llvm/llvm-project/commit/4bdcf5b51f9ea0fa30cfa2279d0943faf5446ecf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
Log Message:
-----------
AArch64: Stop using StringSaver for runtime libcall names (#142544)
This redoes 43ba568daac098b286e1c1207deadd1f59d56cd7 to avoid
the statefulness.
Commit: 18e94550e10eaec4302082cec24b02b3a9e97ea0
https://github.com/llvm/llvm-project/commit/18e94550e10eaec4302082cec24b02b3a9e97ea0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
ARM: Remove unused CondCode field from libcall table (#142616)
Commit: 1340ecf0ba4b38bae9de9781da72b9a72abd3fbe
https://github.com/llvm/llvm-project/commit/1340ecf0ba4b38bae9de9781da72b9a72abd3fbe
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
A llvm/test/Transforms/IndVarSimplify/add-nsw-zext-fold.ll
A llvm/test/Transforms/LoopIdiom/add-nsw-zext-fold.ll
Log Message:
-----------
[SCEV] Add more tests with zext(add C, %var)<nsw>.
Add extra test coverage for
https://github.com/llvm/llvm-project/pull/142599.
Commit: f5a2f00da9b741f4f2fe925a434f608aa217cee2
https://github.com/llvm/llvm-project/commit/f5a2f00da9b741f4f2fe925a434f608aa217cee2
Author: Ian Wood <ianwood2024 at u.northwestern.edu>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
M mlir/test/Dialect/Linalg/simplify-pack-unpack.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/unittests/Dialect/Utils/CMakeLists.txt
R mlir/unittests/Dialect/Utils/ReshapeOpsUtilsTest.cpp
Log Message:
-----------
Revert "[mlir][tensor] Loosen restrictions on folding dynamic reshapes" (#142639)
Reverts llvm/llvm-project#137963
---------
Signed-off-by: Ian Wood <ianwood2024 at u.northwestern.edu>
Commit: f2adae57808996313dfec41a180454857ebd60d1
https://github.com/llvm/llvm-project/commit/f2adae57808996313dfec41a180454857ebd60d1
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/MemoryProfileInfo.h
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
A llvm/test/ThinLTO/X86/memprof-report-hinted-partial.ll
A llvm/test/Transforms/PGOProfile/memprof_max_cold_threshold.test
Log Message:
-----------
[MemProf] Optionally save context size info on largest cold allocations (#142507)
In order to allow selective reporting of context hinting during the LTO
link, and in the future to allow selective more aggressive cloning, add
an option to specify a minimum percent of the max cold size in the
profile summary. Contexts that meet that threshold will get context size
info metadata (and ThinLTO summary information) on the associated
allocations.
Specifying -memprof-report-hinted-sizes during the pre-LTO compile step
will continue to cause all contexts to receive this metadata. But
specifying -memprof-report-hinted-sizes only during the LTO link will
cause only those that meet the new threshold and have the metadata to
get reported.
To support this, because the alloc info summary and associated bitcode
requires the context size information to be in the same order as the
other context information, 0s are inserted for contexts without this
metadata. The bitcode writer uses a more compact format for the context
ids to allow better compression of the 0s.
As part of this change several helper methods are added to query whether
metadata contains context size info on any or all contexts.
Commit: 0a3e9aa336d1926691e1353e7251ff0704c32a69
https://github.com/llvm/llvm-project/commit/0a3e9aa336d1926691e1353e7251ff0704c32a69
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
A llvm/lib/IR/ZOSLibcallNames.def
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
R llvm/lib/Target/SystemZ/ZOSLibcallNames.def
Log Message:
-----------
SystemZ: Move runtime libcall setting out of TargetLowering (#142622)
RuntimeLibcallInfo needs to be correct outside of codegen contexts.
Commit: 857138b3bd4ab54cf509b32de2f4a94cde0685cb
https://github.com/llvm/llvm-project/commit/857138b3bd4ab54cf509b32de2f4a94cde0685cb
Author: Zequan Wu <zequanwu at google.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/test/tools/llvm-dwarfdump/X86/debug_info_addrx.s
R llvm/test/tools/llvm-dwarfdump/X86/debug_info_crel.yaml
Log Message:
-----------
[Test] Consolidate crel test coverage into existing file and remove redundant test. (#142644)
Commit: ac4893dd77eeb67be830b0dac70ad28c4b4f0caf
https://github.com/llvm/llvm-project/commit/ac4893dd77eeb67be830b0dac70ad28c4b4f0caf
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
Log Message:
-----------
[NFC][PromoteMem2Reg] Move IncomingVals, IncomingLocs, Worklist into class (#142468)
They are all DFS state related, as `Visited`. But `Visited` is already a
class member, so we make things more consistent and less
parameters to pass around.
By itself, the patch has little value, but it simplifies stuff in the
#142474.
For #142461
Commit: 97686f2cd074a143022397b94ab1af1784ed75f2
https://github.com/llvm/llvm-project/commit/97686f2cd074a143022397b94ab1af1784ed75f2
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/include/module.modulemap
Log Message:
-----------
[ModuleMap] Fix module build after #141750 (#142670)
Add `CodeViewLanguages.def` to textual header in LLVM_DebugInfo_CodeView
to fix clang module build of LLVM.
Commit: 0c0e7a35d07f4a7a8ee06bab7f127678047d7dac
https://github.com/llvm/llvm-project/commit/0c0e7a35d07f4a7a8ee06bab7f127678047d7dac
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port 0a3e9aa336d1926691e1353e7251ff0704c32a69 (#142680)
llvm/lib/IR/RuntimeLibcalls.cpp needs to include
llvm/lib/IR/ZOSLibcallNames.def
Commit: cb56e15bb3e92c8aab2b7fd74a7683ffd83ac10b
https://github.com/llvm/llvm-project/commit/cb56e15bb3e92c8aab2b7fd74a7683ffd83ac10b
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[lldb][TypeSystem][NFC] CreateFunctionType to take parameters by llvm::ArrayRef (#142620)
Commit: 33fae0840562ae7e93dd7b4bc6dd4a41150eee01
https://github.com/llvm/llvm-project/commit/33fae0840562ae7e93dd7b4bc6dd4a41150eee01
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M lldb/tools/lldb-dap/Handler/NextRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepInRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepOutRequestHandler.cpp
Log Message:
-----------
[lldb-dap] Forward any error from stepping. (#142652)
The current implementation hides any possible error from performing a
step command.
It makes it easier to know where an issue is from.
Commit: 6c1091ea3fb7ab31aa9b8406cb32b9a549c4e7cd
https://github.com/llvm/llvm-project/commit/6c1091ea3fb7ab31aa9b8406cb32b9a549c4e7cd
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/MemoryProfileInfo.h
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
R llvm/test/ThinLTO/X86/memprof-report-hinted-partial.ll
R llvm/test/Transforms/PGOProfile/memprof_max_cold_threshold.test
Log Message:
-----------
Revert "[MemProf] Optionally save context size info on largest cold allocations" (#142688)
Reverts llvm/llvm-project#142507 due to buildbot failures that I will
look into tomorrow.
Commit: 12f8bf34c3e56f30bda11e0edd92b4ac5914ec47
https://github.com/llvm/llvm-project/commit/12f8bf34c3e56f30bda11e0edd92b4ac5914ec47
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/lib/AST/MicrosoftMangle.cpp
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors-msvc.cpp
Log Message:
-----------
[AArch64] Add MSVC-style mangling for SVE types. (#141887)
No released version of MSVC supports these types, so make up a mangling
that's unlikely to conflict, for now.
Commit: 2ff2a076cc089f0c977ce7aea231ee5541879f8a
https://github.com/llvm/llvm-project/commit/2ff2a076cc089f0c977ce7aea231ee5541879f8a
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wcsncpy.cpp
A libc/src/wchar/wcsncpy.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wcsncpy_test.cpp
Log Message:
-----------
[libc] wcsncpy implementation (#142237)
Implemented wcsncpy and tests for the function.
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 22dd9a24830ef29c25a8634777772282a3f33598
https://github.com/llvm/llvm-project/commit/22dd9a24830ef29c25a8634777772282a3f33598
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wmemchr.cpp
A libc/src/wchar/wmemchr.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wmemchr_test.cpp
Log Message:
-----------
[libc] wmemchr implementation (#142640)
Implemented wmemchr and tests.
Fixes: #121183
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 5458ea5122ed972c0a36e16a0364c8bfa0fb592a
https://github.com/llvm/llvm-project/commit/5458ea5122ed972c0a36e16a0364c8bfa0fb592a
Author: Luke Lau <luke at igalia.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
Log Message:
-----------
[LV] Regenerate UTC variable names in RISCV/interleaved-accesses.ll. NFC
Commit: bd831372b2ac789959a4aa7835248fb015ab2de2
https://github.com/llvm/llvm-project/commit/bd831372b2ac789959a4aa7835248fb015ab2de2
Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AMDGPU/fmax3-maximumnum.ll
M llvm/test/CodeGen/AMDGPU/fmin3-minimumnum.ll
M llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
M llvm/test/CodeGen/Mips/fp-maximumnum-minimumnum.ll
M llvm/test/CodeGen/X86/fminimumnum-fmaximumnum.ll
Log Message:
-----------
expandFMINIMUMNUM_FMAXIMUMNUM: Quiet is not needed for NaN vs NaN (#139237)
New LangRef doesn't requires quieting for NaN vs NaN, aka the result may
be sNaN for sNaN vs NaN.
See: https://github.com/llvm/llvm-project/pull/139228
Commit: e129c3c0117ee8829d9979140a01957b3ec873eb
https://github.com/llvm/llvm-project/commit/e129c3c0117ee8829d9979140a01957b3ec873eb
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
Log Message:
-----------
[Doc] Fix clang doc build.
Reviewers: vitalybuka, zmodem
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/142700
Commit: b3a8c1ef3a2e7e9d37f6fc890b212891fbcac2f1
https://github.com/llvm/llvm-project/commit/b3a8c1ef3a2e7e9d37f6fc890b212891fbcac2f1
Author: Vigneshwar Jayakumar <vigneshwar.jayakumar at amd.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll
M llvm/test/MC/AMDGPU/mai-gfx950.s
M llvm/test/MC/Disassembler/AMDGPU/gfx950_mai.txt
Log Message:
-----------
[AMDGPU] Bugfix for scaled MFMA parsing FP literals (#142493)
bugfix on parsing FP literals for scale values in the scaled MFMA.
Due to the change in order of operands between MCinst and parsed
operands, the FP literal imms for scale values were not parsed
correctly.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 63861d69f0b59787cd8a288543b1434414a2b250
https://github.com/llvm/llvm-project/commit/63861d69f0b59787cd8a288543b1434414a2b250
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/SanitizerSpecialCaseList.rst
Log Message:
-----------
[Sanitizer][Doc][NFC] Update the doc for prefix:*=sanitize (#142659)
See https://github.com/llvm/llvm-project/issues/139128
Commit: 6be4670dfb902fe98d8b3f7935a6397ee96660e0
https://github.com/llvm/llvm-project/commit/6be4670dfb902fe98d8b3f7935a6397ee96660e0
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M lld/ELF/SyntheticSections.cpp
Log Message:
-----------
[ELF] Consistently use gotEntrySize for GOT entries (#142064)
d62413452fc6 ("[lld][X86] Restore gotEntrySize.") (re-)introduced
gotEntrySize and used it for various GOT calculations, but was not
exhaustive (nor consistent; Symbol::getGotOffset was modified but not
GotSection::finalizeContents, so we undercompute the size, on top of
computing the wrong offsets for TLS), and since then even more uses have
been added that use wordsize instead of gotEntrySize (presumably due to
looking at the existing incorrect ones).
This doesn't really matter upstream, as the only architecture where the
two differ is X32, and from looking at the code it's not properly
supported (e.g. TLS relaxation assumes LP64 sequences), but downstream
in CHERI LLVM it does matter, as CHERI's pointers are more than just an
integer address (a machine word).
Note this ignores the special MipsGotSection; on MIPS, wordsize and
gotEntrySize are the same, CHERI-MIPS is no longer something we support
downstream and even when we did we didn't reuse that implementation.
Commit: f72054a0ccecb88c694713c44f3f42352d2340a2
https://github.com/llvm/llvm-project/commit/f72054a0ccecb88c694713c44f3f42352d2340a2
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaLambda.cpp
A clang/test/FixIt/fixit-unused-lambda-capture-trailing-tokens.cpp
Log Message:
-----------
[clang] Correct FixIt ranges for unused capture warnings (#141148)
Fixes #106445 by using the lexer to find the correct range for the
removal FixIts. Previously the ranges that were generated assuming no
unsurprising formatting, which for the most part works. Being correct in
all cases requires using the lexer to find the bounding tokens for the
region to remove.
As part of this it adds Sema::getRangeForNextToken to wrap
Lexer::findNextToken.
Commit: 7f65cc2aa4859b70ad83d9b90a7d4976204c9198
https://github.com/llvm/llvm-project/commit/7f65cc2aa4859b70ad83d9b90a7d4976204c9198
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/lib/Serialization/ASTReader.cpp
M clang/test/Modules/check-for-sanitizer-feature.cpp
M clang/test/Modules/cxx20-force-check-input.cppm
M clang/test/Modules/explicit-build.cpp
M clang/test/Modules/fatal-module-loader-error.m
M clang/test/Modules/ignored_macros.m
M clang/test/Modules/load_failure.c
M clang/test/Modules/merge-target-features.cpp
M clang/test/Modules/mismatch-diagnostics.cpp
M clang/test/Modules/module-imported-by-pch-path.m
M clang/test/Modules/module-pch-different-cache-path.c
M clang/test/Modules/pr62359.cppm
M clang/test/Modules/resolution-change.m
M clang/test/PCH/arc.m
M clang/test/PCH/fuzzy-pch.c
M clang/test/PCH/module-hash-difference.m
M clang/test/PCH/ms-pch-macro.c
M clang/test/PCH/no-validate-pch.cl
Log Message:
-----------
[clang][modules] rename "AST" to precompiled in diagnostic messages NFCI (#142635)
As follow up to:
https://github.com/llvm/llvm-project/commit/883130e33325282cfd31b68f5db52891442c20b7
Commit: 437b16085cdaed7b12dc3afdd655423e2bb20751
https://github.com/llvm/llvm-project/commit/437b16085cdaed7b12dc3afdd655423e2bb20751
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/AVR/AVRISelLowering.cpp
Log Message:
-----------
AVR: Move runtime libcall name setting out of TargetLowering (#142545)
RuntimeLibcallInfo needs to be accurate outside of codegen
contexts.
Commit: 6760857bf3ad82a44c56d45a6a88a21b3fe521be
https://github.com/llvm/llvm-project/commit/6760857bf3ad82a44c56d45a6a88a21b3fe521be
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/FormatEntity.h
M lldb/include/lldb/Interpreter/OptionValue.h
M lldb/include/lldb/Target/Language.h
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Disassembler.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/Statusline.cpp
M lldb/source/Interpreter/OptionValue.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanTracer.cpp
M lldb/unittests/Core/DebuggerTest.cpp
Log Message:
-----------
[lldb] Fix data race in statusline format handling (#142489)
This fixes a data race between the main thread and the default event
handler thread. The statusline format option value was protected by a
mutex, but it was returned as a pointer, allowing one thread to access
it while another was modifying it.
Avoid the data race by returning format values by value instead of by
pointer.
Commit: 3531cc1cc777af5ea198c17c62f7324779b707e4
https://github.com/llvm/llvm-project/commit/3531cc1cc777af5ea198c17c62f7324779b707e4
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
Log Message:
-----------
[PromoteMem2Reg] Optimize memory usage in PromoteMem2Reg (#142474)
When BasicBlock has a large number of allocas, and
successors, we had to copy entire IncomingVals and
IncomingLocs vectors for successors.
Also updates to IncomingVals and
IncomingLocs are infrequent (only Load/Store into
alloca affect arrays).
Given the nature of DFS traversal, instead of copying
the entire vector, we can keep track of the changes
and undo all changes done by successors.
Fixes #142461
On the attached to issue #142461 IR RSS drops from 35Gb to 1.8Gb.
But it does not affect compile time on average
https://llvm-compile-time-tracker.com/compare.php?from=2e98ed8caa0b47ee79af4ad24b5436a89fe49dfa&to=effac6d1fd600e544f8bc21382c7e541973b1378&stat=instructions:u
Commit: 88738a74f05ba4002f38b8bdeebd944762c8ae7b
https://github.com/llvm/llvm-project/commit/88738a74f05ba4002f38b8bdeebd944762c8ae7b
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
Log Message:
-----------
[RISCV] Optimize two source deinterleave2 via ri.vunzip2{a,b} (#142667)
As done for the existing vnsrl cases, we can split a two source
deinterleave2 into two single source deinterleave2 and a slideup.
We can also use a concat-then-deinterleave2 tactic. Both are equally
valid (except in the m8 source type case), and the
concat-then-deinterleave2 saves one instruction for fractional LMUL cases.
Additionally, if we happen to know the exact VLEN and our fixed vectors
are an even number of vector registers, we can avoid the need to split or
concat entirely and just use both registers sources.
Commit: dc513fa8dc361cb71a2c607f2bd75d812f31459b
https://github.com/llvm/llvm-project/commit/dc513fa8dc361cb71a2c607f2bd75d812f31459b
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/entry-point-fallthru.s
Log Message:
-----------
[BOLT] Zero initialize pre-aggregated counters (#142698)
#140196 introduced UB by using uninitialized misprediction count for
pre-aggregated traces. Fix by zero initializing both counters.
Test Plan: updated entry-point-fallthru.s
Commit: 7e1fa09ce2a228c949ce4490c98f2c73ed8ada00
https://github.com/llvm/llvm-project/commit/7e1fa09ce2a228c949ce4490c98f2c73ed8ada00
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
Log Message:
-----------
[SimplifyCFG] Bail out on vector GEPs in `passingValueIsAlwaysUndefined` (#142526)
Closes https://github.com/llvm/llvm-project/issues/142522.
Commit: aef4373190d024dcb07d928be6e7bc0344433924
https://github.com/llvm/llvm-project/commit/aef4373190d024dcb07d928be6e7bc0344433924
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV][test] Add tests for SRLIW+SHXADD combines
Commit: e47e4d8ae6062adba8985606b6b01c6743f68da2
https://github.com/llvm/llvm-project/commit/e47e4d8ae6062adba8985606b6b01c6743f68da2
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
A llvm/test/CodeGen/AMDGPU/hard-clause-limit-attr.mir
A llvm/test/CodeGen/AMDGPU/hard-clause-limit.mir
Log Message:
-----------
[AMDGPU] SIInsertHardClause: add configurable clause length limit (#142343)
Add command line and function attribute configuration of hard clause
length limit (within hardware maximum).
This allows performance tuning for shaders which benefit from smaller
clauses.
Commit: 3894bdc3c94eae51e7587cb03f456a71fd03d0e1
https://github.com/llvm/llvm-project/commit/3894bdc3c94eae51e7587cb03f456a71fd03d0e1
Author: David Green <david.green at arm.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
Log Message:
-----------
[AArch64][GlobalISel] Add regbank handling for scalar rda intrinsics.
Commit: 4c6449044a943441adf160cb77010c855dcee73c
https://github.com/llvm/llvm-project/commit/4c6449044a943441adf160cb77010c855dcee73c
Author: Aviad Cohen <aviadcohen7 at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
M mlir/lib/IR/OperationSupport.cpp
M mlir/unittests/IR/OperationSupportTest.cpp
Log Message:
-----------
[mlir]: Added properties/attributes ignore flags to OperationEquivalence (#142623)
Those flags are useful for cases and operation which we may consider equivalent even when their attributes/properties are not the same.
Commit: 9a0197c3a443caf275a9b1b86669b398ea615c9f
https://github.com/llvm/llvm-project/commit/9a0197c3a443caf275a9b1b86669b398ea615c9f
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
M llvm/test/Transforms/EarlyCSE/replace-calls-def-attrs.ll
Log Message:
-----------
[EarlyCSE] Check attributes for commutative intrinsics (#142610)
Commutative intrinsics go through a separate code path, which did not
check for attribute compatibility, resulting in a later assertion
failure.
Fixes https://github.com/llvm/llvm-project/issues/142462.
Commit: 4b6c608615a285d81132acf8e33b81b2ec2c9bf9
https://github.com/llvm/llvm-project/commit/4b6c608615a285d81132acf8e33b81b2ec2c9bf9
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/EventHelper.h
M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Use structured types for stepInTargets request (#142439)
Commit: e8b0a16f0c0126555fbb4062c715b59e3e5e727b
https://github.com/llvm/llvm-project/commit/e8b0a16f0c0126555fbb4062c715b59e3e5e727b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/addr-mode-matcher-3.ll
Log Message:
-----------
[X86] Add test coverage for #55714
Commit: 93314bd9462d5c41a23fb402be7ae0c7d099e274
https://github.com/llvm/llvm-project/commit/93314bd9462d5c41a23fb402be7ae0c7d099e274
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGenCXX/builtin-get-vtable-pointer.cpp
A clang/test/SemaCXX/builtin-get-vtable-pointer.cpp
Log Message:
-----------
[clang][PAC] Add __builtin_get_vtable_pointer (#139790)
With pointer authentication it becomes non-trivial to correctly load the
vtable pointer of a polymorphic object.
__builtin_get_vtable_pointer is a function that performs the load and
performs the appropriate authentication operations if necessary.
Commit: c95189f87751bc40f69746db49c6ddec6d4e641c
https://github.com/llvm/llvm-project/commit/c95189f87751bc40f69746db49c6ddec6d4e641c
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
Log Message:
-----------
[clang-tidy] NFCI: remove non-functional matcher from SizeofExpressionCheck (#142654)
This matcher would never match anything, because all record types
as-written would be wrapped in an ElaboratedType.
Just fixing that leads to a matcher which has too many false positives
to be useful.
The warning message itself is not great either, it has a hard-coded type
name.
Commit: b3ce9883f32e3b5b16e2b5fa54c3d98e85b66869
https://github.com/llvm/llvm-project/commit/b3ce9883f32e3b5b16e2b5fa54c3d98e85b66869
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
A llvm/test/CodeGen/X86/invalid-operand-bundle-call.ll
A llvm/test/CodeGen/X86/invalid-operand-bundle-callbr.ll
A llvm/test/CodeGen/X86/invalid-operand-bundle-invoke.ll
Log Message:
-----------
[SelectionDAG] Use reportFatalUsageError() for invalid operand bundles (#142613)
Replace the asserts with reportFatalUsageError(), as these can be
reached with invalid user-provided IR.
Fixes https://github.com/llvm/llvm-project/issues/142531.
Commit: c7c79d259025f0e5edf778a46e03aeb6affd7c73
https://github.com/llvm/llvm-project/commit/c7c79d259025f0e5edf778a46e03aeb6affd7c73
Author: clubby789 <jamie at hill-daniel.co.uk>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Attributes.h
M llvm/lib/IR/Attributes.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/test/Transforms/DeadStoreElimination/noop-stores.ll
A llvm/test/Transforms/DeadStoreElimination/zeroed-missing.ll
A llvm/test/Verifier/alloc-variant-zeroed.ll
Log Message:
-----------
[IR][DSE] Support non-malloc functions in malloc+memset->calloc fold (#138299)
Add a `alloc-variant-zeroed` function attribute which can be used to
inform folding allocation+memset. This addresses
https://github.com/rust-lang/rust/issues/104847, where LLVM does not
know how to perform this transformation for non-C languages.
Co-authored-by: Jamie <jamie at osec.io>
Commit: 11a9dad1a5d1e83338425f595c7685d1a0564121
https://github.com/llvm/llvm-project/commit/11a9dad1a5d1e83338425f595c7685d1a0564121
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/aarch64-reassociate-accumulators-sve.ll
M llvm/test/CodeGen/AArch64/aarch64-reassociate-accumulators.ll
Log Message:
-----------
[AArch64][NFC] Rewrite aarch64-reassociate-accumulators tests (#142625)
In this patch I've made two changes:
1. The aarch64-reassociate-accumulators-sve.ll test wasn't
representative of loop vectorised code because the pointers were
incrementing by a fixed value and so were only valid when vscale=1. I've
changed this to increment the pointer by the appropriate scalable
amount.
2. I've generated the CHECK lines for both the NEON and SVE test using
filters to make the tests more maintainable.
Commit: 4e4273c9409dfbbfb42ca74468eaf9bd843bc376
https://github.com/llvm/llvm-project/commit/4e4273c9409dfbbfb42ca74468eaf9bd843bc376
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Add dot.accumulate.2way Op (#140518)
This change adds the `dot.accumulate.2way` Op to the NVVM dialect for
16-bit to 8-bit dot-product accumulate operation.
PTX Spec Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#integer-arithmetic-instructions-dp2a
Commit: b36e161a09bdebbabe159598778abb011303a9eb
https://github.com/llvm/llvm-project/commit/b36e161a09bdebbabe159598778abb011303a9eb
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
Log Message:
-----------
[clang][bytecode][NFC] Cache more integer type sizes (#142720)
Commit: 991d754074c187016c0159113ca64d0c55fe86c1
https://github.com/llvm/llvm-project/commit/991d754074c187016c0159113ca64d0c55fe86c1
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
A llvm/lib/Target/RISCV/RISCVSchedAndes45.td
A llvm/test/tools/llvm-mca/RISCV/Andes45/fpr.s
A llvm/test/tools/llvm-mca/RISCV/Andes45/gpr.s
Log Message:
-----------
[RISCV] Implement base scheduling model for andes 45 series processor. (#141008)
This patch implements scheduling model for IMAFD and Zb extension. The
latency and throughput of all instructions, except load/store, are
measured by llvm-exegesis.
Scheduling model for V and other extensions will be added in a follow-up
patch.
Commit: 370d01765c96da019e7970e875ce525819896464
https://github.com/llvm/llvm-project/commit/370d01765c96da019e7970e875ce525819896464
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
A llvm/test/Transforms/LowerMatrixIntrinsics/transpose-fold-store.ll
Log Message:
-----------
[Matrix] Use shape info for StoreInst directly. (#142664)
ShapeInfo for the store operand may be dropped, e.g. because the operand
got folded by transpose optimizations to another instruction w/o shape
info. This was exposed by the assertion added in
https://github.com/llvm/llvm-project/pull/142416.
This updates VisitStore to use the shape-info directly from the
instruction, which is in line with the other Visit* functions and
ensures that we won't lose shape info.
PR: https://github.com/llvm/llvm-project/pull/142664
Commit: ba4f140ef6ae277ac5ec896061adfeb67372f3a2
https://github.com/llvm/llvm-project/commit/ba4f140ef6ae277ac5ec896061adfeb67372f3a2
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M openmp/runtime/cmake/LibompHandleFlags.cmake
M openmp/runtime/src/z_Linux_util.cpp
Log Message:
-----------
[OpenMP] Don't use libproc on Solaris (#142379)
`openmp` currently doesn't compile on 32-bit Solaris:
```
FAILED: projects/openmp/runtime/src/CMakeFiles/omp.dir/z_Linux_util.cpp.o
[...]
In file included from openmp/runtime/src/z_Linux_util.cpp:78:
In file included from /usr/include/libproc.h:25:
In file included from /usr/include/gelf.h:10:
/usr/include/libelf.h:22:2: error: "large files are not supported by libelf"
22 | #error "large files are not supported by libelf"
| ^
In file included from openmp/runtime/src/z_Linux_util.cpp:78:
/usr/include/libproc.h:42:2: error: "Cannot use libproc in the large file compilation environment"
42 | #error "Cannot use libproc in the large file compilation environment"
| ^
```
Looking closer, there's no point in using `Pgrab` (the only interface
from `<libproc.h>`) at all: the resulting `ps_prochandle_t *` isn't used
in the remainder of the code and the original PR #82930 gives no
indication why it is deemed necessary/useful.
While at it, this patch switches to use `/proc/self/xmap`, matching
`compiler-rt`'s `sanitizer_procmaps_solaris.cpp`, and makes some minor
formatting fixes.
Tested on `sparc-sun-solaris2.11`, `sparcv9-sun-solaris2.11`,
`i386-pc-solaris2.11`, and `amd64-pc-solaris2.11`.
Commit: 01a6d0fffb8978040e0a6d5471ec432eb51ddee7
https://github.com/llvm/llvm-project/commit/01a6d0fffb8978040e0a6d5471ec432eb51ddee7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
A llvm/test/CodeGen/ARM/float-helpers.ll
R llvm/test/CodeGen/ARM/float-helpers.s
Log Message:
-----------
ARM: Use correct file extension for IR test (#142728)
Commit: 54da543a14da6dd0e594875241494949cb659b08
https://github.com/llvm/llvm-project/commit/54da543a14da6dd0e594875241494949cb659b08
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/fmaximum-legalization.ll
M llvm/test/CodeGen/ARM/fp-maximum-legalization.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/math-intrins.ll
M llvm/test/CodeGen/PowerPC/fminimum-fmaximum-f128.ll
M llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum-i686.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
Log Message:
-----------
[SelectionDAG] Avoid one comparison when legalizing fmaximum (#142732)
When ordering signed zero, only check the sign of one of the values. We
already know at this point that both values must be +/-0.0, so it is
sufficient to check one of them to correctly order them.
For example, for fmaximum, if we know LHS is `+0.0` then we can always
select LHS, value of RHS does not matter. If LHS is `-0.0` we can always
select RHS, value of RHS doesn't matter.
Commit: 41841e625db8d14d6701e7cb211b2fcab6a32a50
https://github.com/llvm/llvm-project/commit/41841e625db8d14d6701e7cb211b2fcab6a32a50
Author: Hemang Gadhavi <hemang.gadhavi at ibm.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
A lldb/include/lldb/Host/aix/Support.h
M lldb/source/Host/CMakeLists.txt
A lldb/source/Host/aix/Support.cpp
M lldb/unittests/Host/posix/SupportTest.cpp
M llvm/lib/Support/Unix/Threading.inc
Log Message:
-----------
[lldb][llvm][AIX] Added support for getProcFile with TID (#142586)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
- Added changes to getProcFile() with threadID, including testcase for
AIX.
- Added support for AIX to get_threadid() from llvm.
Commit: 89e06f851c6cf0a65f7db51774233146156c9353
https://github.com/llvm/llvm-project/commit/89e06f851c6cf0a65f7db51774233146156c9353
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
Log Message:
-----------
[gn build] Port 41841e625db8
Commit: 1f20cb9829240586ea215c4681f6f402ecccbb63
https://github.com/llvm/llvm-project/commit/1f20cb9829240586ea215c4681f6f402ecccbb63
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
Log Message:
-----------
[AMDGPU] Simplify `GCNRegPressure::RegKind` (NFC) (#142682)
This NFC simplifies the `GCNRegPressure::RegKind` enum so that instead
of containing a pair of values for each type of register (one for
non-tuple registers and one for tuple registers of that type) it only
contains one value representing all registers of that type.
The `GCNRegPressure::Value` array is still sized as before, though all
elements corresponding to tuple-kinds now start after all elements
corresponding to non-tuple-kinds instead of the two being interleaved.
This allows to simplify the `GCNRegPressure::inc` logic, eliminating the
switch entirely.
Commit: 159de3633640a5cb2d322ebe8cc4ec0c1c9a896d
https://github.com/llvm/llvm-project/commit/159de3633640a5cb2d322ebe8cc4ec0c1c9a896d
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M lldb/tools/lldb-dap/EventHelper.cpp
Log Message:
-----------
[lldb-dap] Add missing key for capabilities event. (#142751)
fixes the failed tests on aarch64.
complements #142439
Commit: 2c4f67794bff4df984b43db453fc0f5241ee72c8
https://github.com/llvm/llvm-project/commit/2c4f67794bff4df984b43db453fc0f5241ee72c8
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M lldb/cmake/modules/AddLLDB.cmake
M lldb/source/API/CMakeLists.txt
M lldb/source/Breakpoint/CMakeLists.txt
M lldb/source/Commands/CMakeLists.txt
M lldb/source/Core/CMakeLists.txt
M lldb/source/DataFormatters/CMakeLists.txt
M lldb/source/Expression/CMakeLists.txt
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/macosx/objcxx/CMakeLists.txt
M lldb/source/Initialization/CMakeLists.txt
M lldb/source/Interpreter/CMakeLists.txt
M lldb/source/Interpreter/Interfaces/CMakeLists.txt
M lldb/source/Plugins/ABI/AArch64/CMakeLists.txt
M lldb/source/Plugins/ABI/ARC/CMakeLists.txt
M lldb/source/Plugins/ABI/ARM/CMakeLists.txt
M lldb/source/Plugins/ABI/Hexagon/CMakeLists.txt
M lldb/source/Plugins/ABI/LoongArch/CMakeLists.txt
M lldb/source/Plugins/ABI/MSP430/CMakeLists.txt
M lldb/source/Plugins/ABI/Mips/CMakeLists.txt
M lldb/source/Plugins/ABI/PowerPC/CMakeLists.txt
M lldb/source/Plugins/ABI/RISCV/CMakeLists.txt
M lldb/source/Plugins/ABI/SystemZ/CMakeLists.txt
M lldb/source/Plugins/ABI/X86/CMakeLists.txt
M lldb/source/Plugins/Architecture/AArch64/CMakeLists.txt
M lldb/source/Plugins/Architecture/Arm/CMakeLists.txt
M lldb/source/Plugins/Architecture/Mips/CMakeLists.txt
M lldb/source/Plugins/Architecture/PPC64/CMakeLists.txt
M lldb/source/Plugins/Disassembler/LLVMC/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/Windows-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/wasm-DYLD/CMakeLists.txt
M lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
M lldb/source/Plugins/Instruction/ARM/CMakeLists.txt
M lldb/source/Plugins/Instruction/ARM64/CMakeLists.txt
M lldb/source/Plugins/Instruction/LoongArch/CMakeLists.txt
M lldb/source/Plugins/Instruction/MIPS/CMakeLists.txt
M lldb/source/Plugins/Instruction/MIPS64/CMakeLists.txt
M lldb/source/Plugins/Instruction/PPC64/CMakeLists.txt
M lldb/source/Plugins/Instruction/RISCV/CMakeLists.txt
M lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/CMakeLists.txt
M lldb/source/Plugins/InstrumentationRuntime/UBSan/CMakeLists.txt
M lldb/source/Plugins/JITLoader/GDB/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/ClangCommon/CMakeLists.txt
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/CMakeLists.txt
M lldb/source/Plugins/LanguageRuntime/ObjC/GNUstepObjCRuntime/CMakeLists.txt
M lldb/source/Plugins/ObjectContainer/BSD-Archive/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/Breakpad/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/COFF/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/ELF/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/JSON/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/Mach-O/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/Minidump/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/PDB/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/PECOFF/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/Placeholder/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/XCOFF/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/wasm/CMakeLists.txt
M lldb/source/Plugins/Platform/Android/CMakeLists.txt
M lldb/source/Plugins/Platform/FreeBSD/CMakeLists.txt
M lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt
M lldb/source/Plugins/Platform/MacOSX/objcxx/CMakeLists.txt
M lldb/source/Plugins/Platform/QemuUser/CMakeLists.txt
M lldb/source/Plugins/Platform/Windows/CMakeLists.txt
M lldb/source/Plugins/Process/AIX/CMakeLists.txt
M lldb/source/Plugins/Process/FreeBSD/CMakeLists.txt
M lldb/source/Plugins/Process/FreeBSDKernel/CMakeLists.txt
M lldb/source/Plugins/Process/Linux/CMakeLists.txt
M lldb/source/Plugins/Process/NetBSD/CMakeLists.txt
M lldb/source/Plugins/Process/POSIX/CMakeLists.txt
M lldb/source/Plugins/Process/Utility/CMakeLists.txt
M lldb/source/Plugins/Process/Windows/Common/CMakeLists.txt
M lldb/source/Plugins/Process/elf-core/CMakeLists.txt
M lldb/source/Plugins/Process/gdb-remote/CMakeLists.txt
M lldb/source/Plugins/Process/mach-core/CMakeLists.txt
M lldb/source/Plugins/Process/minidump/CMakeLists.txt
M lldb/source/Plugins/Process/scripted/CMakeLists.txt
M lldb/source/Plugins/REPL/Clang/CMakeLists.txt
M lldb/source/Plugins/RegisterTypeBuilder/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/Breakpad/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/PDB/CMakeLists.txt
M lldb/source/Plugins/Trace/intel-pt/CMakeLists.txt
M lldb/source/Plugins/TraceExporter/ctf/CMakeLists.txt
M lldb/source/Plugins/TypeSystem/Clang/CMakeLists.txt
M lldb/source/Plugins/UnwindAssembly/x86/CMakeLists.txt
M lldb/source/Symbol/CMakeLists.txt
M lldb/source/Target/CMakeLists.txt
M lldb/source/Utility/CMakeLists.txt
M lldb/source/ValueObject/CMakeLists.txt
M lldb/tools/driver/CMakeLists.txt
M lldb/tools/intel-features/intel-mpx/CMakeLists.txt
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-instr/CMakeLists.txt
M lldb/tools/lldb-server/CMakeLists.txt
M lldb/tools/lldb-test/CMakeLists.txt
M lldb/unittests/Breakpoint/CMakeLists.txt
M lldb/unittests/Callback/CMakeLists.txt
M lldb/unittests/Core/CMakeLists.txt
M lldb/unittests/DAP/CMakeLists.txt
M lldb/unittests/DataFormatter/CMakeLists.txt
M lldb/unittests/Disassembler/CMakeLists.txt
M lldb/unittests/Instruction/CMakeLists.txt
M lldb/unittests/OperatingSystem/CMakeLists.txt
M lldb/unittests/Platform/CMakeLists.txt
M lldb/unittests/Process/elf-core/CMakeLists.txt
M lldb/unittests/Process/gdb-remote/CMakeLists.txt
M lldb/unittests/Process/minidump/CMakeLists.txt
M lldb/unittests/ScriptInterpreter/Lua/CMakeLists.txt
M lldb/unittests/ScriptInterpreter/Python/CMakeLists.txt
M lldb/unittests/SymbolFile/DWARF/CMakeLists.txt
M lldb/unittests/SymbolFile/NativePDB/CMakeLists.txt
M lldb/unittests/SymbolFile/PDB/CMakeLists.txt
M lldb/unittests/Target/CMakeLists.txt
M lldb/unittests/TestingSupport/CMakeLists.txt
M lldb/unittests/TestingSupport/Symbol/CMakeLists.txt
M lldb/unittests/UnwindAssembly/ARM64/CMakeLists.txt
M lldb/unittests/UnwindAssembly/PPC64/CMakeLists.txt
M lldb/unittests/UnwindAssembly/x86-but-no-x86-target/CMakeLists.txt
M lldb/unittests/UnwindAssembly/x86/CMakeLists.txt
M lldb/unittests/Utility/CMakeLists.txt
M lldb/unittests/ValueObject/CMakeLists.txt
M lldb/unittests/debugserver/CMakeLists.txt
M lldb/unittests/tools/lldb-server/tests/CMakeLists.txt
Log Message:
-----------
[lldb/cmake] Implicitly pass arguments to llvm_add_library (#142583)
If we're not touching them, we don't need to do anything special to pass
them along -- with one important caveat: due to how cmake arguments
work, the implicitly passed arguments need to be specified before
arguments that we handle.
This isn't particularly nice, but the alternative is enumerating all
arguments that can be used by llvm_add_library and the macros it calls
(it also relies on implicit passing of some arguments to
llvm_process_sources).
Commit: 9ba332f9963561bb5ac6933266afe38eb8fde8cd
https://github.com/llvm/llvm-project/commit/9ba332f9963561bb5ac6933266afe38eb8fde8cd
Author: Jack Styles <jack.styles at arm.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Lower/OpenMP/Todo/omp-declarative-allocate.f90
M flang/test/Semantics/OpenMP/allocate-align01.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/allocate02.f90
M flang/test/Semantics/OpenMP/allocate03.f90
M flang/test/Semantics/OpenMP/allocate05.f90
M flang/test/Semantics/OpenMP/allocate06.f90
M flang/test/Semantics/OpenMP/allocate09.f90
Log Message:
-----------
[Flang][OpenMP] Deprecate Allocate Directive (#142378)
As part of OpenMP 5.2, the allocate directive has been deprecated in
favour of the allocators construct for Fortran when an ALLOCATE
statement follows the OpenMP allocate directive.
To enable this in flang, a warning has been added informing the user of
this. Tests to ensure this behaviour is continued are also included.
See also: #110008
Commit: e2c698c7e836306f1a25c67597ae9e25a1fcc575
https://github.com/llvm/llvm-project/commit/e2c698c7e836306f1a25c67597ae9e25a1fcc575
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
A llvm/test/Transforms/InstCombine/pr142518.ll
Log Message:
-----------
[InstCombine] Fix miscompilation in `sinkNotIntoLogicalOp` (#142727)
Consider the following case:
```
define i1 @src(i8 %x) {
%cmp = icmp slt i8 %x, -1
%not1 = xor i1 %cmp, true
%or = or i1 %cmp, %not1
%not2 = xor i1 %or, true
ret i1 %not2
}
```
`sinkNotIntoLogicalOp(%or)` calls `freelyInvert(%cmp,
/*IgnoredUser=*/%or)` first. However, as `%cmp` is also used by `Op1 =
%not1`, the RHS of `%or` is set to `%cmp.not = xor i1 %cmp, true`. Thus
`Op1` is out of date in the second call to `freelyInvert`. Similarly,
the second call may change `Op0`. According to the analysis above, I
decided to avoid this fold when one of the operands is also a user of
the other.
Closes https://github.com/llvm/llvm-project/issues/142518.
Commit: 4d6e44db8726d32e0edd47f41baf157986412858
https://github.com/llvm/llvm-project/commit/4d6e44db8726d32e0edd47f41baf157986412858
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
Log Message:
-----------
[CIR] Fix missing return value warning in maybePromoteBoolResult (#142673)
This is NFC and simply adds an llvm_unreachable
Commit: ac42923c2defe51fcc9220f68d50b33b5e872933
https://github.com/llvm/llvm-project/commit/ac42923c2defe51fcc9220f68d50b33b5e872933
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
A clang/test/DebugInfo/KeyInstructions/for-range.cpp
Log Message:
-----------
Reapply "[KeyInstr][Clang] For range stmt atoms" (#142630)
This reverts commit e6529dcedb3955706a8af5710591f1ac1bac26a3 with crash fixed.
Original PR https://github.com/llvm/llvm-project/pull/134647
This patch is part of a stack that teaches Clang to generate Key Instructions
metadata for C and C++.
RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
The feature is only functional in LLVM if LLVM is built with CMake flag
LLVM_EXPERIMENTAL_KEY_INSTRUCTIONs. Eventually that flag will be removed.
Commit: cf348e886d0b30a4bf3e810efc00b2da0f7a4322
https://github.com/llvm/llvm-project/commit/cf348e886d0b30a4bf3e810efc00b2da0f7a4322
Author: Usha Gupta <usha.gupta at arm.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/knownbits-concat.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-min-max.mir
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/scmp.ll
M llvm/test/CodeGen/AArch64/ucmp.ll
Log Message:
-----------
[GlobalISel] Add G_CONCAT_VECTOR handling in computeNumSignBits (#142355)
Code ported from SelectionDAG::ComputeNumSignBits
Commit: 7214a3d3da851018a96ac85060a2f9aeb7715f7f
https://github.com/llvm/llvm-project/commit/7214a3d3da851018a96ac85060a2f9aeb7715f7f
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Symbol/SaveCoreOptions.cpp
A lldb/test/Shell/Commands/command-process-save-core-not-a-plugin.test
Log Message:
-----------
[lldb] Do not accept invalid `process save-core` plugins (#142684)
Fixes #142581
Commit: 107d8c792f5df7166615629a1c7bb84425def143
https://github.com/llvm/llvm-project/commit/107d8c792f5df7166615629a1c7bb84425def143
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/docs/CommandGuide/lit.rst
Log Message:
-----------
[docs] don't use "=" in lit options with arguments (#142340)
This is a fixup for #141851 and removes `=` from all
options with additional arguments.
Before 14 out of 22 options with arguments used "=" and 7 didn't.
Commit: c81d84c30b45b78a41cdfeceabbe6d784372ea30
https://github.com/llvm/llvm-project/commit/c81d84c30b45b78a41cdfeceabbe6d784372ea30
Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
A llvm/test/Transforms/Inline/inline-recursive-fn2.ll
Log Message:
-----------
[InlineCost]: Optimize inlining of recursive function. (#139982)
- Consider inlining recursive function of depth 1 only when
the caller is the function itself instead of inlining it
for each callsite so that we avoid redundant work.
- Use CondContext instead of DomTree for better compilation time.
Commit: f8b561a07db0acde6c4b9c9755ab8bca1d1bc5b0
https://github.com/llvm/llvm-project/commit/f8b561a07db0acde6c4b9c9755ab8bca1d1bc5b0
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Fix typo in error message
Commit: d7c7c461f5216c2aa1e8f0d884464daf9bcb9ecb
https://github.com/llvm/llvm-project/commit/d7c7c461f5216c2aa1e8f0d884464daf9bcb9ecb
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
Log Message:
-----------
[CIR][NFS] Fix dead code return statement warning (#142591)
Fix the warning related to the missing return statement and multiple
return statements
Commit: 20d70196c9a4da344d0944f3c78447c3bd7079c7
https://github.com/llvm/llvm-project/commit/20d70196c9a4da344d0944f3c78447c3bd7079c7
Author: Nathan Gauër <brioche at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M clang/include/clang/Basic/AddressSpaces.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/AttributeCommonInfo.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Basic/Attributes.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/TCE.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/vk-input-builtin.hlsl
A clang/test/SemaHLSL/vk-ext-input-builtin.hlsl
M clang/test/SemaTemplate/address_space-dependent.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/vk-ext-builtin-input.ll
Log Message:
-----------
[HLSL][SPIR-V] Implement vk::ext_builtin_input attribute (#138530)
This variable attribute is used in HLSL to add Vulkan specific builtins
in a shader.
The attribute is documented here:
https://github.com/microsoft/hlsl-specs/blob/17727e88fd1cb09013cb3a144110826af05f4dd5/proposals/0011-inline-spirv.md
Those variable, even if marked as `static` are externally initialized by
the pipeline/driver/GPU. This is handled by moving them to a specific
address space `hlsl_input`, also added by this commit.
The design for input variables in Clang can be found here:
https://github.com/llvm/wg-hlsl/blob/355771361ef69259fef39a65caef8bff9cb4046d/proposals/0019-spirv-input-builtin.md
Co-authored-by: Justin Bogner <mail at justinbogner.com>
Commit: 5e2dcfe42cd4af14d6e6155314aa5d4167710b65
https://github.com/llvm/llvm-project/commit/5e2dcfe42cd4af14d6e6155314aa5d4167710b65
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-cmp-eq-op-fold.ll
Log Message:
-----------
[InstCombine] Avoid infinite loop in `foldSelectValueEquivalence` (#142754)
Before this patch, InstCombine hung because it replaced a value with a
more complex one:
```
%sel = select i1 %cmp, i32 %smax, i32 0 ->
%sel = select i1 %cmp, i32 %masked, i32 0 ->
%sel = select i1 %cmp, i32 %smax, i32 0 ->
...
```
This patch makes this replacement more conservative. It only performs
the replacement iff the new value is one of the operands of the original
value.
Closes https://github.com/llvm/llvm-project/issues/142405.
Commit: a48e1aba63b8cb20de32a8db7ea29bb4d54cf3a1
https://github.com/llvm/llvm-project/commit/a48e1aba63b8cb20de32a8db7ea29bb4d54cf3a1
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
M lldb/test/API/tools/lldb-dap/disassemble/main.c
Log Message:
-----------
[lldb-dap][test] Fix DAP disassemble test (#142129)
compare the instructions before and after setting breakpoint to make
sure they are the same.
Commit: 3e5fd77d32a5061619091746197e83f0666ff6af
https://github.com/llvm/llvm-project/commit/3e5fd77d32a5061619091746197e83f0666ff6af
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/include/queue
M libcxx/include/version
M libcxx/test/std/containers/Emplaceable.h
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_cont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_rcont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_copy_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_cont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_rcont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_move_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/assign_copy.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/assign_move.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp_container.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp_rcontainer.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_copy.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_default.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp_cont.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp_rcont.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_move.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/emplace.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/empty.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/pop.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/push.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/push_rvalue.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/size.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/swap.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/top.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.special/swap.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/queue.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] constexpr priority_queue (#140634)
This patch makes `priority_queue` constexpr as part of P3372R3.
Fixes #128671.
Commit: 9411b0004876247bd0850cd86d7cba483c306e6e
https://github.com/llvm/llvm-project/commit/9411b0004876247bd0850cd86d7cba483c306e6e
Author: jyli0116 <yu.li at arm.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/bitreverse.ll
Log Message:
-----------
[GISel][AArch64] Scalarize i128 bitreverse instructions. Added tests for i128 and v2i128 bitreverse (#142621)
v2i128 bitreverse previously wasn't being scalarized as it should be.
Also added tests for i128 and v2i128 bitreverse
Commit: 5a531b115844a038d7bd0108ebafe6bacbef75e3
https://github.com/llvm/llvm-project/commit/5a531b115844a038d7bd0108ebafe6bacbef75e3
Author: Vadim Curcă <80581374+VadimCurca at users.noreply.github.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
M mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp
Log Message:
-----------
[mlir] NFC: Add data flow analysis extension points (#142549)
This commit introduces `visitCallOperation` and `visitCallableOperation`
extension points in the sparse data flow analysis framework. This
allows, for example, to make the analysis less conservative, without a
lot of code duplication, propagating information even if not all the
call or return sites are known.
Commit: 3ce32819894f15a9a82b62a7b87ba8b7b93128ef
https://github.com/llvm/llvm-project/commit/3ce32819894f15a9a82b62a7b87ba8b7b93128ef
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
Log Message:
-----------
[mlir][spirv] Check output of getConstantInt (#140568)
This patch adds an assert to check if the result of `getConstantInt` is
non-null. Previously the code failed with Segmentation Fault if
`getConstantInt` failed to look up the value. This primarily occurrs when
the value is defined as OpSpecConstant rather than OpConstant.
Commit: 42605b8aa31b82d8f3ba15bdca11ff3d52527a5e
https://github.com/llvm/llvm-project/commit/42605b8aa31b82d8f3ba15bdca11ff3d52527a5e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/fmaximum-legalization.ll
M llvm/test/CodeGen/ARM/fp-maximum-legalization.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/math-intrins.ll
M llvm/test/CodeGen/PowerPC/fminimum-fmaximum-f128.ll
M llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum-i686.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
Log Message:
-----------
Revert "[SelectionDAG] Avoid one comparison when legalizing fmaximum (#142732)"
This reverts commit 54da543a14da6dd0e594875241494949cb659b08.
I made a logic error here with the assumption that both values
are known to be +/-0.0.
Commit: d74831efeb1d32213ca824d23283606eb870d8fd
https://github.com/llvm/llvm-project/commit/d74831efeb1d32213ca824d23283606eb870d8fd
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/fmaximum-legalization.ll
R llvm/test/CodeGen/ARM/fp-maximum-legalization.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/math-intrins.ll
M llvm/test/CodeGen/PowerPC/fminimum-fmaximum-f128.ll
M llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
R llvm/test/CodeGen/X86/fminimum-fmaximum-i686.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
Log Message:
-----------
Revert "[SDAG] Fix fmaximum legalization errors (#142170)"
This reverts commit 58cc1675ec7b4aa5bc2dab56180cb7af1b23ade5.
I also made the incorrect assumption that we know both values are
+/-0.0 here as well. Revert for now.
Commit: fdb11c1be6683e2cff365e3c50ca2d63717e5ea9
https://github.com/llvm/llvm-project/commit/fdb11c1be6683e2cff365e3c50ca2d63717e5ea9
Author: A. Jiang <de34 at live.cn>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__type_traits/common_reference.h
M libcxx/test/libcxx/type_traits/no_specializations.verify.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.readable/indirectly_readable.compile.pass.cpp
Log Message:
-----------
[libc++] Disallow specializing `common_reference` (#141465)
`common_reference` isn't an exception for [meta.rqmts]/4, so it's better
to disallow users to specialize it.
`indirectly_readable.compile.pass.cpp` was a bit problematic. It
attempted to opt-out common reference type in some wrong ways. Also, the
standard effectively forbids opting-out common reference type for `T&`
and `T&&`. This patch removes and adjusts some problematic cases.
---------
Co-authored-by: Nikolas Klauser <nikolasklauser at berlin.de>
Commit: 5f8cf33650c0c71119ecf81f07014329d9466d0d
https://github.com/llvm/llvm-project/commit/5f8cf33650c0c71119ecf81f07014329d9466d0d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/copy-low-subvec-elt-to-high-subvec-elt.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] IsElementEquivalent - add handling for X86ISD::VPERMI nodes. (#142767)
On AVX2+ targets these are often used to splat subvectors.
Commit: 8ed3cb0e6497944ac7284e88379051b768a426cd
https://github.com/llvm/llvm-project/commit/8ed3cb0e6497944ac7284e88379051b768a426cd
Author: clubby789 <jamie at hill-daniel.co.uk>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Log Message:
-----------
[DSE] Fix uninitialized variable (#142768)
Introduced by accident in #138299
(https://lab.llvm.org/buildbot/#/builders/164/builds/10604)
Commit: 57500cd6a013a1e438878b04cd4530673ab5533e
https://github.com/llvm/llvm-project/commit/57500cd6a013a1e438878b04cd4530673ab5533e
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/include/llvm/Frontend/Directive/DirectiveBase.td
M llvm/include/llvm/Frontend/OpenACC/ACC.td
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/test/TableGen/directive1.td
M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
M mlir/test/mlir-tblgen/directive-common.td
M mlir/tools/mlir-tblgen/DirectiveCommonGen.cpp
Log Message:
-----------
[utils][TableGen] Clarify usage of ClauseVal, rename to EnumVal (#141761)
The class "ClauseVal" actually represents a definition of an enumeration
value, and in itself it is not bound to any clause. Rename it to EnumVal
and add a comment clarifying how it's translated into an actual enum
definition in the generated source code.
There is no change in functionality.
Commit: 11d84546265840f419a6cca81c362e4e5264300b
https://github.com/llvm/llvm-project/commit/11d84546265840f419a6cca81c362e4e5264300b
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/OpenMP/declare-simd-linear.f90
M flang/test/Semantics/OpenMP/linear-clause01.f90
Log Message:
-----------
[flang][OpenMP] Skip implicit typing for OpenMPDeclarativeConstruct (#142415)
DeclareSimdConstruct (and other declarative constructs) can currently
implicitly declare variables regardless of whether the source code
contains "implicit none" or not. This causes semantic analysis issues if
the implicit type does not match the declared type. To solve it, skip
implicit typing for OpenMPDeclarativeConstruct. Fixes issue #140754.
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: 1d467339449f75848a3257587df2e1592d0418b3
https://github.com/llvm/llvm-project/commit/1d467339449f75848a3257587df2e1592d0418b3
Author: 黃國庭 <we3223 at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/gfni-lzcnt.ll
Log Message:
-----------
[X86] Use GFNI for LZCNT vXi8 ops (#141888)
This PULL REQUEST implements vXi8 ctlz lowering for X86 using GFNI instructions
Fixes #140729
Commit: fef5096a8ac64c391a4d07dfbddb9f874b007e65
https://github.com/llvm/llvm-project/commit/fef5096a8ac64c391a4d07dfbddb9f874b007e65
Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVReader.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVBinaryReader.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVDWARFReader.h
M llvm/lib/DebugInfo/LogicalView/Core/LVReader.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
Log Message:
-----------
[llvm-debuginfo-analyzer][NFC] Move some functionality to LVReader. (#142740)
Hoist out from LVDWARFReader and LVBinaryReader some generic
code, so it can be available to other readers that do not share the
binary format.
Commit: b59c88835fd3f642b3c95331913e0565fb89a7b1
https://github.com/llvm/llvm-project/commit/b59c88835fd3f642b3c95331913e0565fb89a7b1
Author: David Truby <david.truby at arm.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M flang/lib/Frontend/CompilerInvocation.cpp
A flang/test/Driver/predefined-macros-aarch64.f90
Log Message:
-----------
[flang] Add aarch64 processor defines (#142606)
This patch adds aarch64 specific processor defines when targeting
aarch64, similar to the ones for ppc64 and x86_64
Commit: c3746ff3229c57110f7895ff5b93e520cead0d1b
https://github.com/llvm/llvm-project/commit/c3746ff3229c57110f7895ff5b93e520cead0d1b
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
A mlir/test/Conversion/MemRefToLLVM/memref-to-llvm-with-transforms.mlir
M mlir/test/lib/Conversion/CMakeLists.txt
A mlir/test/lib/Conversion/MemRefToLLVM/CMakeLists.txt
A mlir/test/lib/Conversion/MemRefToLLVM/TestMemRefToLLVMWithTransforms.cpp
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir][Affine] Handle null parent op in getAffineParallelInductionVarOwner (#142025)
The issue occurs during a downstream pass which does dialect conversion,
where both
[`FuncOpConversion`](https://github.com/llvm/llvm-project/blob/cde67b6663f994fcb4ded28fd79b23a13d347c4a/mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp#L480)
and
[`SubviewFolder`](https://github.com/llvm/llvm-project/blob/cde67b6663f994fcb4ded28fd79b23a13d347c4a/mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp#L187)
are run together. The original starting IR is:
```mlir
module {
func.func @foo(%arg0: memref<100x100xf32>, %arg1: index, %arg2: index, %arg3: index, %arg4: index) -> memref<?x?xf32, strided<[100, 1], offset: ?>> {
%subview = memref.subview %arg0[%arg1, %arg2] [%arg3, %arg4] [1, 1] : memref<100x100xf32> to memref<?x?xf32, strided<[100, 1], offset: ?>>
return %subview : memref<?x?xf32, strided<[100, 1], offset: ?>>
}
}
```
After `FuncOpConversion` runs, the IR looks like:
```mlir
"builtin.module"() ({
"llvm.func"() <{CConv = #llvm.cconv<ccc>, function_type = !llvm.func<struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)> (ptr, ptr, i64, i64, i64, i64, i64, i64, i64, i64, i64)>, linkage = #llvm.linkage<external>, sym_name = "foo", visibility_ = 0 : i64}> ({
^bb0(%arg0: !llvm.ptr, %arg1: !llvm.ptr, %arg2: i64, %arg3: i64, %arg4: i64, %arg5: i64, %arg6: i64, %arg7: i64, %arg8: i64, %arg9: i64, %arg10: i64):
%0 = "memref.subview"(<<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>) <{operandSegmentSizes = array<i32: 1, 2, 2, 0>, static_offsets = array<i64: -9223372036854775808, -9223372036854775808>, static_sizes = array<i64: -9223372036854775808, -9223372036854775808>, static_strides = array<i64: 1, 1>}> : (memref<100x100xf32>, index, index, index, index) -> memref<?x?xf32, strided<[100, 1], offset: ?>>
"func.return"(%0) : (memref<?x?xf32, strided<[100, 1], offset: ?>>) -> ()
}) : () -> ()
"func.func"() <{function_type = (memref<100x100xf32>, index, index, index, index) -> memref<?x?xf32, strided<[100, 1], offset: ?>>, sym_name = "foo"}> ({
}) : () -> ()
}) {llvm.data_layout = "", llvm.target_triple = ""} : () -> ()
```
The `<<UNKNOWN SSA VALUE>>`'s here are block arguments of a separate
unlinked block, which is disconnected from the rest of the IR (so not
only is the IR verifier-invalid, it can't even be parsed). This IR is
created by signature conversion in the dialect conversion infra.
Now `SubviewFolder` is applied, and the utility function here is called
on one of these disconnected block arguments, causing a crash.
The TestMemRefToLLVMWithTransforms pass is introduced to exercise the
bug, and it can be reused by other contributors in the future.
---------
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Co-authored-by: Rahul Kayaith <rkayaith at gmail.com>
Commit: 817af2ddf24bd6ef68d66d86904d0682dd5feda9
https://github.com/llvm/llvm-project/commit/817af2ddf24bd6ef68d66d86904d0682dd5feda9
Author: Callum Fare <callum at codeplay.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M offload/liboffload/API/CMakeLists.txt
Log Message:
-----------
[Offload] Fix missing dependencies in Offload API generation (#142776)
Thanks to @RossBrunton for spotting this.
We attempt to clang-format the generated Offload header files, but if
clang-format isn't available we just copy the generated files instead.
That fallback path was missing the correct dependencies.
Fixes #142756
Commit: b668b6439acb9057faadd788c9351a7d20bf140e
https://github.com/llvm/llvm-project/commit/b668b6439acb9057faadd788c9351a7d20bf140e
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/br_cc.f16.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
M llvm/test/CodeGen/AMDGPU/frem.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] legalize 16bit and 32bit use-def chain for moveToVALU in si-fix-sgpr-lowering (#138734)
Two changes in this patch:
1. Covered another case in legalizeOperandVALUt16 functions and the COPY
lowering, when SALU16 is used by SALU32, need to insert a reg_sequence
after moved to valu (previously only considered SALU32 used by SALU16
case)
2. Moved the useMI analysis into addUsersToMoveVALUList. Legalize the
targetted operand when needed.
Turn on frem test with true16 mode for gfx1150 which is failing before
this patch. A few bitcast tests also impacted by this change with some
v_mov being replaced to dual mov
Commit: c9e1c52e2e75a91a44a98df818cc9bd11655e51d
https://github.com/llvm/llvm-project/commit/c9e1c52e2e75a91a44a98df818cc9bd11655e51d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp
Log Message:
-----------
[lldb] Fix a warning
This patch fixes:
lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp:89:2:
error: extra ';' outside of a function is incompatible with C++98
[-Werror,-Wc++98-compat-extra-semi]
Commit: da8271e88793909b738e2afdf17d0ae11dade455
https://github.com/llvm/llvm-project/commit/da8271e88793909b738e2afdf17d0ae11dade455
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M lldb/test/Shell/Settings/TestCxxFrameFormatRecursive.test
Log Message:
-----------
[lldb][test] Disable TestCxxFrameFormatRecursive on Linux
It was always expected to fail and now it sometimes times out instead.
See https://github.com/llvm/llvm-project/issues/142726.
Commit: d31ace4abc5dd02fc643a89ef1d3cd981590f2b6
https://github.com/llvm/llvm-project/commit/d31ace4abc5dd02fc643a89ef1d3cd981590f2b6
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] Port c3746ff3229c57110f7895ff5b93e520cead0d1b
Commit: 15dff71cac9fb85f3332fb5e5809d3d8665ed176
https://github.com/llvm/llvm-project/commit/15dff71cac9fb85f3332fb5e5809d3d8665ed176
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
R mlir/test/Conversion/MemRefToLLVM/memref-to-llvm-with-transforms.mlir
M mlir/test/lib/Conversion/CMakeLists.txt
R mlir/test/lib/Conversion/MemRefToLLVM/CMakeLists.txt
R mlir/test/lib/Conversion/MemRefToLLVM/TestMemRefToLLVMWithTransforms.cpp
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
Revert "[mlir][Affine] Handle null parent op in getAffineParallelInductionVarOwner (#142025)"
This reverts commit c3746ff3229c57110f7895ff5b93e520cead0d1b.
This breaks build with BUILD_SHARED_LIBS=ON.
```
/usr/bin/ld: CMakeFiles/MLIRTestMemRefToLLVMWithTransforms.dir/TestMemRefToLLVMWithTransforms.cpp.o: in function `(anonymous namespace)::TestMemRefToLLVMWithTransforms::runOnOperation()':
TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x68): undefined reference to `mlir::LowerToLLVMOptions::LowerToLLVMOptions(mlir::MLIRContext*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:[ 88%] Built target CodeGenTests
(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEvmake[2]: Leaving directory '/work2/kparzysz/git/llvm.org/b/x86'
+0x80): undefined reference to `mlir::LLVMTypeConverter::LLVMTypeConverter(mlir::MLIRContext*, mlir::LowerToLLVMOptions const&, mlir::DataLayoutAnalysis const*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x143): undefined reference to `mlir::populateFuncToLLVMConversionPatterns(mlir::LLVMTypeConverter const&, mlir::RewritePatternSet&, mlir::SymbolTable const*)'
/usr/bin/ld: TestMemRefToLLVMWithTransforms.cpp:(.text._ZN12_GLOBAL__N_130TestMemRefToLLVMWithTransforms14runOnOperationEv+0x174): undefined reference to `mlir::LLVMConversionTarget::LLVMConversionTarget(mlir::MLIRContext&)'
```
Commit: 519cb460f6fa58d1c36ad55d5812882f7ba38e2a
https://github.com/llvm/llvm-project/commit/519cb460f6fa58d1c36ad55d5812882f7ba38e2a
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/test/Transforms/SCCP/conditions-ranges-with-undef.ll
M llvm/test/Transforms/SCCP/range-and.ll
M llvm/test/Transforms/SCCP/range-with-undef.ll
Log Message:
-----------
[SCCP] Remove masking operations (#142736)
CVP version:
https://github.com/llvm/llvm-project/commit/2d5820cd72255e04aaef2da3c21d62396fdd7fb9
Compile-time impact:
https://llvm-compile-time-tracker.com/compare.php?from=3ec0c5c7fef03985b43432c6b914c289d8a5435e&to=92b4df90695dd37defdabf8a30f0b0322b648a00&stat=instructions:u
Commit: a7f0b29733ff5554703721e2e3b4b756b053b784
https://github.com/llvm/llvm-project/commit/a7f0b29733ff5554703721e2e3b4b756b053b784
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinHeaders.def
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/BuiltinsARM.def
M clang/lib/Headers/arm_acle.h
M clang/lib/Sema/SemaARM.cpp
A clang/test/CodeGen/arm-former-microsoft-intrinsics-header-warning.c
A clang/test/CodeGen/arm-former-microsoft-intrinsics.c
M clang/test/CodeGen/arm-microsoft-intrinsics.c
A clang/test/CodeGen/arm64-former-microsoft-intrinsics-header-warning.c
A clang/test/CodeGen/arm64-former-microsoft-intrinsics.c
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
M clang/test/CodeGen/builtins-arm-microsoft.c
M clang/test/Headers/Inputs/include/stdint.h
M clang/test/Headers/ms-intrin.cpp
Log Message:
-----------
[clang][ARM][AArch64] Reapply "Define intrinsics guarded by __has_builtin on all platforms (#128222)" (#140910)
The original change caused issues on MSVC due to a new warning thrown
inside MSVC headers. That was fixed
[here](https://github.com/llvm/llvm-project/pull/142019), so reapply
this commit. Original description below.
Instead of defining ARM ACLE intrinsics only on MSVC and guarding
wrapper functions in headers with __has_builtin, universally define the
intrinsics as target header builtins.
Commit: 54d544b83141dc0b20727673f68793728ed54793
https://github.com/llvm/llvm-project/commit/54d544b83141dc0b20727673f68793728ed54793
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/test/DebugInfo/KeyInstructions/agg.c
M clang/test/DebugInfo/KeyInstructions/assign-scalar.c
M clang/test/DebugInfo/KeyInstructions/bitfield.cpp
M clang/test/DebugInfo/KeyInstructions/builtin.c
M clang/test/DebugInfo/KeyInstructions/cast.c
M clang/test/DebugInfo/KeyInstructions/coerced-packed.c
M clang/test/DebugInfo/KeyInstructions/coerced-ptr.c
M clang/test/DebugInfo/KeyInstructions/coerced-through-memory.c
M clang/test/DebugInfo/KeyInstructions/coerced.c
M clang/test/DebugInfo/KeyInstructions/complex.c
M clang/test/DebugInfo/KeyInstructions/do.c
M clang/test/DebugInfo/KeyInstructions/for.c
M clang/test/DebugInfo/KeyInstructions/if.c
M clang/test/DebugInfo/KeyInstructions/init-agg.c
M clang/test/DebugInfo/KeyInstructions/init-member.cpp
M clang/test/DebugInfo/KeyInstructions/init-scalar.c
M clang/test/DebugInfo/KeyInstructions/init-static.cpp
M clang/test/DebugInfo/KeyInstructions/multi-func.c
M clang/test/DebugInfo/KeyInstructions/new.cpp
A clang/test/DebugInfo/KeyInstructions/return-va-arg.c
A clang/test/DebugInfo/KeyInstructions/return.c
M clang/test/DebugInfo/KeyInstructions/switch.c
M clang/test/DebugInfo/KeyInstructions/try-catch.cpp
M clang/test/DebugInfo/KeyInstructions/while.c
Log Message:
-----------
[KeyInstr][Clang] Ret atom (#134652)
This patch is part of a stack that teaches Clang to generate Key Instructions
metadata for C and C++.
When returning a value, stores to the `retval` allocas and branches to `return`
block are put in the same atom group. They are both rank 1, which could in
theory introduce an extra step in some optimized code. This low risk currently
feels an acceptable for keeping the code a bit simpler (as opposed to adding
scaffolding to make the store rank 2).
In the case of a single return (no control flow) the return instruction inherits
the atom group of the branch to the return block when the blocks get folded
togather.
RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
The feature is only functional in LLVM if LLVM is built with CMake flag
LLVM_EXPERIMENTAL_KEY_INSTRUCTIONs. Eventually that flag will be removed.
Commit: 0a25b5022831c7465790cf99655afdcd0f91e34d
https://github.com/llvm/llvm-project/commit/0a25b5022831c7465790cf99655afdcd0f91e34d
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/HashRecognize.h
M llvm/lib/Analysis/HashRecognize.cpp
Log Message:
-----------
[HashRecognize] Introduce dump methods for debug (#142748)
Introduce dump methods to aid interactive debugging with GDB/LLDB. While
at it, also fix the header comment in HashRecognize.cpp.
Commit: 90e906a5a8873809b2acf9000cb638b66a6c5a07
https://github.com/llvm/llvm-project/commit/90e906a5a8873809b2acf9000cb638b66a6c5a07
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Revert "[bazel] Port c3746ff3229c57110f7895ff5b93e520cead0d1b" (#142791)
This reverts commit d31ace4abc5dd02fc643a89ef1d3cd981590f2b6.
That commit was a fix for c3746ff3229c57110f7895ff5b93e520cead0d1b,
which was later reverted in 15dff71cac9fb85f3332fb5e5809d3d8665ed176.
Commit: d2f06b2729b6cf37c4b682f8b000ab28e46cdccb
https://github.com/llvm/llvm-project/commit/d2f06b2729b6cf37c4b682f8b000ab28e46cdccb
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC][CodeGen] true16 mode for v_cvt_pk_bf8/fp8_f32 (#141881)
Update true16/fake16 profile with v_cvt_pk_bf8/fp8_f32, keeping the
vdst_in profile, and update codegen pattern.
update mc test and codegen test.
Commit: c83c01f325e38ed52276ab3a4741178f3f411ca0
https://github.com/llvm/llvm-project/commit/c83c01f325e38ed52276ab3a4741178f3f411ca0
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
A llvm/test/MC/RISCV/vendor-symbol.s
M llvm/test/MC/RISCV/xqcibi-relocations.s
M llvm/test/MC/RISCV/xqcilb-relocations.s
M llvm/test/MC/RISCV/xqcili-relocations.s
Log Message:
-----------
[RISCV] Vendor Relocations for Xqci extension (#135400)
This patch implements vendor relocation support for RISC-V, starting
with the Xqci extensions.
Vendor Relocations need to emit the vendor symbol, and add an
`R_RISCV_VENDOR` relocation against that symbol before the specific
vendor relocation itself.
This patch adds a `maybeAddVendorReloc` function which is called from
`addReloc`, to implement this functionality. Vendor identifier symbols
are cached, so that at most one is emitted per vendor identifier.
Vendor identifiers symbols do not interfere with identically named
symbols used by assembly.
Co-authored-by: Sam Elliott <quic_aelliott at quicinc.com>
Commit: 07a534160a7c500cb71425344cca223cadd9b938
https://github.com/llvm/llvm-project/commit/07a534160a7c500cb71425344cca223cadd9b938
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
A mlir/test/Conversion/MemRefToLLVM/memref-to-llvm-with-transforms.mlir
M mlir/test/lib/Conversion/CMakeLists.txt
A mlir/test/lib/Conversion/MemRefToLLVM/CMakeLists.txt
A mlir/test/lib/Conversion/MemRefToLLVM/TestMemRefToLLVMWithTransforms.cpp
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
Reland "[mlir][Affine] Handle null parent op in getAffineParallelInductionVarOwner" (#142785)
Below is the original commit description. Furthermore, it applies a
[fix](https://github.com/llvm/llvm-project/commit/33a26b9ca2f7b690f545fa309e43b38068699db5)
for CMakeList.txt
The issue occurs during a downstream pass which does dialect conversion,
where both
[`FuncOpConversion`](https://github.com/llvm/llvm-project/blob/cde67b6663f994fcb4ded28fd79b23a13d347c4a/mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp#L480)
and
[`SubviewFolder`](https://github.com/llvm/llvm-project/blob/cde67b6663f994fcb4ded28fd79b23a13d347c4a/mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp#L187)
are run together. The original starting IR is:
```mlir
module {
func.func @foo(%arg0: memref<100x100xf32>, %arg1: index, %arg2: index, %arg3: index, %arg4: index) -> memref<?x?xf32, strided<[100, 1], offset: ?>> {
%subview = memref.subview %arg0[%arg1, %arg2] [%arg3, %arg4] [1, 1] : memref<100x100xf32> to memref<?x?xf32, strided<[100, 1], offset: ?>>
return %subview : memref<?x?xf32, strided<[100, 1], offset: ?>>
}
}
```
After `FuncOpConversion` runs, the IR looks like:
```mlir
"builtin.module"() ({
"llvm.func"() <{CConv = #llvm.cconv<ccc>, function_type = !llvm.func<struct<(ptr, ptr, i64, array<2 x i64>, array<2 x i64>)> (ptr, ptr, i64, i64, i64, i64, i64, i64, i64, i64, i64)>, linkage = #llvm.linkage<external>, sym_name = "foo", visibility_ = 0 : i64}> ({
^bb0(%arg0: !llvm.ptr, %arg1: !llvm.ptr, %arg2: i64, %arg3: i64, %arg4: i64, %arg5: i64, %arg6: i64, %arg7: i64, %arg8: i64, %arg9: i64, %arg10: i64):
%0 = "memref.subview"(<<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>) <{operandSegmentSizes = array<i32: 1, 2, 2, 0>, static_offsets = array<i64: -9223372036854775808, -9223372036854775808>, static_sizes = array<i64: -9223372036854775808, -9223372036854775808>, static_strides = array<i64: 1, 1>}> : (memref<100x100xf32>, index, index, index, index) -> memref<?x?xf32, strided<[100, 1], offset: ?>>
"func.return"(%0) : (memref<?x?xf32, strided<[100, 1], offset: ?>>) -> ()
}) : () -> ()
"func.func"() <{function_type = (memref<100x100xf32>, index, index, index, index) -> memref<?x?xf32, strided<[100, 1], offset: ?>>, sym_name = "foo"}> ({
}) : () -> ()
}) {llvm.data_layout = "", llvm.target_triple = ""} : () -> ()
```
The `<<UNKNOWN SSA VALUE>>`'s here are block arguments of a separate
unlinked block, which is disconnected from the rest of the IR (so not
only is the IR verifier-invalid, it can't even be parsed). This IR is
created by signature conversion in the dialect conversion infra.
Now `SubviewFolder` is applied, and the utility function here is called
on one of these disconnected block arguments, causing a crash.
The TestMemRefToLLVMWithTransforms pass is introduced to exercise the
bug, and it can be reused by other contributors in the future.
Co-authored-by: Rahul Kayaith <rkayaith at gmail.com>
---------
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: afa517a3c2b21b366e60a6fd16b5f96e5e8a9f0c
https://github.com/llvm/llvm-project/commit/afa517a3c2b21b366e60a6fd16b5f96e5e8a9f0c
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Fold SRLIW+SLLI+ADD into SRLIW+SHXADD (#142611)
This handles RV64 SRLIW, similarly to SRLI.
Also fixing the comments for SRLI combines that did not match the code.
Commit: 79f298e7e5ac88bc0041b1bd03e5210b8583cf03
https://github.com/llvm/llvm-project/commit/79f298e7e5ac88bc0041b1bd03e5210b8583cf03
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M lldb/unittests/Core/MangledTest.cpp
Log Message:
-----------
[lldb][test] Free buffers in demangling tests to avoid leaks (#142676)
Test case added by f669b9c3eca9438d33259aefb8156f977f1df382 / #137793.
Note that the `DemanglingParts` case above also frees the buffer; this
new test case is inconsistent.
Commit: 0248725699cb639fc816acfc3e34d0a7dbf59329
https://github.com/llvm/llvm-project/commit/0248725699cb639fc816acfc3e34d0a7dbf59329
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
Log Message:
-----------
[RISCV] Correct Branch Range (#142705)
This aligns the code with the other cases, which take into account the
min/max range of `isShiftedInt<N, 1>`. Given IALIGN is always 16 or 32
(bits), this should not make a difference to anything valid.
Commit: a87c4eef1d8ee69f46986985ec5cf35215992e5a
https://github.com/llvm/llvm-project/commit/a87c4eef1d8ee69f46986985ec5cf35215992e5a
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/test/Transforms/PGOProfile/memprof-call-site-at-alloc-site.ll
M llvm/test/Transforms/PGOProfile/memprof-dump-matched-alloc-site.ll
M llvm/test/Transforms/PGOProfile/memprof-dump-matched-call-sites.ll
M llvm/test/Transforms/PGOProfile/memprof-undrift.test
M llvm/test/Transforms/PGOProfile/memprof_annotate_yaml.test
M llvm/test/Transforms/PGOProfile/memprof_discard_threshold.ll
M llvm/test/Transforms/PGOProfile/memprof_match_hot_cold_new_calls.ll
M llvm/test/Transforms/PGOProfile/memprof_missing_leaf.ll
M llvm/test/tools/llvm-profdata/memprof-yaml-invalid.test
Log Message:
-----------
[MemProf] Drop unneccessary REQUIRES: x86-linux directives. (#142718)
These tests now use the YAML profile and should work across all
platforms.
Commit: 8f352f4d7b5b290344a874f1088a5e1737b89ceb
https://github.com/llvm/llvm-project/commit/8f352f4d7b5b290344a874f1088a5e1737b89ceb
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M lldb/tools/debugserver/source/CMakeLists.txt
Log Message:
-----------
[lldb/cmake] Fix debugserver build for 2c4f67794bff4df984b43db453fc0f5241ee72c8
Commit: 81d3189891c2dcb5925308629571fb95badaae33
https://github.com/llvm/llvm-project/commit/81d3189891c2dcb5925308629571fb95badaae33
Author: John Brawn <john.brawn at arm.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Transforms/Scalar/LoopAccessAnalysisPrinter.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Scalar/LoopAccessAnalysisPrinter.cpp
M llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp
A llvm/test/Analysis/LoopAccessAnalysis/allow-partial.ll
M llvm/test/Analysis/LoopAccessAnalysis/forked-pointers.ll
M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-forward.ll
M llvm/test/Analysis/LoopAccessAnalysis/pointer-phis.ll
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis-forked-pointers.ll
M llvm/test/Analysis/LoopAccessAnalysis/underlying-object-loop-varying-phi.ll
M llvm/test/Transforms/LoopVersioningLICM/load-from-unknown-address.ll
Log Message:
-----------
[LAA] Keep pointer checks on partial analysis (#139719)
Currently if there's any memory access that AccessAnalysis couldn't
analyze then all of the runtime pointer check results are discarded.
This patch makes this able to be controlled with the AllowPartial
option, which makes it so we generate the runtime check information
for those pointers that we could analyze, as transformations may still
be able to make use of the partial information.
Of the transformations that use LoopAccessAnalysis, only
LoopVersioningLICM changes behaviour as a result of this change. This is
because the others either:
* Check canVectorizeMemory, which will return false when we have partial
pointer information as analyzeLoop() will return false.
* Examine the dependencies returned by getDepChecker(), which will be
empty as we exit analyzeLoop if we have partial pointer information
before calling areDepsSafe(), which is what fills in the dependency
information.
Commit: 178b64e75bb39debc235e8008686b7c4af444013
https://github.com/llvm/llvm-project/commit/178b64e75bb39debc235e8008686b7c4af444013
Author: hanhanW <hanhan0912 at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
R mlir/test/Conversion/MemRefToLLVM/memref-to-llvm-with-transforms.mlir
M mlir/test/lib/Conversion/CMakeLists.txt
R mlir/test/lib/Conversion/MemRefToLLVM/CMakeLists.txt
R mlir/test/lib/Conversion/MemRefToLLVM/TestMemRefToLLVMWithTransforms.cpp
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
Revert "Reland "[mlir][Affine] Handle null parent op in getAffineParallelInductionVarOwner" (#142785)"
This reverts commit 07a534160a7c500cb71425344cca223cadd9b938.
Commit: d96447b4d31ad76c8a3005bade0e582e8c91b980
https://github.com/llvm/llvm-project/commit/d96447b4d31ad76c8a3005bade0e582e8c91b980
Author: hanhanW <hanhan0912 at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
A mlir/test/Conversion/MemRefToLLVM/memref-to-llvm-with-transforms.mlir
M mlir/test/lib/Conversion/CMakeLists.txt
A mlir/test/lib/Conversion/MemRefToLLVM/CMakeLists.txt
A mlir/test/lib/Conversion/MemRefToLLVM/TestMemRefToLLVMWithTransforms.cpp
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
Reapply "Reland "[mlir][Affine] Handle null parent op in getAffineParallelInductionVarOwner" (#142785)"
This reverts commit 178b64e75bb39debc235e8008686b7c4af444013.
The author misread the report of the failure, and thought that it broke
the CI again. Reland the fix.
Commit: 7b9518ae277d48b733bbd542dbe9f3388f5ceee1
https://github.com/llvm/llvm-project/commit/7b9518ae277d48b733bbd542dbe9f3388f5ceee1
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M flang-rt/lib/runtime/assign.cpp
Log Message:
-----------
[flang][runtime] Accommodate change of type in assignment to allocatable (#141988)
When an assignment to a derived type allocatable requires
(re)allocation, its type may change to that of the right-hand side. The
code didn't update its derived type pointer, leading to the wrong type
being put into the descriptors created for elemental defined assignment
subroutine calls.
Fixes https://github.com/llvm/llvm-project/issues/141835.
Commit: f521338024a40175bd317be8c50ed20fbcf2a820
https://github.com/llvm/llvm-project/commit/f521338024a40175bd317be8c50ed20fbcf2a820
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/bug141807.f90
Log Message:
-----------
[flang] Correct defined assignment case (#142020)
When a generic ASSIGNMENT(=) has elemental and non-elemental specific
procedures that match the actual arguments, the non-elemental procedure
must take precedence. We get this right for generics defined with
interface blocks, but the type-bound case fails if the non-elemental
specific takes a non-default PASS argument.
Fixes https://github.com/llvm/llvm-project/issues/141807.
Commit: 43abd252db7245a2c3ea9c0c18aa6eb1955eea1a
https://github.com/llvm/llvm-project/commit/43abd252db7245a2c3ea9c0c18aa6eb1955eea1a
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M flang/lib/Semantics/runtime-type-info.cpp
M flang/test/Semantics/typeinfo01.f90
Log Message:
-----------
[flang] Fix corner case of defined component assignment (#142201)
For componentwise assignment in derived type intrinsic assignment, the
runtime type information's special binding table is currently populated
only with type-bound ASSIGNMENT(=) procedures that have the same derived
type for both arguments. This restriction excludes all defined
assignments for cases that cannot arise in this context, like defined
assignments from intrinsic types or incompatible derived types.
However, this restriction also excludes defined assignments from
distinct but compatible derived types, i.e. ancestors. Loosen it a
little to allow them.
Fixes https://github.com/llvm/llvm-project/issues/142151.
Commit: 4b23d4c7ca4307f3d5c900782c78f1b66236d0c2
https://github.com/llvm/llvm-project/commit/4b23d4c7ca4307f3d5c900782c78f1b66236d0c2
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Evaluate/tools.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/runtime-type-info.cpp
M flang/test/Semantics/deferred01.f90
Log Message:
-----------
[flang] Extension: allow override of inaccessible DEFERRED binding (#142691)
Inaccessible procedure bindings can't be overridden, but DEFERRED
bindings must be in a non-abstract extension. We presently emit an error
for an attempt to override an inaccessible binding in this case. But
some compilers accept this usage, and since it seems safe enough, I'll
allow it with an optional warning. Codes can avoid this warning and
conform to the standard by changing the deferred bindings to be public.
Commit: feb21e26fa0eff9c977394f04c089ea887f63b9f
https://github.com/llvm/llvm-project/commit/feb21e26fa0eff9c977394f04c089ea887f63b9f
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
A clang/test/Driver/print-enabled-extensions/riscv-sifive-x390.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add SiFive X390 processor definition (#142517)
X390 is an in-order core designed for AI/ML workload, with VLEN=1024.
https://www.sifive.com/cores/intelligence-x300-series
Scheduling model will be added in a follow-up patch.
Commit: 1e25b67fc9d0d40dd3e02d6923d02b0303681933
https://github.com/llvm/llvm-project/commit/1e25b67fc9d0d40dd3e02d6923d02b0303681933
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
A llvm/test/CodeGen/X86/pr142513.ll
Log Message:
-----------
[X86] Add test coverage for #142513
Commit: a0adadd01fb5e3d063cb480c60b31df184d08256
https://github.com/llvm/llvm-project/commit/a0adadd01fb5e3d063cb480c60b31df184d08256
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
A llvm/test/CodeGen/X86/pr62145.ll
Log Message:
-----------
[X86] Add test coverage for #62145
Commit: fd452da64d548a9aea97a0b5be10962a0e58d925
https://github.com/llvm/llvm-project/commit/fd452da64d548a9aea97a0b5be10962a0e58d925
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/constant-hoisting-cmp.ll
Log Message:
-----------
[X86] constant-hoisting-cmp.ll - regenerate test checks
Commit: 8e77263ad0031192b895564e470b9d8b16e4414e
https://github.com/llvm/llvm-project/commit/8e77263ad0031192b895564e470b9d8b16e4414e
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Support/Mustache.cpp
Log Message:
-----------
[llvm][mustache] Fix UB in ASTNode::render() (#142249)
The current implementation set a reference to a nullptr, leading to all
kinds of problems. Instead, we can check the various uses to ensure we
don't deref invalid memory, and improve the logic for how contexts are
passed to children, since that was also subtly wrong in some cases.
Commit: 89cea0d26d13761e0c4afbc96aa2ccecbe8c0287
https://github.com/llvm/llvm-project/commit/89cea0d26d13761e0c4afbc96aa2ccecbe8c0287
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/test/clang-doc/invalid-options.cpp
Log Message:
-----------
[clang-doc] Fix brittle check in test (#142665)
Instead of having a platform specific error diagnostic, use a fixed one
with more direct context for the error.
Commit: e03044f892ef570df7dc25b21bf082a7f842ce61
https://github.com/llvm/llvm-project/commit/e03044f892ef570df7dc25b21bf082a7f842ce61
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
Log Message:
-----------
[X86] splitVector - use collectConcatOps to find pre-split subvectors (#142774)
Don't just match ISD::CONCAT_VECTORS - this matches more closely with isFreeToSplitVector
Commit: ec5610c4a2ef15551fdfbe9c990851376f58efb6
https://github.com/llvm/llvm-project/commit/ec5610c4a2ef15551fdfbe9c990851376f58efb6
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/forward_list
M libcxx/test/std/containers/exception_safety_helpers.h
M libcxx/test/std/containers/sequences/forwardlist/exception_safety.pass.cpp
Log Message:
-----------
[libc++] Ensure strong exception guarantee for forward_list::resize (#131025)
The current implementation of `forward_list::resize` does not meet the
strong exception safety guarantee required by [forward.list.modifiers]:
If an exception is thrown by any of these member functions there is no
effect on the container.
This patch refactors `resize()` to provide strong exception safety and
introduces additional tests to validate the strong exception guarantees
for other `forward_list` modifiers.
Fixes #118366.
Commit: ff844df719d7226a46b8cb0d99aef9480cced247
https://github.com/llvm/llvm-project/commit/ff844df719d7226a46b8cb0d99aef9480cced247
Author: Aly ElAshram <71949028+AlyElashram at users.noreply.github.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M libc/src/string/memccpy.cpp
M libc/src/string/memchr.cpp
M libc/src/string/memcmp.cpp
M libc/src/string/memcpy.cpp
M libc/src/string/memmove.cpp
M libc/src/string/mempcpy.cpp
M libc/src/string/memrchr.cpp
M libc/src/string/memset.cpp
M libc/src/string/stpncpy.cpp
M libc/src/string/strcasestr.cpp
M libc/src/string/strcat.cpp
M libc/src/string/strcoll.cpp
M libc/src/string/strcoll_l.cpp
M libc/src/string/strcpy.cpp
M libc/src/string/strlen.cpp
M libc/src/string/strncat.cpp
M libc/src/string/strncmp.cpp
M libc/src/string/strncpy.cpp
M libc/src/string/strsep.cpp
M libc/src/string/strspn.cpp
M libc/src/string/strstr.cpp
M libc/src/strings/rindex.cpp
M libc/test/src/string/memchr_test.cpp
M libc/test/src/string/memcmp_test.cpp
M libc/test/src/string/memcpy_test.cpp
M libc/test/src/string/memmove_test.cpp
M libc/test/src/string/mempcpy_test.cpp
M libc/test/src/string/memrchr_test.cpp
M libc/test/src/string/memset_test.cpp
M libc/test/src/string/stpncpy_test.cpp
M libc/test/src/string/strcat_test.cpp
M libc/test/src/string/strcoll_test.cpp
M libc/test/src/string/strcpy_test.cpp
M libc/test/src/string/strlcpy_test.cpp
M libc/test/src/string/strsep_test.cpp
M libc/test/src/string/strspn_test.cpp
Log Message:
-----------
[libc] Expand usage of libc null checks. (#116262)
Fixes #111546
---------
Co-authored-by: alyyelashram <150528548+alyyelashram at users.noreply.github.com>
Commit: d245b410a3346b4238ad582b5090cf0d53d797de
https://github.com/llvm/llvm-project/commit/d245b410a3346b4238ad582b5090cf0d53d797de
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/test/Transforms/PGOProfile/memprof-call-site-at-alloc-site.ll
M llvm/test/Transforms/PGOProfile/memprof-dump-matched-alloc-site.ll
M llvm/test/Transforms/PGOProfile/memprof-dump-matched-call-sites.ll
M llvm/test/Transforms/PGOProfile/memprof-undrift.test
M llvm/test/Transforms/PGOProfile/memprof_annotate_yaml.test
M llvm/test/Transforms/PGOProfile/memprof_discard_threshold.ll
M llvm/test/Transforms/PGOProfile/memprof_match_hot_cold_new_calls.ll
M llvm/test/Transforms/PGOProfile/memprof_missing_leaf.ll
M llvm/test/tools/llvm-profdata/memprof-yaml-invalid.test
Log Message:
-----------
Revert "[MemProf] Drop unneccessary REQUIRES: x86-linux directives." (#142816)
Reverts llvm/llvm-project#142718
Breaks ppc aix builds:
https://lab.llvm.org/buildbot/#/builders/64/builds/4036
Commit: 8a905baeb43f9561c742a610990a13f36ef4b233
https://github.com/llvm/llvm-project/commit/8a905baeb43f9561c742a610990a13f36ef4b233
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M clang-tools-extra/clang-doc/assets/namespace-template.mustache
A clang-tools-extra/test/clang-doc/mustache-index.cpp
A clang-tools-extra/test/clang-doc/mustache-separate-namespace.cpp
M clang-tools-extra/unittests/clang-doc/HTMLMustacheGeneratorTest.cpp
Log Message:
-----------
[clang-doc] add tags to Mustache namespace template (#142045)
namespace-template.mustache only rendered placeholder text. Enum and
record tags were added to the template. Now, we can render an index.html
for the global namespace and other namespaces.
Added tests and deleted some of the disabled unit tests.
Commit: 68a346f71d9b54f2e439007336285420ece0de39
https://github.com/llvm/llvm-project/commit/68a346f71d9b54f2e439007336285420ece0de39
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGen/class.cpp
M clang/test/CIR/IR/struct.cir
Log Message:
-----------
[CIR] Introduce cir::RecordKind::Class (#142690)
When cir::RecordType was initially upstreamed, we decided that there was
no reason to distinguish between RecordKind::Class and
RecordKind::Struct since they are semantically equivalent. I think this
was a mistake because classic codegen does preserve the distinction
(which is visible in the AST) and preserving the distinction in CIR will
aid the possibility of eventually using the classic codegen lit tests
with CIR.
This change introduces RecordKind::Class, which is already present in
the incubator implementation.
Commit: ecbe2e8c3f8f4be87d5d30ad5d1fcc1986fa5c47
https://github.com/llvm/llvm-project/commit/ecbe2e8c3f8f4be87d5d30ad5d1fcc1986fa5c47
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/include/llvm/ObjCopy/COFF/COFFObjcopy.h
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/include/llvm/ObjCopy/ConfigManager.h
M llvm/include/llvm/ObjCopy/ELF/ELFObjcopy.h
M llvm/include/llvm/ObjCopy/MachO/MachOObjcopy.h
M llvm/include/llvm/ObjCopy/ObjCopy.h
M llvm/include/llvm/ObjCopy/wasm/WasmObjcopy.h
M llvm/include/llvm/Object/Archive.h
M llvm/include/llvm/Object/ArchiveWriter.h
M llvm/include/llvm/Object/Binary.h
M llvm/include/llvm/Object/BuildID.h
M llvm/include/llvm/Object/COFF.h
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/include/llvm/Object/COFFModuleDefinition.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/Object/Decompressor.h
M llvm/include/llvm/Object/ELF.h
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/include/llvm/Object/Error.h
M llvm/include/llvm/Object/FaultMapParser.h
M llvm/include/llvm/Object/GOFFObjectFile.h
M llvm/include/llvm/Object/IRObjectFile.h
M llvm/include/llvm/Object/IRSymtab.h
M llvm/include/llvm/Object/MachO.h
M llvm/include/llvm/Object/MachOUniversal.h
M llvm/include/llvm/Object/MachOUniversalWriter.h
M llvm/include/llvm/Object/Minidump.h
M llvm/include/llvm/Object/ModuleSymbolTable.h
M llvm/include/llvm/Object/ObjectFile.h
M llvm/include/llvm/Object/OffloadBinary.h
M llvm/include/llvm/Object/OffloadBundle.h
M llvm/include/llvm/Object/RelocationResolver.h
M llvm/include/llvm/Object/SymbolSize.h
M llvm/include/llvm/Object/SymbolicFile.h
M llvm/include/llvm/Object/TapiFile.h
M llvm/include/llvm/Object/TapiUniversal.h
M llvm/include/llvm/Object/Wasm.h
M llvm/include/llvm/Object/WindowsMachineFlag.h
M llvm/include/llvm/Object/WindowsResource.h
M llvm/include/llvm/Object/XCOFFObjectFile.h
M llvm/lib/Object/XCOFFObjectFile.cpp
Log Message:
-----------
[llvm] annotate interfaces in llvm/ObjCopy and llvm/Object for DLL export (#142668)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/ObjCopy` and
`llvm/Object` libraries. These annotations currently have no meaningful
impact on the LLVM build; however, they are a prerequisite to support an
LLVM Windows DLL (shared library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS on
Linux:
- Add `#include "llvm/Support/Compiler.h"` to files where it was not
auto-added by IDS due to no pre-existing block of include statements.
- Manually annotate template class `CommonArchiveMemberHeader` with
`LLVM_ABI` since IDS ignores templates and this is the simplest solution
for DLL-exporting its child classes because it has methods defined
out-of-line. Seems to be an uncommon situation.
- Explicitly make `Archive` class non-copyable due to the class-level
`LLVM_ABI` annotation.
- Add default constructor to `ELFFile` so it can be instantiated for
DLL-export as a base class.
- Add `LLVM_TEMPLATE_ABI` and `LLVM_EXPORT_TEMPLATE` to exported
instantiated templates.
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: d94846a9adfd6c89699228f8538a832554c59df7
https://github.com/llvm/llvm-project/commit/d94846a9adfd6c89699228f8538a832554c59df7
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCAsmMacro.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCCodeEmitter.h
M llvm/include/llvm/MC/MCContext.h
M llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h
M llvm/include/llvm/MC/MCDisassembler/MCRelocationInfo.h
M llvm/include/llvm/MC/MCDisassembler/MCSymbolizer.h
M llvm/include/llvm/MC/MCDwarf.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCFragment.h
M llvm/include/llvm/MC/MCInst.h
M llvm/include/llvm/MC/MCInstPrinter.h
M llvm/include/llvm/MC/MCInstrAnalysis.h
M llvm/include/llvm/MC/MCInstrDesc.h
M llvm/include/llvm/MC/MCInstrInfo.h
M llvm/include/llvm/MC/MCLinkerOptimizationHint.h
M llvm/include/llvm/MC/MCMachObjectWriter.h
M llvm/include/llvm/MC/MCObjectFileInfo.h
M llvm/include/llvm/MC/MCObjectWriter.h
M llvm/include/llvm/MC/MCParser/AsmLexer.h
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h
M llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/MC/MCPseudoProbe.h
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/include/llvm/MC/MCSchedule.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCSectionMachO.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCSubtargetInfo.h
M llvm/include/llvm/MC/MCSymbol.h
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
M llvm/include/llvm/MC/MCWinEH.h
M llvm/include/llvm/MC/StringTableBuilder.h
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/include/llvm/MCA/CodeEmitter.h
M llvm/include/llvm/MCA/Context.h
M llvm/include/llvm/MCA/CustomBehaviour.h
M llvm/include/llvm/MCA/HWEventListener.h
M llvm/include/llvm/MCA/HardwareUnits/HardwareUnit.h
M llvm/include/llvm/MCA/HardwareUnits/LSUnit.h
M llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h
M llvm/include/llvm/MCA/HardwareUnits/Scheduler.h
M llvm/include/llvm/MCA/IncrementalSourceMgr.h
M llvm/include/llvm/MCA/InstrBuilder.h
M llvm/include/llvm/MCA/Instruction.h
M llvm/include/llvm/MCA/Pipeline.h
M llvm/include/llvm/MCA/Stages/EntryStage.h
M llvm/include/llvm/MCA/Stages/InstructionTables.h
M llvm/include/llvm/MCA/Stages/Stage.h
M llvm/include/llvm/MCA/Support.h
M llvm/include/llvm/MCA/View.h
Log Message:
-----------
[llvm] annotate interfaces in llvm/MC and llvm/MCA for DLL export (#142655)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/MC` and `llvm/MCA`
libraries. These annotations currently have no meaningful impact on the
LLVM build; however, they are a prerequisite to support an LLVM Windows
DLL (shared library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS on
Linux:
- Add `#include "llvm/Support/Compiler.h"` to files where it was not
auto-added by IDS due to no pre-existing block of include statements.
- Explicitly make classes non-copyable where needed to due IDS adding
LLVM_ABI at the class level
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: db5471945b7e36f55c66dfa74e218390c0329dd4
https://github.com/llvm/llvm-project/commit/db5471945b7e36f55c66dfa74e218390c0329dd4
Author: Alex Langford <alangford at apple.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb] Remove USE_ALLOCATE_MEMORY_CACHE (#142689)
This is always on, and has been since at least 2011 from what I can
tell. The code in the `#else` clauses are effectively dead code.
Commit: f32f048719455b4813ff7115e4f3a6cdc65efff0
https://github.com/llvm/llvm-project/commit/f32f048719455b4813ff7115e4f3a6cdc65efff0
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
A llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-ignore-preferred-alignment.ll
M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-small-alignment-32.ll
M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-small-alignment-64.ll
Log Message:
-----------
[llvm] Use ABI instead of preferred alignment for const prop checks (#142500)
We'd hit an assertion checking proper alignment for an i8 when building
chromium because we used the prefered alignment (which is 4 bytes)
instead of the ABI alignment (which is 1 byte). The ABI alignment should
be used because that's the actual alignment needed to load a constant
from the vtable.
This also updates the two `virtual-const-prop-small-alignment-*` to
explicitly give ABI alignments for i64s.
Commit: b194cf1e401a9c7293c1e9b7d30008fad6b53ede
https://github.com/llvm/llvm-project/commit/b194cf1e401a9c7293c1e9b7d30008fad6b53ede
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaType.cpp
A clang/test/CodeGen/cfi-unchecked-callee-attribute-member-function.cpp
A clang/test/CodeGen/cfi-unchecked-callee-attribute.cpp
A clang/test/Frontend/cfi-unchecked-callee-attribute-n3037.c
A clang/test/Frontend/cfi-unchecked-callee-attribute.c
A clang/test/Frontend/cfi-unchecked-callee-attribute.cpp
Log Message:
-----------
[clang] Function type attribute to prevent CFI instrumentation (#135836)
This introduces the attribute discussed in
https://discourse.llvm.org/t/rfc-function-type-attribute-to-prevent-cfi-instrumentation/85458.
The proposed name has been changed from `no_cfi` to
`cfi_unchecked_callee` to help differentiate from `no_sanitize("cfi")`
more easily. The proposed attribute has the following semantics:
1. Indirect calls to a function type with this attribute will not be
instrumented with CFI. That is, the indirect call will not be checked.
Note that this only changes the behavior for indirect calls on pointers
to function types having this attribute. It does not prevent all
indirect function calls for a given type from being checked.
2. All direct references to a function whose type has this attribute
will always reference the true function definition rather than an entry
in the CFI jump table.
3. When a pointer to a function with this attribute is implicitly cast
to a pointer to a function without this attribute, the compiler will
give a warning saying this attribute is discarded. This warning can be
silenced with an explicit C-style cast or C++ static_cast.
Commit: ad6575f2dadd7b3cfc1257ce9b30fdb00a2222b2
https://github.com/llvm/llvm-project/commit/ad6575f2dadd7b3cfc1257ce9b30fdb00a2222b2
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILRootSignature.cpp
M llvm/lib/Target/DirectX/DXILRootSignature.h
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Parameters-Invalid-ParameterIsNotString.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Parameters.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootDescriptor-Invalid-Flags.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootDescriptor-Invalid-RegisterKind.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootDescriptor-Invalid-RegisterSpace.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootDescriptor-Invalid-RegisterValue.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootDescriptor.ll
Log Message:
-----------
[HLSL] Adding support for root descriptors in root signature metadata representation (#139781)
- adds parsing from metadata into dxcontainer binary
- adds validations as described in the spec
- adds testing scenarios
closes: [#126638](https://github.com/llvm/llvm-project/issues/126638)
---------
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Commit: 246fa9a9f71166b4c7a5ec6544535452a68a07a5
https://github.com/llvm/llvm-project/commit/246fa9a9f71166b4c7a5ec6544535452a68a07a5
Author: peremyach <akhabutdinov at meta.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
Log Message:
-----------
Revert gsymutil changes due to concurrency problems (#142829)
We saw occasional segfaults while processing some binaries. The reason
probably is that we may clear the DIE while we are reading it's data
from another thread which happens due to cross-unit references.
---------
Co-authored-by: Arslan Khabutdinov <akhabutdinov at fb.com>
Commit: f44df93a9c2b08aa3005abf4b5f9253ecd2823d3
https://github.com/llvm/llvm-project/commit/f44df93a9c2b08aa3005abf4b5f9253ecd2823d3
Author: Callum Fare <callum at codeplay.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M offload/liboffload/API/CMakeLists.txt
M offload/plugins-nextgen/common/CMakeLists.txt
Log Message:
-----------
[Offload] Explicitly create directories that contain tablegen output (#142817)
This isn't required when building with Ninja, but with the Makefile
generator these directories don't get implicitly created.
Commit: ed42e172986a686e02cc030d2563374a1200e018
https://github.com/llvm/llvm-project/commit/ed42e172986a686e02cc030d2563374a1200e018
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M clang/lib/APINotes/APINotesManager.cpp
M clang/lib/APINotes/APINotesReader.cpp
Log Message:
-----------
[APINotes] Remove unused includes (NFC) (#142406)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: 228f66807d0be1d7873e075fc81baf41001950b5
https://github.com/llvm/llvm-project/commit/228f66807d0be1d7873e075fc81baf41001950b5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/BinaryFormat/MsgPackReader.cpp
M llvm/lib/CGData/CodeGenData.cpp
M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerTypeUnit.cpp
M llvm/lib/DWARFLinker/Parallel/OutputSections.cpp
M llvm/lib/DWARFLinker/Parallel/SyntheticTypeNameBuilder.cpp
M llvm/lib/DWP/DWP.cpp
M llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp
M llvm/lib/Debuginfod/HTTPClient.cpp
M llvm/lib/Debuginfod/HTTPServer.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp
M llvm/lib/FuzzMutate/RandomIRBuilder.cpp
M llvm/lib/IR/LLVMContextImpl.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/MCA/Stages/DispatchStage.cpp
M llvm/lib/MCA/View.cpp
M llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.cpp
M llvm/lib/ObjCopy/MachO/MachOReader.cpp
M llvm/lib/Object/OffloadBundle.cpp
M llvm/lib/ObjectYAML/MachOEmitter.cpp
M llvm/lib/ObjectYAML/MachOYAML.cpp
M llvm/lib/Option/ArgList.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/lib/ProfileData/DataAccessProf.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/SandboxIR/Constant.cpp
M llvm/lib/SandboxIR/Pass.cpp
M llvm/lib/SandboxIR/Tracker.cpp
M llvm/lib/Support/CrashRecoveryContext.cpp
M llvm/lib/Support/ELFAttrParserExtended.cpp
M llvm/lib/Support/LockFileManager.cpp
M llvm/lib/Support/TextEncoding.cpp
M llvm/lib/Support/Timer.cpp
M llvm/lib/Support/Z3Solver.cpp
M llvm/lib/Support/raw_ostream.cpp
M llvm/lib/TableGen/JSONBackend.cpp
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Testing/Support/SupportHelpers.cpp
M llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
M llvm/lib/TextAPI/InterfaceFile.cpp
M llvm/lib/TextAPI/TextStub.cpp
M llvm/lib/XRay/InstrumentationMap.cpp
M llvm/lib/XRay/Profile.cpp
Log Message:
-----------
[llvm] Remove unused includes (NFC) (#142733)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: 19592fe0a37374e1dd631b7699590500b5dec136
https://github.com/llvm/llvm-project/commit/19592fe0a37374e1dd631b7699590500b5dec136
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp
M llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
Log Message:
-----------
[AMDGPU] Use MachineRegisterInfo::def_instructions (NFC) (#142782)
Note that def_instructions is defined as:
inline iterator_range<def_instr_iterator>
def_instructions(Register Reg) const {
return make_range(def_instr_begin(Reg), def_instr_end());
}
Commit: 2eb9655d569ce425f8fc667edd5e2f8d6f6da81c
https://github.com/llvm/llvm-project/commit/2eb9655d569ce425f8fc667edd5e2f8d6f6da81c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
Log Message:
-----------
[SPIRV] Use llvm::any_of (NFC) (#142792)
Note that Function::args is defined as:
iterator_range<arg_iterator> args() {
return make_range(arg_begin(), arg_end());
}
Commit: 5411ebdebc445b32982b75a94d347b5fcdd8ece9
https://github.com/llvm/llvm-project/commit/5411ebdebc445b32982b75a94d347b5fcdd8ece9
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/test/CodeGen/DirectX/legalize-i8.ll
Log Message:
-----------
[DirectX] add GEP i8 legalization (#142475)
fixes #140415
The i8 legalization code in DXILLegalizePass's `fixI8UseChain` needs to
be updated to check for i8 geps.
It seems like there are i8 GEPs being left around after we remove all
the other i8 instructions and this is causing problem on validation.
Since this is cleaning up a missed GEP The approach is to assume the
getPointerOperand is to an alloca we further will check if this is an
array alloca then do some byte offset arithmetic to figure out the
memory index to use. Finally we will emit the new gep and cleanup the
old one.
Finally needed to update upcastI8AllocasAndUses to account for loads off
of GEPs instead of just loads from the alloca.
Commit: 21580369340a07bafa6c606bf0b3e46d7e374cfa
https://github.com/llvm/llvm-project/commit/21580369340a07bafa6c606bf0b3e46d7e374cfa
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/Dynamic/Parser.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/ASTMatchers/Dynamic/VariantValue.cpp
M clang/lib/ASTMatchers/GtestMatchers.cpp
Log Message:
-----------
[ASTMatchers] Remove unused includes (NFC) (#142407)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: 52ad2747d0da1ae4e6cf93b93edbf69bfceb7b13
https://github.com/llvm/llvm-project/commit/52ad2747d0da1ae4e6cf93b93edbf69bfceb7b13
Author: lntue <lntue at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[libc][cmake] Make libc not included in LLVM_ENABLE_PROJECTS=all. (#142626)
Make LLVM libc to not be included in `LLVM_ENABLE_PROJECTS=all`. It can
still be manually added to LLVM_ENABLE_PROJECTS list.
Commit: e0909003ff9d8b1606fb76b25bf779443d086b3c
https://github.com/llvm/llvm-project/commit/e0909003ff9d8b1606fb76b25bf779443d086b3c
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/IntrinsicInst.h
A llvm/test/Transforms/PGOProfile/ctx-instrumentation-aliases.ll
M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
Log Message:
-----------
[ctxprof] Instrumentation: handle direct call targets to aliases (#142657)
This was an oversight. GlobalAliases aren't `Functions`, so `getCalledFunction` would return `nullptr` and the callsite would be deemed as uninstrumentable.
Commit: 3ec2de2753388c83fa31bb65f0583aed625a2b32
https://github.com/llvm/llvm-project/commit/3ec2de2753388c83fa31bb65f0583aed625a2b32
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/MemoryProfileInfo.h
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
A llvm/test/ThinLTO/X86/memprof-report-hinted-partial.ll
A llvm/test/Transforms/PGOProfile/memprof_max_cold_threshold.test
Log Message:
-----------
[MemProf] Optionally save context size info on largest cold allocations (#142837)
Reapply PR142507 with fix for test: add in the same x86_64-linux
requirement as other tests as the stack ids are currently computed
differently on big endian systems. This will be investigated separately.
In order to allow selective reporting of context hinting during the LTO
link, and in the future to allow selective more aggressive cloning, add
an option to specify a minimum percent of the max cold size in the
profile summary. Contexts that meet that threshold will get context size
info metadata (and ThinLTO summary information) on the associated
allocations.
Specifying -memprof-report-hinted-sizes during the pre-LTO compile step
will continue to cause all contexts to receive this metadata. But
specifying -memprof-report-hinted-sizes only during the LTO link will
cause only those that meet the new threshold and have the metadata to
get reported.
To support this, because the alloc info summary and associated bitcode
requires the context size information to be in the same order as the
other context information, 0s are inserted for contexts without this
metadata. The bitcode writer uses a more compact format for the context
ids to allow better compression of the 0s.
As part of this change several helper methods are added to query whether
metadata contains context size info on any or all contexts.
Commit: 6dd3891b722e9dff7fef52c23996f0329280600f
https://github.com/llvm/llvm-project/commit/6dd3891b722e9dff7fef52c23996f0329280600f
Author: Chenguang Wang <w3cing at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] fix bazel build broken by d96447b4. (#142841)
Commit: 96c1fd40bc4b83ef63a581de6c48b2f24a4b89c8
https://github.com/llvm/llvm-project/commit/96c1fd40bc4b83ef63a581de6c48b2f24a4b89c8
Author: Thurston Dang <thurston at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
Log Message:
-----------
[tsan] Change personality CHECK to Printf() + Die() (#142821)
Currently, if TSan needs to disable ASLR but is unable to do so, it
aborts with a cryptic message:
```
ThreadSanitizer: CHECK failed: tsan_platform_linux.cpp:290 "((personality(old_personality | ADDR_NO_RANDOMIZE))) != ((-1))"
```
and a segfault
(https://github.com/google/sanitizers/issues/837#issuecomment-2939267531).
This patch replaces the CHECK with more user-friendly diagnostics and
suggestions via printf, followed by Die().
Commit: 50c5704dc000cc0af41a511aa44db03233edf0af
https://github.com/llvm/llvm-project/commit/50c5704dc000cc0af41a511aa44db03233edf0af
Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M clang/lib/Headers/module.modulemap
Log Message:
-----------
modulemap: add arm64 intrinsics header (#142653)
The header was missing from the modulemap definition, resulting in a
breakage for Swift with recent Windows SDK headers.
Commit: a4320ba67bf753395b57b5133b83017ef6531d62
https://github.com/llvm/llvm-project/commit/a4320ba67bf753395b57b5133b83017ef6531d62
Author: Chenguang Wang <w3cing at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/string/BUILD.bazel
Log Message:
-----------
[bazel] fix libc bazel build broken by ff844df7. (#142848)
Fixes `bazelisk test @llvm-project//libc/test/src/string/...`
Commit: 7578922d71211631891997bb834e528f22cda019
https://github.com/llvm/llvm-project/commit/7578922d71211631891997bb834e528f22cda019
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Fix one missed target also broken by ff844df719d7226a46b8cb0 (#142854)
a4320ba67bf753395b57b5133b83017ef6531d62 fixed most targets but missed
one.
Commit: 1268352656f81ea173860a8002aadb88844137e7
https://github.com/llvm/llvm-project/commit/1268352656f81ea173860a8002aadb88844137e7
Author: vporpo <vporpodas at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PackReuse.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PackReuse.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
A llvm/test/Transforms/SandboxVectorizer/pack_reuse_basic.ll
A llvm/test/Transforms/SandboxVectorizer/pack_reuse_end_to_end.ll
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
Log Message:
-----------
[SandboxVec] Add a simple pack reuse pass (#141848)
This patch implements a simple pass that tries to de-duplicate packs. If
there are two packing patterns inserting the exact same values in the
exact same order, then we will keep the top-most one of them. Even
though such patterns may be optimized away by subsequent passes it is
still useful to do this within the vectorizer because otherwise the cost
estimation may be off, making the vectorizer over conservative.
Commit: 450d1307fe041882fade93ab3593dfed320e568a
https://github.com/llvm/llvm-project/commit/450d1307fe041882fade93ab3593dfed320e568a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Debuginfod/HTTPClient.cpp
Log Message:
-----------
[Debuginfod] Restore a couple of includes
This patch adds back a couple of includes to HTTPClient.cpp.
A breakage has been reported in:
https://github.com/llvm/llvm-project/issues/142852
Commit: 8d187e580e8499fd55413591c6639487dc1579a0
https://github.com/llvm/llvm-project/commit/8d187e580e8499fd55413591c6639487dc1579a0
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/BTF/BTFContext.h
M llvm/include/llvm/DebugInfo/BTF/BTFParser.h
M llvm/include/llvm/DebugInfo/CodeView/AppendingTypeTableBuilder.h
M llvm/include/llvm/DebugInfo/CodeView/CVSymbolVisitor.h
M llvm/include/llvm/DebugInfo/CodeView/CVTypeVisitor.h
M llvm/include/llvm/DebugInfo/CodeView/CodeView.h
M llvm/include/llvm/DebugInfo/CodeView/CodeViewError.h
M llvm/include/llvm/DebugInfo/CodeView/CodeViewRecordIO.h
M llvm/include/llvm/DebugInfo/CodeView/ContinuationRecordBuilder.h
M llvm/include/llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugCrossExSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugCrossImpSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugLinesSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugStringTableSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h
M llvm/include/llvm/DebugInfo/CodeView/DebugSymbolsSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/EnumTables.h
M llvm/include/llvm/DebugInfo/CodeView/Formatters.h
M llvm/include/llvm/DebugInfo/CodeView/GUID.h
M llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h
M llvm/include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h
M llvm/include/llvm/DebugInfo/CodeView/Line.h
M llvm/include/llvm/DebugInfo/CodeView/MergingTypeTableBuilder.h
M llvm/include/llvm/DebugInfo/CodeView/RecordName.h
M llvm/include/llvm/DebugInfo/CodeView/RecordSerialization.h
M llvm/include/llvm/DebugInfo/CodeView/SimpleTypeSerializer.h
M llvm/include/llvm/DebugInfo/CodeView/StringsAndChecksums.h
M llvm/include/llvm/DebugInfo/CodeView/SymbolDumper.h
M llvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h
M llvm/include/llvm/DebugInfo/CodeView/SymbolRecordHelpers.h
M llvm/include/llvm/DebugInfo/CodeView/SymbolRecordMapping.h
M llvm/include/llvm/DebugInfo/CodeView/SymbolSerializer.h
M llvm/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h
M llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h
M llvm/include/llvm/DebugInfo/CodeView/TypeIndex.h
M llvm/include/llvm/DebugInfo/CodeView/TypeIndexDiscovery.h
M llvm/include/llvm/DebugInfo/CodeView/TypeRecordHelpers.h
M llvm/include/llvm/DebugInfo/CodeView/TypeRecordMapping.h
M llvm/include/llvm/DebugInfo/CodeView/TypeStreamMerger.h
M llvm/include/llvm/DebugInfo/CodeView/TypeTableCollection.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAddressRange.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAttribute.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFCFIProgram.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFCompileUnit.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDataExtractor.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugRnglists.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFFormValue.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFListTable.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFLocationExpression.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFUnitIndex.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/include/llvm/DebugInfo/GSYM/CallSiteInfo.h
M llvm/include/llvm/DebugInfo/GSYM/DwarfTransformer.h
M llvm/include/llvm/DebugInfo/GSYM/ExtractRanges.h
M llvm/include/llvm/DebugInfo/GSYM/FileWriter.h
M llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
M llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h
M llvm/include/llvm/DebugInfo/GSYM/GsymReader.h
M llvm/include/llvm/DebugInfo/GSYM/Header.h
M llvm/include/llvm/DebugInfo/GSYM/InlineInfo.h
M llvm/include/llvm/DebugInfo/GSYM/LineTable.h
M llvm/include/llvm/DebugInfo/GSYM/LookupResult.h
M llvm/include/llvm/DebugInfo/GSYM/MergedFunctionsInfo.h
M llvm/include/llvm/DebugInfo/GSYM/ObjectFileTransformer.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVCompare.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVElement.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLine.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLocation.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVObject.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVOptions.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVRange.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVReader.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVScope.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSort.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSupport.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSymbol.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVType.h
M llvm/include/llvm/DebugInfo/LogicalView/LVReaderHandler.h
M llvm/include/llvm/DebugInfo/MSF/MSFBuilder.h
M llvm/include/llvm/DebugInfo/MSF/MSFCommon.h
M llvm/include/llvm/DebugInfo/MSF/MSFError.h
M llvm/include/llvm/DebugInfo/MSF/MappedBlockStream.h
M llvm/include/llvm/DebugInfo/PDB/GenericError.h
M llvm/include/llvm/DebugInfo/PDB/IPDBFrameData.h
M llvm/include/llvm/DebugInfo/PDB/IPDBInjectedSource.h
M llvm/include/llvm/DebugInfo/PDB/IPDBLineNumber.h
M llvm/include/llvm/DebugInfo/PDB/IPDBRawSymbol.h
M llvm/include/llvm/DebugInfo/PDB/IPDBSession.h
M llvm/include/llvm/DebugInfo/PDB/IPDBSourceFile.h
M llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptor.h
M llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleList.h
M llvm/include/llvm/DebugInfo/PDB/Native/DbiStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/DbiStreamBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/FormatUtil.h
M llvm/include/llvm/DebugInfo/PDB/Native/GSIStreamBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/GlobalsStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/Hash.h
M llvm/include/llvm/DebugInfo/PDB/Native/HashTable.h
M llvm/include/llvm/DebugInfo/PDB/Native/InfoStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/InfoStreamBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/InputFile.h
M llvm/include/llvm/DebugInfo/PDB/Native/LinePrinter.h
M llvm/include/llvm/DebugInfo/PDB/Native/ModuleDebugStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/NamedStreamMap.h
M llvm/include/llvm/DebugInfo/PDB/Native/NativeRawSymbol.h
M llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h
M llvm/include/llvm/DebugInfo/PDB/Native/NativeSourceFile.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFileBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTable.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/PublicsStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/RawError.h
M llvm/include/llvm/DebugInfo/PDB/Native/SymbolCache.h
M llvm/include/llvm/DebugInfo/PDB/Native/SymbolStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/TpiHashing.h
M llvm/include/llvm/DebugInfo/PDB/Native/TpiStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/TpiStreamBuilder.h
M llvm/include/llvm/DebugInfo/PDB/PDB.h
M llvm/include/llvm/DebugInfo/PDB/PDBExtras.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymDumper.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbol.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolCompiland.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolData.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolExe.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolFunc.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolLabel.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolThunk.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeArray.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypePointer.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolUnknown.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h
M llvm/include/llvm/DebugInfo/PDB/UDTLayout.h
M llvm/include/llvm/DebugInfo/Symbolize/DIPrinter.h
M llvm/include/llvm/DebugInfo/Symbolize/Markup.h
M llvm/include/llvm/DebugInfo/Symbolize/MarkupFilter.h
M llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
M llvm/lib/DebugInfo/CodeView/ContinuationRecordBuilder.cpp
M llvm/lib/DebugInfo/CodeView/SimpleTypeSerializer.cpp
Log Message:
-----------
[llvm] annotate interfaces in llvm/DebugInfo for DLL export (#140778)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/DebugInfo` library.
These annotations currently have no meaningful impact on the LLVM build;
however, they are a prerequisite to support an LLVM Windows DLL (shared
library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS on
Linux:
- Add `#include "llvm/Support/Compiler.h"` to files where it was not
auto-added by IDS due to no pre-existing block of include statements.
- Explicitly make classes non-copyable where needed to due IDS adding
LLVM_ABI at the class level
- Add `LLVM_ABI` and to exported APIs defined via X-macro
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: 47171ac3f911541453a69f3d9c6b4c1777409b95
https://github.com/llvm/llvm-project/commit/47171ac3f911541453a69f3d9c6b4c1777409b95
Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M flang/docs/CMakeLists.txt
A flang/docs/CommandGuide/index.rst
M flang/docs/FIR/CreateFIRLangRef.py
M flang/docs/conf.py
Log Message:
-----------
[Flang] Add Sphinx man page and html support for Flang (#141882)
This patch refactors the Flang documentation CMake and Sphinx
configuration to address build issues.
**CMake changes**:
- Moves the `gen_rst_file_from_td()` call out of the HTML-only block so
that both `docs-flang-html` and `docs-flang-man` builds depend on the
generated `FlangCommandLineReference.rst` file.
**conf.py changes**:
- Introduces `myst_parser` dependency as a required Markdown parser for
both HTML and man builds.
- Introduces the correct source_suffix mapping for both .rst and .md
files.
- Populates the man_pages configuration so the main index page generates
a ` flang(1) `man page.
Fixes #141757
---------
Authored-by: Samarth Narang <samanara at qti.qualcomm.com>
Commit: 31abf0774232735ad7a7d45e531497305bf99fae
https://github.com/llvm/llvm-project/commit/31abf0774232735ad7a7d45e531497305bf99fae
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
R llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PackReuse.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
R llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PackReuse.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
R llvm/test/Transforms/SandboxVectorizer/pack_reuse_basic.ll
R llvm/test/Transforms/SandboxVectorizer/pack_reuse_end_to_end.ll
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
Log Message:
-----------
Revert "[SandboxVec] Add a simple pack reuse pass (#141848)"
This reverts commit 1268352656f81ea173860a8002aadb88844137e7.
Commit: f327d6d4c344956a66002f9364fce9439a8127b3
https://github.com/llvm/llvm-project/commit/f327d6d4c344956a66002f9364fce9439a8127b3
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M clang/include/clang/CIR/CIRGenerator.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
A clang/test/CIR/CodeGen/deferred-defs.cpp
Log Message:
-----------
[CIR] Defer definitions of global variables until they are used. (#142496)
This change adds support for deferring global variable definitions until
first use whenever it is possible to do so. Although deferring function
definitions uses much of the same implementation, function deferral will
be added in a follow-up change.
Commit: e5cfa0a15d58c278be6169aedba817ae5edd2235
https://github.com/llvm/llvm-project/commit/e5cfa0a15d58c278be6169aedba817ae5edd2235
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M lldb/scripts/framework-header-fix.sh
R lldb/scripts/version-header-fix.py
M lldb/source/API/CMakeLists.txt
R lldb/test/Shell/Scripts/Inputs/lldb-defines.h
R lldb/test/Shell/Scripts/TestVersionFixScript.test
Log Message:
-----------
Revert "[lldb][headers] Create script to fix up versioning" (#142864)
Reverts llvm/llvm-project#141116. It's breaking the Xcode build as well
as the build on AIX.
Commit: 62fc146801d5355379019f931cc7aafb747ce5f2
https://github.com/llvm/llvm-project/commit/62fc146801d5355379019f931cc7aafb747ce5f2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Debuginfod/HTTPServer.cpp
Log Message:
-----------
[Debuginfod] Restore an include
A breakage has been reported in:
https://github.com/llvm/llvm-project/issues/142852
Commit: bac4aa440c12b2f90a1e12ab8aa6e3f842beb387
https://github.com/llvm/llvm-project/commit/bac4aa440c12b2f90a1e12ab8aa6e3f842beb387
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
A flang/include/flang/Lower/Support/PrivateReductionUtils.h
M flang/include/flang/Lower/Support/Utils.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
R flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
R flang/lib/Lower/OpenMP/PrivateReductionUtils.h
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
A flang/lib/Lower/Support/PrivateReductionUtils.cpp
M flang/lib/Lower/Support/Utils.cpp
M flang/test/Lower/do_concurrent_local_assoc_entity.f90
M flang/test/Lower/do_concurrent_local_default_init.f90
Log Message:
-----------
[flang] Extend localization support for `do concurrent` (`init` regions) (#142564)
Extends support for locality specifiers in `do concurrent` by supporting
data types that need `init` regions.
This further unifies the paths taken by the compiler for OpenMP
privatization clauses and `do concurrent` locality specifiers.
Commit: 479f9922912e3385655f0ca6e6238aaf09e6320d
https://github.com/llvm/llvm-project/commit/479f9922912e3385655f0ca6e6238aaf09e6320d
Author: A. Jiang <de34 at live.cn>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M libcxx/include/string
M libcxx/test/std/strings/basic.string/string.capacity/shrink_to_fit.pass.cpp
Log Message:
-----------
[libc++] Fix `basic_string::shrink_to_fit` for constant evaluation (#142712)
Currently, when the string shrink into the SSO buffer, the `__rep_.__s`
member isn't activated before the `traits_type::copy` call
yet, so internal `__builtin_memmove` call writing to the buffer causes
constant evaluation failure. The existing test coverage seems a bit
defective and doesn't cover this case - `shrink_to_fit` is called on the
copy of string after erasure, not the original string object.
This PR reorders the `__set_short_size` call, which starts the lifetime
of the SSO buffer, before the copy operation. Test coverage is achieved
by calling `shrink_to_fit` on the original erased string.
Commit: d4d2f069dec4fb8b13447f52752d4ecd08d976d6
https://github.com/llvm/llvm-project/commit/d4d2f069dec4fb8b13447f52752d4ecd08d976d6
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/unittests/ObjectFile/MachO/TestObjectFileMachO.cpp
Log Message:
-----------
[lldb] Set default object format to `MachO` in `ObjectFileMachO` (#142704)
# The Change
This patch sets the **default** object format of `ObjectFileMachO` to be
`MachO` (instead of what currently ends up to be `ELF`, see below). This
should be **the correct thing to do**, because the code before the line
of change has already verified the Mach-O header.
The existing logic:
* In `ObjectFileMachO`, the object format is unassigned by default. So
it's `UnknownObjectFormat` (see
[code](https://github.com/llvm/llvm-project/blob/54d544b83141dc0b20727673f68793728ed54793/llvm/lib/TargetParser/Triple.cpp#L1024)).
* The code then looks at load commands like `LC_VERSION_MIN_*`
([code](https://github.com/llvm/llvm-project/blob/54d544b83141dc0b20727673f68793728ed54793/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp#L5180-L5217))
and `LC_BUILD_VERSION`
([code](https://github.com/llvm/llvm-project/blob/54d544b83141dc0b20727673f68793728ed54793/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp#L5231-L5252))
and assign the Triple's OS and Environment if they exist.
* If the above sets the Triple's OS to macOS, then the object format
defaults to `MachO`; otherwise it is `ELF`
([code](https://github.com/llvm/llvm-project/blob/54d544b83141dc0b20727673f68793728ed54793/llvm/lib/TargetParser/Triple.cpp#L936-L937))
# Impact
For **production usage** where Mach-O files have the said load commands
(which is
[expected](https://www.google.com/search?q=Are+mach-o+files+expected+to+have+the+LC_BUILD_VERSION+load+command%3F)),
this patch won't change anything.
* **Important note**: It's not clear if there are legitimate production
use cases where the Mach-O files don't have said load commands. If there
is, the exiting code think they are `ELF`. This patch changes it to
`MachO`. This is considered a fix for such files.
For **unit tests**, this patch will simplify the yaml data by not
requiring the said load commands.
# Test
See PR.
Commit: 7278805ccd46732445b7f1b365bea64135e4537b
https://github.com/llvm/llvm-project/commit/7278805ccd46732445b7f1b365bea64135e4537b
Author: John Harrison <harjohn at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attachByPortNum.py
Log Message:
-----------
[lldb-dap] Test Gardening, attach tests. (#141981)
Trimming unused imports, adjusting the test to use the `DEFAULT_TIMEOUT`
instead of a custom timeout and adjusting the flow to stopOnEntry for
improving consistency.
Commit: 9cd53787df54d45f29d66fd8eff75a052456ac04
https://github.com/llvm/llvm-project/commit/9cd53787df54d45f29d66fd8eff75a052456ac04
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M .github/workflows/docs.yml
Log Message:
-----------
[Github] Test docs-flang-man target in documentation job (#142860)
This was recently added in 47171ac3f911541453a69f3d9c6b4c1777409b95. We
should be supporting testing this inside the docs job.
Commit: c1e0faecfc47cc078014f4d64214f90c492b7db8
https://github.com/llvm/llvm-project/commit/c1e0faecfc47cc078014f4d64214f90c492b7db8
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
A llvm/test/CodeGen/DirectX/legalize-i64-high-low-vec-split.ll
Log Message:
-----------
[DirectX] replace byte splitting via vector bitcast with scalar (#140167)
instructions
- instead of bitcasting and extract element lets use trunc or trunc and
logical shift right to split.
- fixes #139020
Commit: 59725c7486d7c37d942e2f45469a8d79ac37fcd3
https://github.com/llvm/llvm-project/commit/59725c7486d7c37d942e2f45469a8d79ac37fcd3
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M libc/src/__support/GPU/allocator.cpp
Log Message:
-----------
[libc] Coalesce bitfield access in GPU malloc (#142692)
Summary:
This improves performance by reducing the amount of RMW operations we
need to do to a single slot. This improves repeated allocations without
much contention about ten percent.
Commit: 9ab4c16042a38d5b80084afff52699e246ca9ea8
https://github.com/llvm/llvm-project/commit/9ab4c16042a38d5b80084afff52699e246ca9ea8
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
M llvm/test/CodeGen/DirectX/flatten-array.ll
M llvm/test/CodeGen/DirectX/flatten-bug-117273.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
M llvm/test/CodeGen/DirectX/scalar-bug-117273.ll
Log Message:
-----------
[DirectX] Array GEPs need two indices (#142853)
partially fixes #142836
- Update DXILFlattenArrays.cpp GEPs to use two indicies since they are
array GEPs
- Update flatten test cases
- This change reduces dxv bitcast validation errors by 364 (Total now is
1070x)
- This change reduces dxv out of bounds validation errors by 124 (Total
is now 24)
- We are also able to successfully compile 4 more shaders
Commit: 7263cd48e622b8527911b40eb753d1bf76b3f586
https://github.com/llvm/llvm-project/commit/7263cd48e622b8527911b40eb753d1bf76b3f586
Author: Acthink Yang <yangzhh at mail.ustc.edu.cn>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
A llvm/test/CodeGen/MSP430/fake_use_float.ll
Log Message:
-----------
[LegalizeTypes][MSP430] Soften FAKE_USE operand (#142714)
Adds support for softening FAKE_USE operands.
Adds MSP430 tests that exercise the new softening code.
Fixes #137572
Commit: 8ca220f1ddc710ba334576563502733b2698f995
https://github.com/llvm/llvm-project/commit/8ca220f1ddc710ba334576563502733b2698f995
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/fold-freeze-fmul-to-fma.ll
Log Message:
-----------
[NFC][AMDGPU] Add lit tests for FMA combining with freeze and nnan variants (#142628)
`freeze` on `fmul` (without `nnan`) followed by `fadd` or `fsub` into a
single `fma` is supported.
This patch adds lit tests to verify the optimization behavior for both
nnan and non-nnan variants.
Commit: f6260daf30fdd0eca9b6f5447433da4386bd0e54
https://github.com/llvm/llvm-project/commit/f6260daf30fdd0eca9b6f5447433da4386bd0e54
Author: Rahman Lavaee <rahmanl at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Object/ELF.cpp
A llvm/test/tools/llvm-readobj/ELF/bb-addr-map-compressed-zstd.test
Log Message:
-----------
[SHT_LLVM_BB_ADDR_MAP] Support decompressing the SHT_LLVM_BB_ADDR_MAP section. (#142825)
Compression of SHT_LLVM_BB_ADDR_MAP with zstd can give 3X compression
ratio, which is especially beneficial with PGO_analysis_map. To read the
data back, we must decompress it. Though we can use llvm-objcopy to do
this, it's much better to do this decompression internally in the
library API.
Commit: dbee0d5644787d19521f663940c272cfb4dbc0da
https://github.com/llvm/llvm-project/commit/dbee0d5644787d19521f663940c272cfb4dbc0da
Author: Florian Mayer <fmayer at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
A compiler-rt/test/hwasan/TestCases/Posix/dlerror.cpp
Log Message:
-----------
[NFCI] [hwasan] Add test demonstrating hwasan lsan false positive (#142874)
Commit: 0eccf1385ca3ff87f077428d68976828ac56a548
https://github.com/llvm/llvm-project/commit/0eccf1385ca3ff87f077428d68976828ac56a548
Author: Florian Mayer <fmayer at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M compiler-rt/lib/lsan/lsan_common.cpp
M compiler-rt/test/hwasan/TestCases/Posix/dlerror.cpp
Log Message:
-----------
[LSan] skip leaks from dlerror (#142876)
We have known false positives, and the return value is never
user-managed anyway.
Commit: e4c8ff94e7a30589ab6dc6dbb6151e1424ce3432
https://github.com/llvm/llvm-project/commit/e4c8ff94e7a30589ab6dc6dbb6151e1424ce3432
Author: Matthias Springer <me at m-sp.org>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
A mlir/include/mlir/Dialect/Tensor/Transforms/RuntimeOpVerification.h
M mlir/include/mlir/InitAllDialects.h
M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
M mlir/lib/Dialect/Tensor/IR/TensorDialect.cpp
M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Tensor/Transforms/RuntimeOpVerification.cpp
A mlir/test/Integration/Dialect/Tensor/cast-runtime-verification.mlir
A mlir/test/Integration/Dialect/Tensor/dim-runtime-verification.mlir
A mlir/test/Integration/Dialect/Tensor/extract-runtime-verification.mlir
A mlir/test/Integration/Dialect/Tensor/extract_slice-runtime-verification.mlir
Log Message:
-----------
[mlir][tensor] Add runtime verification for `cast`/`dim`/`extract`/`insert`/`extract_slice` (#141332)
Add `RuntimeVerifiableOpInterface` implementations for the following
ops. These were mostly copied from the respective memref
implementations. Only the part that deals with offsets and strides was
removed.
* `tensor.cast`: `memref.cast`
* `tensor.dim`: `memref.dim`
* `tensor.extract`: `memref.load`
* `tensor.insert`: `memref.store`
* `tensor.extract_slice`: `memref.subview`
Commit: d8ba707b0cbe5fcd91300a4fda59d330356af4d7
https://github.com/llvm/llvm-project/commit/d8ba707b0cbe5fcd91300a4fda59d330356af4d7
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/EventHelper.h
M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
Revert "[lldb-dap] Use structured types for stepInTargets request (#142439)" (#142891)
This reverts commit 4b6c608615a285d81132acf8e33b81b2ec2c9bf9 and
follow-up commits 159de3633640a5cb2d322ebe8cc4ec0c1c9a896d and
c9e1c52e2e75a91a44a98df818cc9bd11655e51d because this breaks
TestDAP_stepInTargets.py on Darwin.
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/as-lldb-cmake
Commit: 29170406429cbfd10567f787a8350c7e8f3be343
https://github.com/llvm/llvm-project/commit/29170406429cbfd10567f787a8350c7e8f3be343
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port #141332 (#142890)
Commit e4c8ff94e7a30589ab6dc6dbb6151e1424ce3432
Commit: ae8ac77af8887c5ed29cc15c1798aac94fefe69b
https://github.com/llvm/llvm-project/commit/ae8ac77af8887c5ed29cc15c1798aac94fefe69b
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M lldb/unittests/Core/MangledTest.cpp
Log Message:
-----------
[lldb][test] Provide TrackingOutputBufferDeleter for custom unique_ptr deleter (#142815)
Suggested in #142676 as a way to automatically free the buffer in tests
Commit: 9d4115902351b52142db48d7e2992e9e3f620d7b
https://github.com/llvm/llvm-project/commit/9d4115902351b52142db48d7e2992e9e3f620d7b
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/fneg.bf16.ll
Log Message:
-----------
[AMDGPU] Add baseline fneg.bf16.ll tests. NFC. (#142866)
This is a copy of the fneg.f16.ll, just with type replaced.
The final logic shall be the same as with f16 as these are
just bit operations.
---------
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Commit: eca616f376eccfeaccb01fcfc6c833e571b7f1e1
https://github.com/llvm/llvm-project/commit/eca616f376eccfeaccb01fcfc6c833e571b7f1e1
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZvqdotq.td
Log Message:
-----------
[RISCV] Fix schedule info for Zqvdotq (#142717)
The instructions in Zqvdotq is dot-product operation. So the schedule
info should be VIMulAdd rather than VIALU.
Commit: 478bdd8b9023612a4ef25d50973064e699a95d5b
https://github.com/llvm/llvm-project/commit/478bdd8b9023612a4ef25d50973064e699a95d5b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
Log Message:
-----------
[clang][bytecode] Save Constexpr bit in Function (#142793)
Rename isConstexpr to isValid, the former was always a bad name. Save a
constexpr bit in Function so we don't have to access the decl in
CheckCallable.
Commit: 8cd5604f5903d41db9dd1168ccb971dd2c978518
https://github.com/llvm/llvm-project/commit/8cd5604f5903d41db9dd1168ccb971dd2c978518
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/gep-const-address-space.ll
M llvm/test/CodeGen/AMDGPU/infer-addrspace-flat-atomic.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-flat-noalias-addrspace.ll
Log Message:
-----------
[AMDGPU][AtomicExpand] Use full flat emulation if a target supports f64 global atomic add instruction (#142859)
If a target supports f64 global atomic add instruction, we can also use
full flat emulation.
Commit: 25642eaa1d28b179193668f7d614d027dc97a1bc
https://github.com/llvm/llvm-project/commit/25642eaa1d28b179193668f7d614d027dc97a1bc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Support/Z3Solver.cpp
Log Message:
-----------
[Support] Restore a couple of includes
A build failure has been reported at:
https://github.com/llvm/llvm-project/pull/142733#issuecomment-2942753737
Commit: a56442529cbd340ae9e2e73b236a3267906f93dd
https://github.com/llvm/llvm-project/commit/a56442529cbd340ae9e2e73b236a3267906f93dd
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/fneg.bf16.ll
Log Message:
-----------
[AMDGPU] Make <2 x bfloat> fneg legal (#142870)
Commit: c7a93efa50c777c4d0618a41f0c178edddc88db6
https://github.com/llvm/llvm-project/commit/c7a93efa50c777c4d0618a41f0c178edddc88db6
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode] Pop builtin args from the stack while evaluating (#142832)
Instead of just peek()ing the values when evaluating the builtins and
later classify()ing all the call args once again to remove them, just do
it while evaluating. This saves quite a bit of code.
Commit: ddc8b5419ae61ec8ec7aaef5a4f0cd02d6e10908
https://github.com/llvm/llvm-project/commit/ddc8b5419ae61ec8ec7aaef5a4f0cd02d6e10908
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
Log Message:
-----------
[tools] Remove unused local variables (NFC) (#142880)
Commit: 0bcf9af5910b5184cc8eae959e5f756f4b342f38
https://github.com/llvm/llvm-project/commit/0bcf9af5910b5184cc8eae959e5f756f4b342f38
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M lldb/source/Commands/CommandObjectBreakpoint.cpp
Log Message:
-----------
[lldb] Remove an unused local variable (NFC) (#142882)
Note that CommandArgumentEntry is an alias for:
std::vector<CommandArgumentData>
Commit: 86f8be6a7c1236fba1a05ec26beed693729930c6
https://github.com/llvm/llvm-project/commit/86f8be6a7c1236fba1a05ec26beed693729930c6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M clang-tools-extra/clang-include-fixer/tool/ClangIncludeFixer.cpp
M clang-tools-extra/clang-tidy/openmp/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
M clang-tools-extra/clangd/tool/ClangdMain.cpp
Log Message:
-----------
[clang-tools-extra] Remove unused local variables (NFC) (#142881)
Commit: 7ca7bcb7d8dcf26fc0281697fe47aa6cdb3884c0
https://github.com/llvm/llvm-project/commit/7ca7bcb7d8dcf26fc0281697fe47aa6cdb3884c0
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M clang/lib/Parse/ParseTentative.cpp
M clang/test/Interpreter/disambiguate-decl-stmt.cpp
Log Message:
-----------
[clang-repl] Ensure clang-repl accepts all C keywords supported in all language models (#142749)
As can be seen through the docs
(https://github.com/llvm/llvm-project/blob/7e1fa09ce2a228c949ce4490c98f2c73ed8ada00/clang/docs/LanguageExtensions.rst#c-keywords-supported-in-all-language-modes),
Clang supports certain C keywords in all language modes — this patch
ensures clang-repl handles them consistently.
Here's an example testing all the above keywords. We have everything in
place except `_Imaginary` (_Complex works but _Imaginary doesn't which
was weird) and `_Noreturn`
Commit: 627e49e2491ab7750501d84a5804632074c6af54
https://github.com/llvm/llvm-project/commit/627e49e2491ab7750501d84a5804632074c6af54
Author: Jie Fu <jiefu at tencent.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[AST] Fix an unused-function warning (NFC)
/llvm-project/clang/lib/AST/ByteCode/InterpBuiltin.cpp:26:13:
error: unused function 'isNoopBuiltin' [-Werror,-Wunused-function]
static bool isNoopBuiltin(unsigned ID) {
^
1 error generated.
Commit: 3172c618956c0523846a98c3c5044df5a4b551b2
https://github.com/llvm/llvm-project/commit/3172c618956c0523846a98c3c5044df5a4b551b2
Author: Adam Straw <astraw at nvidia.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M mlir/include/mlir/IR/Location.h
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
A mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm-debuginfo.mlir
Log Message:
-----------
[mlir][gpu] Fix bug with gpu.printf global location (#142872)
Bug description: Global variables and functions created during
gpu.printf conversion to NVVM may contain debug info metadata from
function containing the gpu.printf which cannot be used out of that
function.
Commit: 70fce9202709f36f28a991aa0523f6c8e78b2028
https://github.com/llvm/llvm-project/commit/70fce9202709f36f28a991aa0523f6c8e78b2028
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_solaris.cpp
Log Message:
-----------
[sanitizer_common] Remove <procfs.h> workaround on Solaris (#142758)
`sanitizer_procmaps_solaris.cpp` currently uses `#undef
_FILE_OFFSET_BITS` to hack around the fact that old versions of Solaris
`<procfs.h>` don't work in a largefile environment:
```
/usr/include/sys/procfs.h:42:2: error: #error "Cannot use procfs in the large file compilation environment"
42 | #error "Cannot use procfs in the large file compilation environment"
| ^~~~~
```
However, this is no longer an issue on either Solaris 11.4 or Illumos.
The workaround only existed for the benefit of Solaris 11.3. While that
had never been supported by LLVM, the sanitizer runtime libs were
imported into GCC's `libsanitzer`. With the removal of Solaris 11.3
support in GCC 15, this is no longer an issue and the workaround can be
removed.
Tested on `amd64-pc-solaris2.11` and `sparcv9-sun-solaris2.11`.
Commit: d76b9d6653020e7cb4a2937accf775254af61ab9
https://github.com/llvm/llvm-project/commit/d76b9d6653020e7cb4a2937accf775254af61ab9
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M openmp/runtime/cmake/LibompHandleFlags.cmake
Log Message:
-----------
[OpenMP][cmake] Simplify -m32 handling (#142742)
Linking `libomp.so` on 32-bit SPARC `FAIL`s with
```
ld: fatal: file projects/openmp/runtime/src/CMakeFiles/omp.dir/z_Linux_asm.S.o: wrong ELF class: ELFCLASS64
```
This was a 1-stage build with a 64-bit-default `gcc`. Unlike the C++
sources, which were compiled as 32-bit objects due to the use of
`-DCMAKE_CXX_FLAGS=-m32`, the assembler sources were not.
This patch simplifies passing `-m32`: instead of doing it per
architecture, `-m32` is now always passed when the target uses 32-bit
pointers and supports the option.
Tested on `sparc-sun-solaris2.11`, `sparcv9-sun-solaris2.11`,
`sparc-unknown-linux-gnu`, `sparc64-unknown-linux-gnu`,
`i386-pc-solaris2.11`, `amd64-pc-solaris2.11`, `i686-pc-linux-gnu`, and
`x86_64-pc-linux-gnu`.
Commit: adbbb9049b0e91736ceb15d49a58d314b0f55bf1
https://github.com/llvm/llvm-project/commit/adbbb9049b0e91736ceb15d49a58d314b0f55bf1
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
Log Message:
-----------
[libclang/python] Simplify __eq__ operators (#140540)
This allows us to remove a few type: ignores.
Commit: 2e337349f436d75af112c081df5ec683871cbcc8
https://github.com/llvm/llvm-project/commit/2e337349f436d75af112c081df5ec683871cbcc8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Remove unnecessary DomTreeUpdater flush (NFC).
The current version does not need the explicit flush at this point.
Commit: dba418816731bc1cc677519fdbb77caca812ddda
https://github.com/llvm/llvm-project/commit/dba418816731bc1cc677519fdbb77caca812ddda
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/addr-mode-matcher-3.ll
M llvm/test/CodeGen/X86/apx/reloc-opt.ll
M llvm/test/CodeGen/X86/buildvec-widen-dotproduct.ll
M llvm/test/CodeGen/X86/mul-constant-i64.ll
Log Message:
-----------
[X86] combineAdd - fold (add (sub (shl x, c), y), z) -> (sub (add (shl x, c), z), y) (#142734)
Attempt to keep adds/shifts closer together for LEA matching
Fixes #55714
Commit: 0487db1f130913d4fad18483e305b843636ec4ce
https://github.com/llvm/llvm-project/commit/0487db1f130913d4fad18483e305b843636ec4ce
Author: Ruiling, Song <ruiling.song at amd.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/ScheduleDAG.h
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/MacroFusion.cpp
M llvm/lib/CodeGen/ScheduleDAG.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/PowerPC/PPCMachineScheduler.cpp
M llvm/test/CodeGen/AArch64/argument-blocks-array-of-struct.ll
M llvm/test/CodeGen/AArch64/arm64-dagcombiner-load-slicing.ll
M llvm/test/CodeGen/AArch64/bcmp.ll
M llvm/test/CodeGen/AArch64/extbinopload.ll
M llvm/test/CodeGen/AArch64/fp-conversion-to-tbl.ll
M llvm/test/CodeGen/AArch64/mul.ll
M llvm/test/CodeGen/AArch64/nzcv-save.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-convert.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-zip-uzp-trn.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/add.vni16.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/ds-alignment.ll
M llvm/test/CodeGen/AMDGPU/ds_read2.ll
M llvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.global.ll
M llvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.private.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f32.ll
M llvm/test/CodeGen/AMDGPU/fp-classify.ll
M llvm/test/CodeGen/AMDGPU/freeze.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
M llvm/test/CodeGen/AMDGPU/global_atomics.ll
M llvm/test/CodeGen/AMDGPU/idot4s.ll
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
M llvm/test/CodeGen/AMDGPU/kernel-args.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f64.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-local-redundant-copies.ll
M llvm/test/CodeGen/AMDGPU/load-local.128.ll
M llvm/test/CodeGen/AMDGPU/load-local.96.ll
M llvm/test/CodeGen/AMDGPU/max.i16.ll
M llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
M llvm/test/CodeGen/AMDGPU/memcpy-param-combinations.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/memmove-param-combinations.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/or.ll
M llvm/test/CodeGen/AMDGPU/permute_i8.ll
M llvm/test/CodeGen/AMDGPU/pr51516.mir
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
M llvm/test/CodeGen/AMDGPU/shl.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/srl.ll
M llvm/test/CodeGen/AMDGPU/store-local.128.ll
M llvm/test/CodeGen/AMDGPU/store-local.96.ll
M llvm/test/CodeGen/AMDGPU/sub.ll
M llvm/test/CodeGen/AMDGPU/udivrem.ll
M llvm/test/CodeGen/RISCV/GlobalISel/wide-scalar-shift-by-byte-multiple-legalization.ll
M llvm/test/CodeGen/RISCV/abds-neg.ll
M llvm/test/CodeGen/RISCV/abds.ll
M llvm/test/CodeGen/RISCV/abdu-neg.ll
M llvm/test/CodeGen/RISCV/add-before-shl.ll
M llvm/test/CodeGen/RISCV/fold-mem-offset.ll
M llvm/test/CodeGen/RISCV/legalize-fneg.ll
M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
M llvm/test/CodeGen/RISCV/memcmp.ll
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-elen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
M llvm/test/CodeGen/RISCV/scmp.ll
M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
M llvm/test/CodeGen/RISCV/ucmp.ll
M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
M llvm/test/CodeGen/RISCV/urem-vector-lkk.ll
M llvm/test/CodeGen/RISCV/wide-scalar-shift-by-byte-multiple-legalization.ll
M llvm/test/CodeGen/RISCV/wide-scalar-shift-legalization.ll
M llvm/test/CodeGen/RISCV/xtheadmempair.ll
M llvm/test/CodeGen/RISCV/zilsd.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/ivchain-X86.ll
Log Message:
-----------
MachineScheduler: Improve instruction clustering (#137784)
The existing way of managing clustered nodes was done through adding
weak edges between the neighbouring cluster nodes, which is a sort of
ordered queue. And this will be later recorded as `NextClusterPred` or
`NextClusterSucc` in `ScheduleDAGMI`.
But actually the instruction may be picked not in the exact order of the
queue. For example, we have a queue of cluster nodes A B C. But during
scheduling, node B might be picked first, then it will be very likely
that we only cluster B and C for Top-Down scheduling (leaving A alone).
Another issue is:
```
if (!ReorderWhileClustering && SUa->NodeNum > SUb->NodeNum)
std::swap(SUa, SUb);
if (!DAG->addEdge(SUb, SDep(SUa, SDep::Cluster)))
```
may break the cluster queue.
For example, we want to cluster nodes (order as in `MemOpRecords`): 1 3
2. 1(SUa) will be pred of 3(SUb) normally. But when it comes to (3, 2),
As 3(SUa) > 2(SUb), we would reorder the two nodes, which makes 2 be
pred of 3. This makes both 1 and 2 become preds of 3, but there is no
edge between 1 and 2. Thus we get a broken cluster chain.
To fix both issues, we introduce an unordered set in the change. This
could help improve clustering in some hard case.
One key reason the change causes so many test check changes is: As the
cluster candidates are not ordered now, the candidates might be picked
in different order from before.
The most affected targets are: AMDGPU, AArch64, RISCV.
For RISCV, it seems to me most are just minor instruction reorder, don't
see obvious regression.
For AArch64, there were some combining of ldr into ldp being affected.
With two cases being regressed and two being improved. This has more
deeper reason that machine scheduler cannot cluster them well both
before and after the change, and the load combine algorithm later is
also not smart enough.
For AMDGPU, some cases have more v_dual instructions used while some are
regressed. It seems less critical. Seems like test `v_vselect_v32bf16`
gets more buffer_load being claused.
Commit: 0c89cbb484ca0df7678e16b710331a95314fbd61
https://github.com/llvm/llvm-project/commit/0c89cbb484ca0df7678e16b710331a95314fbd61
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vec-strict-fptoint-128-fp16.ll
M llvm/test/CodeGen/X86/vec-strict-fptoint-256-fp16.ll
Log Message:
-----------
[X86][FP16] Widen 128/256-bit CVTTP2xI to 512-bit when VLX not enabled (#142763)
Commit: 1e5f7f64b0c1a816a460f02af9bd9a65f79184c3
https://github.com/llvm/llvm-project/commit/1e5f7f64b0c1a816a460f02af9bd9a65f79184c3
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/confused-dependence.ll
M llvm/test/Transforms/LoopInterchange/pr43326-ideal-access-pattern.ll
M llvm/test/Transforms/LoopInterchange/unique-dep-matrix.ll
Log Message:
-----------
[LoopInterchange] Handle confused dependence correctly (#140709)
This patch fixes the handling of a confused `Dependence` object. Such an
object doesn’t contain any information about dependencies, so we must
process it conservatively. However, it was converted into a direction
vector like `[I I ... I]`. As a result, it was treated as if there are
no loop-carried dependencies, which can lead to illegal loop exchanges.
Fixes #140238
Commit: 9d5e1449f7902329cdf448a1d238529836989582
https://github.com/llvm/llvm-project/commit/9d5e1449f7902329cdf448a1d238529836989582
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/ops.mlir
Log Message:
-----------
[mlir][tosa] Fix MulOp verifier handling for unranked operands (#141980)
The previous verifier checks did not correctly handle unranked operands.
For example, it could incorrectly assume the number of
`rankedOperandTypes` would be >= 2, which isn't the case when both a and
b are unranked.
This change simplifies these checks such that they only operate over the
intended a and b operands as opposed to the shift operand as well.
Commit: 100a1d0c4caad0d0f2ec26b07d3cc73f59b9a9a8
https://github.com/llvm/llvm-project/commit/100a1d0c4caad0d0f2ec26b07d3cc73f59b9a9a8
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/fabs.bf16.ll
Log Message:
-----------
[AMDGPU] Baseline fabs.bf16.ll tests. NFC. (#142907)
Commit: b6414b570f051d9e4d1334ec9aaa345cbffabaf1
https://github.com/llvm/llvm-project/commit/b6414b570f051d9e4d1334ec9aaa345cbffabaf1
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Target/Xtensa/XtensaISelDAGToDAG.cpp
Log Message:
-----------
Xtensa: Fix clang lifetime warning
Commit: 8c3019ecf4e849d1a9fc14559f06ac77d911ce13
https://github.com/llvm/llvm-project/commit/8c3019ecf4e849d1a9fc14559f06ac77d911ce13
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
A libclc/clc/include/clc/geometric/clc_fast_normalize.h
A libclc/clc/include/clc/geometric/clc_normalize.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/geometric/clc_fast_normalize.cl
A libclc/clc/lib/generic/geometric/clc_fast_normalize.inc
A libclc/clc/lib/generic/geometric/clc_normalize.cl
A libclc/clc/lib/generic/geometric/clc_normalize.inc
M libclc/opencl/lib/generic/geometric/fast_normalize.cl
R libclc/opencl/lib/generic/geometric/fast_normalize.inc
M libclc/opencl/lib/generic/geometric/normalize.cl
Log Message:
-----------
[libclc] Add (fast) normalize to CLC; add half overloads (#139759)
For simplicity the half overloads just call into the float versions of
the builtin. Otherwise there are no codegen changes to any target.
Commit: 8b167db63a9d86fb1c558925c3d76d782d78b034
https://github.com/llvm/llvm-project/commit/8b167db63a9d86fb1c558925c3d76d782d78b034
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/MacroFusion.cpp
Log Message:
-----------
[CodeGen] Fix a warning
This patch fixes:
llvm/lib/CodeGen/MacroFusion.cpp:65:12: error: unused variable
'FirstCluster' [-Werror,-Wunused-variable]
llvm/lib/CodeGen/MacroFusion.cpp:66:12: error: unused variable
'SecondCluster' [-Werror,-Wunused-variable]
Commit: 5e21f2b696bcad96e8ad5f284e70c1685ea8a44e
https://github.com/llvm/llvm-project/commit/5e21f2b696bcad96e8ad5f284e70c1685ea8a44e
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/vector.cpp
Log Message:
-----------
[CIR] Upstream TernaryOp for VectorType (#142393)
This change adds support for the Ternary op for VectorType
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: aa71344acdb1a861c1d74345a3fc80aef48bb4b3
https://github.com/llvm/llvm-project/commit/aa71344acdb1a861c1d74345a3fc80aef48bb4b3
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
A clang/test/CIR/Transforms/vector-shuffle-dynamic-fold.cir
Log Message:
-----------
[CIR] Implement folder for VecShuffleDynamicOp (#142315)
This change adds a folder for the VecShuffleDynamicOp
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: af82e50a77a2474d2ed5f209f3e29a2510fa9552
https://github.com/llvm/llvm-project/commit/af82e50a77a2474d2ed5f209f3e29a2510fa9552
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenValue.h
Log Message:
-----------
[CIR][NFCI] Update RValue class to reflect changes in classic CodeGen (#142779)
This changes clang::CIRGen::RValue to look like current
clang::CodeGen::RValue which was changed in
84780a/[#86923](https://github.com/llvm/llvm-project/issues/86923). This
should be NFC and is preliminary work for upstreaming builtin function
call support.
Commit: 4d683818a05026cd54af5ae94aaf14e0134a106f
https://github.com/llvm/llvm-project/commit/4d683818a05026cd54af5ae94aaf14e0134a106f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
A llvm/test/Transforms/VectorCombine/AArch64/ext-extract.ll
Log Message:
-----------
[VectorCombine] Add test cases for scalarizing extracts of extends.
Add test cases where scalarizing extracts of a zext can be profitable.
Commit: 40a7dce9efffcb06350490a98289d4519839c7d8
https://github.com/llvm/llvm-project/commit/40a7dce9efffcb06350490a98289d4519839c7d8
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
Log Message:
-----------
[AMDGPU] Remove duplicated/confusing helpers. NFCI (#142598)
Move canGuaranteeTCO and mayTailCallThisCC into AMDGPUBaseInfo instead
of keeping two copies for DAG/Global ISel.
Also remove isKernelCC, which doesn't agree with isKernel and doesn't
seem very useful.
While at it, also move all the CC-related helpers into AMDGPUBaseInfo.h and
mark them constexpr.
Commit: 0c1c60fa63d5225dca2406194ef32b2c05e1bf66
https://github.com/llvm/llvm-project/commit/0c1c60fa63d5225dca2406194ef32b2c05e1bf66
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/fabs.bf16.ll
Log Message:
-----------
[AMDGPU] Make <2 x bfloat> fabs legal (#142908)
Commit: 9b992f29e06b49b40587d01067ea6cd21b0d6562
https://github.com/llvm/llvm-project/commit/9b992f29e06b49b40587d01067ea6cd21b0d6562
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/fneg-fabs.bf16.ll
Log Message:
-----------
[AMDGPU] Baseline fneg-fabs.bf16.ll tests. NFC. (#142910)
Commit: 8094454ea1cbe2530a06f44443e08f923ab9de40
https://github.com/llvm/llvm-project/commit/8094454ea1cbe2530a06f44443e08f923ab9de40
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
R clang/test/Analysis/pch_crash.cpp
A clang/test/Analysis/pch_macro.cpp
Log Message:
-----------
[StaticAnalyzer] Fix tryExpandAsInteger's failures on PCH macros (#142722)
The function `tryExpandAsInteger` attempts to extract an integer from a
macro definition. Previously, the attempt would fail when the macro is
from a PCH, because the function tried to access the text buffer of the
source file, which does not exist in case of PCHs. The fix uses
`Preprocessor::getSpelling`, which works in either cases.
rdar://151403070
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: df4199c3a4cd458684dbbc15cb8eb76255080d2f
https://github.com/llvm/llvm-project/commit/df4199c3a4cd458684dbbc15cb8eb76255080d2f
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
A llvm/test/DebugInfo/X86/file-index-across-cu.ll
Log Message:
-----------
[DebugInfo] Use correct unit when creating variable across CU boundary (#133282)
When creating a static member DIE, we place it in a potentially
pre-existing context DIE, and that DIE might be located in a different
CU if we're in an LTO context. When we then add the source-file-ID to
the static member DIE, use the correct Unit to do so -- the one that
owns the context DIE. Otherwise we might assign a file-ID from one CU to
another, and there isn't a guarantee that they'll be the same file, or
even exist.
Fixes #109227
(I'd normally remove my home directory from these tests, but in this
circumstances the same-file-but-with-a-different-name nature of the
DIFile is part of the test).
Commit: 3737e7e273b168a66a54cc3861a9477ad8ed8c43
https://github.com/llvm/llvm-project/commit/3737e7e273b168a66a54cc3861a9477ad8ed8c43
Author: Mahesh-Attarde <mahesh.attarde at intel.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
A llvm/test/CodeGen/X86/isel-fabs-x87.ll
A llvm/test/CodeGen/X86/isel-fabs.ll
Log Message:
-----------
[X86][GlobalIsel] add test for fabs isel (#142558)
G_FABS Test update for https://github.com/llvm/llvm-project/pull/136718
---------
Co-authored-by: mattarde <mattarde at intel.com>
Commit: 7df458b4737edf385589ed79062079978d90200f
https://github.com/llvm/llvm-project/commit/7df458b4737edf385589ed79062079978d90200f
Author: Harald-R <rotuna.razvan at gmail.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M clang-tools-extra/clangd/IncludeCleaner.cpp
M clang-tools-extra/clangd/IncludeCleaner.h
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp
Log Message:
-----------
Follow style configuration in clangd when inserting missing includes (#140594)
The missing include diagnostic has the capability to introduce the
necessary headers into the source file. However, it does not currently
follow the inclusion style found in the `.clangd` file. For example, if
the file explicitly mentions that headers should be include with angled
brackets, they could be included with quotes instead. More details in
https://github.com/llvm/llvm-project/issues/138740. This PR fixes this
gap, so that the style configuration is followed.
Commit: 419d1c2adb93a52bdeba539c3ae763a12208577f
https://github.com/llvm/llvm-project/commit/419d1c2adb93a52bdeba539c3ae763a12208577f
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M clang/lib/Parse/ParseTentative.cpp
M clang/test/Interpreter/disambiguate-decl-stmt.cpp
Log Message:
-----------
Revert "[clang-repl] Ensure clang-repl accepts all C keywords supported in all language models (#142749) (#142933)
This broke CI on platforms such as PPC64LE and AIX due to _Float16 not being supported.
We will reintroduce the changes later with proper platform guards and tests.
This reverts commit 7ca7bcb7d8dcf26fc0281697fe47aa6cdb3884c0.
Commit: b6521e8bb9cb1d1edb43d983e81513fb32a3b382
https://github.com/llvm/llvm-project/commit/b6521e8bb9cb1d1edb43d983e81513fb32a3b382
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Semantics/OpenMP/task-depend.f90
Log Message:
-----------
[flang][OpenMP] Show error for task depend with no valid modifiers (#142595)
If a "TASK DEPEND" clause is not given a valid task dependece type
modifier, the semantic checks for the clause will result in an ICE
because they assume that such modifiers will be present. Check whether
the modifiers are present and show an appropriate error instead of
crashing the compiler if they are not.
Fixes llvm#133678.
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: 1bf1e6e40e79ad5dee42081bb153154f6e168d90
https://github.com/llvm/llvm-project/commit/1bf1e6e40e79ad5dee42081bb153154f6e168d90
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[LLVM][PatternMatch] Simplify m_VScale to only match against llvm.vscale(). (#142773)
The getelementptr based representation of vscale only existed to allow a
constant representation of vscale, which has long since been removed.
Commit: c3b8a15eab06fceb6f4d0f2a0f505d5290ff208a
https://github.com/llvm/llvm-project/commit/c3b8a15eab06fceb6f4d0f2a0f505d5290ff208a
Author: Bruno De Fraine <brunodf at synopsys.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/test/CodeGen/tbaa-array.cpp
Log Message:
-----------
[CodeGen] Add TBAA struct path info for array members (#137719)
This enables the LLVM optimizer to view accesses to distinct struct
members as independent, also for array members. For example, the
following two stores no longer alias:
struct S { int a[10]; int b; };
void test(S *p, int i) {
p->a[i] = ...;
p->b = ...;
}
Array members were already added to TBAA struct type nodes in commit
57493e29. Here, we extend a path tag for an array subscript expression.
Commit: 6955a7d134e75f69eb5b33f2d4183564790c6569
https://github.com/llvm/llvm-project/commit/6955a7d134e75f69eb5b33f2d4183564790c6569
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/test/Instrumentation/AddressSanitizer/vector-load-store.ll
M llvm/test/Instrumentation/BoundsChecking/simple.ll
M llvm/test/Instrumentation/MemorySanitizer/vector-load-store.ll
M llvm/test/Instrumentation/MemorySanitizer/vscale.ll
M llvm/test/Transforms/LoopVectorize/AArch64/eliminate-tail-predication.ll
M llvm/test/Transforms/LoopVectorize/AArch64/gather-do-not-vectorize-addressing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
Log Message:
-----------
[NFC][LLVM][Instrumentation][LoopVectorize] Regenerate test checks.
Commit: 91ab8320db977a143320d8afb96ea2de3b6df938
https://github.com/llvm/llvm-project/commit/91ab8320db977a143320d8afb96ea2de3b6df938
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineConcatVectorOps - pull out repeated getConstantOperandAPInt calls for the same EXTRACT_SUBVECTOR indices. NFC.
Commit: d88067c3410f5bf5d9b892ca421d58ec696b8b79
https://github.com/llvm/llvm-project/commit/d88067c3410f5bf5d9b892ca421d58ec696b8b79
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/matrix-multiply.ll
Log Message:
-----------
[X86] combineTargetShuffle - canonicalize vperm2x128(x,x)/vperm2x128(undef,x) -> vperm2x128(x,undef)
Improves fold matching for future patches.
Commit: 60808a45dcc14d84dc1bb61ca4968f79b7d88906
https://github.com/llvm/llvm-project/commit/60808a45dcc14d84dc1bb61ca4968f79b7d88906
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
A llvm/test/CodeGen/X86/avx512fp16-cvt-novl.ll
Log Message:
-----------
[X86][FP16] Add tests for inttofp without VLX, NFC (#142954)
Commit: a12f4f0031c5448df1563a499d6295fd06b979ff
https://github.com/llvm/llvm-project/commit/a12f4f0031c5448df1563a499d6295fd06b979ff
Author: flovent <144676429+flovent at users.noreply.github.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
Log Message:
-----------
[clang-tidy] Add check for assignment or comparision operators' operand in `readability-math-missing-parentheses` (#141345)
Fixes false negative in #141249.
Add check for math binary operators which are operands of assignment or
comparision operators.
Closes #141249.
Commit: b5e84ca7407138ec475409a2fad944045178b18a
https://github.com/llvm/llvm-project/commit/b5e84ca7407138ec475409a2fad944045178b18a
Author: Dan McGregor <dan.mcgregor at usask.ca>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
A clang/test/CodeGen/openmp-prefix-map.c
Log Message:
-----------
[Clang] Remap paths in OpenMP runtime calls (#82541) (#141250)
Apply the debug prefix mapping to the OpenMP location strings.
Fixes https://github.com/llvm/llvm-project/issues/82541
Commit: d979423fb05f9a574e5e068c86379940b4fb1a62
https://github.com/llvm/llvm-project/commit/d979423fb05f9a574e5e068c86379940b4fb1a62
Author: hev <wangrui at loongson.cn>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
A llvm/test/CodeGen/LoongArch/lasx/xvmskcond.ll
A llvm/test/CodeGen/LoongArch/lsx/vmskcond.ll
Log Message:
-----------
[LoongArch][NFC] Pre-commit for lowering vector mask generation to `[X]VMSK{LT,GE,NE}Z` (#142108)
Commit: ef60ee6005b36fd38afe2d21fa88436a59fd58d6
https://github.com/llvm/llvm-project/commit/ef60ee6005b36fd38afe2d21fa88436a59fd58d6
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachinePipeliner.h
M llvm/lib/CodeGen/MachinePipeliner.cpp
A llvm/test/CodeGen/AArch64/sms-loop-carried-fp-exceptions1.mir
A llvm/test/CodeGen/AArch64/sms-loop-carried-fp-exceptions2.mir
A llvm/test/CodeGen/Hexagon/swp-loop-carried-order-dep1.mir
A llvm/test/CodeGen/Hexagon/swp-loop-carried-order-dep2.mir
A llvm/test/CodeGen/Hexagon/swp-loop-carried-order-dep3.mir
A llvm/test/CodeGen/Hexagon/swp-loop-carried-order-dep4.mir
A llvm/test/CodeGen/Hexagon/swp-loop-carried-order-dep5.mir
A llvm/test/CodeGen/Hexagon/swp-loop-carried-order-dep6.mir
Log Message:
-----------
[MachinePipeliner] Introduce a new class for loop-carried deps (#137663)
In MachinePipeliner, loop-carried memory dependencies are represented by
DAG, which makes things complicated and causes some necessary
dependencies to be missing. This patch introduces a new class to manage
loop-carried memory dependencies to simplify the logic. The ultimate
goal is to add currently missing dependencies, but this is a first step
of that, and this patch doesn't intend to change current behavior. This
patch also adds new tests that show the missed dependencies, which
should be fixed in the future.
Split off from #135148
Commit: 2b3e07f4852dc4e9c3dbea89c138cfe902e30953
https://github.com/llvm/llvm-project/commit/2b3e07f4852dc4e9c3dbea89c138cfe902e30953
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
Log Message:
-----------
[utils][TableGen] Unify converting names to upper-camel case (#141762)
There were 3 different functions in DirectiveEmitter.cpp doing
essentially the same thing: taking a name separated with _ or whitepace,
and converting it to the upper-camel case. Extract that into a single
function that can handle different sets of separators.
Commit: e8d6a253c7cf9fec7f27c061e50dce8cbffd4d89
https://github.com/llvm/llvm-project/commit/e8d6a253c7cf9fec7f27c061e50dce8cbffd4d89
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-05 (Thu, 05 Jun 2025)
Changed paths:
M .ci/metrics/metrics.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M .github/CODEOWNERS
M .github/new-prs-labeler.yml
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/docs.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/pr-code-format.yml
M bolt/Maintainers.txt
M bolt/docs/Heatmaps.md
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/Heatmap.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/ADRRelaxationPass.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/Heatmap.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
A bolt/test/AArch64/adr-relaxation-fail.s
M bolt/test/AArch64/adr-relaxation.s
A bolt/test/AArch64/patch-ignored.s
M bolt/test/AArch64/r_aarch64_prelxx.s
M bolt/test/AArch64/test-indirect-branch.s
M bolt/test/AArch64/veneer-lld-abs.s
A bolt/test/X86/Inputs/pre-aggregated-basic.txt
M bolt/test/X86/entry-point-fallthru.s
M bolt/test/X86/heatmap-preagg.test
A bolt/test/X86/patch-ignored.s
M bolt/test/X86/pre-aggregated-perf.test
M bolt/test/link_fdata.py
R bolt/test/runtime/AArch64/adrrelaxationpass.s
M bolt/tools/heatmap/heatmap.cpp
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/assets/namespace-template.mustache
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-include-fixer/tool/ClangIncludeFixer.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/clang-tidy/openmp/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
M clang-tools-extra/clangd/ConfigYAML.cpp
M clang-tools-extra/clangd/IncludeCleaner.cpp
M clang-tools-extra/clangd/IncludeCleaner.h
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/deprecated-headers.rst
M clang-tools-extra/test/CMakeLists.txt
A clang-tools-extra/test/clang-doc/DR-141990.cpp
M clang-tools-extra/test/clang-doc/conversion_function.cpp
A clang-tools-extra/test/clang-doc/invalid-options.cpp
A clang-tools-extra/test/clang-doc/mustache-index.cpp
A clang-tools-extra/test/clang-doc/mustache-separate-namespace.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
M clang-tools-extra/unittests/clang-doc/HTMLMustacheGeneratorTest.cpp
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_cdb.py
M clang/cmake/caches/Apple-stage1.cmake
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SanitizerSpecialCaseList.rst
M clang/docs/UsersManual.rst
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtCXX.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/AArch64ACLETypes.def
M clang/include/clang/Basic/AddressSpaces.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/AttributeCommonInfo.h
M clang/include/clang/Basic/BuiltinHeaders.def
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/BuiltinsARM.def
M clang/include/clang/Basic/BuiltinsBase.td
R clang/include/clang/Basic/BuiltinsSPIRV.td
A clang/include/clang/Basic/BuiltinsSPIRVBase.td
A clang/include/clang/Basic/BuiltinsSPIRVCL.td
A clang/include/clang/Basic/BuiltinsSPIRVCommon.td
A clang/include/clang/Basic/BuiltinsSPIRVVK.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/NoSanitizeList.h
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/SanitizerSpecialCaseList.h
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/riscv_andes_vector.td
M clang/include/clang/CIR/CIRGenerator.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/ASTConsumers.h
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaSPIRV.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/APINotes/APINotesManager.cpp
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ByteCode/Boolean.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/Floating.h
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/Source.h
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/Dynamic/Parser.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/ASTMatchers/Dynamic/VariantValue.cpp
M clang/lib/ASTMatchers/GtestMatchers.cpp
M clang/lib/Analysis/AnalysisDeclContext.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/CFGReachabilityAnalysis.cpp
M clang/lib/Analysis/CallGraph.cpp
M clang/lib/Analysis/CalledOnceCheck.cpp
M clang/lib/Analysis/CloneDetection.cpp
M clang/lib/Analysis/CocoaConventions.cpp
M clang/lib/Analysis/Consumed.cpp
M clang/lib/Analysis/FlowSensitive/AdornedCFG.cpp
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Formula.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/FlowSensitive/Value.cpp
M clang/lib/Analysis/IssueHash.cpp
M clang/lib/Analysis/LiveVariables.cpp
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/Analysis/ReachableCode.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/lib/Analysis/ThreadSafetyTIL.cpp
M clang/lib/Analysis/UninitializedValues.cpp
M clang/lib/Analysis/plugins/CheckerDependencyHandling/CheckerDependencyHandling.cpp
M clang/lib/Analysis/plugins/CheckerOptionHandling/CheckerOptionHandling.cpp
M clang/lib/Basic/Attributes.cpp
M clang/lib/Basic/CodeGenOptions.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/ExpressionTraits.cpp
M clang/lib/Basic/FileEntry.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/FileSystemStatCache.cpp
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/NoSanitizeList.cpp
M clang/lib/Basic/ProfileList.cpp
M clang/lib/Basic/SanitizerSpecialCaseList.cpp
M clang/lib/Basic/Sanitizers.cpp
M clang/lib/Basic/Sarif.cpp
M clang/lib/Basic/SourceLocation.cpp
M clang/lib/Basic/TargetID.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/ARC.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/BPF.cpp
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/M68k.cpp
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/SPIR.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/TCE.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/Basic/Targets/Xtensa.cpp
M clang/lib/Basic/TypeTraits.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/Interfaces/CIROpInterfaces.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
A clang/lib/CodeGen/SanitizerHandler.h
M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/CodeGen/Targets/MSP430.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Format/DefinitionBlockSeparator.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/MacroExpander.cpp
M clang/lib/Format/ObjCPropertyAttributeOrderFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/SortJavaScriptImports.cpp
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/ASTConsumers.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/DiagnosticRenderer.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/LogDiagnosticPrinter.cpp
M clang/lib/Frontend/ModuleDependencyCollector.cpp
M clang/lib/Frontend/PrintPreprocessedOutput.cpp
M clang/lib/Frontend/Rewrite/FixItRewriter.cpp
M clang/lib/Frontend/Rewrite/FrontendActions.cpp
M clang/lib/Frontend/Rewrite/HTMLPrint.cpp
M clang/lib/Frontend/Rewrite/RewriteMacros.cpp
M clang/lib/Frontend/Rewrite/RewriteTest.cpp
M clang/lib/Frontend/SARIFDiagnosticPrinter.cpp
M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
M clang/lib/Frontend/SerializedDiagnosticReader.cpp
M clang/lib/Frontend/TestModuleFileExtension.cpp
M clang/lib/Frontend/TextDiagnostic.cpp
M clang/lib/Frontend/TextDiagnosticPrinter.cpp
M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/__clang_spirv_builtins.h
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/module.modulemap
M clang/lib/Index/CommentToXML.cpp
M clang/lib/Index/FileIndexRecord.cpp
M clang/lib/Index/IndexingAction.cpp
M clang/lib/Index/USRGeneration.cpp
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Lex/HeaderMap.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPExpressions.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLoongArch.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOpenCL.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaSPIRV.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/ModuleManager.cpp
M clang/lib/Serialization/TemplateArgumentHasher.cpp
M clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/lib/Tooling/CompilationDatabase.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/ExpandResponseFilesCompilationDatabase.cpp
M clang/lib/Tooling/FileMatchTrie.cpp
M clang/lib/Tooling/Inclusions/HeaderIncludes.cpp
M clang/lib/Tooling/Inclusions/Stdlib/StdSpecialSymbolMap.inc
M clang/lib/Tooling/JSONCompilationDatabase.cpp
M clang/lib/Tooling/Refactoring.cpp
M clang/lib/Tooling/Refactoring/ASTSelectionRequirements.cpp
M clang/lib/Tooling/Refactoring/Rename/RenamingAction.cpp
M clang/lib/Tooling/Refactoring/Rename/USRFinder.cpp
M clang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/lib/Tooling/Syntax/Mutations.cpp
M clang/lib/Tooling/Syntax/Tokens.cpp
M clang/lib/Tooling/Syntax/Tree.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/lib/Tooling/Transformer/Parsing.cpp
M clang/lib/Tooling/Transformer/RangeSelector.cpp
M clang/lib/Tooling/Transformer/RewriteRule.cpp
M clang/lib/Tooling/Transformer/Stencil.cpp
M clang/lib/Tooling/Transformer/Transformer.cpp
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/fixed-point.cpp
M clang/test/AST/ByteCode/placement-new.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/OutArgExpr.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/HLSL/ast-dump-comment-cbuffer.hlsl
M clang/test/AST/HLSL/cbuffer.hlsl
M clang/test/AST/HLSL/cbuffer_and_namespaces.hlsl
M clang/test/AST/HLSL/default_cbuffer.hlsl
M clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
M clang/test/AST/HLSL/is_typed_resource_element_compatible_concept.hlsl
M clang/test/AST/HLSL/packoffset.hlsl
M clang/test/AST/HLSL/pch.hlsl
M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
M clang/test/AST/HLSL/pch_with_buf.hlsl
M clang/test/AST/HLSL/private.hlsl
M clang/test/AST/HLSL/resource_binding_attr.hlsl
M clang/test/AST/HLSL/vector-constructors.hlsl
A clang/test/AST/ast-dump-aarch64-neon-types.c
M clang/test/AST/ast-dump-decl-json.c
M clang/test/AST/ast-dump-expr-json.cpp
M clang/test/AST/ast-dump-record-definition-data-json.cpp
M clang/test/AST/ast-dump-records-json.cpp
M clang/test/AST/attr-target-version.c
R clang/test/Analysis/pch_crash.cpp
A clang/test/Analysis/pch_macro.cpp
M clang/test/C/C23/n3037.c
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/basic.c
M clang/test/CIR/CodeGen/basic.cpp
A clang/test/CIR/CodeGen/binop.c
M clang/test/CIR/CodeGen/binop.cpp
M clang/test/CIR/CodeGen/call.cpp
A clang/test/CIR/CodeGen/class.cpp
A clang/test/CIR/CodeGen/deferred-defs.cpp
A clang/test/CIR/CodeGen/dso-local.c
A clang/test/CIR/CodeGen/inline-cxx-func.cpp
M clang/test/CIR/CodeGen/member-functions.cpp
M clang/test/CIR/CodeGen/namespace.cpp
M clang/test/CIR/CodeGen/string-literals.c
M clang/test/CIR/CodeGen/struct.c
M clang/test/CIR/CodeGen/struct.cpp
A clang/test/CIR/CodeGen/ternary.cpp
M clang/test/CIR/CodeGen/union.c
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/IR/array.cir
M clang/test/CIR/IR/global-var-linkage.cir
M clang/test/CIR/IR/global.cir
M clang/test/CIR/IR/invalid-call.cir
A clang/test/CIR/IR/invalid-vector-shift-wrong-result-type.cir
A clang/test/CIR/IR/invalid-vector-shuffle-dyn-wrong-operands.cir
M clang/test/CIR/IR/invalid-vector.cir
M clang/test/CIR/IR/struct.cir
M clang/test/CIR/IR/vector.cir
M clang/test/CIR/Lowering/array.cpp
M clang/test/CIR/Lowering/func-simple.cpp
M clang/test/CIR/Lowering/global-var-simple.cpp
M clang/test/CIR/Lowering/hello.c
A clang/test/CIR/Transforms/vector-shuffle-dynamic-fold.cir
M clang/test/CIR/global-var-linkage.cpp
M clang/test/CIR/global-var-simple.cpp
M clang/test/CXX/drs/cwg2149.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg27xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
M clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p3-0x.cpp
R clang/test/ClangScanDeps/export.c
M clang/test/ClangScanDeps/modules-pch-common-stale.c
M clang/test/ClangScanDeps/optimize-vfs-pch.m
A clang/test/CodeCompletion/GH139019.cpp
M clang/test/CodeGen/AArch64/fmv-detection.c
A clang/test/CodeGen/AArch64/fmv-duplicate-mangled-name.c
M clang/test/CodeGen/AArch64/fmv-features.c
M clang/test/CodeGen/AArch64/fmv-resolver-emission.c
A clang/test/CodeGen/AArch64/mixed-neon-types.c
M clang/test/CodeGen/AArch64/mixed-target-attributes.c
A clang/test/CodeGen/LoongArch/__fp16-convert.c
M clang/test/CodeGen/LoongArch/abi-lp64d.c
M clang/test/CodeGen/LoongArch/intrinsic-la32-error.c
M clang/test/CodeGen/LoongArch/intrinsic-la64-error.c
A clang/test/CodeGen/LoongArch/targetattr.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/nds_vd4dots.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/nds_vd4dotsu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/nds_vd4dotu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/nds_vd4dots.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/nds_vd4dotsu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/nds_vd4dotu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/nds_vd4dots.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/nds_vd4dotsu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/nds_vd4dotu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/nds_vd4dots.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/nds_vd4dotsu.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/nds_vd4dotu.c
A clang/test/CodeGen/arm-former-microsoft-intrinsics-header-warning.c
A clang/test/CodeGen/arm-former-microsoft-intrinsics.c
M clang/test/CodeGen/arm-microsoft-intrinsics.c
A clang/test/CodeGen/arm64-former-microsoft-intrinsics-header-warning.c
A clang/test/CodeGen/arm64-former-microsoft-intrinsics.c
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
A clang/test/CodeGen/asan-global-ignorelist.test
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version-riscv.c
M clang/test/CodeGen/builtins-arm-microsoft.c
A clang/test/CodeGen/cfi-unchecked-callee-attribute-member-function.cpp
A clang/test/CodeGen/cfi-unchecked-callee-attribute.cpp
A clang/test/CodeGen/openmp-prefix-map.c
M clang/test/CodeGen/sanitize-ignorelist-mainfile.c
M clang/test/CodeGen/tbaa-array.cpp
A clang/test/CodeGen/ubsan-function-debuginfo.c
A clang/test/CodeGen/ubsan-function-ignorelist.test
M clang/test/CodeGen/ubsan-src-ignorelist-category.test
M clang/test/CodeGen/ubsan-type-ignorelist-category-2.test
A clang/test/CodeGen/unsigned-promotion-debuginfo.c
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors-msvc.cpp
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-version-riscv.cpp
A clang/test/CodeGenCXX/builtin-get-vtable-pointer.cpp
M clang/test/CodeGenCXX/clang-abi-compat.cpp
M clang/test/CodeGenCXX/constructors.cpp
M clang/test/CodeGenCXX/mangle-itanium-ptrauth.cpp
A clang/test/CodeGenCXX/ms-mangle-requires.cpp
M clang/test/CodeGenCXX/vtable-layout.cpp
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/GlobalConstructors.hlsl
M clang/test/CodeGenHLSL/RootSignature.hlsl
M clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
M clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenHLSL/cbuffer_align.hlsl
M clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
M clang/test/CodeGenHLSL/convergence/global_array.hlsl
M clang/test/CodeGenHLSL/default_cbuffer.hlsl
M clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
M clang/test/CodeGenHLSL/inline-functions.hlsl
M clang/test/CodeGenHLSL/static-local-ctor.hlsl
A clang/test/CodeGenHLSL/vk-input-builtin.hlsl
A clang/test/CodeGenSPIRV/Builtins/generic_cast_to_ptr_explicit.c
M clang/test/DebugInfo/KeyInstructions/agg.c
M clang/test/DebugInfo/KeyInstructions/assign-scalar.c
M clang/test/DebugInfo/KeyInstructions/bitfield.cpp
A clang/test/DebugInfo/KeyInstructions/builtin.c
A clang/test/DebugInfo/KeyInstructions/cast.c
A clang/test/DebugInfo/KeyInstructions/coerced-packed.c
A clang/test/DebugInfo/KeyInstructions/coerced-ptr.c
A clang/test/DebugInfo/KeyInstructions/coerced-through-memory.c
A clang/test/DebugInfo/KeyInstructions/coerced.c
M clang/test/DebugInfo/KeyInstructions/complex.c
M clang/test/DebugInfo/KeyInstructions/do.c
A clang/test/DebugInfo/KeyInstructions/for-range.cpp
A clang/test/DebugInfo/KeyInstructions/for.c
M clang/test/DebugInfo/KeyInstructions/if.c
M clang/test/DebugInfo/KeyInstructions/init-agg.c
M clang/test/DebugInfo/KeyInstructions/init-member.cpp
M clang/test/DebugInfo/KeyInstructions/init-scalar.c
M clang/test/DebugInfo/KeyInstructions/init-static.cpp
M clang/test/DebugInfo/KeyInstructions/multi-func.c
A clang/test/DebugInfo/KeyInstructions/new.cpp
A clang/test/DebugInfo/KeyInstructions/return-va-arg.c
A clang/test/DebugInfo/KeyInstructions/return.c
M clang/test/DebugInfo/KeyInstructions/switch.c
M clang/test/DebugInfo/KeyInstructions/try-catch.cpp
M clang/test/DebugInfo/KeyInstructions/while.c
A clang/test/Driver/Inputs/spirv-openmp/lib/libomptarget-spirv.bc
R clang/test/Driver/Inputs/spirv-openmp/lib/libomptarget-spirv64.bc
M clang/test/Driver/Ofast.c
M clang/test/Driver/aix-print-runtime-dir.c
M clang/test/Driver/amdgpu-toolchain-opencl.cl
M clang/test/Driver/amdgpu-toolchain.c
M clang/test/Driver/cl-options.c
M clang/test/Driver/clang-translation.c
A clang/test/Driver/mips-cpus.c
M clang/test/Driver/offload-Xarch.c
A clang/test/Driver/print-enabled-extensions/riscv-sifive-x390.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Driver/spirv-openmp-toolchain.c
M clang/test/Driver/unsupported-option.c
A clang/test/FixIt/fixit-unused-lambda-capture-trailing-tokens.cpp
A clang/test/Frontend/cfi-unchecked-callee-attribute-n3037.c
A clang/test/Frontend/cfi-unchecked-callee-attribute.c
A clang/test/Frontend/cfi-unchecked-callee-attribute.cpp
A clang/test/Frontend/verify-gh141221.c
M clang/test/Headers/Inputs/include/stdint.h
A clang/test/Headers/crash-instantiated-in-scope-cxx-modules6.cpp
M clang/test/Headers/ms-intrin.cpp
A clang/test/Headers/spirv_functions.cpp
M clang/test/Index/c-index-api-loadTU-test.m
M clang/test/Interpreter/lambda.cpp
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M clang/test/Modules/check-for-sanitizer-feature.cpp
M clang/test/Modules/cxx20-force-check-input.cppm
M clang/test/Modules/explicit-build.cpp
M clang/test/Modules/fatal-module-loader-error.m
M clang/test/Modules/ignored_macros.m
M clang/test/Modules/load_failure.c
M clang/test/Modules/merge-target-features.cpp
M clang/test/Modules/mismatch-diagnostics.cpp
M clang/test/Modules/module-file-modified.c
M clang/test/Modules/module-imported-by-pch-path.m
M clang/test/Modules/module-pch-different-cache-path.c
A clang/test/Modules/objc-categories.cpp
M clang/test/Modules/pr62359.cppm
M clang/test/Modules/resolution-change.m
M clang/test/Modules/validate-file-content.m
M clang/test/OpenMP/atomic_messages.cpp
M clang/test/PCH/arc.m
M clang/test/PCH/fuzzy-pch.c
M clang/test/PCH/modified-module-dependency.m
M clang/test/PCH/module-hash-difference.m
M clang/test/PCH/ms-pch-macro.c
M clang/test/PCH/no-validate-pch.cl
M clang/test/PCH/validate-file-content.m
A clang/test/Parser/cxx-nested-name.cpp
M clang/test/ParserHLSL/cb_error.hlsl
M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
M clang/test/ParserHLSL/invalid_inside_cb.hlsl
A clang/test/ParserOpenACC/extensions.c
M clang/test/Preprocessor/predefined-macros.c
A clang/test/Preprocessor/riscv-target-features-andes.c
M clang/test/Preprocessor/riscv-target-features.c
A clang/test/Sema/assume.c
M clang/test/Sema/attr-target-clones-aarch64.c
A clang/test/Sema/attr-target-loongarch.c
A clang/test/Sema/builtin-pragma-intrinsic-namespace.cpp
M clang/test/Sema/builtins-elementwise-math.c
A clang/test/Sema/implicit-int-conversion-on-int.c
M clang/test/Sema/switch-availability.c
M clang/test/Sema/warn-fortify-source.c
A clang/test/Sema/zvk-target-attributes.c
M clang/test/SemaCXX/adl.cpp
M clang/test/SemaCXX/anonymous-struct.cpp
A clang/test/SemaCXX/builtin-get-vtable-pointer.cpp
M clang/test/SemaCXX/class-base-member-init.cpp
M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
M clang/test/SemaCXX/constructor.cpp
M clang/test/SemaCXX/coroutine-allocs.cpp
M clang/test/SemaCXX/ctad.cpp
M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx23-assume.cpp
M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
M clang/test/SemaCXX/deprecated-builtins.cpp
M clang/test/SemaCXX/incomplete-call.cpp
M clang/test/SemaCXX/lambda-unevaluated.cpp
M clang/test/SemaCXX/libstdcxx_common_type_hack.cpp
M clang/test/SemaCXX/libstdcxx_explicit_init_list_hack.cpp
M clang/test/SemaCXX/libstdcxx_pair_swap_hack.cpp
M clang/test/SemaCXX/member-pointer.cpp
M clang/test/SemaCXX/nested-name-spec.cpp
M clang/test/SemaCXX/no-exceptions.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaCXX/pointer-forward-declared-class-conversion.cpp
M clang/test/SemaCXX/pseudo-destructors.cpp
M clang/test/SemaCXX/return.cpp
M clang/test/SemaCXX/type-traits.cpp
R clang/test/SemaCXX/using-decl-pr4441.cpp
A clang/test/SemaCXX/using-decl.cpp
M clang/test/SemaCXX/virtual-override.cpp
M clang/test/SemaCXX/warn-infinite-recursion.cpp
A clang/test/SemaHLSL/BuiltIns/Buffers.hlsl
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/hlsl_resource_t.hlsl
M clang/test/SemaHLSL/Language/AggregateSplatCast-errors.hlsl
M clang/test/SemaHLSL/cb_error.hlsl
M clang/test/SemaHLSL/export.hlsl
M clang/test/SemaHLSL/packoffset-invalid.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_basic.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_resource.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_silence_diags.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_space.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_udt.hlsl
M clang/test/SemaHLSL/resource_binding_implicit.hlsl
A clang/test/SemaHLSL/vk-ext-input-builtin.hlsl
M clang/test/SemaObjCXX/arc-bridged-cast.mm
M clang/test/SemaOpenACC/combined-construct-copy-clause.c
M clang/test/SemaOpenACC/combined-construct-copyin-clause.c
M clang/test/SemaOpenACC/combined-construct-copyout-clause.c
M clang/test/SemaOpenACC/combined-construct-create-clause.c
M clang/test/SemaOpenACC/compute-construct-copy-clause.c
M clang/test/SemaOpenACC/compute-construct-copyin-clause.c
M clang/test/SemaOpenACC/compute-construct-copyout-clause.c
M clang/test/SemaOpenACC/compute-construct-create-clause.c
M clang/test/SemaOpenACC/data-construct-copy-clause.c
M clang/test/SemaOpenACC/data-construct-copyin-clause.c
M clang/test/SemaOpenACC/data-construct-copyout-clause.c
M clang/test/SemaOpenACC/data-construct-create-clause.c
M clang/test/SemaOpenACC/declare-construct.cpp
A clang/test/SemaSPIRV/BuiltIns/generic_cast_to_ptr_explicit.c
A clang/test/SemaSPIRV/BuiltIns/invalid_target_cl.c
A clang/test/SemaSPIRV/BuiltIns/invalid_target_vk.c
M clang/test/SemaTemplate/address_space-dependent.cpp
M clang/test/SemaTemplate/class-template-spec.cpp
M clang/test/SemaTemplate/concepts-recursive-inst.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/test/SemaTemplate/current-instantiation.cpp
M clang/test/SemaTemplate/cxx2a-constraint-exprs.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/test/SemaTemplate/dependent-base-classes.cpp
M clang/test/SemaTemplate/explicit-instantiation.cpp
M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
M clang/test/SemaTemplate/nested-name-spec-template.cpp
M clang/test/SemaTemplate/typename-specifier-4.cpp
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/driver/driver.cpp
M clang/unittests/CIR/PointerLikeTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M clang/unittests/Tooling/ToolingTest.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/www/cxx_dr_status.html
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
R compiler-rt/lib/builtins/aarch64/sme-libc-mem-routines.S
A compiler-rt/lib/builtins/aarch64/sme-libc-memcpy-memmove.c
A compiler-rt/lib/builtins/aarch64/sme-libc-memset-memchr.c
A compiler-rt/lib/builtins/aarch64/sme-libc-opt-memcpy-memmove.S
A compiler-rt/lib/builtins/aarch64/sme-libc-opt-memset-memchr.S
R compiler-rt/lib/builtins/aarch64/sme-libc-routines.c
M compiler-rt/lib/builtins/riscv/restore.S
M compiler-rt/lib/builtins/riscv/save.S
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/tests/interception_win_test.cpp
M compiler-rt/lib/lsan/lsan_common.cpp
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/sanitizer_common/sanitizer_file.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_solaris.cpp
M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
A compiler-rt/test/hwasan/TestCases/Posix/dlerror.cpp
A compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_fail.cpp
M compiler-rt/test/sanitizer_common/TestCases/Posix/sanitizer_set_report_path_test.cpp
M compiler-rt/test/sanitizer_common/android_commands/android_run.py
M flang-rt/include/flang-rt/runtime/format-implementation.h
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/reduction.cpp
M flang-rt/unittests/Runtime/NumericalFormatTest.cpp
M flang/docs/CMakeLists.txt
A flang/docs/CommandGuide/index.rst
M flang/docs/Extensions.md
M flang/docs/FIR/CreateFIRLangRef.py
M flang/docs/FlangDriver.md
M flang/docs/Preprocessing.md
M flang/docs/conf.py
M flang/include/flang/Common/format.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Lower/AbstractConverter.h
A flang/include/flang/Lower/Support/PrivateReductionUtils.h
M flang/include/flang/Lower/Support/Utils.h
M flang/include/flang/Optimizer/Builder/DirectivesCommon.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Parser/preprocessor.h
A flang/include/flang/Semantics/openmp-dsa.h
M flang/include/flang/Semantics/symbol.h
A flang/include/flang/Support/Flags.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/shape.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
R flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
R flang/lib/Lower/OpenMP/PrivateReductionUtils.h
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
A flang/lib/Lower/Support/PrivateReductionUtils.cpp
M flang/lib/Lower/Support/Utils.cpp
M flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/CMakeLists.txt
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/expression.cpp
A flang/lib/Semantics/openmp-dsa.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/runtime-type-info.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Support/CMakeLists.txt
A flang/lib/Support/Flags.cpp
A flang/test/Driver/Inputs/config-7.cfg
A flang/test/Driver/fcc_override.f90
A flang/test/Driver/predefined-macros-aarch64.f90
A flang/test/Driver/prefer-vector-width.f90
M flang/test/Evaluate/fold-spread.f90
M flang/test/Fir/array-coor.fir
M flang/test/Fir/arrayset.fir
M flang/test/Fir/arrexp.fir
M flang/test/Fir/box-offset-codegen.fir
M flang/test/Fir/box-typecode.fir
M flang/test/Fir/box.fir
M flang/test/Fir/boxproc.fir
M flang/test/Fir/commute.fir
M flang/test/Fir/coordinateof.fir
M flang/test/Fir/embox.fir
M flang/test/Fir/field-index.fir
M flang/test/Fir/ignore-missing-type-descriptor.fir
M flang/test/Fir/polymorphic.fir
M flang/test/Fir/rebox.fir
M flang/test/Fir/struct-passing-x86-64-byval.fir
M flang/test/Fir/target-rewrite-complex-10-x86.fir
M flang/test/Fir/target.fir
M flang/test/Fir/tbaa-codegen.fir
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/Integration/OpenMP/copyprivate.f90
M flang/test/Integration/debug-local-var-2.f90
M flang/test/Integration/unroll-loops.f90
M flang/test/Lower/HLFIR/unroll-loops.fir
M flang/test/Lower/OpenACC/acc-enter-data.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/distribute-standalone-private.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/equivalence.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-allocatable.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-simple.f90
M flang/test/Lower/OpenMP/Todo/omp-declarative-allocate.f90
M flang/test/Lower/OpenMP/allocatable-multiple-vars.f90
M flang/test/Lower/OpenMP/cfg-conversion-omp.private.f90
A flang/test/Lower/OpenMP/copyprivate4.f90
M flang/test/Lower/OpenMP/debug_info_conflict.f90
M flang/test/Lower/OpenMP/declare-mapper.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-firstprivate.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-private.f90
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-character-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-character.f90
M flang/test/Lower/OpenMP/delayed-privatization-default-init.f90
M flang/test/Lower/OpenMP/delayed-privatization-firstprivate.f90
M flang/test/Lower/OpenMP/delayed-privatization-lower-allocatable-to-llvm.f90
M flang/test/Lower/OpenMP/delayed-privatization-pointer.f90
M flang/test/Lower/OpenMP/delayed-privatization-private-firstprivate.f90
M flang/test/Lower/OpenMP/delayed-privatization-private.f90
M flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
M flang/test/Lower/OpenMP/delayed-privatization-reduction.f90
M flang/test/Lower/OpenMP/different_vars_lastprivate_barrier.f90
M flang/test/Lower/OpenMP/firstprivate-commonblock.f90
M flang/test/Lower/OpenMP/map-mapper.f90
M flang/test/Lower/OpenMP/private-commonblock.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
M flang/test/Lower/OpenMP/same_var_first_lastprivate.f90
A flang/test/Lower/OpenMP/task-depend-structure-component.f90
A flang/test/Lower/do_concurrent_delayed_locality.f90
A flang/test/Lower/do_concurrent_local_assoc_entity.f90
M flang/test/Lower/do_concurrent_local_default_init.f90
M flang/test/Lower/forall/character-1.f90
M flang/test/Lower/namelist.f90
A flang/test/Lower/volatile-openmp1.f90
M flang/test/Parser/OpenMP/declare-mapper-unparse.f90
M flang/test/Parser/OpenMP/metadirective-dirspec.f90
A flang/test/Preprocessing/bug890.F90
A flang/test/Preprocessing/counter.F90
M flang/test/Semantics/OpenMP/allocate-align01.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/allocate02.f90
M flang/test/Semantics/OpenMP/allocate03.f90
M flang/test/Semantics/OpenMP/allocate05.f90
M flang/test/Semantics/OpenMP/allocate06.f90
M flang/test/Semantics/OpenMP/allocate09.f90
M flang/test/Semantics/OpenMP/common-block.f90
M flang/test/Semantics/OpenMP/copyprivate03.f90
M flang/test/Semantics/OpenMP/copyprivate04.f90
A flang/test/Semantics/OpenMP/copyprivate05.f90
M flang/test/Semantics/OpenMP/declare-mapper-symbols.f90
M flang/test/Semantics/OpenMP/declare-mapper03.f90
A flang/test/Semantics/OpenMP/declare-simd-linear.f90
A flang/test/Semantics/OpenMP/declare-simd-uniform.f90
M flang/test/Semantics/OpenMP/default-clause.f90
R flang/test/Semantics/OpenMP/depend02.f90
M flang/test/Semantics/OpenMP/do05-positivecase.f90
M flang/test/Semantics/OpenMP/do20.f90
M flang/test/Semantics/OpenMP/forall.f90
M flang/test/Semantics/OpenMP/implicit-dsa.f90
M flang/test/Semantics/OpenMP/linear-clause01.f90
M flang/test/Semantics/OpenMP/reduction08.f90
M flang/test/Semantics/OpenMP/reduction09.f90
M flang/test/Semantics/OpenMP/reduction11.f90
M flang/test/Semantics/OpenMP/scan2.f90
M flang/test/Semantics/OpenMP/symbol01.f90
M flang/test/Semantics/OpenMP/symbol02.f90
M flang/test/Semantics/OpenMP/symbol03.f90
M flang/test/Semantics/OpenMP/symbol04.f90
M flang/test/Semantics/OpenMP/symbol05.f90
M flang/test/Semantics/OpenMP/symbol06.f90
M flang/test/Semantics/OpenMP/symbol07.f90
M flang/test/Semantics/OpenMP/symbol08.f90
M flang/test/Semantics/OpenMP/symbol09.f90
A flang/test/Semantics/OpenMP/task-depend.f90
A flang/test/Semantics/bug141807.f90
A flang/test/Semantics/bug869.f90
M flang/test/Semantics/cuf09.cuf
M flang/test/Semantics/deferred01.f90
M flang/test/Semantics/io09.f90
M flang/test/Semantics/resolve103.f90
M flang/test/Semantics/typeinfo01.f90
M flang/test/Transforms/constant-argument-globalisation.fir
A flang/test/Transforms/function-attrs-noalias.fir
M flang/test/Transforms/function-attrs.fir
M flang/tools/flang-driver/driver.cpp
M libc/cmake/modules/LLVMLibCArchitectures.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
A libc/config/darwin/aarch64/entrypoints.txt
A libc/config/darwin/aarch64/headers.txt
R libc/config/darwin/arm/entrypoints.txt
R libc/config/darwin/arm/headers.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/hdr/stdlib_overlay.h
M libc/include/math.yaml
M libc/include/wchar.yaml
M libc/src/__support/GPU/CMakeLists.txt
M libc/src/__support/GPU/allocator.cpp
A libc/src/__support/OSUtil/darwin/aarch64/CMakeLists.txt
A libc/src/__support/OSUtil/darwin/aarch64/syscall.h
R libc/src/__support/OSUtil/darwin/arm/CMakeLists.txt
R libc/src/__support/OSUtil/darwin/arm/syscall.h
M libc/src/__support/OSUtil/darwin/syscall.h
M libc/src/math/CMakeLists.txt
A libc/src/math/atanf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/atanf16.cpp
M libc/src/math/generic/hypotf16.cpp
M libc/src/poll/linux/poll.cpp
M libc/src/string/memccpy.cpp
M libc/src/string/memchr.cpp
M libc/src/string/memcmp.cpp
M libc/src/string/memcpy.cpp
M libc/src/string/memmove.cpp
M libc/src/string/mempcpy.cpp
M libc/src/string/memrchr.cpp
M libc/src/string/memset.cpp
M libc/src/string/stpncpy.cpp
M libc/src/string/strcasestr.cpp
M libc/src/string/strcat.cpp
M libc/src/string/strcoll.cpp
M libc/src/string/strcoll_l.cpp
M libc/src/string/strcpy.cpp
M libc/src/string/strlen.cpp
M libc/src/string/strncat.cpp
M libc/src/string/strncmp.cpp
M libc/src/string/strncpy.cpp
M libc/src/string/strsep.cpp
M libc/src/string/strspn.cpp
M libc/src/string/strstr.cpp
M libc/src/strings/rindex.cpp
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wcscat.cpp
A libc/src/wchar/wcscat.h
A libc/src/wchar/wcschr.cpp
A libc/src/wchar/wcschr.h
A libc/src/wchar/wcscmp.cpp
A libc/src/wchar/wcscmp.h
A libc/src/wchar/wcscpy.cpp
A libc/src/wchar/wcscpy.h
A libc/src/wchar/wcsncat.cpp
A libc/src/wchar/wcsncat.h
A libc/src/wchar/wcsncmp.cpp
A libc/src/wchar/wcsncmp.h
A libc/src/wchar/wcsncpy.cpp
A libc/src/wchar/wcsncpy.h
A libc/src/wchar/wcspbrk.cpp
A libc/src/wchar/wcspbrk.h
A libc/src/wchar/wcsrchr.cpp
A libc/src/wchar/wcsrchr.h
A libc/src/wchar/wcsspn.cpp
A libc/src/wchar/wcsspn.h
A libc/src/wchar/wcsstr.cpp
A libc/src/wchar/wcsstr.h
A libc/src/wchar/wmemchr.cpp
A libc/src/wchar/wmemchr.h
A libc/src/wchar/wmemcmp.cpp
A libc/src/wchar/wmemcmp.h
A libc/src/wchar/wmemcpy.cpp
A libc/src/wchar/wmemcpy.h
A libc/src/wchar/wmempcpy.cpp
A libc/src/wchar/wmempcpy.h
A libc/src/wchar/wmemset.cpp
A libc/src/wchar/wmemset.h
M libc/test/integration/src/stdlib/CMakeLists.txt
A libc/test/integration/src/stdlib/gpu/CMakeLists.txt
A libc/test/integration/src/stdlib/gpu/malloc.cpp
A libc/test/integration/src/stdlib/gpu/malloc_stress.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/atanf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/asin_test.cpp
A libc/test/src/math/smoke/atanf16_test.cpp
M libc/test/src/math/smoke/nan_test.cpp
M libc/test/src/math/smoke/nanf128_test.cpp
M libc/test/src/math/smoke/nanf16_test.cpp
M libc/test/src/math/smoke/nanf_test.cpp
M libc/test/src/math/smoke/nanl_test.cpp
M libc/test/src/stdfix/IdivTest.h
M libc/test/src/stdlib/malloc_test.cpp
M libc/test/src/string/memchr_test.cpp
M libc/test/src/string/memcmp_test.cpp
M libc/test/src/string/memcpy_test.cpp
M libc/test/src/string/memmove_test.cpp
M libc/test/src/string/mempcpy_test.cpp
M libc/test/src/string/memrchr_test.cpp
M libc/test/src/string/memset_test.cpp
M libc/test/src/string/stpncpy_test.cpp
M libc/test/src/string/strcat_test.cpp
M libc/test/src/string/strcoll_test.cpp
M libc/test/src/string/strcpy_test.cpp
M libc/test/src/string/strlcpy_test.cpp
M libc/test/src/string/strsep_test.cpp
M libc/test/src/string/strspn_test.cpp
M libc/test/src/sys/auxv/linux/CMakeLists.txt
M libc/test/src/sys/auxv/linux/getauxval_test.cpp
M libc/test/src/sys/mman/linux/CMakeLists.txt
M libc/test/src/sys/mman/linux/madvise_test.cpp
M libc/test/src/sys/mman/linux/mincore_test.cpp
M libc/test/src/sys/mman/linux/mlock_test.cpp
M libc/test/src/sys/mman/linux/mmap_test.cpp
M libc/test/src/sys/mman/linux/mprotect_test.cpp
M libc/test/src/sys/mman/linux/mremap_test.cpp
M libc/test/src/sys/mman/linux/msync_test.cpp
M libc/test/src/sys/mman/linux/posix_madvise_test.cpp
M libc/test/src/sys/mman/linux/remap_file_pages_test.cpp
M libc/test/src/sys/mman/linux/shm_test.cpp
M libc/test/src/sys/prctl/linux/CMakeLists.txt
M libc/test/src/sys/prctl/linux/prctl_test.cpp
M libc/test/src/sys/random/linux/CMakeLists.txt
M libc/test/src/sys/random/linux/getrandom_test.cpp
M libc/test/src/sys/resource/CMakeLists.txt
M libc/test/src/sys/resource/getrlimit_setrlimit_test.cpp
M libc/test/src/sys/select/CMakeLists.txt
M libc/test/src/sys/select/select_failure_test.cpp
M libc/test/src/sys/select/select_ui_test.cpp
M libc/test/src/sys/sendfile/CMakeLists.txt
M libc/test/src/sys/sendfile/sendfile_test.cpp
M libc/test/src/sys/stat/CMakeLists.txt
M libc/test/src/sys/stat/chmod_test.cpp
M libc/test/src/sys/stat/fchmod_test.cpp
M libc/test/src/sys/stat/fchmodat_test.cpp
M libc/test/src/sys/stat/fstat_test.cpp
M libc/test/src/sys/stat/lstat_test.cpp
M libc/test/src/sys/stat/mkdirat_test.cpp
M libc/test/src/sys/stat/stat_test.cpp
M libc/test/src/sys/statvfs/linux/CMakeLists.txt
M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
M libc/test/src/sys/statvfs/linux/statvfs_test.cpp
M libc/test/src/sys/time/utimes_test.cpp
M libc/test/src/sys/wait/CMakeLists.txt
M libc/test/src/sys/wait/wait4_test.cpp
M libc/test/src/sys/wait/waitpid_test.cpp
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wcscat_test.cpp
A libc/test/src/wchar/wcschr_test.cpp
A libc/test/src/wchar/wcscmp_test.cpp
A libc/test/src/wchar/wcscpy_test.cpp
A libc/test/src/wchar/wcsncat_test.cpp
A libc/test/src/wchar/wcsncmp_test.cpp
A libc/test/src/wchar/wcsncpy_test.cpp
A libc/test/src/wchar/wcspbrk_test.cpp
A libc/test/src/wchar/wcsrchr_test.cpp
A libc/test/src/wchar/wcsspn_test.cpp
A libc/test/src/wchar/wcsstr_test.cpp
A libc/test/src/wchar/wmemchr_test.cpp
A libc/test/src/wchar/wmemcmp_test.cpp
A libc/test/src/wchar/wmemcpy_test.cpp
A libc/test/src/wchar/wmempcpy_test.cpp
A libc/test/src/wchar/wmemset_test.cpp
M libclc/CMakeLists.txt
A libclc/clc/include/clc/async/clc_prefetch.h
A libclc/clc/include/clc/async/clc_prefetch.inc
A libclc/clc/include/clc/geometric/clc_fast_normalize.h
A libclc/clc/include/clc/geometric/clc_normalize.h
A libclc/clc/include/clc/shared/clc_less_aligned_types.h
A libclc/clc/include/clc/shared/clc_less_aligned_types.inc
A libclc/clc/include/clc/shared/clc_vload.h
A libclc/clc/include/clc/shared/clc_vload.inc
A libclc/clc/include/clc/shared/clc_vstore.h
A libclc/clc/include/clc/shared/clc_vstore.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/async/clc_prefetch.cl
A libclc/clc/lib/generic/async/clc_prefetch.inc
A libclc/clc/lib/generic/geometric/clc_fast_normalize.cl
A libclc/clc/lib/generic/geometric/clc_fast_normalize.inc
A libclc/clc/lib/generic/geometric/clc_normalize.cl
A libclc/clc/lib/generic/geometric/clc_normalize.inc
A libclc/clc/lib/generic/shared/clc_vload.cl
A libclc/clc/lib/generic/shared/clc_vload_half.inc
A libclc/clc/lib/generic/shared/clc_vstore.cl
A libclc/clc/lib/generic/shared/clc_vstore_half.inc
M libclc/opencl/lib/generic/async/prefetch.cl
M libclc/opencl/lib/generic/async/prefetch.inc
M libclc/opencl/lib/generic/geometric/fast_normalize.cl
R libclc/opencl/lib/generic/geometric/fast_normalize.inc
M libclc/opencl/lib/generic/geometric/normalize.cl
M libclc/opencl/lib/generic/shared/vload.cl
A libclc/opencl/lib/generic/shared/vload.inc
R libclc/opencl/lib/generic/shared/vload_half.inc
M libclc/opencl/lib/generic/shared/vstore.cl
A libclc/opencl/lib/generic/shared/vstore.inc
R libclc/opencl/lib/generic/shared/vstore_half.inc
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/__algorithm/shuffle.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/__charconv/from_chars_floating_point.h
M libcxx/include/__charconv/to_chars_floating_point.h
M libcxx/include/__chrono/exception.h
M libcxx/include/__chrono/file_clock.h
M libcxx/include/__chrono/steady_clock.h
M libcxx/include/__chrono/system_clock.h
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__config
M libcxx/include/__configuration/abi.h
M libcxx/include/__configuration/availability.h
M libcxx/include/__cxx03/__configuration/abi.h
M libcxx/include/__exception/exception.h
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__exception/nested_exception.h
M libcxx/include/__exception/operations.h
M libcxx/include/__exception/terminate.h
M libcxx/include/__expected/bad_expected_access.h
M libcxx/include/__filesystem/directory_entry.h
M libcxx/include/__filesystem/directory_iterator.h
M libcxx/include/__filesystem/filesystem_error.h
M libcxx/include/__filesystem/operations.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__filesystem/path_iterator.h
M libcxx/include/__filesystem/recursive_directory_iterator.h
M libcxx/include/__format/format_error.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__fwd/variant.h
M libcxx/include/__hash_table
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/__memory/align.h
M libcxx/include/__memory/compressed_pair.h
M libcxx/include/__memory/shared_count.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory_resource/memory_resource.h
M libcxx/include/__memory_resource/monotonic_buffer_resource.h
M libcxx/include/__memory_resource/synchronized_pool_resource.h
M libcxx/include/__memory_resource/unsynchronized_pool_resource.h
M libcxx/include/__mutex/mutex.h
M libcxx/include/__mutex/once_flag.h
M libcxx/include/__new/exceptions.h
M libcxx/include/__new/new_handler.h
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__ostream/print.h
M libcxx/include/__pstl/backends/libdispatch.h
M libcxx/include/__random/binomial_distribution.h
M libcxx/include/__random/random_device.h
M libcxx/include/__system_error/error_category.h
M libcxx/include/__system_error/error_code.h
M libcxx/include/__system_error/error_condition.h
M libcxx/include/__system_error/system_error.h
M libcxx/include/__system_error/throw_system_error.h
M libcxx/include/__thread/support/windows.h
M libcxx/include/__thread/this_thread.h
M libcxx/include/__thread/thread.h
M libcxx/include/__type_traits/common_reference.h
M libcxx/include/__type_traits/reference_constructs_from_temporary.h
M libcxx/include/__verbose_abort
M libcxx/include/any
M libcxx/include/barrier
M libcxx/include/bitset
M libcxx/include/codecvt
M libcxx/include/condition_variable
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/ios
M libcxx/include/istream
M libcxx/include/locale
M libcxx/include/mutex
M libcxx/include/optional
M libcxx/include/print
M libcxx/include/queue
M libcxx/include/regex
M libcxx/include/shared_mutex
M libcxx/include/sstream
M libcxx/include/stdexcept
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/strstream
M libcxx/include/tuple
M libcxx/include/typeinfo
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/include/version
M libcxx/src/algorithm.cpp
M libcxx/src/any.cpp
M libcxx/src/atomic.cpp
M libcxx/src/barrier.cpp
M libcxx/src/call_once.cpp
M libcxx/src/charconv.cpp
M libcxx/src/chrono.cpp
M libcxx/src/condition_variable.cpp
M libcxx/src/condition_variable_destructor.cpp
M libcxx/src/error_category.cpp
M libcxx/src/expected.cpp
M libcxx/src/experimental/chrono_exception.cpp
M libcxx/src/filesystem/directory_entry.cpp
M libcxx/src/filesystem/directory_iterator.cpp
M libcxx/src/filesystem/filesystem_clock.cpp
M libcxx/src/filesystem/filesystem_error.cpp
M libcxx/src/filesystem/operations.cpp
M libcxx/src/filesystem/path.cpp
M libcxx/src/fstream.cpp
M libcxx/src/functional.cpp
M libcxx/src/future.cpp
M libcxx/src/hash.cpp
M libcxx/src/ios.cpp
M libcxx/src/iostream.cpp
M libcxx/src/locale.cpp
M libcxx/src/memory.cpp
M libcxx/src/memory_resource.cpp
M libcxx/src/mutex.cpp
M libcxx/src/mutex_destructor.cpp
M libcxx/src/optional.cpp
M libcxx/src/ostream.cpp
M libcxx/src/print.cpp
M libcxx/src/random.cpp
M libcxx/src/random_shuffle.cpp
M libcxx/src/regex.cpp
M libcxx/src/shared_mutex.cpp
M libcxx/src/std_stream.h
M libcxx/src/stdexcept.cpp
M libcxx/src/string.cpp
M libcxx/src/strstream.cpp
M libcxx/src/support/win32/locale_win32.cpp
M libcxx/src/support/win32/thread_win32.cpp
M libcxx/src/system_error.cpp
M libcxx/src/thread.cpp
M libcxx/src/valarray.cpp
M libcxx/src/vector.cpp
M libcxx/src/verbose_abort.cpp
M libcxx/test/benchmarks/bitset.bench.cpp
M libcxx/test/libcxx/containers/container.adaptors/flat.multiset/insert_range.pass.cpp
M libcxx/test/libcxx/containers/container.adaptors/flat.set/insert_range.pass.cpp
M libcxx/test/libcxx/containers/container.adaptors/flat_helpers.h
M libcxx/test/libcxx/type_traits/no_specializations.verify.cpp
M libcxx/test/libcxx/utilities/tuple/tuple.tuple/tuple.cnstr/PR20855_tuple_ref_binding_diagnostics.verify.cpp
M libcxx/test/std/containers/Emplaceable.h
M libcxx/test/std/containers/associative/map/map.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/map/map.cons/deduct.verify.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/deduct.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.cons/deduct.verify.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct.verify.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/deduct.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/deduct.verify.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_cont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_rcont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_copy_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_cont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_rcont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_move_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/assign_copy.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/assign_move.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp_container.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp_rcontainer.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_copy.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_default.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp_cont.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp_rcont.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_move.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/emplace.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/empty.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/pop.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/push.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/push_rvalue.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/size.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/swap.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/top.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.special/swap.pass.cpp
M libcxx/test/std/containers/exception_safety_helpers.h
M libcxx/test/std/containers/sequences/forwardlist/exception_safety.pass.cpp
M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/deduct.pass.cpp
M libcxx/test/std/containers/unord/unord.map/unord.map.cnstr/deduct.verify.cpp
M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/deduct.pass.cpp
M libcxx/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/deduct.verify.cpp
M libcxx/test/std/input.output/iostream.forward/iosfwd.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.readable/indirectly_readable.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/queue.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/shrink_to_fit.pass.cpp
M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.ctor/pointer_deleter.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/PR20855_tuple_ref_binding_diagnostics.pass.cpp
M libcxx/test/support/any_helpers.h
M libcxx/test/support/msvc_stdlib_force_include.h
M libcxx/test/tools/clang_tidy_checks/hide_from_abi.cpp
M libcxx/utils/generate_feature_test_macro_components.py
M libcxxabi/src/demangle/cp-to-llvm.sh
A libcxxabi/test/DemangleTestCases.inc
M libcxxabi/test/itanium_demangle_matches_llvm.sh.test
M libcxxabi/test/test_demangle.pass.cpp
M libunwind/src/CMakeLists.txt
M libunwind/src/UnwindCursor.hpp
M lld/COFF/InputFiles.cpp
M lld/COFF/SymbolTable.cpp
M lld/Common/CMakeLists.txt
A lld/Common/Utils.cpp
M lld/ELF/BPSectionOrderer.cpp
M lld/ELF/ScriptParser.cpp
M lld/ELF/SyntheticSections.cpp
M lld/MachO/BPSectionOrderer.cpp
M lld/MachO/DriverUtils.cpp
M lld/MachO/SectionPriorities.cpp
M lld/include/lld/Common/BPSectionOrdererBase.inc
A lld/include/lld/Common/Utils.h
A lld/test/COFF/link-dll-arm64ec.s
A lld/test/COFF/stdcall-alias.s
M lld/test/ELF/aarch64-feature-gcs.s
M lld/test/ELF/linkerscript/locationcountererr-arm-exidx.test
A lld/test/MachO/order-file-strip-hashes.s
M lld/wasm/InputChunks.cpp
M lldb/bindings/interface/SBBreakpointExtensions.i
M lldb/bindings/interface/SBBreakpointLocationExtensions.i
M lldb/bindings/interface/SBBreakpointNameExtensions.i
M lldb/cmake/modules/AddLLDB.cmake
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/use/variable.rst
M lldb/include/lldb/API/SBTypeSummary.h
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/DemangledNameInfo.h
M lldb/include/lldb/Core/FormatEntity.h
M lldb/include/lldb/Core/Telemetry.h
M lldb/include/lldb/DataFormatters/FormatClasses.h
M lldb/include/lldb/DataFormatters/FormatManager.h
M lldb/include/lldb/DataFormatters/FormattersContainer.h
M lldb/include/lldb/DataFormatters/TypeFormat.h
M lldb/include/lldb/DataFormatters/TypeSummary.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/Expression/DiagnosticManager.h
A lldb/include/lldb/Host/aix/Support.h
M lldb/include/lldb/Interpreter/CommandInterpreter.h
M lldb/include/lldb/Interpreter/OptionValue.h
M lldb/include/lldb/Interpreter/OptionValueFormatEntity.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/include/lldb/Symbol/VariableList.h
M lldb/include/lldb/Target/Language.h
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Target/UnixSignals.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/lldb/ValueObject/ValueObjectConstResult.h
M lldb/include/lldb/ValueObject/ValueObjectConstResultChild.h
M lldb/include/lldb/ValueObject/ValueObjectConstResultImpl.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/source/API/CMakeLists.txt
M lldb/source/API/SBInstruction.cpp
M lldb/source/API/SBPlatform.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/API/SBTypeSummary.cpp
M lldb/source/API/SBValue.cpp
M lldb/source/Breakpoint/CMakeLists.txt
M lldb/source/Commands/CMakeLists.txt
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectDisassemble.cpp
M lldb/source/Commands/CommandObjectLanguage.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Disassembler.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/Statusline.cpp
M lldb/source/Core/Telemetry.cpp
M lldb/source/DataFormatters/CMakeLists.txt
M lldb/source/DataFormatters/CXXFunctionPointer.cpp
M lldb/source/DataFormatters/FormatManager.cpp
M lldb/source/DataFormatters/FormattersHelpers.cpp
M lldb/source/DataFormatters/TypeCategoryMap.cpp
M lldb/source/DataFormatters/TypeFormat.cpp
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/source/DataFormatters/ValueObjectPrinter.cpp
M lldb/source/Expression/CMakeLists.txt
M lldb/source/Expression/Materializer.cpp
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/aix/Host.cpp
M lldb/source/Host/aix/HostInfoAIX.cpp
A lldb/source/Host/aix/Support.cpp
M lldb/source/Host/macosx/objcxx/CMakeLists.txt
M lldb/source/Initialization/CMakeLists.txt
M lldb/source/Interpreter/CMakeLists.txt
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/source/Interpreter/Interfaces/CMakeLists.txt
M lldb/source/Interpreter/OptionValue.cpp
M lldb/source/Plugins/ABI/AArch64/CMakeLists.txt
M lldb/source/Plugins/ABI/ARC/CMakeLists.txt
M lldb/source/Plugins/ABI/ARM/CMakeLists.txt
M lldb/source/Plugins/ABI/Hexagon/CMakeLists.txt
M lldb/source/Plugins/ABI/LoongArch/CMakeLists.txt
M lldb/source/Plugins/ABI/MSP430/CMakeLists.txt
M lldb/source/Plugins/ABI/Mips/CMakeLists.txt
M lldb/source/Plugins/ABI/PowerPC/CMakeLists.txt
M lldb/source/Plugins/ABI/RISCV/CMakeLists.txt
M lldb/source/Plugins/ABI/SystemZ/CMakeLists.txt
M lldb/source/Plugins/ABI/X86/CMakeLists.txt
M lldb/source/Plugins/Architecture/AArch64/CMakeLists.txt
M lldb/source/Plugins/Architecture/Arm/CMakeLists.txt
M lldb/source/Plugins/Architecture/Mips/CMakeLists.txt
M lldb/source/Plugins/Architecture/PPC64/CMakeLists.txt
M lldb/source/Plugins/Disassembler/LLVMC/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/HexagonDYLDRendezvous.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/Windows-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/wasm-DYLD/CMakeLists.txt
M lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.h
M lldb/source/Plugins/Instruction/ARM/CMakeLists.txt
M lldb/source/Plugins/Instruction/ARM64/CMakeLists.txt
M lldb/source/Plugins/Instruction/LoongArch/CMakeLists.txt
M lldb/source/Plugins/Instruction/MIPS/CMakeLists.txt
M lldb/source/Plugins/Instruction/MIPS64/CMakeLists.txt
M lldb/source/Plugins/Instruction/PPC64/CMakeLists.txt
M lldb/source/Plugins/Instruction/RISCV/CMakeLists.txt
M lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/CMakeLists.txt
M lldb/source/Plugins/InstrumentationRuntime/UBSan/CMakeLists.txt
M lldb/source/Plugins/JITLoader/GDB/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/ClangCommon/CMakeLists.txt
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/CMakeLists.txt
M lldb/source/Plugins/LanguageRuntime/ObjC/GNUstepObjCRuntime/CMakeLists.txt
M lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
M lldb/source/Plugins/ObjectContainer/BSD-Archive/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/Breakpad/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/COFF/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/ELF/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/JSON/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/Mach-O/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Minidump/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/PDB/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/PECOFF/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/Placeholder/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/XCOFF/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
M lldb/source/Plugins/ObjectFile/wasm/CMakeLists.txt
M lldb/source/Plugins/Platform/Android/CMakeLists.txt
M lldb/source/Plugins/Platform/FreeBSD/CMakeLists.txt
M lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
M lldb/source/Plugins/Platform/Linux/PlatformLinux.h
M lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt
M lldb/source/Plugins/Platform/MacOSX/objcxx/CMakeLists.txt
M lldb/source/Plugins/Platform/QemuUser/CMakeLists.txt
M lldb/source/Plugins/Platform/Windows/CMakeLists.txt
M lldb/source/Plugins/Process/AIX/CMakeLists.txt
M lldb/source/Plugins/Process/FreeBSD/CMakeLists.txt
M lldb/source/Plugins/Process/FreeBSDKernel/CMakeLists.txt
M lldb/source/Plugins/Process/FreeBSDKernel/ThreadFreeBSDKernel.cpp
M lldb/source/Plugins/Process/Linux/CMakeLists.txt
M lldb/source/Plugins/Process/Linux/Procfs.cpp
M lldb/source/Plugins/Process/NetBSD/CMakeLists.txt
M lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp
M lldb/source/Plugins/Process/POSIX/CMakeLists.txt
M lldb/source/Plugins/Process/Utility/CMakeLists.txt
M lldb/source/Plugins/Process/Utility/LinuxSignals.cpp
M lldb/source/Plugins/Process/Windows/Common/CMakeLists.txt
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/elf-core/CMakeLists.txt
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
M lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
M lldb/source/Plugins/Process/elf-core/ThreadElfCore.h
M lldb/source/Plugins/Process/gdb-remote/CMakeLists.txt
M lldb/source/Plugins/Process/mach-core/CMakeLists.txt
M lldb/source/Plugins/Process/minidump/CMakeLists.txt
M lldb/source/Plugins/Process/scripted/CMakeLists.txt
M lldb/source/Plugins/REPL/Clang/CMakeLists.txt
M lldb/source/Plugins/RegisterTypeBuilder/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/Breakpad/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
M lldb/source/Plugins/SymbolFile/PDB/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h
M lldb/source/Plugins/Trace/intel-pt/CMakeLists.txt
M lldb/source/Plugins/TraceExporter/ctf/CMakeLists.txt
M lldb/source/Plugins/TypeSystem/Clang/CMakeLists.txt
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Plugins/UnwindAssembly/x86/CMakeLists.txt
M lldb/source/Symbol/CMakeLists.txt
M lldb/source/Symbol/SaveCoreOptions.cpp
M lldb/source/Symbol/SymbolFileOnDemand.cpp
M lldb/source/Target/CMakeLists.txt
M lldb/source/Target/Process.cpp
M lldb/source/Target/ScriptedThreadPlan.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanTracer.cpp
M lldb/source/Target/UnixSignals.cpp
M lldb/source/Utility/CMakeLists.txt
M lldb/source/ValueObject/CMakeLists.txt
M lldb/source/ValueObject/ValueObject.cpp
M lldb/source/ValueObject/ValueObjectChild.cpp
M lldb/source/ValueObject/ValueObjectConstResult.cpp
M lldb/source/ValueObject/ValueObjectConstResultChild.cpp
M lldb/source/ValueObject/ValueObjectConstResultImpl.cpp
M lldb/source/ValueObject/ValueObjectVTable.cpp
A lldb/test/API/commands/command/language/Makefile
A lldb/test/API/commands/command/language/TestFrameLanguageCommands.py
A lldb/test/API/commands/command/language/commands.py
A lldb/test/API/commands/command/language/lib.cpp
A lldb/test/API/commands/command/language/main.mm
M lldb/test/API/commands/expression/import-std-module/array/TestArrayFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/deque-basic/TestDequeFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/TestDbgInfoContentDequeFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/forward_list-dbg-info-content/TestDbgInfoContentForwardListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/forward_list/TestForwardListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/iterator/TestIteratorFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/list-dbg-info-content/TestDbgInfoContentListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/list/TestListFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/non-module-type-separation/TestNonModuleTypeSeparation.py
M lldb/test/API/commands/expression/import-std-module/shared_ptr-dbg-info-content/TestSharedPtrDbgInfoContentFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/shared_ptr/TestSharedPtrFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/TestDbgInfoContentVectorFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/weak_ptr-dbg-info-content/TestDbgInfoContentWeakPtrFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/weak_ptr/TestWeakPtrFromStdModule.py
M lldb/test/API/commands/frame/var-dil/basics/ArraySubscript/TestFrameVarDILArraySubscript.py
M lldb/test/API/functionalities/breakpoint/breakpoint_ignore_count/TestBreakpointIgnoreCount.py
M lldb/test/API/functionalities/breakpoint/breakpoint_names/TestBreakpointNames.py
M lldb/test/API/functionalities/breakpoint/consecutive_breakpoints/TestConsecutiveBreakpoints.py
M lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSError.py
A lldb/test/API/functionalities/data-formatter/data-formatter-ptr-matching/Makefile
A lldb/test/API/functionalities/data-formatter/data-formatter-ptr-matching/TestDataFormatterPtrMatching.py
A lldb/test/API/functionalities/data-formatter/data-formatter-ptr-matching/main.cpp
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
M lldb/test/API/functionalities/stop-on-sharedlibrary-load/TestStopOnSharedlibraryEvents.py
M lldb/test/API/functionalities/thread/jump/TestThreadJump.py
A lldb/test/API/lang/cpp/decl-from-submodule/Makefile
A lldb/test/API/lang/cpp/decl-from-submodule/TestDeclFromSubmodule.py
A lldb/test/API/lang/cpp/decl-from-submodule/TopLevel/module1.h
A lldb/test/API/lang/cpp/decl-from-submodule/TopLevel/module2.h
A lldb/test/API/lang/cpp/decl-from-submodule/main.cpp
A lldb/test/API/lang/cpp/decl-from-submodule/module.modulemap
M lldb/test/API/lang/cpp/gmodules/template-with-same-arg/TestTemplateWithSameArg.py
M lldb/test/API/lang/cpp/gmodules/template-with-same-arg/main.cpp
M lldb/test/API/lang/objc/objc-po-hint/TestObjcPoHint.py
M lldb/test/API/python_api/value/TestValueAPI.py
M lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attachByPortNum.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setFunctionBreakpoints.py
M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
M lldb/test/API/tools/lldb-dap/disassemble/main.c
M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
M lldb/test/API/tools/lldb-dap/optimized/TestDAP_optimized.py
M lldb/test/API/tools/lldb-dap/server/TestDAP_server.py
M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
M lldb/test/API/tools/lldb-dap/threads/Makefile
M lldb/test/API/tools/lldb-dap/threads/TestDAP_threads.py
R lldb/test/API/tools/lldb-dap/threads/main.c
A lldb/test/API/tools/lldb-dap/threads/main.cpp
A lldb/test/Shell/Commands/command-image-dump-ast.test
A lldb/test/Shell/Commands/command-process-save-core-not-a-plugin.test
A lldb/test/Shell/Driver/TestWaitFor.test
A lldb/test/Shell/Expr/TestClangModulesDeclLookup.test
A lldb/test/Shell/Process/Windows/msstl_smoke.cpp
A lldb/test/Shell/Register/Core/Inputs/tkill.cpp
A lldb/test/Shell/Register/Core/Inputs/x86-64-linux-tkill.core
A lldb/test/Shell/Register/Core/x86-64-linux-tkill.test
M lldb/test/Shell/Settings/TestCxxFrameFormatRecursive.test
M lldb/test/Shell/helper/build.py
M lldb/tools/debugserver/source/CMakeLists.txt
M lldb/tools/debugserver/source/RNBRemote.cpp
M lldb/tools/driver/CMakeLists.txt
M lldb/tools/driver/Driver.cpp
M lldb/tools/driver/Options.td
M lldb/tools/intel-features/intel-mpx/CMakeLists.txt
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/DisconnectRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LocationsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/NextRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetExceptionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepInRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepOutRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.h
A lldb/tools/lldb-dap/ProtocolUtils.cpp
A lldb/tools/lldb-dap/ProtocolUtils.h
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
M lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
M lldb/tools/lldb-instr/CMakeLists.txt
M lldb/tools/lldb-server/CMakeLists.txt
M lldb/tools/lldb-test/CMakeLists.txt
M lldb/unittests/Breakpoint/CMakeLists.txt
M lldb/unittests/Callback/CMakeLists.txt
M lldb/unittests/Core/CMakeLists.txt
M lldb/unittests/Core/DebuggerTest.cpp
M lldb/unittests/Core/MangledTest.cpp
M lldb/unittests/DAP/CMakeLists.txt
M lldb/unittests/DataFormatter/CMakeLists.txt
M lldb/unittests/Disassembler/CMakeLists.txt
M lldb/unittests/Host/HostInfoTest.cpp
M lldb/unittests/Host/HostTest.cpp
M lldb/unittests/Host/posix/SupportTest.cpp
M lldb/unittests/Instruction/CMakeLists.txt
M lldb/unittests/ObjectFile/MachO/TestObjectFileMachO.cpp
M lldb/unittests/OperatingSystem/CMakeLists.txt
M lldb/unittests/Platform/CMakeLists.txt
M lldb/unittests/Process/Linux/ProcfsTests.cpp
M lldb/unittests/Process/elf-core/CMakeLists.txt
M lldb/unittests/Process/gdb-remote/CMakeLists.txt
M lldb/unittests/Process/minidump/CMakeLists.txt
M lldb/unittests/ScriptInterpreter/Lua/CMakeLists.txt
M lldb/unittests/ScriptInterpreter/Python/CMakeLists.txt
M lldb/unittests/Signals/UnixSignalsTest.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
M lldb/unittests/SymbolFile/DWARF/CMakeLists.txt
M lldb/unittests/SymbolFile/NativePDB/CMakeLists.txt
M lldb/unittests/SymbolFile/PDB/CMakeLists.txt
M lldb/unittests/Target/CMakeLists.txt
M lldb/unittests/TestingSupport/CMakeLists.txt
M lldb/unittests/TestingSupport/Symbol/CMakeLists.txt
M lldb/unittests/UnwindAssembly/ARM64/CMakeLists.txt
M lldb/unittests/UnwindAssembly/PPC64/CMakeLists.txt
M lldb/unittests/UnwindAssembly/x86-but-no-x86-target/CMakeLists.txt
M lldb/unittests/UnwindAssembly/x86/CMakeLists.txt
M lldb/unittests/Utility/CMakeLists.txt
M lldb/unittests/ValueObject/CMakeLists.txt
M lldb/unittests/debugserver/CMakeLists.txt
M lldb/unittests/tools/lldb-server/tests/CMakeLists.txt
M llvm/CMakeLists.txt
M llvm/cmake/config-ix.cmake
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CommandGuide/lit.rst
M llvm/docs/LangRef.rst
M llvm/docs/MLGO.rst
M llvm/docs/Passes.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/ResponseGuide.rst
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/GenericUniformityImpl.h
M llvm/include/llvm/ADT/StringExtras.h
M llvm/include/llvm/ADT/bit.h
M llvm/include/llvm/Analysis/DXILResource.h
A llvm/include/llvm/Analysis/HashRecognize.h
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Analysis/LoopUnrollAnalyzer.h
M llvm/include/llvm/Analysis/MemoryProfileInfo.h
M llvm/include/llvm/Analysis/Passes.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/Analysis/WithCache.h
M llvm/include/llvm/AsmParser/Parser.h
M llvm/include/llvm/BinaryFormat/AMDGPUMetadataVerifier.h
M llvm/include/llvm/BinaryFormat/COFF.h
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/BinaryFormat/MachO.h
M llvm/include/llvm/BinaryFormat/Magic.h
M llvm/include/llvm/BinaryFormat/MsgPackDocument.h
M llvm/include/llvm/BinaryFormat/MsgPackReader.h
M llvm/include/llvm/BinaryFormat/MsgPackWriter.h
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/BinaryFormat/XCOFF.h
M llvm/include/llvm/Bitcode/BitcodeAnalyzer.h
M llvm/include/llvm/Bitcode/BitcodeReader.h
M llvm/include/llvm/Bitcode/BitcodeWriter.h
M llvm/include/llvm/Bitcode/BitcodeWriterPass.h
M llvm/include/llvm/Bitstream/BitstreamReader.h
M llvm/include/llvm/CGData/CodeGenData.h
M llvm/include/llvm/CGData/CodeGenDataReader.h
M llvm/include/llvm/CGData/CodeGenDataWriter.h
M llvm/include/llvm/CGData/OutlinedHashTree.h
M llvm/include/llvm/CGData/OutlinedHashTreeRecord.h
M llvm/include/llvm/CGData/StableFunctionMap.h
M llvm/include/llvm/CGData/StableFunctionMapRecord.h
M llvm/include/llvm/CodeGen/AccelTable.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/AsmPrinterHandler.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/CallingConvLower.h
M llvm/include/llvm/CodeGen/CodeGenTargetMachineImpl.h
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/CodeGen/DIE.h
M llvm/include/llvm/CodeGen/DroppedVariableStatsMIR.h
M llvm/include/llvm/CodeGen/GCMetadata.h
M llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/CSEMIRBuilder.h
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h
M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
M llvm/include/llvm/CodeGen/GlobalISel/LegacyLegalizerInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/LoadStoreOpt.h
M llvm/include/llvm/CodeGen/GlobalISel/LostDebugLocObserver.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/LexicalScopes.h
M llvm/include/llvm/CodeGen/LiveInterval.h
M llvm/include/llvm/CodeGen/LiveIntervalCalc.h
M llvm/include/llvm/CodeGen/LiveIntervals.h
M llvm/include/llvm/CodeGen/LiveRangeCalc.h
M llvm/include/llvm/CodeGen/LiveRegUnits.h
M llvm/include/llvm/CodeGen/LiveVariables.h
M llvm/include/llvm/CodeGen/LowLevelTypeUtils.h
M llvm/include/llvm/CodeGen/MIRFormatter.h
M llvm/include/llvm/CodeGen/MIRParser/MIRParser.h
M llvm/include/llvm/CodeGen/MIRPrinter.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineBlockFrequencyInfo.h
M llvm/include/llvm/CodeGen/MachineCycleAnalysis.h
M llvm/include/llvm/CodeGen/MachineDomTreeUpdater.h
M llvm/include/llvm/CodeGen/MachineDominators.h
M llvm/include/llvm/CodeGen/MachineFrameInfo.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h
M llvm/include/llvm/CodeGen/MachineFunctionAnalysisManager.h
M llvm/include/llvm/CodeGen/MachineFunctionPass.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
M llvm/include/llvm/CodeGen/MachineInstrBundle.h
M llvm/include/llvm/CodeGen/MachineJumpTableInfo.h
M llvm/include/llvm/CodeGen/MachineLoopInfo.h
M llvm/include/llvm/CodeGen/MachineMemOperand.h
M llvm/include/llvm/CodeGen/MachineModuleInfo.h
M llvm/include/llvm/CodeGen/MachineModuleSlotTracker.h
M llvm/include/llvm/CodeGen/MachineOperand.h
M llvm/include/llvm/CodeGen/MachineOptimizationRemarkEmitter.h
M llvm/include/llvm/CodeGen/MachinePassManager.h
M llvm/include/llvm/CodeGen/MachinePipeliner.h
M llvm/include/llvm/CodeGen/MachinePostDominators.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/MachineSizeOpts.h
M llvm/include/llvm/CodeGen/MachineStableHash.h
M llvm/include/llvm/CodeGen/MachineVerifier.h
M llvm/include/llvm/CodeGen/MacroFusion.h
M llvm/include/llvm/CodeGen/NonRelocatableStringpool.h
M llvm/include/llvm/CodeGen/PBQPRAConstraint.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/PseudoSourceValue.h
M llvm/include/llvm/CodeGen/PseudoSourceValueManager.h
M llvm/include/llvm/CodeGen/RegisterBank.h
M llvm/include/llvm/CodeGen/RegisterClassInfo.h
M llvm/include/llvm/CodeGen/RegisterPressure.h
M llvm/include/llvm/CodeGen/ReplaceWithVeclib.h
M llvm/include/llvm/CodeGen/RuntimeLibcallUtil.h
M llvm/include/llvm/CodeGen/ScheduleDAG.h
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
M llvm/include/llvm/CodeGen/ScheduleDAGMutation.h
M llvm/include/llvm/CodeGen/SchedulerRegistry.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGAddressAnalysis.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/SlotIndexes.h
M llvm/include/llvm/CodeGen/StackMaps.h
M llvm/include/llvm/CodeGen/TargetFrameLowering.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetPassConfig.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGen/TargetSchedule.h
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/include/llvm/CodeGen/ValueTypes.h
M llvm/include/llvm/CodeGen/VirtRegMap.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinker.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerCompileUnit.h
M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
M llvm/include/llvm/DWARFLinker/DWARFLinkerBase.h
M llvm/include/llvm/DWARFLinker/Parallel/DWARFLinker.h
M llvm/include/llvm/DWP/DWP.h
M llvm/include/llvm/DWP/DWPError.h
M llvm/include/llvm/DebugInfo/BTF/BTFContext.h
M llvm/include/llvm/DebugInfo/BTF/BTFParser.h
M llvm/include/llvm/DebugInfo/CodeView/AppendingTypeTableBuilder.h
M llvm/include/llvm/DebugInfo/CodeView/CVSymbolVisitor.h
M llvm/include/llvm/DebugInfo/CodeView/CVTypeVisitor.h
M llvm/include/llvm/DebugInfo/CodeView/CodeView.h
M llvm/include/llvm/DebugInfo/CodeView/CodeViewError.h
A llvm/include/llvm/DebugInfo/CodeView/CodeViewLanguages.def
M llvm/include/llvm/DebugInfo/CodeView/CodeViewRecordIO.h
M llvm/include/llvm/DebugInfo/CodeView/ContinuationRecordBuilder.h
M llvm/include/llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugCrossExSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugCrossImpSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugLinesSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugStringTableSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h
M llvm/include/llvm/DebugInfo/CodeView/DebugSymbolsSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/EnumTables.h
M llvm/include/llvm/DebugInfo/CodeView/Formatters.h
M llvm/include/llvm/DebugInfo/CodeView/GUID.h
M llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h
M llvm/include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h
M llvm/include/llvm/DebugInfo/CodeView/Line.h
M llvm/include/llvm/DebugInfo/CodeView/MergingTypeTableBuilder.h
M llvm/include/llvm/DebugInfo/CodeView/RecordName.h
M llvm/include/llvm/DebugInfo/CodeView/RecordSerialization.h
M llvm/include/llvm/DebugInfo/CodeView/SimpleTypeSerializer.h
M llvm/include/llvm/DebugInfo/CodeView/StringsAndChecksums.h
M llvm/include/llvm/DebugInfo/CodeView/SymbolDumper.h
M llvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h
M llvm/include/llvm/DebugInfo/CodeView/SymbolRecordHelpers.h
M llvm/include/llvm/DebugInfo/CodeView/SymbolRecordMapping.h
M llvm/include/llvm/DebugInfo/CodeView/SymbolSerializer.h
M llvm/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h
M llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h
M llvm/include/llvm/DebugInfo/CodeView/TypeIndex.h
M llvm/include/llvm/DebugInfo/CodeView/TypeIndexDiscovery.h
M llvm/include/llvm/DebugInfo/CodeView/TypeRecordHelpers.h
M llvm/include/llvm/DebugInfo/CodeView/TypeRecordMapping.h
M llvm/include/llvm/DebugInfo/CodeView/TypeStreamMerger.h
M llvm/include/llvm/DebugInfo/CodeView/TypeTableCollection.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAddressRange.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAttribute.h
A llvm/include/llvm/DebugInfo/DWARF/DWARFCFIProgram.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFCompileUnit.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDataExtractor.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugRnglists.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFFormValue.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFListTable.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFLocationExpression.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFUnitIndex.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/include/llvm/DebugInfo/GSYM/CallSiteInfo.h
M llvm/include/llvm/DebugInfo/GSYM/DwarfTransformer.h
M llvm/include/llvm/DebugInfo/GSYM/ExtractRanges.h
M llvm/include/llvm/DebugInfo/GSYM/FileWriter.h
M llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
M llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h
M llvm/include/llvm/DebugInfo/GSYM/GsymReader.h
M llvm/include/llvm/DebugInfo/GSYM/Header.h
M llvm/include/llvm/DebugInfo/GSYM/InlineInfo.h
M llvm/include/llvm/DebugInfo/GSYM/LineTable.h
M llvm/include/llvm/DebugInfo/GSYM/LookupResult.h
M llvm/include/llvm/DebugInfo/GSYM/MergedFunctionsInfo.h
M llvm/include/llvm/DebugInfo/GSYM/ObjectFileTransformer.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVCompare.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVElement.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLine.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLocation.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVObject.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVOptions.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVRange.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVReader.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVScope.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSort.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSupport.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSymbol.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVType.h
M llvm/include/llvm/DebugInfo/LogicalView/LVReaderHandler.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVBinaryReader.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVDWARFReader.h
M llvm/include/llvm/DebugInfo/MSF/MSFBuilder.h
M llvm/include/llvm/DebugInfo/MSF/MSFCommon.h
M llvm/include/llvm/DebugInfo/MSF/MSFError.h
M llvm/include/llvm/DebugInfo/MSF/MappedBlockStream.h
M llvm/include/llvm/DebugInfo/PDB/GenericError.h
M llvm/include/llvm/DebugInfo/PDB/IPDBFrameData.h
M llvm/include/llvm/DebugInfo/PDB/IPDBInjectedSource.h
M llvm/include/llvm/DebugInfo/PDB/IPDBLineNumber.h
M llvm/include/llvm/DebugInfo/PDB/IPDBRawSymbol.h
M llvm/include/llvm/DebugInfo/PDB/IPDBSession.h
M llvm/include/llvm/DebugInfo/PDB/IPDBSourceFile.h
M llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptor.h
M llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleList.h
M llvm/include/llvm/DebugInfo/PDB/Native/DbiStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/DbiStreamBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/FormatUtil.h
M llvm/include/llvm/DebugInfo/PDB/Native/GSIStreamBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/GlobalsStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/Hash.h
M llvm/include/llvm/DebugInfo/PDB/Native/HashTable.h
M llvm/include/llvm/DebugInfo/PDB/Native/InfoStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/InfoStreamBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/InputFile.h
M llvm/include/llvm/DebugInfo/PDB/Native/LinePrinter.h
M llvm/include/llvm/DebugInfo/PDB/Native/ModuleDebugStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/NamedStreamMap.h
M llvm/include/llvm/DebugInfo/PDB/Native/NativeRawSymbol.h
M llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h
M llvm/include/llvm/DebugInfo/PDB/Native/NativeSourceFile.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFileBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTable.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/PublicsStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/RawError.h
M llvm/include/llvm/DebugInfo/PDB/Native/SymbolCache.h
M llvm/include/llvm/DebugInfo/PDB/Native/SymbolStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/TpiHashing.h
M llvm/include/llvm/DebugInfo/PDB/Native/TpiStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/TpiStreamBuilder.h
M llvm/include/llvm/DebugInfo/PDB/PDB.h
M llvm/include/llvm/DebugInfo/PDB/PDBExtras.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymDumper.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbol.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolCompiland.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolData.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolExe.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolFunc.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolLabel.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolThunk.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeArray.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypePointer.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolUnknown.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h
M llvm/include/llvm/DebugInfo/PDB/UDTLayout.h
M llvm/include/llvm/DebugInfo/Symbolize/DIPrinter.h
M llvm/include/llvm/DebugInfo/Symbolize/Markup.h
M llvm/include/llvm/DebugInfo/Symbolize/MarkupFilter.h
M llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
M llvm/include/llvm/ExecutionEngine/ExecutionEngine.h
M llvm/include/llvm/ExecutionEngine/Interpreter.h
M llvm/include/llvm/ExecutionEngine/JITEventListener.h
M llvm/include/llvm/ExecutionEngine/JITLink/EHFrameSupport.h
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h
M llvm/include/llvm/ExecutionEngine/JITLink/MachO.h
M llvm/include/llvm/ExecutionEngine/JITLink/MachO_arm64.h
M llvm/include/llvm/ExecutionEngine/JITLink/MachO_x86_64.h
M llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
M llvm/include/llvm/ExecutionEngine/JITLink/ppc64.h
M llvm/include/llvm/ExecutionEngine/JITLink/riscv.h
M llvm/include/llvm/ExecutionEngine/JITLink/x86.h
M llvm/include/llvm/ExecutionEngine/JITLink/x86_64.h
M llvm/include/llvm/ExecutionEngine/JITSymbol.h
M llvm/include/llvm/ExecutionEngine/MCJIT.h
M llvm/include/llvm/ExecutionEngine/ObjectCache.h
M llvm/include/llvm/ExecutionEngine/Orc/AbsoluteSymbols.h
M llvm/include/llvm/ExecutionEngine/Orc/COFFPlatform.h
M llvm/include/llvm/ExecutionEngine/Orc/COFFVCRuntimeSupport.h
M llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/CompileUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/DebugObjectManagerPlugin.h
M llvm/include/llvm/ExecutionEngine/Orc/DebugUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/Debugging/DebugInfoSupport.h
M llvm/include/llvm/ExecutionEngine/Orc/Debugging/DebuggerSupport.h
M llvm/include/llvm/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.h
M llvm/include/llvm/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.h
M llvm/include/llvm/ExecutionEngine/Orc/Debugging/VTuneSupportPlugin.h
M llvm/include/llvm/ExecutionEngine/Orc/DylibManager.h
M llvm/include/llvm/ExecutionEngine/Orc/EHFrameRegistrationPlugin.h
M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCDebugObjectRegistrar.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
M llvm/include/llvm/ExecutionEngine/Orc/GetDylibInterface.h
M llvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/IRPartitionLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
M llvm/include/llvm/ExecutionEngine/Orc/JITLinkReentryTrampolines.h
M llvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
M llvm/include/llvm/ExecutionEngine/Orc/Layer.h
M llvm/include/llvm/ExecutionEngine/Orc/LazyObjectLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
M llvm/include/llvm/ExecutionEngine/Orc/LinkGraphLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/LinkGraphLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/LoadLinkableFile.h
M llvm/include/llvm/ExecutionEngine/Orc/LookupAndRecordAddrs.h
M llvm/include/llvm/ExecutionEngine/Orc/MachO.h
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
M llvm/include/llvm/ExecutionEngine/Orc/Mangling.h
M llvm/include/llvm/ExecutionEngine/Orc/MapperJITLinkMemoryManager.h
M llvm/include/llvm/ExecutionEngine/Orc/MaterializationUnit.h
M llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h
M llvm/include/llvm/ExecutionEngine/Orc/ObjectFileInterface.h
M llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h
M llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/ReOptimizeLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h
M llvm/include/llvm/ExecutionEngine/Orc/SectCreate.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/AllocationActions.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/MachOObjectFormat.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ObjectFormats.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcError.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SimpleRemoteEPCUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/SimpleRemoteEPC.h
M llvm/include/llvm/ExecutionEngine/Orc/Speculation.h
M llvm/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/DefaultHostBootstrapValues.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/ExecutorBootstrapService.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/ExecutorSharedMemoryMapperService.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleExecutorMemoryManager.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleRemoteEPCServer.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/TargetExecutionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.h
M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
M llvm/include/llvm/ExecutionEngine/Orc/ThreadSafeModule.h
M llvm/include/llvm/ExecutionEngine/Orc/UnwindInfoRegistrationPlugin.h
M llvm/include/llvm/ExecutionEngine/RTDyldMemoryManager.h
M llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
M llvm/include/llvm/ExecutionEngine/RuntimeDyldChecker.h
M llvm/include/llvm/ExecutionEngine/SectionMemoryManager.h
M llvm/include/llvm/FileCheck/FileCheck.h
M llvm/include/llvm/Frontend/Atomic/Atomic.h
M llvm/include/llvm/Frontend/Driver/CodeGenOptions.h
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
A llvm/include/llvm/Frontend/HLSL/HLSLRootSignatureUtils.h
M llvm/include/llvm/Frontend/Offloading/OffloadWrapper.h
M llvm/include/llvm/Frontend/Offloading/Utility.h
M llvm/include/llvm/Frontend/OpenMP/OMP.h
M llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
M llvm/include/llvm/Frontend/OpenMP/OMPContext.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/FuzzMutate/FuzzerCLI.h
M llvm/include/llvm/FuzzMutate/IRMutator.h
M llvm/include/llvm/FuzzMutate/OpDescriptor.h
M llvm/include/llvm/FuzzMutate/Operations.h
M llvm/include/llvm/FuzzMutate/RandomIRBuilder.h
M llvm/include/llvm/IR/AbstractCallSite.h
M llvm/include/llvm/IR/Analysis.h
M llvm/include/llvm/IR/Argument.h
M llvm/include/llvm/IR/AssemblyAnnotationWriter.h
M llvm/include/llvm/IR/Assumptions.h
M llvm/include/llvm/IR/Attributes.h
M llvm/include/llvm/IR/AutoUpgrade.h
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/BuiltinGCs.h
M llvm/include/llvm/IR/CmpPredicate.h
M llvm/include/llvm/IR/Comdat.h
M llvm/include/llvm/IR/Constant.h
M llvm/include/llvm/IR/ConstantFPRange.h
M llvm/include/llvm/IR/ConstantFold.h
M llvm/include/llvm/IR/ConstantFolder.h
M llvm/include/llvm/IR/ConstantRange.h
M llvm/include/llvm/IR/ConstantRangeList.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DataLayout.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DebugLoc.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/DiagnosticHandler.h
M llvm/include/llvm/IR/DiagnosticInfo.h
M llvm/include/llvm/IR/DiagnosticPrinter.h
M llvm/include/llvm/IR/Dominators.h
M llvm/include/llvm/IR/DroppedVariableStats.h
M llvm/include/llvm/IR/DroppedVariableStatsIR.h
M llvm/include/llvm/IR/EHPersonalities.h
M llvm/include/llvm/IR/FMF.h
M llvm/include/llvm/IR/FPEnv.h
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/GenericFloatingPointPredicateUtils.h
M llvm/include/llvm/IR/GlobalAlias.h
M llvm/include/llvm/IR/GlobalIFunc.h
M llvm/include/llvm/IR/GlobalObject.h
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/IR/GlobalVariable.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/IRBuilderFolder.h
M llvm/include/llvm/IR/IRPrintingPasses.h
M llvm/include/llvm/IR/InlineAsm.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/LLVMContext.h
M llvm/include/llvm/IR/LLVMRemarkStreamer.h
M llvm/include/llvm/IR/LegacyPassManager.h
M llvm/include/llvm/IR/LegacyPassManagers.h
M llvm/include/llvm/IR/LegacyPassNameParser.h
M llvm/include/llvm/IR/MDBuilder.h
M llvm/include/llvm/IR/Mangler.h
M llvm/include/llvm/IR/MemoryModelRelaxationAnnotations.h
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/IR/ModuleSlotTracker.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/NoFolder.h
M llvm/include/llvm/IR/Operator.h
M llvm/include/llvm/IR/OptBisect.h
M llvm/include/llvm/IR/PassInstrumentation.h
M llvm/include/llvm/IR/PassManager.h
M llvm/include/llvm/IR/PassManagerImpl.h
M llvm/include/llvm/IR/PassTimingInfo.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/IR/ProfDataUtils.h
M llvm/include/llvm/IR/ProfileSummary.h
M llvm/include/llvm/IR/PseudoProbe.h
M llvm/include/llvm/IR/ReplaceConstant.h
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/IR/StructuralHash.h
M llvm/include/llvm/IR/SymbolTableListTraits.h
M llvm/include/llvm/IR/Type.h
M llvm/include/llvm/IR/TypedPointerType.h
M llvm/include/llvm/IR/Use.h
M llvm/include/llvm/IR/User.h
M llvm/include/llvm/IR/VFABIDemangler.h
M llvm/include/llvm/IR/Value.h
M llvm/include/llvm/IR/ValueHandle.h
M llvm/include/llvm/IR/ValueSymbolTable.h
M llvm/include/llvm/IR/VectorBuilder.h
M llvm/include/llvm/IR/VectorTypeUtils.h
M llvm/include/llvm/IR/Verifier.h
M llvm/include/llvm/IRPrinter/IRPrintingPasses.h
M llvm/include/llvm/IRReader/IRReader.h
M llvm/include/llvm/InterfaceStub/ELFObjHandler.h
M llvm/include/llvm/InterfaceStub/IFSHandler.h
M llvm/include/llvm/InterfaceStub/IFSStub.h
M llvm/include/llvm/LTO/Config.h
M llvm/include/llvm/LTO/LTO.h
M llvm/include/llvm/LTO/LTOBackend.h
M llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h
M llvm/include/llvm/LTO/legacy/LTOModule.h
M llvm/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h
M llvm/include/llvm/LineEditor/LineEditor.h
M llvm/include/llvm/Linker/IRMover.h
M llvm/include/llvm/Linker/Linker.h
M llvm/include/llvm/MC/DXContainerRootSignature.h
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCAsmMacro.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCCodeEmitter.h
M llvm/include/llvm/MC/MCContext.h
M llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h
M llvm/include/llvm/MC/MCDisassembler/MCRelocationInfo.h
M llvm/include/llvm/MC/MCDisassembler/MCSymbolizer.h
M llvm/include/llvm/MC/MCDwarf.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCFragment.h
M llvm/include/llvm/MC/MCInst.h
M llvm/include/llvm/MC/MCInstPrinter.h
M llvm/include/llvm/MC/MCInstrAnalysis.h
M llvm/include/llvm/MC/MCInstrDesc.h
M llvm/include/llvm/MC/MCInstrInfo.h
M llvm/include/llvm/MC/MCLinkerOptimizationHint.h
M llvm/include/llvm/MC/MCMachObjectWriter.h
M llvm/include/llvm/MC/MCObjectFileInfo.h
M llvm/include/llvm/MC/MCObjectWriter.h
M llvm/include/llvm/MC/MCParser/AsmLexer.h
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h
M llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/MC/MCPseudoProbe.h
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/include/llvm/MC/MCSchedule.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCSectionMachO.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCSubtargetInfo.h
M llvm/include/llvm/MC/MCSymbol.h
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
M llvm/include/llvm/MC/MCWinEH.h
M llvm/include/llvm/MC/StringTableBuilder.h
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/include/llvm/MCA/CodeEmitter.h
M llvm/include/llvm/MCA/Context.h
M llvm/include/llvm/MCA/CustomBehaviour.h
M llvm/include/llvm/MCA/HWEventListener.h
M llvm/include/llvm/MCA/HardwareUnits/HardwareUnit.h
M llvm/include/llvm/MCA/HardwareUnits/LSUnit.h
M llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h
M llvm/include/llvm/MCA/HardwareUnits/Scheduler.h
M llvm/include/llvm/MCA/IncrementalSourceMgr.h
M llvm/include/llvm/MCA/InstrBuilder.h
M llvm/include/llvm/MCA/Instruction.h
M llvm/include/llvm/MCA/Pipeline.h
M llvm/include/llvm/MCA/Stages/EntryStage.h
M llvm/include/llvm/MCA/Stages/InstructionTables.h
M llvm/include/llvm/MCA/Stages/Stage.h
M llvm/include/llvm/MCA/Support.h
M llvm/include/llvm/MCA/View.h
M llvm/include/llvm/ObjCopy/COFF/COFFObjcopy.h
M llvm/include/llvm/ObjCopy/CommonConfig.h
M llvm/include/llvm/ObjCopy/ConfigManager.h
M llvm/include/llvm/ObjCopy/ELF/ELFObjcopy.h
M llvm/include/llvm/ObjCopy/MachO/MachOObjcopy.h
M llvm/include/llvm/ObjCopy/ObjCopy.h
M llvm/include/llvm/ObjCopy/wasm/WasmObjcopy.h
M llvm/include/llvm/Object/Archive.h
M llvm/include/llvm/Object/ArchiveWriter.h
M llvm/include/llvm/Object/Binary.h
M llvm/include/llvm/Object/BuildID.h
M llvm/include/llvm/Object/COFF.h
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/include/llvm/Object/COFFModuleDefinition.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/Object/Decompressor.h
M llvm/include/llvm/Object/ELF.h
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/include/llvm/Object/Error.h
M llvm/include/llvm/Object/FaultMapParser.h
M llvm/include/llvm/Object/GOFFObjectFile.h
M llvm/include/llvm/Object/IRObjectFile.h
M llvm/include/llvm/Object/IRSymtab.h
M llvm/include/llvm/Object/MachO.h
M llvm/include/llvm/Object/MachOUniversal.h
M llvm/include/llvm/Object/MachOUniversalWriter.h
M llvm/include/llvm/Object/Minidump.h
M llvm/include/llvm/Object/ModuleSymbolTable.h
M llvm/include/llvm/Object/ObjectFile.h
M llvm/include/llvm/Object/OffloadBinary.h
M llvm/include/llvm/Object/OffloadBundle.h
M llvm/include/llvm/Object/RelocationResolver.h
M llvm/include/llvm/Object/SymbolSize.h
M llvm/include/llvm/Object/SymbolicFile.h
M llvm/include/llvm/Object/TapiFile.h
M llvm/include/llvm/Object/TapiUniversal.h
M llvm/include/llvm/Object/Wasm.h
M llvm/include/llvm/Object/WindowsMachineFlag.h
M llvm/include/llvm/Object/WindowsResource.h
M llvm/include/llvm/Object/XCOFFObjectFile.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/include/llvm/ProfileData/IndexedMemProfData.h
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/InstrProfWriter.h
A llvm/include/llvm/ProfileData/MemProfCommon.h
A llvm/include/llvm/ProfileData/MemProfSummary.h
A llvm/include/llvm/ProfileData/MemProfSummaryBuilder.h
M llvm/include/llvm/Support/Compiler.h
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/include/llvm/TargetParser/LoongArchTargetParser.h
A llvm/include/llvm/Testing/Demangle/DemangleTestCases.inc
A llvm/include/llvm/Testing/Demangle/README.txt
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/include/llvm/Transforms/Scalar/LoopAccessAnalysisPrinter.h
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionAlwaysRevert.h
M llvm/include/module.modulemap
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Analysis/DemandedBits.cpp
A llvm/lib/Analysis/HashRecognize.cpp
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/BinaryFormat/MsgPackReader.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CGData/CodeGenData.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/BasicBlockPathCloning.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/HardwareLoops.cpp
M llvm/lib/CodeGen/LexicalScopes.cpp
M llvm/lib/CodeGen/LiveVariables.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/MacroFusion.cpp
M llvm/lib/CodeGen/ScheduleDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/WinEHPrepare.cpp
M llvm/lib/CodeGen/XRayInstrumentation.cpp
M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerTypeUnit.cpp
M llvm/lib/DWARFLinker/Parallel/OutputSections.cpp
M llvm/lib/DWARFLinker/Parallel/SyntheticTypeNameBuilder.cpp
M llvm/lib/DWP/DWP.cpp
M llvm/lib/DebugInfo/CodeView/ContinuationRecordBuilder.cpp
M llvm/lib/DebugInfo/CodeView/SimpleTypeSerializer.cpp
M llvm/lib/DebugInfo/DWARF/CMakeLists.txt
A llvm/lib/DebugInfo/DWARF/DWARFCFIProgram.cpp
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
M llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
M llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVReader.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch32.cpp
M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/Frontend/HLSL/CMakeLists.txt
R llvm/lib/Frontend/HLSL/HLSLRootSignature.cpp
A llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/FuzzMutate/RandomIRBuilder.cpp
M llvm/lib/IR/Attributes.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/DiagnosticInfo.cpp
M llvm/lib/IR/Dominators.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/IRPrintingPasses.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/LLVMContextImpl.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/IR/PassManager.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/IR/Verifier.cpp
A llvm/lib/IR/ZOSLibcallNames.def
M llvm/lib/IRPrinter/IRPrintingPasses.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Linker/LinkDiagnosticInfo.h
M llvm/lib/MC/DXContainerRootSignature.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/MC/MCSymbol.cpp
M llvm/lib/MCA/Stages/DispatchStage.cpp
M llvm/lib/MCA/View.cpp
M llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.cpp
M llvm/lib/ObjCopy/MachO/MachOReader.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/Object/ELF.cpp
M llvm/lib/Object/OffloadBundle.cpp
M llvm/lib/Object/RelocationResolver.cpp
M llvm/lib/Object/XCOFFObjectFile.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
M llvm/lib/ObjectYAML/MachOEmitter.cpp
M llvm/lib/ObjectYAML/MachOYAML.cpp
M llvm/lib/Option/ArgList.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/lib/ProfileData/CMakeLists.txt
M llvm/lib/ProfileData/DataAccessProf.cpp
M llvm/lib/ProfileData/IndexedMemProfData.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
A llvm/lib/ProfileData/MemProfCommon.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
A llvm/lib/ProfileData/MemProfSummary.cpp
A llvm/lib/ProfileData/MemProfSummaryBuilder.cpp
M llvm/lib/SandboxIR/Constant.cpp
M llvm/lib/SandboxIR/Pass.cpp
M llvm/lib/SandboxIR/Tracker.cpp
M llvm/lib/Support/CrashRecoveryContext.cpp
M llvm/lib/Support/ELFAttrParserExtended.cpp
M llvm/lib/Support/LockFileManager.cpp
M llvm/lib/Support/Mustache.cpp
M llvm/lib/Support/TextEncoding.cpp
M llvm/lib/Support/Timer.cpp
M llvm/lib/Support/Unix/Threading.inc
M llvm/lib/Support/raw_ostream.cpp
M llvm/lib/TableGen/JSONBackend.cpp
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64BranchTargets.cpp
M llvm/lib/Target/AArch64/AArch64CallingConvention.td
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
M llvm/lib/Target/ARM/ARMBranchTargets.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMInstrVFP.td
M llvm/lib/Target/ARM/ARMMCInstLower.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/AVR/AVRISelLowering.cpp
M llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp
M llvm/lib/Target/BPF/BPFRegisterInfo.cpp
M llvm/lib/Target/BPF/BTFDebug.cpp
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
M llvm/lib/Target/DirectX/DXILForwardHandleAccesses.cpp
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILPostOptimizationValidation.cpp
M llvm/lib/Target/DirectX/DXILResourceImplicitBinding.cpp
M llvm/lib/Target/DirectX/DXILRootSignature.cpp
M llvm/lib/Target/DirectX/DXILRootSignature.h
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsSubtarget.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/lib/Target/NVPTX/NVPTXForwardParams.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXProxyRegErasure.cpp
M llvm/lib/Target/PowerPC/PPCInstrFutureMMA.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
M llvm/lib/Target/PowerPC/PPCInstrMMA.td
M llvm/lib/Target/PowerPC/PPCMachineScheduler.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
M llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZvqdotq.td
M llvm/lib/Target/RISCV/RISCVInstrPredicates.td
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/lib/Target/RISCV/RISCVProcessors.td
A llvm/lib/Target/RISCV/RISCVSchedAndes45.td
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetTransformInfo.h
M llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcFixupKinds.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
M llvm/lib/Target/Sparc/Sparc.td
M llvm/lib/Target/Sparc/SparcInstrAliases.td
M llvm/lib/Target/Sparc/SparcInstrFormats.td
M llvm/lib/Target/Sparc/SparcInstrInfo.td
M llvm/lib/Target/Sparc/SparcInstrUAOSA.td
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
R llvm/lib/Target/SystemZ/ZOSLibcallNames.def
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.h
M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86InstrFragments.td
A llvm/lib/Target/X86/X86InstrGISel.td
M llvm/lib/Target/X86/X86InstrInfo.td
M llvm/lib/Target/X86/X86PartialReduction.cpp
M llvm/lib/Target/X86/X86Subtarget.cpp
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
M llvm/lib/Target/Xtensa/XtensaFeatures.td
M llvm/lib/Target/Xtensa/XtensaISelDAGToDAG.cpp
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
M llvm/lib/TargetParser/LoongArchTargetParser.cpp
M llvm/lib/Testing/Support/SupportHelpers.cpp
M llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
M llvm/lib/TextAPI/InterfaceFile.cpp
M llvm/lib/TextAPI/TextStub.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombineInternal.h
M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/EmbedBitcodePass.cpp
M llvm/lib/Transforms/IPO/Inliner.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/KCFI.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
M llvm/lib/Transforms/Scalar/InferAlignment.cpp
M llvm/lib/Transforms/Scalar/LoopAccessAnalysisPrinter.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/LowerSwitch.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/XRay/InstrumentationMap.cpp
M llvm/lib/XRay/Profile.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-extractelement.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-insertelement.ll
A llvm/test/Analysis/CostModel/X86/memset-pattern.ll
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
A llvm/test/Analysis/HashRecognize/cyclic-redundancy-check.ll
A llvm/test/Analysis/LoopAccessAnalysis/allow-partial.ll
M llvm/test/Analysis/LoopAccessAnalysis/forked-pointers.ll
M llvm/test/Analysis/LoopAccessAnalysis/no-dep-via-loop-guards.ll
M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-forward.ll
M llvm/test/Analysis/LoopAccessAnalysis/pointer-phis.ll
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis-forked-pointers.ll
M llvm/test/Analysis/LoopAccessAnalysis/underlying-object-loop-varying-phi.ll
A llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-operand-order.ll
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/branch-after-join.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/diverged-entry-headers-nested.ll
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/hidden-post-dom.ll
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/phi_div_branch.ll
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/phi_div_loop.ll
A llvm/test/Analysis/UniformityAnalysis/AMDGPU/unstructured-branch.ll
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-concat.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-min-max.mir
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
M llvm/test/CodeGen/AArch64/aarch64-reassociate-accumulators-sve.ll
M llvm/test/CodeGen/AArch64/aarch64-reassociate-accumulators.ll
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/argument-blocks-array-of-struct.ll
M llvm/test/CodeGen/AArch64/arm64-csel.ll
M llvm/test/CodeGen/AArch64/arm64-dagcombiner-load-slicing.ll
M llvm/test/CodeGen/AArch64/arm64-fmax-safe.ll
M llvm/test/CodeGen/AArch64/arm64-neon-3vdiff.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
M llvm/test/CodeGen/AArch64/arm64-vmul.ll
M llvm/test/CodeGen/AArch64/arm64-vqadd.ll
M llvm/test/CodeGen/AArch64/arm64-vqsub.ll
M llvm/test/CodeGen/AArch64/arm64ec-varargs.ll
M llvm/test/CodeGen/AArch64/bcmp.ll
M llvm/test/CodeGen/AArch64/bitreverse.ll
A llvm/test/CodeGen/AArch64/callbr-asm-label-bti.ll
M llvm/test/CodeGen/AArch64/callbr-asm-label.ll
M llvm/test/CodeGen/AArch64/callbr-asm-outputs-indirect-isel.ll
M llvm/test/CodeGen/AArch64/check-sign-bit-before-extension.ll
M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
M llvm/test/CodeGen/AArch64/csel-subs-swapped.ll
M llvm/test/CodeGen/AArch64/extbinopload.ll
M llvm/test/CodeGen/AArch64/fast-isel-sp-adjust.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fp-conversion-to-tbl.ll
A llvm/test/CodeGen/AArch64/framelayout-scavengingslot-stack-hazard.mir
A llvm/test/CodeGen/AArch64/framelayout-sve-win.mir
A llvm/test/CodeGen/AArch64/fuse-addr-mode.mir
A llvm/test/CodeGen/AArch64/i128_with_overflow.ll
M llvm/test/CodeGen/AArch64/logical_shifted_reg.ll
M llvm/test/CodeGen/AArch64/lower-range-metadata-func-call.ll
M llvm/test/CodeGen/AArch64/mul.ll
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/nzcv-save.ll
A llvm/test/CodeGen/AArch64/peephole-opt-analyzeCompare-subreg-use.mir
M llvm/test/CodeGen/AArch64/sadd_sat.ll
M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/scmp.ll
M llvm/test/CodeGen/AArch64/select-constant-xor.ll
M llvm/test/CodeGen/AArch64/signbit-shift.ll
M llvm/test/CodeGen/AArch64/signbit-test.ll
A llvm/test/CodeGen/AArch64/sms-loop-carried-fp-exceptions1.mir
A llvm/test/CodeGen/AArch64/sms-loop-carried-fp-exceptions2.mir
M llvm/test/CodeGen/AArch64/ssub_sat.ll
M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
M llvm/test/CodeGen/AArch64/stack-hazard.ll
A llvm/test/CodeGen/AArch64/sve-fixed-length-partial-reduce.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-wide-add.ll
A llvm/test/CodeGen/AArch64/sve-stack-frame-layout-win.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-convert.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-zip-uzp-trn.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
M llvm/test/CodeGen/AArch64/sve-vector-deinterleave.ll
M llvm/test/CodeGen/AArch64/sve-vector-interleave.ll
M llvm/test/CodeGen/AArch64/switch-cases-to-branch-and.ll
M llvm/test/CodeGen/AArch64/typepromotion-signed.ll
M llvm/test/CodeGen/AArch64/uadd_sat.ll
M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/ucmp.ll
M llvm/test/CodeGen/AArch64/use-cr-result-of-dom-icmp-st.ll
M llvm/test/CodeGen/AArch64/usub_sat.ll
M llvm/test/CodeGen/AArch64/usub_sat_vec.ll
A llvm/test/CodeGen/AArch64/win-sve.ll
M llvm/test/CodeGen/AArch64/win64_vararg.ll
M llvm/test/CodeGen/AArch64/xar.ll
M llvm/test/CodeGen/AArch64/xray-tail-call-sled.ll
M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/add.vni16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
M llvm/test/CodeGen/AMDGPU/aa-as-infer.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-no-agprs-violations.ll
M llvm/test/CodeGen/AMDGPU/amdhsa-kernarg-preload-num-sgprs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
M llvm/test/CodeGen/AMDGPU/amdpal-elf.ll
M llvm/test/CodeGen/AMDGPU/amdpal.ll
M llvm/test/CodeGen/AMDGPU/ashr.v2i16.ll
M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/br_cc.f16.ll
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
A llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-unsupported-errors.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage-agpr.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage0.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage1.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage2.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage3.ll
M llvm/test/CodeGen/AMDGPU/call-graph-register-usage.ll
M llvm/test/CodeGen/AMDGPU/coalescer_remat.ll
M llvm/test/CodeGen/AMDGPU/code-object-v3.ll
M llvm/test/CodeGen/AMDGPU/combine-and-sext-bool.ll
M llvm/test/CodeGen/AMDGPU/combine-cond-add-sub.ll
M llvm/test/CodeGen/AMDGPU/copysign-simplify-demanded-bits.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/dagcomb-mullohi.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/ds-alignment.ll
M llvm/test/CodeGen/AMDGPU/ds_read2.ll
M llvm/test/CodeGen/AMDGPU/elf-notes.ll
A llvm/test/CodeGen/AMDGPU/fabs.bf16.ll
M llvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.global.ll
M llvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.private.ll
A llvm/test/CodeGen/AMDGPU/fcopysign.bf16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f32.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
A llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-wwm.ll
A llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-wwm.mir
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-reg.ll
M llvm/test/CodeGen/AMDGPU/fmax3-maximumnum.ll
M llvm/test/CodeGen/AMDGPU/fmin3-minimumnum.ll
A llvm/test/CodeGen/AMDGPU/fneg-fabs.bf16.ll
A llvm/test/CodeGen/AMDGPU/fneg.bf16.ll
A llvm/test/CodeGen/AMDGPU/fold-freeze-fmul-to-fma.ll
A llvm/test/CodeGen/AMDGPU/fold-imm-copy-agpr.mir
M llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir
M llvm/test/CodeGen/AMDGPU/fold-operands-frame-index.mir
M llvm/test/CodeGen/AMDGPU/fold-short-64-bit-literals.mir
M llvm/test/CodeGen/AMDGPU/fp-classify.ll
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/CodeGen/AMDGPU/fract-match.ll
A llvm/test/CodeGen/AMDGPU/freeze-binary.ll
M llvm/test/CodeGen/AMDGPU/freeze.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/frexp-constant-fold.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
M llvm/test/CodeGen/AMDGPU/gep-const-address-space.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics.ll
A llvm/test/CodeGen/AMDGPU/hard-clause-limit-attr.mir
A llvm/test/CodeGen/AMDGPU/hard-clause-limit.mir
M llvm/test/CodeGen/AMDGPU/hsa-metadata-kernel-code-props.ll
M llvm/test/CodeGen/AMDGPU/hsa.ll
M llvm/test/CodeGen/AMDGPU/idot4s.ll
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/infer-addrspace-flat-atomic.ll
A llvm/test/CodeGen/AMDGPU/init-whole-wave-vgpr-count-large.ll
A llvm/test/CodeGen/AMDGPU/init-whole-wave-vgpr-count-leaf.ll
A llvm/test/CodeGen/AMDGPU/init-whole-wave-vgpr-count-use-inactive.ll
A llvm/test/CodeGen/AMDGPU/init-whole-wave-vgpr-count.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
M llvm/test/CodeGen/AMDGPU/ipra.ll
A llvm/test/CodeGen/AMDGPU/issue139317-bad-opsel-reg-sequence-fold.ll
M llvm/test/CodeGen/AMDGPU/kernel-args.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f64.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-local-redundant-copies.ll
M llvm/test/CodeGen/AMDGPU/load-local.128.ll
M llvm/test/CodeGen/AMDGPU/load-local.96.ll
M llvm/test/CodeGen/AMDGPU/load-range-metadata-sign-bits.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/max.i16.ll
M llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
M llvm/test/CodeGen/AMDGPU/mcexpr-knownbits-assign-crash-gh-issue-110930.ll
M llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
M llvm/test/CodeGen/AMDGPU/memcpy-param-combinations.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/memmove-param-combinations.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/mul_int24.ll
M llvm/test/CodeGen/AMDGPU/multi-call-resource-usage-mcexpr.ll
M llvm/test/CodeGen/AMDGPU/nullptr-long-address-spaces.ll
M llvm/test/CodeGen/AMDGPU/or.ll
M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0-callable.ll
M llvm/test/CodeGen/AMDGPU/permute_i8.ll
M llvm/test/CodeGen/AMDGPU/pr51516.mir
A llvm/test/CodeGen/AMDGPU/promote-alloca-vector-gep-of-gep.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/ps-shader-arg-count.ll
M llvm/test/CodeGen/AMDGPU/register-count-comments.ll
Log Message:
-----------
Merge branch 'main' into users/kparzysz/spr/t06-alias-name
Compare: https://github.com/llvm/llvm-project/compare/e7d2e0b40eae...e8d6a253c7cf
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