[all-commits] [llvm/llvm-project] fd66fa: [flang] Retrieve shape from selector when generati...
Krzysztof Parzyszek via All-commits
all-commits at lists.llvm.org
Wed Jun 4 06:19:18 PDT 2025
Branch: refs/heads/users/kparzysz/spr/a04-atomic-one
Home: https://github.com/llvm/llvm-project
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: b27c7cb1e806c6fcf1b3ceed61103c1bc6abb0ee
https://github.com/llvm/llvm-project/commit/b27c7cb1e806c6fcf1b3ceed61103c1bc6abb0ee
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M .github/new-prs-labeler.yml
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Profile/DataAggregator.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/Rewrite/RewriteInstance.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
A bolt/test/X86/Inputs/pre-aggregated-basic.txt
M bolt/test/X86/entry-point-fallthru.s
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 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
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/docs/clang-tidy/checks/modernize/deprecated-headers.rst
A clang-tools-extra/test/clang-doc/DR-141990.cpp
M clang-tools-extra/test/clang-doc/invalid-options.cpp
M clang/bindings/python/tests/cindex/test_cdb.py
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/Stmt.h
M clang/include/clang/AST/StmtCXX.h
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/Builtins.td
M clang/include/clang/Basic/BuiltinsBase.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/CIR/CIRGenerator.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
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/MissingFeatures.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/Serialization/ASTReader.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/lib/AST/ASTContext.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/Floating.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/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/MicrosoftMangle.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Basic/Attributes.cpp
M clang/lib/Basic/NoSanitizeList.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/DirectX.h
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Basic/Targets/LoongArch.h
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.h
M clang/lib/CIR/CodeGen/CIRGenCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.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.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/CIRGenValue.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/lib/CodeGen/SanitizerHandler.h
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Format/TokenAnnotator.cpp
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/PPExpressions.cpp
M clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaTypeTraits.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/StaticAnalyzer/Core/CheckerManager.cpp
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/fixed-point.cpp
A clang/test/AST/ast-dump-aarch64-neon-types.c
A clang/test/CIR/CodeGen/binop.c
M clang/test/CIR/CodeGen/binop.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
A clang/test/CIR/CodeGen/ternary.cpp
M clang/test/CIR/IR/invalid-vector.cir
M clang/test/CIR/Lowering/func-simple.cpp
M clang/test/CIR/global-var-linkage.cpp
A clang/test/CodeGen/AArch64/mixed-neon-types.c
A clang/test/CodeGen/LoongArch/__fp16-convert.c
M clang/test/CodeGen/LoongArch/abi-lp64d.c
A clang/test/CodeGen/LoongArch/targetattr.c
A clang/test/CodeGen/asan-global-ignorelist.test
M clang/test/CodeGen/sanitize-ignorelist-mainfile.c
A clang/test/CodeGen/ubsan-function-ignorelist.test
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors-msvc.cpp
A clang/test/CodeGenCXX/builtin-get-vtable-pointer.cpp
A clang/test/CodeGenHLSL/vk-input-builtin.hlsl
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
A clang/test/DebugInfo/KeyInstructions/for-range.cpp
A clang/test/DebugInfo/KeyInstructions/for.c
A clang/test/DebugInfo/KeyInstructions/new.cpp
M clang/test/DebugInfo/KeyInstructions/switch.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
A clang/test/FixIt/fixit-unused-lambda-capture-trailing-tokens.cpp
A clang/test/Headers/crash-instantiated-in-scope-cxx-modules6.cpp
M clang/test/Interpreter/lambda.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-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/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
M clang/test/Preprocessor/predefined-macros.c
A clang/test/Preprocessor/riscv-target-features-andes.c
A clang/test/Sema/Inputs/builtin-system-header.h
A clang/test/Sema/attr-target-loongarch.c
A clang/test/Sema/builtin-pragma-intrinsic-namespace.cpp
A clang/test/Sema/builtin-pragma-intrinsic.c
M clang/test/Sema/warn-fortify-source.c
A clang/test/SemaCXX/builtin-get-vtable-pointer.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
M clang/test/SemaCXX/deprecated-builtins.cpp
M clang/test/SemaCXX/type-traits.cpp
A clang/test/SemaHLSL/vk-ext-input-builtin.hlsl
M clang/test/SemaTemplate/address_space-dependent.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
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
A flang/include/flang/Semantics/openmp-dsa.h
M flang/include/flang/Semantics/symbol.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Semantics/CMakeLists.txt
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/symbol.cpp
M flang/test/Lower/OpenMP/Todo/omp-declarative-allocate.f90
A flang/test/Lower/do_concurrent_local_assoc_entity.f90
M flang/test/Lower/namelist.f90
A flang/test/Lower/volatile-openmp1.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
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
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
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/stdlib_overlay.h
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wcscat.cpp
A libc/src/wchar/wcscat.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
M libc/src/wchar/wcspbrk.cpp
A libc/src/wchar/wcsrchr.cpp
A libc/src/wchar/wcsrchr.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/wmempcpy.cpp
A libc/src/wchar/wmempcpy.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wcscat_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
M libc/test/src/wchar/wcspbrk_test.cpp
A libc/test/src/wchar/wcsrchr_test.cpp
A libc/test/src/wchar/wcsstr_test.cpp
A libc/test/src/wchar/wmemchr_test.cpp
A libc/test/src/wchar/wmempcpy_test.cpp
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__configuration/availability.h
M libcxx/include/__fwd/variant.h
M libcxx/include/__memory/compressed_pair.h
M libcxx/include/__type_traits/common_reference.h
M libcxx/include/__type_traits/reference_constructs_from_temporary.h
M libcxx/include/any
M libcxx/include/optional
M libcxx/include/queue
M libcxx/include/tuple
M libcxx/include/variant
M libcxx/include/version
M libcxx/src/any.cpp
M libcxx/src/locale.cpp
M libcxx/src/optional.cpp
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/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/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/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/utils/generate_feature_test_macro_components.py
M lld/Common/CMakeLists.txt
A lld/Common/Utils.cpp
M lld/ELF/BPSectionOrderer.cpp
M lld/ELF/SyntheticSections.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
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/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/FormatEntity.h
M lldb/include/lldb/Core/Telemetry.h
A lldb/include/lldb/Host/aix/Support.h
M lldb/include/lldb/Interpreter/OptionValue.h
M lldb/include/lldb/Target/Language.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/scripts/framework-header-fix.sh
A lldb/scripts/version-header-fix.py
M lldb/source/API/CMakeLists.txt
M lldb/source/Breakpoint/CMakeLists.txt
M lldb/source/Commands/CMakeLists.txt
M lldb/source/Commands/CommandObjectProcess.cpp
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/Statusline.cpp
M lldb/source/DataFormatters/CMakeLists.txt
M lldb/source/Expression/CMakeLists.txt
M lldb/source/Host/CMakeLists.txt
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/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/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/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/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/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/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/Linux/Procfs.cpp
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/CTF/SymbolFileCTF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/PDB/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
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/Target/CMakeLists.txt
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanTracer.cpp
M lldb/source/Utility/CMakeLists.txt
M lldb/source/ValueObject/CMakeLists.txt
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
M lldb/test/API/functionalities/thread/jump/TestThreadJump.py
M lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.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/server/TestDAP_server.py
M lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
M 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/Scripts/Inputs/lldb-defines.h
A lldb/test/Shell/Scripts/TestVersionFixScript.test
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/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
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/DisconnectRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/NextRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/StepInRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepOutRequestHandler.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/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.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/DAP/CMakeLists.txt
M lldb/unittests/DAP/ProtocolTypesTest.cpp
M lldb/unittests/DataFormatter/CMakeLists.txt
M lldb/unittests/Disassembler/CMakeLists.txt
M lldb/unittests/Host/posix/SupportTest.cpp
M lldb/unittests/Instruction/CMakeLists.txt
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/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/docs/AMDGPUUsage.rst
M llvm/docs/CommandGuide/lit.rst
M llvm/docs/LangRef.rst
M llvm/docs/MLGO.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/Analysis/IR2Vec.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/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/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/DebugInfo/CodeView/CodeView.h
A llvm/include/llvm/DebugInfo/CodeView/CodeViewLanguages.def
A llvm/include/llvm/DebugInfo/DWARF/DWARFCFIProgram.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.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/Directive/DirectiveBase.td
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/OpenACC/ACC.td
M llvm/include/llvm/Frontend/OpenMP/OMP.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
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/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/MCDwarf.h
M llvm/include/llvm/Object/COFF.h
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/include/llvm/TargetParser/LoongArchTargetParser.h
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/include/module.modulemap
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/DemandedBits.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/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/BasicBlockPathCloning.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/LexicalScopes.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.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/DebugInfo/DWARF/CMakeLists.txt
A llvm/lib/DebugInfo/DWARF/DWARFCFIProgram.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
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/lib/Frontend/HLSL/CMakeLists.txt
R llvm/lib/Frontend/HLSL/HLSLRootSignature.cpp
A llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp
M llvm/lib/IR/Attributes.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/ConstantFold.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/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/Linker/IRMover.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/Support/Unix/Threading.inc
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/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/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/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/AMDGPU/AMDGPUAsmPrinter.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/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/SIInsertHardClauses.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
M llvm/lib/Target/ARM/ARMBranchTargets.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/AVR/AVRISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
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/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/MCTargetDesc/RISCVMatInt.cpp
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVCallingConv.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
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/RISCVTargetMachine.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/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/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/X86ISelLowering.cpp
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/X86TargetMachine.cpp
M llvm/lib/TargetParser/LoongArchTargetParser.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombineInternal.h
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.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/MemProfiler.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/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LowerSwitch.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.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/aarch64-reassociate-accumulators-sve.ll
M llvm/test/CodeGen/AArch64/aarch64-reassociate-accumulators.ll
M llvm/test/CodeGen/AArch64/arm64-neon-v8.1a.ll
M llvm/test/CodeGen/AArch64/arm64-vqadd.ll
M llvm/test/CodeGen/AArch64/arm64-vqsub.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/fcmp.ll
M llvm/test/CodeGen/AArch64/fmaximum-legalization.ll
A llvm/test/CodeGen/AArch64/framelayout-sve-win.mir
A llvm/test/CodeGen/AArch64/fuse-addr-mode.mir
A llvm/test/CodeGen/AArch64/peephole-opt-analyzeCompare-subreg-use.mir
M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/scmp.ll
M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
A llvm/test/CodeGen/AArch64/sve-stack-frame-layout-win.ll
M llvm/test/CodeGen/AArch64/sve-vector-deinterleave.ll
M llvm/test/CodeGen/AArch64/sve-vector-interleave.ll
M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/ucmp.ll
M llvm/test/CodeGen/AArch64/usub_sat_vec.ll
A llvm/test/CodeGen/AArch64/win-sve.ll
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/fmax3-maximumnum.ll
M llvm/test/CodeGen/AMDGPU/fmin3-minimumnum.ll
A llvm/test/CodeGen/AMDGPU/freeze-binary.ll
M llvm/test/CodeGen/AMDGPU/function-resource-usage.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
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/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/maximumnum.bf16.ll
M llvm/test/CodeGen/AMDGPU/mcexpr-knownbits-assign-crash-gh-issue-110930.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.bf16.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
A llvm/test/CodeGen/ARM/float-helpers.ll
R llvm/test/CodeGen/ARM/float-helpers.s
R llvm/test/CodeGen/ARM/fp-maximum-legalization.ll
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
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
M llvm/test/CodeGen/Mips/fp-maximumnum-minimumnum.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/math-intrins.ll
M llvm/test/CodeGen/PowerPC/callbr-asm-outputs-indirect-isel.ll
A llvm/test/CodeGen/PowerPC/dmr-spill.ll
M llvm/test/CodeGen/PowerPC/fminimum-fmaximum-f128.ll
M llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
M llvm/test/CodeGen/PowerPC/ppc64-inlineasm-clobber.ll
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
M llvm/test/CodeGen/RISCV/GlobalISel/alu-roundtrip.ll
M llvm/test/CodeGen/RISCV/GlobalISel/bitmanip.ll
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/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/rv32zbb.ll
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/machine-copyprop-simplifyinstruction.mir
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/nest-register.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/rv32xandesperf.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/rv64xandesperf.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-shuffle-deinterleave2.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/vector-deinterleave-fixed.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/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
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/vk-ext-builtin-input.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
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/addr-mode-matcher-3.ll
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/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/copy-low-subvec-elt-to-high-subvec-elt.ll
R llvm/test/CodeGen/X86/fminimum-fmaximum-i686.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
M llvm/test/CodeGen/X86/fminimumnum-fmaximumnum.ll
M llvm/test/CodeGen/X86/fp128-libcalls-strict.ll
M llvm/test/CodeGen/X86/fp128-libcalls.ll
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
M llvm/test/CodeGen/X86/isel-fp-to-sint-x87.ll
M llvm/test/CodeGen/X86/isel-sint-to-fp-x87.ll
M llvm/test/CodeGen/X86/llvm.sincos.ll
A llvm/test/CodeGen/X86/llvm.sincos.vec.ll
M llvm/test/CodeGen/X86/oddshuffles.ll
M llvm/test/CodeGen/X86/shrinkwrap-callbr.ll
M llvm/test/CodeGen/X86/tail-dup-asm-goto.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.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
A llvm/test/DebugInfo/X86/DW_AT_LLVM_stmt_seq_sec_offset_empty_func.ll
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
M llvm/test/Linker/opaque.ll
M llvm/test/Linker/pr22807.ll
M llvm/test/Linker/type-unique-dst-types.ll
M llvm/test/MC/AMDGPU/mai-gfx950.s
M llvm/test/MC/Disassembler/AMDGPU/gfx950_mai.txt
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
M llvm/test/TableGen/directive1.td
M llvm/test/Transforms/AggressiveInstCombine/popcount.ll
M llvm/test/Transforms/DeadStoreElimination/noop-stores.ll
A llvm/test/Transforms/DeadStoreElimination/zeroed-missing.ll
M llvm/test/Transforms/EarlyCSE/replace-calls-def-attrs.ll
A llvm/test/Transforms/IndVarSimplify/add-nsw-zext-fold.ll
A llvm/test/Transforms/Inline/inline-recursive-fn2.ll
M llvm/test/Transforms/InstCombine/2009-02-20-InstCombine-SROA.ll
A llvm/test/Transforms/InstCombine/pr142518.ll
M llvm/test/Transforms/InstCombine/select-cmp-eq-op-fold.ll
M llvm/test/Transforms/InstSimplify/compare.ll
A llvm/test/Transforms/LoopIdiom/add-nsw-zext-fold.ll
A llvm/test/Transforms/LoopUnroll/peel-last-iteration-with-guards.ll
M llvm/test/Transforms/LoopUnroll/peel-last-iteration-with-variable-trip-count.ll
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/interleaved-accesses.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
A llvm/test/Transforms/LoopVectorize/X86/pr141968-instsimplifyfolder.ll
M llvm/test/Transforms/LoopVectorize/X86/reg-usage-debug.ll
M llvm/test/Transforms/LoopVectorize/X86/reg-usage.ll
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
A llvm/test/Transforms/LowerMatrixIntrinsics/transpose-fold-store.ll
R llvm/test/Transforms/MergeFunc/debuginfo-iterators.ll
M llvm/test/Transforms/PGOProfile/memprof.ll
M llvm/test/Transforms/SimplifyCFG/Hexagon/switch-to-lookup-table.ll
M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
A llvm/test/Verifier/alloc-variant-zeroed.ll
M llvm/test/tools/dxil-dis/debug-info.ll
M llvm/test/tools/llvm-dwarfdump/X86/debug_info_addrx.s
R llvm/test/tools/llvm-dwarfdump/X86/debug_info_crel.yaml
R llvm/test/tools/llvm-exegesis/AArch64/skip_unsupported_instructions.s
A llvm/test/tools/llvm-mca/RISCV/Andes45/fpr.s
A llvm/test/tools/llvm-mca/RISCV/Andes45/gpr.s
A llvm/test/tools/llvm-pdbutil/Inputs/register-records.yaml
A llvm/test/tools/llvm-pdbutil/register-records.test
A llvm/test/tools/llvm-readobj/COFF/string-table.test
M llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
M llvm/tools/llvm-pdbutil/PdbYaml.cpp
M llvm/tools/llvm-pdbutil/PdbYaml.h
M llvm/tools/llvm-pdbutil/YAMLOutputStyle.cpp
M llvm/tools/llvm-readobj/COFFDumper.cpp
M llvm/tools/llvm-readobj/ObjDumper.h
M llvm/tools/llvm-readobj/Opts.td
M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp
M llvm/unittests/Analysis/IR2VecTest.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
M llvm/unittests/Frontend/HLSLRootSignatureDumpTest.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
M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/gn/secondary/lld/Common/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/DWARF/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Frontend/HLSL/BUILD.gn
M llvm/utils/lit/tests/timeout-hang.py
M llvm/utils/release/bump-version.py
M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
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/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Dialect/Tensor/IR/Tensor.h
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
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/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/include/mlir/IR/OperationSupport.h
M mlir/include/mlir/IR/SymbolTable.h
M mlir/include/mlir/InitAllExtensions.h
M mlir/include/mlir/Target/SPIRV/Deserialization.h
M mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
M mlir/lib/Conversion/TosaToMLProgram/TosaToMLProgram.cpp
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/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.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/lib/Dialect/Utils/ReshapeOpsUtils.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
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
M mlir/lib/IR/OperationSupport.cpp
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
M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
M mlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
M mlir/test/Conversion/TosaToMLProgram/tosa-to-mlprogram.mlir
M mlir/test/Dialect/ArmNeon/lower-to-arm-neon.mlir
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir
M mlir/test/Dialect/MemRef/ops.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
A mlir/test/Dialect/Tensor/extract-from-collapse-shape.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/variables.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
A mlir/test/Dialect/Vector/canonicalize/vector-from-elements.mlir
A mlir/test/Dialect/XeGPU/xegpu-blocking.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
M mlir/test/Target/LLVMIR/nvvmir.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/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
M mlir/test/mlir-tblgen/directive-common.td
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
M mlir/tools/mlir-tblgen/DirectiveCommonGen.cpp
M mlir/unittests/IR/OperationSupportTest.cpp
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/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
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
M offload/plugins-nextgen/common/src/Utils/ELF.cpp
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
M offload/unittests/CMakeLists.txt
M offload/unittests/OffloadAPI/CMakeLists.txt
M offload/unittests/OffloadAPI/device_code/foo.c
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
M openmp/runtime/cmake/LibompHandleFlags.cmake
M openmp/runtime/src/z_Linux_util.cpp
M utils/bazel/WORKSPACE
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
A utils/bazel/third_party_build/pyyaml.BUILD
Log Message:
-----------
Merge branch 'main' into users/kparzysz/spr/a04-atomic-one
Compare: https://github.com/llvm/llvm-project/compare/44cc971f926d...b27c7cb1e806
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